From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: Jiang Liu <jiang.liu@linux.intel.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>,
Grant Likely <grant.likely@linaro.org>,
Marc Zyngier <marc.zyngier@arm.com>,
Stuart Yoder <stuart.yoder@freescale.com>,
Yijing Wang <wangyijing@huawei.com>,
Borislav Petkov <bp@alien8.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Joe Perches <joe@perches.com>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
"Luis R. Rodriguez" <mcgrof@suse.com>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
Joerg Roedel <jroedel@suse.de>,
Alexander Gordeev <agordeev@redhat.com>,
Tony Luck <tony.luck@intel.com>, <linux-kernel@vger.kernel.org>,
<linux-pci@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [RFC Patch V1 09/12] genirq: Move msi_list from struct pci_dev to struct device
Date: Thu, 9 Jul 2015 20:19:37 -0400 [thread overview]
Message-ID: <20150710001936.GD6957@windriver.com> (raw)
In-Reply-To: <1436428847-8886-10-git-send-email-jiang.liu@linux.intel.com>
[[RFC Patch V1 09/12] genirq: Move msi_list from struct pci_dev to struct device] On 09/07/2015 (Thu 16:00) Jiang Liu wrote:
> Move msi_list from struct pci_dev into struct device, so we could support
> non-PCI-device based generic MSI interrupts.
This is not just a simple move, as the new instances are within a
Kconfig option. I did not get the 0/12 so I don't know if this is
expected, but the commit log here does not seem stand-alone enough
to get through on its own merits; it needs more details.
Paul.
--
>
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> ---
> drivers/base/core.c | 3 +++
> drivers/pci/msi.c | 3 +--
> include/linux/device.h | 4 ++++
> include/linux/msi.h | 2 +-
> include/linux/pci.h | 1 -
> 5 files changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/base/core.c b/drivers/base/core.c
> index dafae6d2f7ac..18e2a89aa138 100644
> --- a/drivers/base/core.c
> +++ b/drivers/base/core.c
> @@ -662,6 +662,9 @@ void device_initialize(struct device *dev)
> INIT_LIST_HEAD(&dev->devres_head);
> device_pm_init(dev);
> set_dev_node(dev, -1);
> +#ifdef CONFIG_GENERIC_MSI_IRQ
> + INIT_LIST_HEAD(&dev->msi_list);
> +#endif
> }
> EXPORT_SYMBOL_GPL(device_initialize);
>
> diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
> index 6497608545e2..0050ad436718 100644
> --- a/drivers/pci/msi.c
> +++ b/drivers/pci/msi.c
> @@ -900,7 +900,7 @@ void pci_msi_shutdown(struct pci_dev *dev)
> return;
>
> BUG_ON(list_empty(dev_to_msi_list(&dev->dev)));
> - desc = first_msi_entry(dev);
> + desc = first_pci_msi_entry(dev);
>
> pci_msi_set_enable(dev, 0);
> pci_intx_for_msi(dev, 1);
> @@ -1044,7 +1044,6 @@ EXPORT_SYMBOL(pci_msi_enabled);
>
> void pci_msi_init_pci_dev(struct pci_dev *dev)
> {
> - INIT_LIST_HEAD(&dev->msi_list);
> }
>
> /**
> diff --git a/include/linux/device.h b/include/linux/device.h
> index 5a31bf3a4024..22227e7fe463 100644
> --- a/include/linux/device.h
> +++ b/include/linux/device.h
> @@ -713,6 +713,7 @@ struct device_dma_parameters {
> * along with subsystem-level and driver-level callbacks.
> * @pins: For device pin management.
> * See Documentation/pinctrl.txt for details.
> + * @msi_list: Hosts MSI descriptors
> * @numa_node: NUMA node this device is close to.
> * @dma_mask: Dma mask (if dma'ble device).
> * @coherent_dma_mask: Like dma_mask, but for alloc_coherent mapping as not all
> @@ -776,6 +777,9 @@ struct device {
> #ifdef CONFIG_PINCTRL
> struct dev_pin_info *pins;
> #endif
> +#ifdef CONFIG_GENERIC_MSI_IRQ
> + struct list_head msi_list;
> +#endif
>
> #ifdef CONFIG_NUMA
> int numa_node; /* NUMA node this device is close to */
> diff --git a/include/linux/msi.h b/include/linux/msi.h
> index cfbd2afeaf64..57fe766a14bf 100644
> --- a/include/linux/msi.h
> +++ b/include/linux/msi.h
> @@ -45,7 +45,7 @@ struct msi_desc {
>
> /* Helpers to hide struct msi_desc implementation details */
> #define msi_desc_to_dev(desc) (&(desc)->dev.dev)
> -#define dev_to_msi_list(dev) (&to_pci_dev((dev))->msi_list)
> +#define dev_to_msi_list(dev) (&(dev)->msi_list)
> #define first_msi_entry(dev) \
> list_first_entry(dev_to_msi_list((dev)), struct msi_desc, list)
> #define for_each_msi_entry(desc, dev) \
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index 8a0321a8fb59..fbf245f5eba7 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -366,7 +366,6 @@ struct pci_dev {
> struct bin_attribute *res_attr[DEVICE_COUNT_RESOURCE]; /* sysfs file for resources */
> struct bin_attribute *res_attr_wc[DEVICE_COUNT_RESOURCE]; /* sysfs file for WC mapping of resources */
> #ifdef CONFIG_PCI_MSI
> - struct list_head msi_list;
> const struct attribute_group **msi_irq_groups;
> #endif
> struct pci_vpd *vpd;
> --
> 1.7.10.4
>
WARNING: multiple messages have this Message-ID (diff)
From: paul.gortmaker@windriver.com (Paul Gortmaker)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC Patch V1 09/12] genirq: Move msi_list from struct pci_dev to struct device
Date: Thu, 9 Jul 2015 20:19:37 -0400 [thread overview]
Message-ID: <20150710001936.GD6957@windriver.com> (raw)
In-Reply-To: <1436428847-8886-10-git-send-email-jiang.liu@linux.intel.com>
[[RFC Patch V1 09/12] genirq: Move msi_list from struct pci_dev to struct device] On 09/07/2015 (Thu 16:00) Jiang Liu wrote:
> Move msi_list from struct pci_dev into struct device, so we could support
> non-PCI-device based generic MSI interrupts.
This is not just a simple move, as the new instances are within a
Kconfig option. I did not get the 0/12 so I don't know if this is
expected, but the commit log here does not seem stand-alone enough
to get through on its own merits; it needs more details.
Paul.
--
>
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> ---
> drivers/base/core.c | 3 +++
> drivers/pci/msi.c | 3 +--
> include/linux/device.h | 4 ++++
> include/linux/msi.h | 2 +-
> include/linux/pci.h | 1 -
> 5 files changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/base/core.c b/drivers/base/core.c
> index dafae6d2f7ac..18e2a89aa138 100644
> --- a/drivers/base/core.c
> +++ b/drivers/base/core.c
> @@ -662,6 +662,9 @@ void device_initialize(struct device *dev)
> INIT_LIST_HEAD(&dev->devres_head);
> device_pm_init(dev);
> set_dev_node(dev, -1);
> +#ifdef CONFIG_GENERIC_MSI_IRQ
> + INIT_LIST_HEAD(&dev->msi_list);
> +#endif
> }
> EXPORT_SYMBOL_GPL(device_initialize);
>
> diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
> index 6497608545e2..0050ad436718 100644
> --- a/drivers/pci/msi.c
> +++ b/drivers/pci/msi.c
> @@ -900,7 +900,7 @@ void pci_msi_shutdown(struct pci_dev *dev)
> return;
>
> BUG_ON(list_empty(dev_to_msi_list(&dev->dev)));
> - desc = first_msi_entry(dev);
> + desc = first_pci_msi_entry(dev);
>
> pci_msi_set_enable(dev, 0);
> pci_intx_for_msi(dev, 1);
> @@ -1044,7 +1044,6 @@ EXPORT_SYMBOL(pci_msi_enabled);
>
> void pci_msi_init_pci_dev(struct pci_dev *dev)
> {
> - INIT_LIST_HEAD(&dev->msi_list);
> }
>
> /**
> diff --git a/include/linux/device.h b/include/linux/device.h
> index 5a31bf3a4024..22227e7fe463 100644
> --- a/include/linux/device.h
> +++ b/include/linux/device.h
> @@ -713,6 +713,7 @@ struct device_dma_parameters {
> * along with subsystem-level and driver-level callbacks.
> * @pins: For device pin management.
> * See Documentation/pinctrl.txt for details.
> + * @msi_list: Hosts MSI descriptors
> * @numa_node: NUMA node this device is close to.
> * @dma_mask: Dma mask (if dma'ble device).
> * @coherent_dma_mask: Like dma_mask, but for alloc_coherent mapping as not all
> @@ -776,6 +777,9 @@ struct device {
> #ifdef CONFIG_PINCTRL
> struct dev_pin_info *pins;
> #endif
> +#ifdef CONFIG_GENERIC_MSI_IRQ
> + struct list_head msi_list;
> +#endif
>
> #ifdef CONFIG_NUMA
> int numa_node; /* NUMA node this device is close to */
> diff --git a/include/linux/msi.h b/include/linux/msi.h
> index cfbd2afeaf64..57fe766a14bf 100644
> --- a/include/linux/msi.h
> +++ b/include/linux/msi.h
> @@ -45,7 +45,7 @@ struct msi_desc {
>
> /* Helpers to hide struct msi_desc implementation details */
> #define msi_desc_to_dev(desc) (&(desc)->dev.dev)
> -#define dev_to_msi_list(dev) (&to_pci_dev((dev))->msi_list)
> +#define dev_to_msi_list(dev) (&(dev)->msi_list)
> #define first_msi_entry(dev) \
> list_first_entry(dev_to_msi_list((dev)), struct msi_desc, list)
> #define for_each_msi_entry(desc, dev) \
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index 8a0321a8fb59..fbf245f5eba7 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -366,7 +366,6 @@ struct pci_dev {
> struct bin_attribute *res_attr[DEVICE_COUNT_RESOURCE]; /* sysfs file for resources */
> struct bin_attribute *res_attr_wc[DEVICE_COUNT_RESOURCE]; /* sysfs file for WC mapping of resources */
> #ifdef CONFIG_PCI_MSI
> - struct list_head msi_list;
> const struct attribute_group **msi_irq_groups;
> #endif
> struct pci_vpd *vpd;
> --
> 1.7.10.4
>
next prev parent reply other threads:[~2015-07-10 0:21 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-09 8:00 [RFC Patch V1 00/12] Reorganize struct msi_desc to prepare for support of generic MSI Jiang Liu
2015-07-09 8:00 ` Jiang Liu
2015-07-09 8:00 ` [RFC Patch V1 01/12] PCI: Add helper function msi_desc_to_pci_sysdata() Jiang Liu
2015-07-09 8:00 ` Jiang Liu
2015-07-22 20:37 ` [tip:irq/core] " tip-bot for Jiang Liu
2015-07-09 8:00 ` [RFC Patch V1 02/12] MIPS, PCI: Use for_pci_msi_entry() to access MSI device list Jiang Liu
2015-07-09 8:00 ` Jiang Liu
2015-07-09 11:03 ` Sergei Shtylyov
2015-07-09 11:03 ` Sergei Shtylyov
2015-07-22 20:37 ` [tip:irq/core] MIPS/PCI: " tip-bot for Jiang Liu
2015-07-09 8:00 ` [RFC Patch V1 03/12] PowerPC, PCI: " Jiang Liu
2015-07-09 8:00 ` Jiang Liu
2015-07-22 20:38 ` [tip:irq/core] powerpc/PCI: " tip-bot for Jiang Liu
2015-07-09 8:00 ` [RFC Patch V1 04/12] s390/pci: " Jiang Liu
2015-07-09 8:00 ` Jiang Liu
2015-07-13 12:47 ` Sebastian Ott
2015-07-13 12:47 ` Sebastian Ott
2015-07-22 20:38 ` [tip:irq/core] " tip-bot for Jiang Liu
2015-07-09 8:00 ` [RFC Patch V1 05/12] x86, PCI: " Jiang Liu
2015-07-09 8:00 ` Jiang Liu
2015-07-09 8:00 ` Jiang Liu
2015-07-09 19:07 ` Konrad Rzeszutek Wilk
2015-07-09 19:07 ` Konrad Rzeszutek Wilk
2015-07-09 19:07 ` Konrad Rzeszutek Wilk
2015-07-22 20:38 ` [tip:irq/core] x86/PCI: " tip-bot for Jiang Liu
2015-07-09 8:00 ` [RFC Patch V1 06/12] PCI: " Jiang Liu
2015-07-09 8:00 ` Jiang Liu
2015-07-09 8:00 ` Jiang Liu
2015-07-09 19:08 ` Konrad Rzeszutek Wilk
2015-07-09 19:08 ` Konrad Rzeszutek Wilk
2015-07-09 19:08 ` Konrad Rzeszutek Wilk
2015-07-22 20:39 ` [tip:irq/core] PCI: Use for_each_pci_msi_entry() " tip-bot for Jiang Liu
2015-07-09 8:00 ` [RFC Patch V1 07/12] sparc, PCI: Use helper functions to access fields in struct msi_desc Jiang Liu
2015-07-09 8:00 ` Jiang Liu
2015-07-09 8:00 ` Jiang Liu
2015-07-09 8:00 ` David Miller
2015-07-09 8:00 ` David Miller
2015-07-09 8:00 ` David Miller
2015-07-22 20:39 ` [tip:irq/core] sparc/PCI: " tip-bot for Jiang Liu
2015-07-09 8:00 ` [RFC Patch V1 08/12] PCI: " Jiang Liu
2015-07-09 8:00 ` Jiang Liu
2015-07-12 11:18 ` Jingoo Han
2015-07-12 11:18 ` Jingoo Han
2015-07-22 20:39 ` [tip:irq/core] " tip-bot for Jiang Liu
2015-07-09 8:00 ` [RFC Patch V1 09/12] genirq: Move msi_list from struct pci_dev to struct device Jiang Liu
2015-07-09 8:00 ` Jiang Liu
2015-07-10 0:19 ` Paul Gortmaker [this message]
2015-07-10 0:19 ` Paul Gortmaker
2015-07-21 22:02 ` Thomas Gleixner
2015-07-21 22:02 ` Thomas Gleixner
2015-07-22 20:40 ` [tip:irq/core] genirq/MSI: " tip-bot for Jiang Liu
2015-07-09 8:00 ` [RFC Patch V1 10/12] genirq, PCI: Store 'struct device *' instead 'struct pci_dev *' in struct msi_desc Jiang Liu
2015-07-09 8:00 ` Jiang Liu
2015-07-22 20:40 ` [tip:irq/core] genirq/MSI: Store 'struct device' instead of ' struct pci_dev' " tip-bot for Jiang Liu
2015-07-09 8:00 ` [RFC Patch V1 11/12] genirq, PCI: Reorginize struct msi_desc to prepare for support of generic MSI Jiang Liu
2015-07-09 8:00 ` Jiang Liu
2015-07-10 12:41 ` Marc Zyngier
2015-07-10 12:41 ` Marc Zyngier
2015-07-22 20:41 ` [tip:irq/core] genirq/MSI: " tip-bot for Jiang Liu
2015-07-09 8:00 ` [RFC Patch V1 12/12] genirq, PCI: Move alloc_msi_entry() from PCI MSI code into generic MSI code Jiang Liu
2015-07-09 8:00 ` Jiang Liu
2015-07-22 20:41 ` [tip:irq/core] genirq/MSI: Move alloc_msi_entry() from PCI " tip-bot for Jiang Liu
2015-07-10 1:41 ` [RFC Patch V1 00/12] Reorganize struct msi_desc to prepare for support of generic MSI Yijing Wang
2015-07-10 1:41 ` Yijing Wang
2015-07-10 12:54 ` Marc Zyngier
2015-07-10 12:54 ` Marc Zyngier
2015-07-21 8:31 ` Thomas Gleixner
2015-07-21 8:31 ` Thomas Gleixner
2015-07-21 13:30 ` Bjorn Helgaas
2015-07-21 13:30 ` Bjorn Helgaas
2015-07-21 15:51 ` Thomas Gleixner
2015-07-21 15:51 ` Thomas Gleixner
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=20150710001936.GD6957@windriver.com \
--to=paul.gortmaker@windriver.com \
--cc=agordeev@redhat.com \
--cc=bhelgaas@google.com \
--cc=bp@alien8.de \
--cc=dmitry.torokhov@gmail.com \
--cc=grant.likely@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=jiang.liu@linux.intel.com \
--cc=joe@perches.com \
--cc=jroedel@suse.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=mcgrof@suse.com \
--cc=mingo@redhat.com \
--cc=rafael.j.wysocki@intel.com \
--cc=stuart.yoder@freescale.com \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
--cc=wangyijing@huawei.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: link
Be 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.