From: Damien Le Moal <dlemoal@kernel.org>
To: Rick Wertenbroek <rick.wertenbroek@gmail.com>
Cc: linux-nvme@lists.infradead.org, "Christoph Hellwig" <hch@lst.de>,
"Keith Busch" <kbusch@kernel.org>,
"Sagi Grimberg" <sagi@grimberg.me>,
linux-pci@vger.kernel.org,
"Manivannan Sadhasivam" <manivannan.sadhasivam@linaro.org>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Kishon Vijay Abraham I" <kishon@kernel.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Niklas Cassel" <cassel@kernel.org>
Subject: Re: [PATCH v3 00/17] NVMe PCI endpoint target driver
Date: Thu, 12 Dec 2024 19:42:53 +0900 [thread overview]
Message-ID: <795166be-d5cc-4c9f-99a6-567000a4a2a4@kernel.org> (raw)
In-Reply-To: <CAAEEuhotOFTYc27n8wsnPtJ1fW2GHk5zRp3EeytjH=EZ2gxd5Q@mail.gmail.com>
On 12/12/24 19:16, Rick Wertenbroek wrote:
> Hello,
> I have tested the NVMe endpoint function extensively on two extra
> platforms to run on, the FriendlyElec CM3588+NAS Kit [1] and NanoPC T6
> [2] (with PCIe x1, x2, and x4 links).
>
> Besides testing with Linux based hosts (Ubuntu 20.04, 23.10, 24.04), I
> also tested that the NVMe device is recognized by a Windows 10
> Enterprise host and can be formatted and used as a regular disk. I
> also tested on MacOS Monterey on a Macbook Pro 2016 (Intel based) host
> through a M.2 to USB-C adapter [3], the drive is recognized and
> usable.
>
> The USB-C adapter is based on the ASM2464PD chipset [4] which does
> USB4/Thunderbolt to PCIe/NVMe, I tested with PCI over Thunderbolt with
> the MacOS host, so the host sees the NVMe endpoint function directly
> as a PCI device and the NVMe drive is seen as such. This works well.
>
> The only test case that did not work is when I tested the ASM2464PD
> chipset NVMe to regular USB functionality, where the chipset is the
> host, and presents itself to the PC as a "usb-storage" class device,
> but this didn't work because the ASM2464PD never enabled the NVMe
> controller (CC.EN bit in BAR0), the PCI Link between the ASM2464PD and
> endpoint function gets up however, and to the host PC the USB device
> is recognized ("usb-storage" class, like a USB stick, e.g., /dev/sda),
> but it cannot be read (shows as 0B block device). As I cannot debug
> the chipset itself I don't know why the NVMe endpoint doesn't get
> enabled. This might very well be a quirk in the ASM2464PD chipset and
> is a very specific use case so I don't think it indicates any major
> issues with the endpoint function, but I report it here for the sake
> of completion.
>
> I have tested with different storage backend devices for actual
> storage (USB, eMMC, and NVMe (PCIe x1, x2) on the NAS kit).
>
> In summary, over PCI the endpoint function works well with all three
> Linux/MacOS/Windows hosts.
>
> Tested-by: Rick Wertenbroek <rick.wertenbroek@gmail.com>
> (I don't know if this applies as I co-developed the endpoint function
> with Damien)
I think it does apply since I only tested with Linux hosts. Thanks a lot for all
the extra testing !
Sending v4 with the build failure fixed and doc typos fixed.
>
> Best regards,
> Rick
>
> [1] https://wiki.friendlyelec.com/wiki/index.php/CM3588
> [2] https://wiki.friendlyelec.com/wiki/index.php/NanoPC-T6
> [3] https://www.aliexpress.com/item/1005006316029054.html
> [4] https://www.asmedia.com.tw/product/802zX91Yw3tsFgm4/C64ZX59yu4sY1GW5/ASM2464PD
>
--
Damien Le Moal
Western Digital Research
prev parent reply other threads:[~2024-12-12 10:43 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-10 9:33 [PATCH v3 00/17] NVMe PCI endpoint target driver Damien Le Moal
2024-12-10 9:33 ` [PATCH v3 01/17] nvmet: Add vendor_id and subsys_vendor_id subsystem attributes Damien Le Moal
2024-12-10 9:33 ` [PATCH v3 02/17] nvmet: Export nvmet_update_cc() and nvmet_cc_xxx() helpers Damien Le Moal
2024-12-10 9:33 ` [PATCH v3 03/17] nvmet: Introduce nvmet_get_cmd_effects_admin() Damien Le Moal
2024-12-10 9:33 ` [PATCH v3 04/17] nvmet: Add drvdata field to struct nvmet_ctrl Damien Le Moal
2024-12-10 9:33 ` [PATCH v3 05/17] nvme: Add PCI transport type Damien Le Moal
2024-12-10 9:33 ` [PATCH v3 06/17] nvmet: Improve nvmet_alloc_ctrl() interface and implementation Damien Le Moal
2024-12-10 9:33 ` [PATCH v3 07/17] nvmet: Introduce nvmet_req_transfer_len() Damien Le Moal
2024-12-10 9:33 ` [PATCH v3 08/17] nvmet: Introduce nvmet_sq_create() and nvmet_cq_create() Damien Le Moal
2024-12-10 9:34 ` [PATCH v3 09/17] nvmet: Add support for I/O queue management admin commands Damien Le Moal
2024-12-10 9:34 ` [PATCH v3 10/17] nvmet: Do not require SGL for PCI target controller commands Damien Le Moal
2024-12-10 9:34 ` [PATCH v3 11/17] nvmet: Introduce get/set_feature controller operations Damien Le Moal
2024-12-10 9:34 ` [PATCH v3 12/17] nvmet: Implement host identifier set feature support Damien Le Moal
2024-12-10 9:34 ` [PATCH v3 13/17] nvmet: Implement interrupt coalescing " Damien Le Moal
2024-12-10 9:34 ` [PATCH v3 14/17] nvmet: Implement interrupt config " Damien Le Moal
2024-12-10 9:34 ` [PATCH v3 15/17] nvmet: Implement arbitration " Damien Le Moal
2024-12-10 9:34 ` [PATCH v3 16/17] nvmet: New NVMe PCI endpoint target driver Damien Le Moal
2024-12-11 12:32 ` kernel test robot
2024-12-11 15:32 ` kernel test robot
2024-12-16 21:05 ` kernel test robot
2024-12-10 9:34 ` [PATCH v3 17/17] Documentation: Document the " Damien Le Moal
2024-12-12 6:06 ` [PATCH v3 00/17] " Christoph Hellwig
2024-12-12 7:39 ` Damien Le Moal
2024-12-12 10:16 ` Rick Wertenbroek
2024-12-12 10:42 ` Damien Le Moal [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=795166be-d5cc-4c9f-99a6-567000a4a2a4@kernel.org \
--to=dlemoal@kernel.org \
--cc=bhelgaas@google.com \
--cc=cassel@kernel.org \
--cc=hch@lst.de \
--cc=kbusch@kernel.org \
--cc=kishon@kernel.org \
--cc=kw@linux.com \
--cc=linux-nvme@lists.infradead.org \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=manivannan.sadhasivam@linaro.org \
--cc=rick.wertenbroek@gmail.com \
--cc=sagi@grimberg.me \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox