linux-s390.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Yijing Wang <wangyijing@huawei.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: 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>,
	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>
Subject: Re: [PATCH v2 06/22] PCI/MSI: Introduce weak arch_find_msi_chip() to find MSI chip
Date: Fri, 26 Sep 2014 10:33:24 +0800	[thread overview]
Message-ID: <5424D074.60102@huawei.com> (raw)
In-Reply-To: <alpine.DEB.2.10.1409251220570.4604@nanos>

On 2014/9/25 18:38, Thomas Gleixner wrote:
> On Thu, 25 Sep 2014, Yijing Wang wrote:
> 
>> Introduce weak arch_find_msi_chip() to find the match msi_chip.
>> Currently, MSI chip associates pci bus to msi_chip. Because in
>> ARM platform, there may be more than one MSI controller in system.
>> Associate pci bus to msi_chip help pci device to find the match
>> msi_chip and setup MSI/MSI-X irq correctly. But in other platform,
>> like in x86. we only need one MSI chip, because all device use
>> the same MSI address/data and irq etc. So it's no need to associate
>> pci bus to MSI chip, just use a arch function, arch_find_msi_chip()
>> to return the MSI chip for simplicity. The default weak
>> arch_find_msi_chip() used in ARM platform, find the MSI chip
>> by pci bus.
> 
> This is really backwards. On one hand you try to get rid of the weak
> arch functions zoo and then you invent new ones for no good
> reason. Why can't x86 store the chip in the pci bus?

Hi Thomas, I introduced this weak function , because I thought all platforms
except arm always have only one msi chip, and I hoped to provide a simplest
solution, less code changes. I consider several solutions to associate msi chip
and PCI device. In my reply to Thierry in first reply,
http://marc.info/?l=linux-pci&m=141169658208255&w=2
Could you give me some advices ?

Thanks!
Yijing.


> 
> Looking deeper, I'm questioning the whole notion of different
> msi_chips. Are this really different MSI controllers with a different
> feature set or are this defacto multiple instances of the same
> controller which just need a different data set?
> 
> Thanks,
> 
> 	tglx
> 
> .
> 


-- 
Thanks!
Yijing

  reply	other threads:[~2014-09-26  2:33 UTC|newest]

Thread overview: 70+ 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
     [not found] ` <20140925031411.dXSlqIQAGHzIcJrwGWxNgc4a8J0t8X1u7WEkXGvhS64@z>
2014-09-25  3:14   ` [PATCH v2 01/22] PCI/MSI: Clean up struct msi_chip argument Yijing Wang
     [not found]     ` <20140925071538.LQW4BOf7xzTHdCu_4RuOALhF2_sTfvYngQuFJCRnTTI@z>
2014-09-25  7:15       ` Thierry Reding
     [not found]         ` <20140925102020.SiJqVJVgVVwFK4no49yonIqlKQsvPh5PiFZ7-snYl1g@z>
2014-09-25 10:20           ` Thomas Gleixner
2014-09-26  2:15             ` Yijing Wang
2014-09-26  1:58         ` Yijing Wang
     [not found] ` <20140925031412.mZDB6r2w2SJhBJWqXvCd77mAll-2AOiyVPlMdaXbS4o@z>
2014-09-25  3:14   ` [PATCH v2 02/22] PCI/MSI: Remove useless bus->msi assignment Yijing Wang
     [not found]     ` <20140925070601.4gyRz-1LY-1vzx8Zu6ZcQk1Zbx4cbNqBACw-DIPcQKc@z>
2014-09-25  7:06       ` Thierry Reding
2014-09-26  1:55         ` Yijing Wang
2014-09-25  3:14 ` [PATCH v2 03/22] MSI: Remove the redundant irq_set_chip_data() Yijing Wang
2014-09-25  7:19   ` Thierry Reding
2014-09-26  2:04     ` Yijing Wang
     [not found]       ` <20140926080922.yhZkLVFp9jBAGh_TisiFca8I9jLs8JeestvdGr9M7Go@z>
2014-09-26  8:09         ` Thierry Reding
     [not found]   ` <20140926080949.H1QMtT72Ync66YW9pYc0K1oHlig5ZtNcM2AdTWLxQEI@z>
2014-09-26  8:09     ` Thierry Reding
     [not found] ` <20140925031414.J0v7oBw7ziMu4yNiCIXMEN4y0todRHzU4z2IuV5k-7c@z>
2014-09-25  3:14   ` [PATCH v2 04/22] x86/xen/MSI: Eliminate arch_msix_mask_irq() and arch_msi_mask_irq() Yijing Wang
     [not found]     ` <20140925143346.EhjefuZWPwzVA85NcdUTFHZEvVDK1YU4l6p7-ubohuo@z>
2014-09-25 14:33       ` Konrad Rzeszutek Wilk
2014-09-26  3:12         ` Yijing Wang
     [not found] ` <20140925031415.blXeFNqrK9zIDsKn6OLTjryANiuzjvLWWdfvBOvRRHU@z>
2014-09-25  3:14   ` [PATCH v2 05/22] s390/MSI: Use __msi_mask_irq() instead of default_msi_mask_irq() Yijing Wang
     [not found] ` <20140925031416.MlR8yeDjLvqbro04ugTBGkaftINnrW-SCLwt47DdlKU@z>
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  7:26     ` Thierry Reding
2014-09-26  2:10       ` Yijing Wang
     [not found]     ` <20140925103834.yeMSMiQoE0WgdfmO7_o_pYpu8RGUG9MpKT6SBY3LUy8@z>
2014-09-25 10:38       ` Thomas Gleixner
2014-09-26  2:33         ` Yijing Wang [this message]
2014-09-26  2:44         ` Yijing Wang
     [not found]           ` <20140926103826.iQ_jvgSPvM3ufFUOCjIyscT_GVGfAtmfprdMJJ4Tjgs@z>
2014-09-26 10:38             ` Thomas Gleixner
2014-09-28  2:35               ` Yijing Wang
     [not found] ` <20140925031417.Kbpt8j5SM-pvG0FENHexW1zps6gDjyJmcBdh71iJJfI@z>
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 ` [PATCH v2 08/22] x86/MSI: Use MSI chip framework to configure MSI/MSI-X irq Yijing Wang
2014-09-25  3:14 ` [PATCH v2 09/22] x86/xen/MSI: " Yijing Wang
2014-09-25  3:14 ` [PATCH v2 10/22] Irq_remapping/MSI: " Yijing Wang
     [not found] ` <20140925031421.j-Cq_j5u89dNa3dkdRHhfN-Lzv9CMaStHbzfXxtyi1g@z>
2014-09-25  3:14   ` [PATCH v2 11/22] x86/MSI: Remove unused MSI weak arch functions Yijing Wang
2014-09-25  3:14 ` [PATCH v2 12/22] MIPS/Octeon/MSI: Use MSI chip framework to configure MSI/MSI-X irq Yijing Wang
     [not found]   ` <20140925073436.FSUOh65UPDj0jKDQv7ER15sHZJOmfkjJwc9vapfilZg@z>
2014-09-25  7:34     ` Thierry Reding
2014-09-26  2:12       ` Yijing Wang
     [not found] ` <20140925031423.AtLW5kmrNKqoiEsHRnJjiAcIQb5AZ3SCUGlSZhG2ezk@z>
2014-09-25  3:14   ` [PATCH v2 13/22] MIPS/Xlp: Remove the dead function destroy_irq() to fix build error Yijing Wang
     [not found] ` <20140925031424.lKUrNSlY-DosLt7fj2szRJp9vn6KwC3ezAjM65fvMF8@z>
2014-09-25  3:14   ` [PATCH v2 14/22] MIPS/Xlp/MSI: Use MSI chip framework to configure MSI/MSI-X irq Yijing Wang
     [not found]     ` <20140925073609.ha_DV-DiRtx_m9UJBhiMWGZG2tzEOSvE1ec8SCQYcLE@z>
2014-09-25  7:36       ` Thierry Reding
2014-09-26  2:13         ` Yijing Wang
     [not found] ` <20140925031425.Dj36EwzxQhF0axvM9HsJ0cbjaSPq_mLoLzAxMALrUGA@z>
2014-09-25  3:14   ` [PATCH v2 15/22] MIPS/Xlr/MSI: " Yijing Wang
     [not found]     ` <20140925073701.QJP3_pR_7B2Fc70fwslykW6hLJKlR0ymxtNNkcvcMo4@z>
2014-09-25  7:37       ` Thierry Reding
2014-09-26  2:13         ` Yijing Wang
2014-09-25  3:14 ` [PATCH v2 16/22] Powerpc/MSI: " Yijing Wang
     [not found] ` <20140925031427.WqlqI-AH8oT9tFvcbIW33D08CNiwbt7gEtpnLqQsD2Q@z>
2014-09-25  3:14   ` [PATCH v2 17/22] s390/MSI: " Yijing Wang
     [not found]     ` <20140925073801.et5FuFdFt7qvGA7E9tZKfQnnyWLhBA0ttn2es-CJBkA@z>
2014-09-25  7:38       ` Thierry Reding
2014-09-26  2:14         ` Yijing Wang
     [not found] ` <20140925031428.dbs8p_YAq1e-XFL2AHX46vrGB36WfWcGEqT90X-WBvU@z>
2014-09-25  3:14   ` [PATCH v2 18/22] arm/iop13xx/MSI: " Yijing Wang
     [not found] ` <20140925031429.swkZJjniQ8s7nECYR3MY64w9euDkct_GvE6FUNCs0XU@z>
2014-09-25  3:14   ` [PATCH v2 19/22] IA64/MSI: " Yijing Wang
     [not found] ` <20140925031430.b8qo4JotAS2jyrXsf8tHpwsEC4j7_DcU-1hqiFZmZ3Y@z>
2014-09-25  3:14   ` [PATCH v2 20/22] Sparc/MSI: " Yijing Wang
     [not found] ` <20140925031431._3LbKf5WSoj1XWz3A3DGW8VC3MlwYHOSGCkUa5sLVp8@z>
2014-09-25  3:14   ` [PATCH v2 21/22] tile/MSI: " Yijing Wang
     [not found] ` <20140925031432.fEFI3LTQw8hyXhWYB4oSBL736i7HzkYMsgHOuHLilDk@z>
2014-09-25  3:14   ` [PATCH v2 22/22] PCI/MSI: Clean up unused MSI arch functions 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 14:48   ` Liviu Dudau
     [not found]     ` <20140925164938.2wP3aORZ8lQU0lBmXCom7m6M33oqm4dcSB8FYm4_aO8@z>
2014-09-25 16:49       ` Thierry Reding
2014-09-25 17:16         ` Liviu Dudau
2014-09-26  6:20           ` Yijing Wang
     [not found]             ` <20140926085432.HJRBKenrAYV1DtF0GhoeJZ8x-J2HjPS7UG-Hbm9xii4@z>
2014-09-26  8:54               ` Thierry Reding
     [not found]                 ` <20140926090538.j6nkilEZBGk72pPAPbw8mnqVOM0BUHm14lwNB55FD_w@z>
2014-09-26  9:05                   ` Thierry Reding
2014-09-28  2:32                     ` Yijing Wang
2014-09-28  6:11                       ` Yijing Wang
2014-09-29  8:37                         ` Lucas Stach
2014-09-29 10:13                           ` Yijing Wang
2014-09-26  3:42         ` Yijing Wang
     [not found]           ` <20140926085030.B0x01EeZD9RwO-Wl7QmzAeZeDq5uZD8XyGFO6PERPxo@z>
2014-09-26  8:50             ` Liviu Dudau
2014-09-28  2:16               ` Yijing Wang
     [not found]                 ` <20140928112145.Hjt4cnOG62scseosyLzbg2FW-4qCaK4X8UcYd4H4DAo@z>
2014-09-28 11:21                   ` Liviu Dudau
2014-09-29  1:44                     ` Yijing Wang
     [not found]                       ` <20140929092600.Iq2AD3UazvObc0KotH5axmOiqSXuLuXg_Afgloo-bP0@z>
2014-09-29  9:26                         ` Liviu Dudau
2014-09-29 10:12                           ` Yijing Wang
2014-09-25 14:23 ` Konrad Rzeszutek Wilk
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=5424D074.60102@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=cmetcalf@tilera \
    --cc=davem@davemloft.net \
    --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=sebott@linux.vnet.ibm.com \
    --cc=sparclinux@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --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).