linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Yijing Wang <wangyijing@huawei.com>
To: Liviu Dudau <liviu@dudau.co.uk>
Cc: Thierry Reding <thierry.reding@gmail.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
	Xinwei Hu <huxinwei@huawei.com>, Wuyun <wuyun.wu@huawei.com>,
	linux-arm-kernel@lists.infradead.org,
	Russell King <linux@arm.linux.org.uk>,
	linux-arch@vger.kernel.org, arnab.basu@freescale.com,
	Bharat.Bhushan@freescale.com, x86@kernel.org,
	Arnd Bergmann <arnd@arndb.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel@lists.xenproject.org, Joerg Roedel <joro@8bytes.org>,
	iommu@lists.linux-foundation.org, linux-mips@linux-mips.org,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
	Sebastian Ott <sebott@linux.vnet.ibm.com>,
	Tony Luck <tony.luck@intel.com>,
	linux-ia64@vger.kernel.org, David S. Miller
Subject: Re: [PATCH v2 00/22] Use MSI chip framework to configure MSI/MSI-X in all platforms
Date: Sun, 28 Sep 2014 10:16:12 +0800	[thread overview]
Message-ID: <54276F6C.5010705@huawei.com> (raw)
In-Reply-To: <20140926085030.GE31157@bart.dudau.co.uk>

>>>> What I would like to see is a way of creating the pci_host_bridge structure outside
>>>> the pci_create_root_bus(). That would then allow us to pass this sort of platform
>>>> details like associated msi_chip into the host bridge and the child busses will
>>>> have an easy way of finding the information needed by finding the root bus and then
>>>> the host bridge structure. Then the generic pci_scan_root_bus() can be used by (mostly)
>>>> everyone and the drivers can remove their kludges that try to work around the
>>>> current limitations.
>>
>> So I think maybe save msi chip in PCI arch sysdata is a good candidate.
> 
> Except that arch sysdata at the moment is an opaque pointer. I am all in favour in
> changing the type of sysdata from void* into pci_host_bridge* and arches can wrap their old
> sysdata around the pci_host_bridge*.

I inspected every arch and found there are almost no common stuff, and generic data struct should
be created in generic PCI code. Another, I don't like associate msi chip and every PCI device, further more,
almost all platforms except arm have only one MSI controller, and currently, PCI enumerating code doesn't need
to know the MSI chip details, like for legacy IRQ, PCI device doesn't need to know which IRQ controller they
should deliver IRQ to. I would think more about it, and hope other PCI guys can give some comments, especially from Bjorn.

Thanks!
Yijing.

> 
> Best regards,
> Liviu
> 
>>
>>>
>>> I think both issues are orthogonal. Last time I checked a lot of work
>>> was still necessary to unify host bridges enough so that it could be
>>> shared across architectures. But perhaps some of that work has
>>> happened in the meantime.
>>>
>>> But like I said, when you create the root bus, you can easily attach the
>>> MSI chip to it.
>>>
>>> Thierry
>>>
>>
>>
>> -- 
>> Thanks!
>> Yijing
>>
>>
> 


-- 
Thanks!
Yijing

WARNING: multiple messages have this Message-ID (diff)
From: Yijing Wang <wangyijing@huawei.com>
To: Liviu Dudau <liviu@dudau.co.uk>
Cc: Thierry Reding <thierry.reding@gmail.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
	Xinwei Hu <huxinwei@huawei.com>, Wuyun <wuyun.wu@huawei.com>,
	linux-arm-kernel@lists.infradead.org,
	Russell King <linux@arm.linux.org.uk>,
	linux-arch@vger.kernel.org, arnab.basu@freescale.com,
	Bharat.Bhushan@freescale.com, x86@kernel.org,
	Arnd Bergmann <arnd@arndb.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel@lists.xenproject.org, Joerg Roedel <joro@8bytes.org>,
	iommu@lists.linux-foundation.org, linux-mips@linux-mips.org,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
	Sebastian Ott <sebott@linux.vnet.ibm.com>,
	Tony Luck <tony.luck@intel.com>,
	linux-ia64@vger.kernel.org,
	"David S. Miller" <davem@davemloft.net>,
	sparclinux@vger.kernel.org, Chris Metcalf <cmetcalf@tilera.com>,
	Ralf Baechle <ralf@linux-mips.org>,
	Lucas Stach <l.stach@pengutronix.de>,
	David Vrabel <david.vrabel@citrix.com>,
	Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Subject: Re: [PATCH v2 00/22] Use MSI chip framework to configure MSI/MSI-X in all platforms
Date: Sun, 28 Sep 2014 10:16:12 +0800	[thread overview]
Message-ID: <54276F6C.5010705@huawei.com> (raw)
Message-ID: <20140928021612.gBJwaXg1bM-78P5f2CNMxULgnYU-hAcm7brOLVGEg3c@z> (raw)
In-Reply-To: <20140926085030.GE31157@bart.dudau.co.uk>

>>>> What I would like to see is a way of creating the pci_host_bridge structure outside
>>>> the pci_create_root_bus(). That would then allow us to pass this sort of platform
>>>> details like associated msi_chip into the host bridge and the child busses will
>>>> have an easy way of finding the information needed by finding the root bus and then
>>>> the host bridge structure. Then the generic pci_scan_root_bus() can be used by (mostly)
>>>> everyone and the drivers can remove their kludges that try to work around the
>>>> current limitations.
>>
>> So I think maybe save msi chip in PCI arch sysdata is a good candidate.
> 
> Except that arch sysdata at the moment is an opaque pointer. I am all in favour in
> changing the type of sysdata from void* into pci_host_bridge* and arches can wrap their old
> sysdata around the pci_host_bridge*.

I inspected every arch and found there are almost no common stuff, and generic data struct should
be created in generic PCI code. Another, I don't like associate msi chip and every PCI device, further more,
almost all platforms except arm have only one MSI controller, and currently, PCI enumerating code doesn't need
to know the MSI chip details, like for legacy IRQ, PCI device doesn't need to know which IRQ controller they
should deliver IRQ to. I would think more about it, and hope other PCI guys can give some comments, especially from Bjorn.

Thanks!
Yijing.

> 
> Best regards,
> Liviu
> 
>>
>>>
>>> I think both issues are orthogonal. Last time I checked a lot of work
>>> was still necessary to unify host bridges enough so that it could be
>>> shared across architectures. But perhaps some of that work has
>>> happened in the meantime.
>>>
>>> But like I said, when you create the root bus, you can easily attach the
>>> MSI chip to it.
>>>
>>> Thierry
>>>
>>
>>
>> -- 
>> Thanks!
>> Yijing
>>
>>
> 


-- 
Thanks!
Yijing


  parent reply	other threads:[~2014-09-28  2:16 UTC|newest]

Thread overview: 140+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-25  3:14 [PATCH v2 00/22] Use MSI chip framework to configure MSI/MSI-X in all platforms Yijing Wang
2014-09-25  3:14 ` Yijing Wang
2014-09-25  3:14 ` [PATCH v2 03/22] MSI: Remove the redundant irq_set_chip_data() Yijing Wang
2014-09-25  3:14   ` Yijing Wang
2014-09-25  7:19   ` Thierry Reding
2014-09-25  7:19     ` Thierry Reding
2014-09-26  2:04     ` Yijing Wang
2014-09-26  2:04       ` Yijing Wang
     [not found]       ` <5424C9BD.3040506-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-09-26  8:09         ` Thierry Reding
2014-09-26  8:09           ` Thierry Reding
     [not found]   ` <1411614872-4009-4-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-09-26  8:09     ` Thierry Reding
2014-09-26  8:09       ` Thierry Reding
2014-09-25  3:14 ` [PATCH v2 05/22] s390/MSI: Use __msi_mask_irq() instead of default_msi_mask_irq() Yijing Wang
2014-09-25  3:14   ` Yijing Wang
2014-09-25  3:14 ` [PATCH v2 06/22] PCI/MSI: Introduce weak arch_find_msi_chip() to find MSI chip Yijing Wang
2014-09-25  3:14   ` Yijing Wang
2014-09-25  7:26   ` Thierry Reding
2014-09-25  7:26     ` Thierry Reding
2014-09-26  2:10     ` Yijing Wang
2014-09-26  2:10       ` Yijing Wang
     [not found]   ` <1411614872-4009-7-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-09-25 10:38     ` Thomas Gleixner
2014-09-25 10:38       ` Thomas Gleixner
2014-09-26  2:33       ` Yijing Wang
2014-09-26  2:33         ` Yijing Wang
2014-09-26  2:44       ` Yijing Wang
2014-09-26  2:44         ` Yijing Wang
     [not found]         ` <5424D30A.6040900-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-09-26 10:38           ` Thomas Gleixner
2014-09-26 10:38             ` Thomas Gleixner
2014-09-28  2:35             ` Yijing Wang
2014-09-28  2:35               ` Yijing Wang
2014-09-25  3:14 ` [PATCH v2 07/22] PCI/MSI: Refactor struct msi_chip to make it become more common Yijing Wang
2014-09-25  3:14   ` Yijing Wang
2014-09-25  3:14 ` [PATCH v2 08/22] x86/MSI: Use MSI chip framework to configure MSI/MSI-X irq Yijing Wang
2014-09-25  3:14   ` Yijing Wang
2014-09-25  3:14 ` [PATCH v2 09/22] x86/xen/MSI: " Yijing Wang
2014-09-25  3:14   ` Yijing Wang
2014-09-25  3:14 ` [PATCH v2 10/22] Irq_remapping/MSI: " Yijing Wang
2014-09-25  3:14   ` Yijing Wang
2014-09-25  3:14 ` [PATCH v2 12/22] MIPS/Octeon/MSI: " Yijing Wang
2014-09-25  3:14   ` Yijing Wang
     [not found]   ` <1411614872-4009-13-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-09-25  7:34     ` Thierry Reding
2014-09-25  7:34       ` Thierry Reding
2014-09-26  2:12       ` Yijing Wang
2014-09-26  2:12         ` Yijing Wang
2014-09-25  3:14 ` [PATCH v2 13/22] MIPS/Xlp: Remove the dead function destroy_irq() to fix build error Yijing Wang
2014-09-25  3:14   ` Yijing Wang
     [not found] ` <1411614872-4009-1-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-09-25  3:14   ` [PATCH v2 01/22] PCI/MSI: Clean up struct msi_chip argument Yijing Wang
2014-09-25  3:14     ` Yijing Wang
     [not found]     ` <1411614872-4009-2-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-09-25  7:15       ` Thierry Reding
2014-09-25  7:15         ` Thierry Reding
2014-09-25 10:20         ` Thomas Gleixner
2014-09-25 10:20           ` Thomas Gleixner
2014-09-26  2:15           ` Yijing Wang
2014-09-26  2:15             ` Yijing Wang
2014-09-26  1:58         ` Yijing Wang
2014-09-26  1:58           ` Yijing Wang
2014-09-25  3:14   ` [PATCH v2 02/22] PCI/MSI: Remove useless bus->msi assignment Yijing Wang
2014-09-25  3:14     ` Yijing Wang
     [not found]     ` <1411614872-4009-3-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-09-25  7:06       ` Thierry Reding
2014-09-25  7:06         ` Thierry Reding
2014-09-26  1:55         ` Yijing Wang
2014-09-26  1:55           ` Yijing Wang
2014-09-25  3:14   ` [PATCH v2 04/22] x86/xen/MSI: Eliminate arch_msix_mask_irq() and arch_msi_mask_irq() Yijing Wang
2014-09-25  3:14     ` Yijing Wang
     [not found]     ` <1411614872-4009-5-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-09-25 14:33       ` Konrad Rzeszutek Wilk
2014-09-25 14:33         ` Konrad Rzeszutek Wilk
2014-09-26  3:12         ` Yijing Wang
2014-09-26  3:12           ` Yijing Wang
2014-09-25  3:14   ` [PATCH v2 11/22] x86/MSI: Remove unused MSI weak arch functions Yijing Wang
2014-09-25  3:14     ` Yijing Wang
2014-09-25  3:14   ` [PATCH v2 14/22] MIPS/Xlp/MSI: Use MSI chip framework to configure MSI/MSI-X irq Yijing Wang
2014-09-25  3:14     ` Yijing Wang
     [not found]     ` <1411614872-4009-15-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-09-25  7:36       ` Thierry Reding
2014-09-25  7:36         ` Thierry Reding
2014-09-26  2:13         ` Yijing Wang
2014-09-26  2:13           ` Yijing Wang
2014-09-25  3:14   ` [PATCH v2 15/22] MIPS/Xlr/MSI: " Yijing Wang
2014-09-25  3:14     ` Yijing Wang
     [not found]     ` <1411614872-4009-16-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-09-25  7:37       ` Thierry Reding
2014-09-25  7:37         ` Thierry Reding
2014-09-26  2:13         ` Yijing Wang
2014-09-26  2:13           ` Yijing Wang
2014-09-25  3:14 ` [PATCH v2 16/22] Powerpc/MSI: " Yijing Wang
2014-09-25  3:14   ` Yijing Wang
2014-09-25  3:14 ` [PATCH v2 17/22] s390/MSI: " Yijing Wang
2014-09-25  3:14   ` Yijing Wang
     [not found]   ` <1411614872-4009-18-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-09-25  7:38     ` Thierry Reding
2014-09-25  7:38       ` Thierry Reding
2014-09-26  2:14       ` Yijing Wang
2014-09-26  2:14         ` Yijing Wang
2014-09-25  3:14 ` [PATCH v2 18/22] arm/iop13xx/MSI: " Yijing Wang
2014-09-25  3:14   ` Yijing Wang
2014-09-25  3:14 ` [PATCH v2 19/22] IA64/MSI: " Yijing Wang
2014-09-25  3:14   ` Yijing Wang
2014-09-25  3:14 ` [PATCH v2 20/22] Sparc/MSI: " Yijing Wang
2014-09-25  3:14   ` Yijing Wang
2014-09-25  3:14 ` [PATCH v2 21/22] tile/MSI: " Yijing Wang
2014-09-25  3:14   ` Yijing Wang
2014-09-25  3:14 ` [PATCH v2 22/22] PCI/MSI: Clean up unused MSI arch functions Yijing Wang
2014-09-25  3:14   ` Yijing Wang
2014-09-25  7:42 ` [PATCH v2 00/22] Use MSI chip framework to configure MSI/MSI-X in all platforms Thierry Reding
2014-09-25  7:42   ` Thierry Reding
2014-09-25 14:48   ` Liviu Dudau
2014-09-25 14:48     ` Liviu Dudau
     [not found]     ` <20140925144855.GB31157-hOhETlTuV5niMG9XS5x8Mg@public.gmane.org>
2014-09-25 16:49       ` Thierry Reding
2014-09-25 16:49         ` Thierry Reding
2014-09-25 17:16         ` Liviu Dudau
2014-09-25 17:16           ` Liviu Dudau
2014-09-26  6:20           ` Yijing Wang
2014-09-26  6:20             ` Yijing Wang
     [not found]             ` <542505B3.7040208-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-09-26  8:54               ` Thierry Reding
2014-09-26  8:54                 ` Thierry Reding
2014-09-26  9:05                 ` Thierry Reding
2014-09-26  9:05                   ` Thierry Reding
2014-09-28  2:32                   ` Yijing Wang
2014-09-28  2:32                     ` Yijing Wang
2014-09-28  6:11                     ` Yijing Wang
2014-09-28  6:11                       ` Yijing Wang
2014-09-29  8:37                       ` Lucas Stach
2014-09-29  8:37                         ` Lucas Stach
2014-09-29 10:13                         ` Yijing Wang
2014-09-29 10:13                           ` Yijing Wang
2014-09-26  3:42         ` Yijing Wang
2014-09-26  3:42           ` Yijing Wang
     [not found]           ` <5424E09F.50701-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-09-26  8:50             ` Liviu Dudau
2014-09-26  8:50               ` Liviu Dudau
2014-09-28  2:16               ` Yijing Wang [this message]
2014-09-28  2:16                 ` Yijing Wang
     [not found]                 ` <54276F6C.5010705-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-09-28 11:21                   ` Liviu Dudau
2014-09-28 11:21                     ` Liviu Dudau
2014-09-29  1:44                     ` Yijing Wang
2014-09-29  1:44                       ` Yijing Wang
     [not found]                       ` <5428B971.50101-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-09-29  9:26                         ` Liviu Dudau
2014-09-29  9:26                           ` Liviu Dudau
2014-09-29 10:12                           ` Yijing Wang
2014-09-29 10:12                             ` Yijing Wang
2014-09-25 14:23 ` Konrad Rzeszutek Wilk
2014-09-25 14:23   ` Konrad Rzeszutek Wilk
2014-09-26  2:47   ` Yijing Wang
2014-09-26  2:47     ` Yijing Wang

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=54276F6C.5010705@huawei.com \
    --to=wangyijing@huawei.com \
    --cc=Bharat.Bhushan@freescale.com \
    --cc=arnab.basu@freescale.com \
    --cc=arnd@arndb.de \
    --cc=benh@kernel.crashing.org \
    --cc=bhelgaas@google.com \
    --cc=huxinwei@huawei.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joro@8bytes.org \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=liviu@dudau.co.uk \
    --cc=sebott@linux.vnet.ibm.com \
    --cc=tglx@linutronix.de \
    --cc=thierry.reding@gmail.com \
    --cc=tony.luck@intel.com \
    --cc=wuyun.wu@huawei.com \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    /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;
as well as URLs for NNTP newsgroup(s).