From: "Sven Peter" <sven@svenpeter.dev> To: "hch@lst.de" <hch@lst.de> Cc: "Keith Busch" <kbusch@kernel.org>, "axboe@fb.com" <axboe@fb.com>, "sagi@grimberg.me" <sagi@grimberg.me>, "Hector Martin" <marcan@marcan.st>, "Alyssa Rosenzweig" <alyssa@rosenzweig.io>, "Rob Herring" <robh+dt@kernel.org>, "Arnd Bergmann" <arnd@arndb.de>, "Marc Zyngier" <maz@kernel.org>, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org Subject: Re: [PATCH 6/9] nvme-apple: Add initial Apple SoC NVMe driver Date: Sat, 02 Apr 2022 14:47:41 +0200 [thread overview] Message-ID: <bd8d9596-6f04-48c1-b72b-b3ba1d45e891@www.fastmail.com> (raw) In-Reply-To: <20220324061620.GA12330@lst.de> Hi, Thanks for the review! On Thu, Mar 24, 2022, at 07:16, Christoph Hellwig wrote: >> + >> +//#define DEBUG > > This should not leak into the driverṡ Agreed, I'll remove it. > >> +#include <linux/blk-integrity.h> > > As far as I can tell this driver does not support metadata or PI, > so why is this include needed? Yup, you're right, it's not required at all. It's a left-over from when I hadn't realized that this controller doesn't support metadata and still had it implemented. > >> +/* NVM Express NVM Command Set Specification, Revision 1.0a, Figure 18 */ >> +#define NVME_OPCODE_DATA_XFER_HOST_TO_CTRL BIT(0) >> +#define NVME_OPCODE_DATA_XFER_CTRL_TO_HOST BIT(1) > > Please just use the nvme_is_write helper where you are using these. I didn't realize that helper exists, will use it! > >> +static int apple_nvme_sart_dma_setup(void *cookie, struct apple_rtkit_shmem *bfr, > > Please avoid > 80 character lines. Will fix it. > >> +static void apple_nvme_free_ctrl(struct nvme_ctrl *ctrl) >> +{ >> +} > > So where are the apple specific resources free? ->free_ctrl is > the callback from the struct device release callback, so without > one the resource release can't be tried to the device release. The resources are all devres managed but I only just realized that the nvme_ctrl creates its own struct device that has to be tied to the platform device. I think I'll at least need a get_device in _probe and a put_device here just like in pci.c to tie those two together. I'll also double check to make sure that all resources are indeed devres-managed. Thanks, Sven
WARNING: multiple messages have this Message-ID (diff)
From: "Sven Peter" <sven@svenpeter.dev> To: "hch@lst.de" <hch@lst.de> Cc: "Keith Busch" <kbusch@kernel.org>, "axboe@fb.com" <axboe@fb.com>, "sagi@grimberg.me" <sagi@grimberg.me>, "Hector Martin" <marcan@marcan.st>, "Alyssa Rosenzweig" <alyssa@rosenzweig.io>, "Rob Herring" <robh+dt@kernel.org>, "Arnd Bergmann" <arnd@arndb.de>, "Marc Zyngier" <maz@kernel.org>, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org Subject: Re: [PATCH 6/9] nvme-apple: Add initial Apple SoC NVMe driver Date: Sat, 02 Apr 2022 14:47:41 +0200 [thread overview] Message-ID: <bd8d9596-6f04-48c1-b72b-b3ba1d45e891@www.fastmail.com> (raw) In-Reply-To: <20220324061620.GA12330@lst.de> Hi, Thanks for the review! On Thu, Mar 24, 2022, at 07:16, Christoph Hellwig wrote: >> + >> +//#define DEBUG > > This should not leak into the driverṡ Agreed, I'll remove it. > >> +#include <linux/blk-integrity.h> > > As far as I can tell this driver does not support metadata or PI, > so why is this include needed? Yup, you're right, it's not required at all. It's a left-over from when I hadn't realized that this controller doesn't support metadata and still had it implemented. > >> +/* NVM Express NVM Command Set Specification, Revision 1.0a, Figure 18 */ >> +#define NVME_OPCODE_DATA_XFER_HOST_TO_CTRL BIT(0) >> +#define NVME_OPCODE_DATA_XFER_CTRL_TO_HOST BIT(1) > > Please just use the nvme_is_write helper where you are using these. I didn't realize that helper exists, will use it! > >> +static int apple_nvme_sart_dma_setup(void *cookie, struct apple_rtkit_shmem *bfr, > > Please avoid > 80 character lines. Will fix it. > >> +static void apple_nvme_free_ctrl(struct nvme_ctrl *ctrl) >> +{ >> +} > > So where are the apple specific resources free? ->free_ctrl is > the callback from the struct device release callback, so without > one the resource release can't be tried to the device release. The resources are all devres managed but I only just realized that the nvme_ctrl creates its own struct device that has to be tied to the platform device. I think I'll at least need a get_device in _probe and a put_device here just like in pci.c to tie those two together. I'll also double check to make sure that all resources are indeed devres-managed. Thanks, Sven _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-04-02 12:48 UTC|newest] Thread overview: 114+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-03-21 16:50 [PATCH 0/9] Apple M1 (Pro/Max) NVMe driver Sven Peter 2022-03-21 16:50 ` Sven Peter 2022-03-21 16:50 ` Sven Peter 2022-03-21 16:50 ` [PATCH 1/9] dt-bindings: soc: apple: Add Apple SART Sven Peter 2022-03-21 16:50 ` Sven Peter 2022-03-31 21:23 ` Rob Herring 2022-03-31 21:23 ` Rob Herring 2022-04-02 12:58 ` Sven Peter 2022-04-02 12:58 ` Sven Peter 2022-03-21 16:50 ` [PATCH 2/9] dt-bindings: soc: apple: Add ANS NVMe Sven Peter 2022-03-21 16:50 ` Sven Peter 2022-03-23 11:14 ` Krzysztof Kozlowski 2022-03-23 11:14 ` Krzysztof Kozlowski 2022-04-02 13:05 ` Sven Peter 2022-04-02 13:05 ` Sven Peter 2022-04-02 16:06 ` Krzysztof Kozlowski 2022-04-02 16:06 ` Krzysztof Kozlowski 2022-03-21 16:50 ` [PATCH 3/9] soc: apple: Always include Makefile Sven Peter 2022-03-21 16:50 ` Sven Peter 2022-03-21 16:50 ` Sven Peter 2022-03-21 16:50 ` [PATCH 4/9] soc: apple: Add SART driver Sven Peter 2022-03-21 16:50 ` Sven Peter 2022-03-21 16:50 ` Sven Peter 2022-03-21 17:07 ` Arnd Bergmann 2022-03-21 17:07 ` Arnd Bergmann 2022-04-02 12:38 ` Sven Peter 2022-04-02 12:38 ` Sven Peter 2022-04-02 19:07 ` Arnd Bergmann 2022-04-02 19:07 ` Arnd Bergmann 2022-04-04 14:58 ` Rob Herring 2022-04-04 14:58 ` Rob Herring 2022-04-04 15:01 ` Hector Martin 2022-04-04 15:01 ` Hector Martin 2022-04-05 15:37 ` Sven Peter 2022-04-05 15:37 ` Sven Peter 2022-03-21 17:17 ` Alyssa Rosenzweig 2022-03-21 17:17 ` Alyssa Rosenzweig 2022-04-02 12:40 ` Sven Peter 2022-04-02 12:40 ` Sven Peter 2022-03-21 16:50 ` [PATCH 5/9] soc: apple: Add RTKit IPC library Sven Peter 2022-03-21 16:50 ` Sven Peter 2022-03-21 16:50 ` Sven Peter 2022-03-22 13:13 ` Arnd Bergmann 2022-03-22 13:13 ` Arnd Bergmann 2022-03-22 17:41 ` Robin Murphy 2022-03-22 17:41 ` Robin Murphy 2022-04-02 12:56 ` Sven Peter 2022-04-02 12:56 ` Sven Peter 2022-04-02 18:30 ` Arnd Bergmann 2022-04-02 18:30 ` Arnd Bergmann 2022-04-03 10:45 ` Sven Peter 2022-04-03 10:45 ` Sven Peter 2022-03-22 17:23 ` Alyssa Rosenzweig 2022-03-22 17:23 ` Alyssa Rosenzweig 2022-04-02 12:50 ` Sven Peter 2022-04-02 12:50 ` Sven Peter 2022-03-23 11:19 ` Krzysztof Kozlowski 2022-03-23 11:19 ` Krzysztof Kozlowski 2022-04-02 13:51 ` Sven Peter 2022-04-02 13:51 ` Sven Peter 2022-04-02 16:08 ` Krzysztof Kozlowski 2022-04-02 16:08 ` Krzysztof Kozlowski 2022-04-04 15:02 ` Rob Herring 2022-04-04 15:02 ` Rob Herring 2022-04-04 15:47 ` Hector Martin 2022-04-04 15:47 ` Hector Martin 2022-03-21 16:50 ` [PATCH 6/9] nvme-apple: Add initial Apple SoC NVMe driver Sven Peter 2022-03-21 16:50 ` Sven Peter 2022-03-21 17:01 ` Keith Busch 2022-03-21 17:01 ` Keith Busch 2022-04-02 13:10 ` Sven Peter 2022-04-02 13:10 ` Sven Peter 2022-03-22 13:38 ` Arnd Bergmann 2022-03-22 13:38 ` Arnd Bergmann 2022-04-02 13:34 ` Sven Peter 2022-04-02 13:34 ` Sven Peter 2022-04-02 13:58 ` Janne Grunau 2022-04-02 13:58 ` Janne Grunau 2022-04-02 14:02 ` Sven Peter 2022-04-02 14:02 ` Sven Peter 2022-04-02 21:26 ` Arnd Bergmann 2022-04-02 21:26 ` Arnd Bergmann 2022-03-24 6:16 ` Christoph Hellwig 2022-03-24 6:16 ` Christoph Hellwig 2022-04-02 12:47 ` Sven Peter [this message] 2022-04-02 12:47 ` Sven Peter 2022-04-04 15:57 ` Hector Martin 2022-04-04 15:57 ` Hector Martin 2022-04-04 15:59 ` Christoph Hellwig 2022-04-04 15:59 ` Christoph Hellwig 2022-04-04 16:03 ` Sven Peter 2022-04-04 16:03 ` Sven Peter 2022-04-04 16:05 ` hch 2022-04-04 16:05 ` hch 2022-04-04 16:05 ` Hector Martin 2022-04-04 16:05 ` Hector Martin 2022-04-04 18:29 ` Jens Axboe 2022-04-04 18:29 ` Jens Axboe 2022-04-05 6:24 ` Christoph Hellwig 2022-04-05 6:24 ` Christoph Hellwig 2022-03-21 16:50 ` [PATCH 7/9] nvme-apple: Serialize command issue Sven Peter 2022-03-21 16:50 ` Sven Peter 2022-03-24 6:16 ` Christoph Hellwig 2022-03-24 6:16 ` Christoph Hellwig 2022-04-02 12:42 ` Sven Peter 2022-04-02 12:42 ` Sven Peter 2022-03-21 16:50 ` [PATCH 8/9] nvme-apple: Add support for multiple power domains Sven Peter 2022-03-21 16:50 ` Sven Peter 2022-03-21 16:50 ` [PATCH 9/9] nvme-apple: Add support for suspend/resume Sven Peter 2022-03-21 16:50 ` Sven Peter 2022-03-24 6:17 ` Christoph Hellwig 2022-03-24 6:17 ` Christoph Hellwig 2022-03-22 17:26 ` [PATCH 0/9] Apple M1 (Pro/Max) NVMe driver Alyssa Rosenzweig 2022-03-22 17:26 ` Alyssa Rosenzweig
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=bd8d9596-6f04-48c1-b72b-b3ba1d45e891@www.fastmail.com \ --to=sven@svenpeter.dev \ --cc=alyssa@rosenzweig.io \ --cc=arnd@arndb.de \ --cc=axboe@fb.com \ --cc=devicetree@vger.kernel.org \ --cc=hch@lst.de \ --cc=kbusch@kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-nvme@lists.infradead.org \ --cc=marcan@marcan.st \ --cc=maz@kernel.org \ --cc=robh+dt@kernel.org \ --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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.