[U-Boot] [PATCH 0/8] nvme: Add NVM Express driver support

Bin Meng bmeng.cn at gmail.com
Thu Aug 10 01:49:42 UTC 2017


Hi Tom,

On Thu, Aug 10, 2017 at 9:31 AM, Tom Rini <trini at konsulko.com> wrote:
> On Thu, Aug 10, 2017 at 06:40:57AM +0800, Bin Meng wrote:
>> Hi Tom,
>>
>> On Thu, Aug 3, 2017 at 5:30 PM, Bin Meng <bmeng.cn at gmail.com> wrote:
>> > This series adds NVM Express driver support to U-Boot.
>> >
>> > This series is based on previous RFC v2 patchset [1][2] done by
>> > Zhikang Zhang and Wenbin Song, as well as Jon Nettleton's fixes
>> > [3] on top of the RFC v1.
>> >
>> > The patches are organized in a way that meets the requirement
>> > of upstream. Jon's fixes were squashed/integrated with a proper
>> > order in this series.
>> >
>> > The original RFC driver was cleaned up a lot, to remove the
>> > compilation limitation on non-ARMv8 architecture (including a
>> > header file from armv8), drop the board_r.c modification, drop
>> > unnecessary PCI configuration space initialization, add 32-bit
>> > architecture support of readq/writeq operations, eliminate
>> > compiler warnings, as well as coding convention clean up, plus
>> > a fix to a bug that is exposed by QEMU platform.
>> >
>> > Tested with an Intel SSD 750 series NVMe 400GB card, a Plextor
>> > NVMe SSD M8Pe Series 256GB card, on Intel Crown Bay board, as
>> > well as QEMU x86 emulation platform.
>> >
>> > This series is available at u-boot-x86/nvme-working for testing.
>> >
>> > [1] http://patchwork.ozlabs.org/patch/753088/
>> > [2] http://patchwork.ozlabs.org/patch/753089/
>> > [3] http://patchwork.ozlabs.org/patch/794909/
>> >
>> >
>> > Bin Meng (2):
>> >   nvme: Handle zero Maximum Data Transfer Size (MDTS)
>> >   x86: qemu: Enable NVMe driver
>> >
>> > Jon Nettleton (2):
>> >   nvme: Detect devices that are class Storage Express
>> >   nvme: Fix number of blocks detection
>> >
>> > Zhikang Zhang (4):
>> >   dm: blk: part: Add UCLASS_NVME and IF_TYPE_NVME
>> >   nvme: Add NVM Express driver support
>> >   nvme: Add show routine to print detailed information
>> >   nvme: Add nvme commands
>> >
>> >  cmd/Kconfig                |   7 +
>> >  cmd/Makefile               |   1 +
>> >  cmd/nvme.c                 | 197 +++++++++++
>> >  configs/qemu-x86_defconfig |   1 +
>> >  disk/part.c                |   6 +-
>> >  doc/README.nvme            |  86 +++++
>> >  drivers/Kconfig            |   2 +
>> >  drivers/Makefile           |   1 +
>> >  drivers/block/blk-uclass.c |   2 +
>> >  drivers/nvme/Kconfig       |  12 +
>> >  drivers/nvme/Makefile      |   7 +
>> >  drivers/nvme/nvme-uclass.c |  62 ++++
>> >  drivers/nvme/nvme.c        | 860 +++++++++++++++++++++++++++++++++++++++++++++
>> >  drivers/nvme/nvme.h        | 717 +++++++++++++++++++++++++++++++++++++
>> >  drivers/nvme/nvme_show.c   | 127 +++++++
>> >  include/blk.h              |   1 +
>> >  include/dm/uclass-id.h     |   1 +
>> >  include/nvme.h             |  82 +++++
>> >  include/pci_ids.h          |   1 +
>> >  19 files changed, 2172 insertions(+), 1 deletion(-)
>> >  create mode 100644 cmd/nvme.c
>> >  create mode 100644 doc/README.nvme
>> >  create mode 100644 drivers/nvme/Kconfig
>> >  create mode 100644 drivers/nvme/Makefile
>> >  create mode 100644 drivers/nvme/nvme-uclass.c
>> >  create mode 100644 drivers/nvme/nvme.c
>> >  create mode 100644 drivers/nvme/nvme.h
>> >  create mode 100644 drivers/nvme/nvme_show.c
>> >  create mode 100644 include/nvme.h
>>
>> Do you think this NVMe support can be included in 2017.09? If yes (and
>> no other review comments from the list), I can apply and for you to
>> pull via the x86 tree.
>
> I've reviewed it, and things look good.  I'll pick it up in a day or
> two.  My question now is, can this also be enabled for sandbox, given
> that we have PCI there?  Thanks!

Thanks for the review! I've reassigned the patches to you in the patchwork.

For the sandbox, I believe you want this driver to be included for
build testing? I think it can be enabled on sandbox, but I have not
tried that yet.

Regards,
Bin


More information about the U-Boot mailing list