Commit graph

3 commits

Author SHA1 Message Date
Tomasz Bursztyka
7004f373f2 disk/nvme: Update copyright headers
Most of the code is a port of FreeBSD's NVMe's driver, made by Jim
Harris (Intel).

Though all subsequent contributions that happened on this original
driver were made on files copyrighted by Intel, and under BSD-2 clause,
let's update the copyright header to point out Jim's original work and
major contributors were relevant.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2024-03-22 09:23:00 +00:00
Tomasz Bursztyka
22db7b76ad drivers/nvme: Add namespace support
Based on FreeBSD's implementation made by James Harris, Intel Copyright
2012-2016.

Namespace in this context, will be a disk. It's not exposed from DTS, as
an actualy NVMe hardware controller card can bring more than one
namespace (disk).

Thus namespace are not instanciated through the device driver model, but
statically allocated and runtime configured, depending on what the
controller exposes.

By default the amount of namespace supported is one as it is the most
common setup.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-04-07 13:28:47 +02:00
Tomasz Bursztyka
7499fae5cd drivers/nvme: Add command infrastructure
Based on FreeBSD's implementation made by James Harris, Intel Copyright
2012-2016.

This is the corner stone of the whole NVMe logic: sending commands and
getting replies, all through memory shared from the host to the
controller.

Then using it to inialize admit/IO queues and identifying the
controller.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-04-07 13:28:47 +02:00