From: Thomas Gleixner <tglx@linutronix.de> To: Nipun Gupta <nipun.gupta@amd.com>, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, gregkh@linuxfoundation.org, rafael@kernel.org, eric.auger@redhat.com, alex.williamson@redhat.com, cohuck@redhat.com, puneet.gupta@amd.com, song.bao.hua@hisilicon.com, mchehab+huawei@kernel.org, maz@kernel.org, f.fainelli@gmail.com, jeffrey.l.hugo@gmail.com, saravanak@google.com, Michael.Srba@seznam.cz, mani@kernel.org, yishaih@nvidia.com, jgg@ziepe.ca, jgg@nvidia.com, robin.murphy@arm.com, will@kernel.org, joro@8bytes.org, masahiroy@kernel.org, ndesaulniers@google.com, linux-arm-kernel@lists.infradead.org, linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, kvm@vger.kernel.org Cc: okaya@kernel.org, harpreet.anand@amd.com, nikhil.agarwal@amd.com, michal.simek@amd.com, aleksandar.radovanovic@amd.com, git@amd.com, Nipun Gupta <nipun.gupta@amd.com> Subject: Re: [RFC PATCH v4 7/8] bus/cdx: add cdx-MSI domain with gic-its domain as parent Date: Thu, 17 Nov 2022 20:10:46 +0100 [thread overview] Message-ID: <87r0y1l7m1.ffs@tglx> (raw) In-Reply-To: <20221014044049.2557085-8-nipun.gupta@amd.com> On Fri, Oct 14 2022 at 10:10, Nipun Gupta wrote: > Since CDX devices are not linked to of node they need a > separate MSI domain for handling device ID to be provided to > the GIC ITS domain. > > This also introduces APIs to alloc and free IRQs for CDX domain. This is not really much of an explanation. > +#include "cdx.h" > + > +#define REQ_ID_SHIFT 10 > + > +/* > + * Convert an msi_desc to a globaly unique identifier (per-device > + * reqid + msi_desc position in the msi_list). > + */ > +static irq_hw_number_t cdx_domain_calc_hwirq(struct cdx_device *dev, > + struct msi_desc *desc) > +{ > + return (dev->req_id << REQ_ID_SHIFT) | desc->msi_index; > +} > + > +static void cdx_msi_set_desc(msi_alloc_info_t *arg, > + struct msi_desc *desc) > +{ > + arg->desc = desc; > + arg->hwirq = cdx_domain_calc_hwirq(to_cdx_device(desc->dev), desc); > +} > + > +static void cdx_msi_write_msg(struct irq_data *irq_data, > + struct msi_msg *msg) > +{ > + struct msi_desc *msi_desc = irq_data_get_msi_desc(irq_data); > + struct cdx_device *cdx_dev = to_cdx_device(msi_desc->dev); > + struct cdx_controller_t *cdx = cdx_dev->cdx; > + uint64_t addr; > + int ret; > + > + addr = ((uint64_t)(msi_desc->msg.address_hi) << 32) | > + msi_desc->msg.address_lo; > + > + ret = cdx->ops.write_msi(cdx, cdx_dev->bus_num, cdx_dev->dev_num, > + msi_desc->msi_index, msi_desc->msg.data, > + addr); > + if (ret) > + dev_err(&cdx_dev->dev, "Write MSI failed to CDX controller\n"); > +} So this is yet another variant of platform-MSI which is about to be kicked from the planet. Please check: https://lore.kernel.org/r/20221111131813.914374272@linutronix.de https://lore.kernel.org/r/20221111133158.196269823@linutronix.de and the ARM/GIC conversion in: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git/log/?h=devmsi-arm The latter is WIP, but functional. I'm sure you replace your yet another magic MSI domain which only provides a device specific MSI write function with the new infrastructure trivially. Thanks, tglx
WARNING: multiple messages have this Message-ID (diff)
From: Thomas Gleixner <tglx@linutronix.de> To: Nipun Gupta <nipun.gupta@amd.com>, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, gregkh@linuxfoundation.org, rafael@kernel.org, eric.auger@redhat.com, alex.williamson@redhat.com, cohuck@redhat.com, puneet.gupta@amd.com, song.bao.hua@hisilicon.com, mchehab+huawei@kernel.org, maz@kernel.org, f.fainelli@gmail.com, jeffrey.l.hugo@gmail.com, saravanak@google.com, Michael.Srba@seznam.cz, mani@kernel.org, yishaih@nvidia.com, jgg@ziepe.ca, jgg@nvidia.com, robin.murphy@arm.com, will@kernel.org, joro@8bytes.org, masahiroy@kernel.org, ndesaulniers@google.com, linux-arm-kernel@lists.infradead.org, linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, kvm@vger.kernel.org Cc: okaya@kernel.org, harpreet.anand@amd.com, nikhil.agarwal@amd.com, michal.simek@amd.com, aleksandar.radovanovic@amd.com, git@amd.com, Nipun Gupta <nipun.gupta@amd.com> Subject: Re: [RFC PATCH v4 7/8] bus/cdx: add cdx-MSI domain with gic-its domain as parent Date: Thu, 17 Nov 2022 20:10:46 +0100 [thread overview] Message-ID: <87r0y1l7m1.ffs@tglx> (raw) In-Reply-To: <20221014044049.2557085-8-nipun.gupta@amd.com> On Fri, Oct 14 2022 at 10:10, Nipun Gupta wrote: > Since CDX devices are not linked to of node they need a > separate MSI domain for handling device ID to be provided to > the GIC ITS domain. > > This also introduces APIs to alloc and free IRQs for CDX domain. This is not really much of an explanation. > +#include "cdx.h" > + > +#define REQ_ID_SHIFT 10 > + > +/* > + * Convert an msi_desc to a globaly unique identifier (per-device > + * reqid + msi_desc position in the msi_list). > + */ > +static irq_hw_number_t cdx_domain_calc_hwirq(struct cdx_device *dev, > + struct msi_desc *desc) > +{ > + return (dev->req_id << REQ_ID_SHIFT) | desc->msi_index; > +} > + > +static void cdx_msi_set_desc(msi_alloc_info_t *arg, > + struct msi_desc *desc) > +{ > + arg->desc = desc; > + arg->hwirq = cdx_domain_calc_hwirq(to_cdx_device(desc->dev), desc); > +} > + > +static void cdx_msi_write_msg(struct irq_data *irq_data, > + struct msi_msg *msg) > +{ > + struct msi_desc *msi_desc = irq_data_get_msi_desc(irq_data); > + struct cdx_device *cdx_dev = to_cdx_device(msi_desc->dev); > + struct cdx_controller_t *cdx = cdx_dev->cdx; > + uint64_t addr; > + int ret; > + > + addr = ((uint64_t)(msi_desc->msg.address_hi) << 32) | > + msi_desc->msg.address_lo; > + > + ret = cdx->ops.write_msi(cdx, cdx_dev->bus_num, cdx_dev->dev_num, > + msi_desc->msi_index, msi_desc->msg.data, > + addr); > + if (ret) > + dev_err(&cdx_dev->dev, "Write MSI failed to CDX controller\n"); > +} So this is yet another variant of platform-MSI which is about to be kicked from the planet. Please check: https://lore.kernel.org/r/20221111131813.914374272@linutronix.de https://lore.kernel.org/r/20221111133158.196269823@linutronix.de and the ARM/GIC conversion in: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git/log/?h=devmsi-arm The latter is WIP, but functional. I'm sure you replace your yet another magic MSI domain which only provides a device specific MSI write function with the new infrastructure trivially. Thanks, tglx _______________________________________________ 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-11-17 19:11 UTC|newest] Thread overview: 198+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-08-03 12:26 [RFC PATCH 0/2] add support for CDX bus MSI domain Nipun Gupta 2022-08-03 12:26 ` Nipun Gupta 2022-08-03 12:26 ` [RFC PATCH 1/2] irqchip: cdx-bus: add cdx-MSI domain with gic-its domain as parent Nipun Gupta 2022-08-03 12:26 ` Nipun Gupta 2022-08-03 12:33 ` Greg KH 2022-08-03 12:33 ` Greg KH 2022-08-03 12:37 ` Gupta, Nipun 2022-08-03 12:37 ` Gupta, Nipun 2022-08-04 8:49 ` Marc Zyngier 2022-08-04 8:49 ` Marc Zyngier 2022-08-04 9:18 ` Gupta, Nipun 2022-08-04 9:18 ` Gupta, Nipun 2022-08-04 10:38 ` Marc Zyngier 2022-08-04 12:11 ` Gupta, Nipun 2022-08-04 12:11 ` Gupta, Nipun 2022-08-03 12:26 ` [RFC PATCH 2/2] driver core: add compatible string in sysfs for platform devices Nipun Gupta 2022-08-03 12:26 ` Nipun Gupta 2022-08-03 12:31 ` Greg KH 2022-08-03 12:31 ` Greg KH 2022-08-03 12:46 ` Gupta, Nipun 2022-08-03 12:46 ` Gupta, Nipun 2022-08-03 14:16 ` [RFC PATCH 0/2] add support for CDX bus MSI domain Robin Murphy 2022-08-03 14:16 ` Robin Murphy 2022-08-04 4:23 ` Gupta, Nipun 2022-08-04 4:23 ` Gupta, Nipun 2022-08-17 16:00 ` Jason Gunthorpe 2022-08-17 16:00 ` Jason Gunthorpe 2022-08-17 15:05 ` [RFC PATCH v2 0/6] add support for CDX bus controller Nipun Gupta 2022-08-17 15:05 ` [RFC PATCH v2 1/6] Documentation: DT: Add entry for CDX controller Nipun Gupta 2022-08-18 9:54 ` Krzysztof Kozlowski 2022-08-18 9:59 ` Krzysztof Kozlowski 2022-09-05 14:05 ` Gupta, Nipun 2022-09-06 6:55 ` Krzysztof Kozlowski 2022-09-06 7:03 ` Gupta, Nipun 2022-09-06 7:20 ` Krzysztof Kozlowski 2022-08-17 15:05 ` [RFC PATCH v2 2/6] bus/cdx: add the cdx bus driver Nipun Gupta 2022-08-17 15:32 ` Greg KH 2022-08-17 15:46 ` Marc Zyngier 2022-08-22 13:21 ` Gupta, Nipun 2022-08-22 13:29 ` Greg KH 2022-08-24 8:50 ` Gupta, Nipun 2022-08-24 12:11 ` Greg KH 2022-08-24 23:31 ` Jason Gunthorpe 2022-08-25 18:38 ` Saravana Kannan 2022-08-25 19:57 ` Robin Murphy 2022-08-26 0:08 ` Jason Gunthorpe 2022-08-29 4:49 ` Gupta, Nipun 2022-08-29 4:49 ` Gupta, Nipun 2022-08-29 15:31 ` Jason Gunthorpe 2022-08-30 7:06 ` Gupta, Nipun 2022-08-30 11:25 ` Robin Murphy 2022-08-30 13:01 ` Jason Gunthorpe 2022-08-30 13:12 ` Gupta, Nipun 2022-08-17 15:05 ` [RFC PATCH v2 3/6] bus/cdx: add cdx-MSI domain with gic-its domain as parent Nipun Gupta 2022-08-17 15:33 ` Greg KH 2022-08-17 15:05 ` [RFC PATCH v2 4/6] bus/cdx: add rescan and reset support Nipun Gupta 2022-08-17 15:05 ` [RFC PATCH v2 5/6] vfio: platform: reset: add reset for cdx devices Nipun Gupta 2022-08-17 15:05 ` [RFC PATCH v2 6/6] driver core: add compatible string in sysfs for platform devices Nipun Gupta 2022-08-17 15:30 ` Greg KH 2022-08-17 16:04 ` Saravana Kannan 2022-09-05 13:54 ` Gupta, Nipun 2022-09-06 13:47 ` [RFC PATCH v3 0/7] add support for CDX bus Nipun Gupta 2022-09-06 13:47 ` Nipun Gupta 2022-09-06 13:47 ` [RFC PATCH v3 1/7] dt-bindings: bus: add CDX bus device tree bindings Nipun Gupta 2022-09-06 13:47 ` Nipun Gupta 2022-09-06 17:46 ` Rob Herring 2022-09-06 17:46 ` Rob Herring 2022-09-07 3:13 ` Gupta, Nipun 2022-09-07 3:13 ` Gupta, Nipun 2022-09-08 10:51 ` Krzysztof Kozlowski 2022-09-08 10:51 ` Krzysztof Kozlowski 2022-09-06 13:47 ` [RFC PATCH v3 2/7] bus/cdx: add the cdx bus driver Nipun Gupta 2022-09-06 13:47 ` Nipun Gupta 2022-09-07 0:32 ` Saravana Kannan 2022-09-07 0:32 ` Saravana Kannan 2022-09-07 3:21 ` Gupta, Nipun 2022-09-07 3:21 ` Gupta, Nipun 2022-09-07 18:06 ` Saravana Kannan 2022-09-07 18:06 ` Saravana Kannan 2022-09-07 12:32 ` Greg KH 2022-09-07 12:32 ` Greg KH 2022-09-08 13:29 ` Gupta, Nipun 2022-09-08 13:29 ` Gupta, Nipun 2022-09-06 13:47 ` [RFC PATCH v3 3/7] iommu/arm-smmu-v3: support ops registration for CDX bus Nipun Gupta 2022-09-06 13:47 ` Nipun Gupta 2022-09-07 0:10 ` Saravana Kannan 2022-09-07 0:10 ` Saravana Kannan 2022-09-07 3:17 ` Gupta, Nipun 2022-09-07 3:17 ` Gupta, Nipun 2022-09-07 8:27 ` Robin Murphy 2022-09-07 8:27 ` Robin Murphy 2022-09-07 18:24 ` Saravana Kannan 2022-09-07 18:24 ` Saravana Kannan 2022-09-07 20:40 ` Robin Murphy 2022-09-07 20:40 ` Robin Murphy 2022-09-08 0:14 ` Saravana Kannan 2022-09-08 0:14 ` Saravana Kannan 2022-09-06 13:47 ` [RFC PATCH v3 4/7] bus/cdx: add cdx-MSI domain with gic-its domain as parent Nipun Gupta 2022-09-06 13:47 ` Nipun Gupta 2022-09-06 17:19 ` Jason Gunthorpe 2022-09-06 17:19 ` Jason Gunthorpe 2022-09-07 11:17 ` Marc Zyngier 2022-09-07 11:17 ` Marc Zyngier 2022-09-07 11:33 ` Robin Murphy 2022-09-07 11:33 ` Robin Murphy 2022-09-07 12:14 ` Marc Zyngier 2022-09-07 12:14 ` Marc Zyngier 2022-09-07 11:35 ` Radovanovic, Aleksandar 2022-09-07 11:35 ` Radovanovic, Aleksandar 2022-09-07 12:32 ` Marc Zyngier 2022-09-07 13:18 ` Radovanovic, Aleksandar 2022-09-07 13:18 ` Radovanovic, Aleksandar 2022-09-08 8:08 ` Marc Zyngier 2022-09-08 9:51 ` Radovanovic, Aleksandar 2022-09-08 9:51 ` Radovanovic, Aleksandar 2022-09-08 11:49 ` Robin Murphy 2022-09-08 11:49 ` Robin Murphy 2022-09-08 14:18 ` Marc Zyngier 2022-09-07 13:18 ` Marc Zyngier 2022-09-07 13:18 ` Marc Zyngier 2022-09-08 14:13 ` Gupta, Nipun 2022-09-08 14:13 ` Gupta, Nipun 2022-09-08 14:29 ` Marc Zyngier 2022-09-09 6:32 ` Gupta, Nipun 2022-09-09 6:32 ` Gupta, Nipun 2022-10-12 10:04 ` Gupta, Nipun 2022-10-12 10:04 ` Gupta, Nipun 2022-10-12 10:34 ` Radovanovic, Aleksandar 2022-10-12 10:34 ` Radovanovic, Aleksandar 2022-10-12 13:02 ` Jason Gunthorpe 2022-10-12 13:02 ` Jason Gunthorpe 2022-10-12 13:37 ` Radovanovic, Aleksandar 2022-10-12 13:37 ` Radovanovic, Aleksandar 2022-10-12 14:38 ` Jason Gunthorpe 2022-10-12 14:38 ` Jason Gunthorpe 2022-10-12 15:09 ` Radovanovic, Aleksandar 2022-10-12 15:09 ` Radovanovic, Aleksandar 2022-10-13 12:43 ` Jason Gunthorpe 2022-10-13 12:43 ` Jason Gunthorpe 2022-10-14 11:18 ` Radovanovic, Aleksandar 2022-10-14 11:18 ` Radovanovic, Aleksandar 2022-10-14 11:54 ` gregkh 2022-10-14 11:54 ` gregkh 2022-10-14 12:13 ` Radovanovic, Aleksandar 2022-10-14 12:13 ` Radovanovic, Aleksandar 2022-10-14 13:46 ` gregkh 2022-10-14 13:46 ` gregkh 2022-10-14 13:58 ` Jason Gunthorpe 2022-10-14 13:58 ` Jason Gunthorpe 2022-09-06 13:47 ` [RFC PATCH v3 5/7] bus/cdx: add bus and device attributes Nipun Gupta 2022-09-06 13:47 ` Nipun Gupta 2022-09-06 13:48 ` [RFC PATCH v3 6/7] vfio/cdx: add support for CDX bus Nipun Gupta 2022-09-06 13:48 ` Nipun Gupta 2022-09-06 17:20 ` Jason Gunthorpe 2022-09-06 17:20 ` Jason Gunthorpe 2022-09-06 17:23 ` Gupta, Nipun 2022-09-06 17:23 ` Gupta, Nipun 2022-09-06 13:48 ` [RFC PATCH v3 7/7] vfio/cdx: add interrupt support Nipun Gupta 2022-09-06 13:48 ` Nipun Gupta 2022-10-14 4:40 ` [RFC PATCH v4 0/8] add support for CDX bus Nipun Gupta 2022-10-14 4:40 ` Nipun Gupta 2022-10-14 4:40 ` [RFC PATCH v4 1/8] dt-bindings: bus: add CDX bus device tree bindings Nipun Gupta 2022-10-14 4:40 ` Nipun Gupta 2022-10-14 14:17 ` Rob Herring 2022-10-14 14:17 ` Rob Herring 2022-10-17 10:18 ` Gupta, Nipun 2022-10-17 10:18 ` Gupta, Nipun 2022-10-14 4:40 ` [RFC PATCH v4 2/8] bus/cdx: add the cdx bus driver Nipun Gupta 2022-10-14 4:40 ` Nipun Gupta 2022-10-14 7:15 ` Greg KH 2022-10-14 7:15 ` Greg KH 2022-10-14 8:12 ` Gupta, Nipun 2022-10-14 8:12 ` Gupta, Nipun 2022-10-14 7:18 ` Greg KH 2022-10-14 7:18 ` Greg KH 2022-10-14 8:20 ` Gupta, Nipun 2022-10-14 8:20 ` Gupta, Nipun 2022-10-14 4:40 ` [RFC PATCH v4 3/8] iommu/arm-smmu-v3: support ops registration for CDX bus Nipun Gupta 2022-10-14 4:40 ` Nipun Gupta 2022-10-14 4:51 ` Gupta, Nipun 2022-10-14 4:51 ` Gupta, Nipun 2022-10-14 4:40 ` [RFC PATCH v4 4/8] bux/cdx: support dma configuration for CDX devices Nipun Gupta 2022-10-14 4:40 ` Nipun Gupta 2022-10-14 4:40 ` [RFC PATCH v4 5/8] bus/cdx: add bus and device attributes Nipun Gupta 2022-10-14 4:40 ` Nipun Gupta 2022-10-14 4:40 ` [RFC PATCH v4 6/8] irq/msi: use implicit msi domain for alloc and free Nipun Gupta 2022-10-14 4:40 ` Nipun Gupta 2022-10-14 4:40 ` [RFC PATCH v4 7/8] bus/cdx: add cdx-MSI domain with gic-its domain as parent Nipun Gupta 2022-10-14 4:40 ` Nipun Gupta 2022-10-17 13:08 ` kernel test robot 2022-11-17 19:10 ` Thomas Gleixner [this message] 2022-11-17 19:10 ` Thomas Gleixner 2022-10-14 4:40 ` [RFC PATCH v4 8/8] bus/cdx: add cdx controller Nipun Gupta 2022-10-14 4:40 ` Nipun Gupta 2022-10-14 14:10 ` [RFC PATCH v4 0/8] add support for CDX bus Rob Herring 2022-10-14 14:10 ` Rob Herring 2022-10-17 10:08 ` Gupta, Nipun 2022-10-17 10:08 ` Gupta, Nipun
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=87r0y1l7m1.ffs@tglx \ --to=tglx@linutronix.de \ --cc=Michael.Srba@seznam.cz \ --cc=aleksandar.radovanovic@amd.com \ --cc=alex.williamson@redhat.com \ --cc=cohuck@redhat.com \ --cc=devicetree@vger.kernel.org \ --cc=eric.auger@redhat.com \ --cc=f.fainelli@gmail.com \ --cc=git@amd.com \ --cc=gregkh@linuxfoundation.org \ --cc=harpreet.anand@amd.com \ --cc=jeffrey.l.hugo@gmail.com \ --cc=jgg@nvidia.com \ --cc=jgg@ziepe.ca \ --cc=joro@8bytes.org \ --cc=krzysztof.kozlowski+dt@linaro.org \ --cc=kvm@vger.kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kbuild@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mani@kernel.org \ --cc=masahiroy@kernel.org \ --cc=maz@kernel.org \ --cc=mchehab+huawei@kernel.org \ --cc=michal.simek@amd.com \ --cc=ndesaulniers@google.com \ --cc=nikhil.agarwal@amd.com \ --cc=nipun.gupta@amd.com \ --cc=okaya@kernel.org \ --cc=puneet.gupta@amd.com \ --cc=rafael@kernel.org \ --cc=robh+dt@kernel.org \ --cc=robin.murphy@arm.com \ --cc=saravanak@google.com \ --cc=song.bao.hua@hisilicon.com \ --cc=will@kernel.org \ --cc=yishaih@nvidia.com \ /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.