summaryrefslogtreecommitdiff
path: root/sys/dev/ic/nvme.c
AgeCommit message (Expand)Author
2016-05-20check we allocated the cq, not the sq, after trying to allocate the cqDavid Gwynne
2016-04-18allocate an array of entries, not pointers for the queuesDavid Gwynne
2016-04-14shorten the io path slightlyDavid Gwynne
2016-04-14apparently it's spelled NVMe, not NVMEDavid Gwynne
2016-04-14provide a shutdown hook that follows the procedure in the docsDavid Gwynne
2016-04-14implement translation of scsi SYNC CACHE to nvme FLUSHDavid Gwynne
2016-04-14bump openings to 64 to match the number of ccbs.David Gwynne
2016-04-14if io needs more than two prpe slots, overflow into the ccb prplDavid Gwynne
2016-04-14reallocate the ccbs after we figure out how big the sgls can beDavid Gwynne
2016-04-14set the scsi status to SCSI_OKDavid Gwynne
2016-04-14allocate dma memory for ccbs to use as prpe listsDavid Gwynne
2016-04-14dont attach if the min nvme page size is bigger than the cpu page sizeDavid Gwynne
2016-04-14dont complete scsi writes twiceDavid Gwynne
2016-04-14WAITOK for the dmamap create for ccbs tooDavid Gwynne
2016-04-14cut the memory for io buffers up into page sized chunksDavid Gwynne
2016-04-14check both the admin and io queue for completions in the interrupt handlerDavid Gwynne
2016-04-14dont put names in arguments.David Gwynne
2016-04-13implement handling of scsi reads and writesDavid Gwynne
2016-04-13enable interrupts before attaching the scsibusDavid Gwynne
2016-04-13allocate a queue for io commands and tell the chip about it.David Gwynne
2016-04-13nvme_q_create() issues the commands to tell the chip about io queuesDavid Gwynne
2016-04-13stub out handling of TEST_UNIT_READY, PREVENT_ALLOW, and START_STOPDavid Gwynne
2016-04-13implement handling of scsi read capacity commandsDavid Gwynne
2016-04-13implement basic scsi inquiry handlingDavid Gwynne
2016-04-13implement the guts of the scsi probe and free functionDavid Gwynne
2016-04-13wire up the scsi midlayer. scsibus should appear after this.David Gwynne
2016-04-13allocate an array of things to hold info about namespacesDavid Gwynne
2016-04-13stash the controller identify and number of namespaces in the softc.David Gwynne
2016-04-13provide an scsi_adapter and stub functions for emulation to sit inDavid Gwynne
2016-04-13nvme_sqe_fill will post a copy of an sqe from a callerDavid Gwynne
2016-04-13poll for command completion on the cqe itll be of calling nvme_intrDavid Gwynne
2016-04-13make nvme_poll return the flags from the completion queue entryDavid Gwynne
2016-04-13keep track of the queue id in nvme_queue.David Gwynne
2016-04-13rename idx to id in nvme_q_allocDavid Gwynne
2016-04-13nvme_dmamem_alloc runs in autoconf or process context, so it can sleepDavid Gwynne
2016-04-12shuffle attach so we read chip capabilities before operating on itDavid Gwynne
2016-01-15when enabling the controller, wait till CSTS.RDY lights up.David Gwynne
2016-01-15feng shui.David Gwynne
2016-01-15handle the version register like ahci.David Gwynne
2016-01-15wrap up dma syncs for the whole mapping.David Gwynne
2014-11-04shuffle when the cid is set on submission queue entries so its afterDavid Gwynne
2014-11-04when reading the completion queue, it helps to write where we've read upDavid Gwynne
2014-09-12dont leak a ccb in identifyDavid Gwynne
2014-09-12fix some format string issuesDavid Gwynne
2014-07-13Some reallocarray() use; review Jean-Philippe Ouellet, patrick keshishianTheo de Raadt
2014-07-12add a size argument to free. will be used soon, but for now default to 0.Ted Unangst
2014-04-16set ourselves up to respect the max data transfer size.David Gwynne
2014-04-16have nvme_poll return the status bigs from the completion ringDavid Gwynne
2014-04-15i wanted to work on this in the tree so i could commit lots of smallDavid Gwynne
2014-04-12start working on a driver for non volatile memory express controllers.David Gwynne