linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Hanjun Guo <guohanjun@huawei.com>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>,
	Hanjun Guo <hanjun.guo@linaro.org>,
	huxinwei@huawei.com, Kefeng Wang <wangkefeng.wang@huawei.com>,
	yimin@huawei.com, Jon Masters <jcm@redhat.com>,
	Marc Zyngier <marc.zyngier@arm.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org, linuxarm@huawei.com,
	Sinan Kaya <okaya@codeaurora.org>,
	linux-acpi@vger.kernel.org,
	Xinwei Kong <kong.kongxinwei@hisilicon.com>,
	Matthias Brugger <mbrugger@suse.com>,
	Tomasz Nowicki <tn@semihalf.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Agustin Vega-Frias <agustinv@codeaurora.org>,
	linux-arm-kernel@lists.infradead.org,
	Ma Jun <majun258@huawei.com>
Subject: Re: [PATCH v7 15/15] irqchip: mbigen: Add ACPI support
Date: Mon, 16 Jan 2017 15:24:13 +0000	[thread overview]
Message-ID: <20170116152413.GA24135@red-moon> (raw)
In-Reply-To: <587CD754.1050808@huawei.com>

On Mon, Jan 16, 2017 at 10:23:16PM +0800, Hanjun Guo wrote:
> Hi Lorenzo,
> 
> On 2017/1/16 19:38, Lorenzo Pieralisi wrote:
> > On Sat, Jan 14, 2017 at 10:56:54AM +0800, Hanjun Guo wrote:
> >> Hi Lorenzo,
> >>
> >> On 2017/1/13 18:21, Lorenzo Pieralisi wrote:
> >>> On Wed, Jan 11, 2017 at 11:06:39PM +0800, Hanjun Guo wrote:
> >>>> With the preparation of platform msi support and interrupt producer
> >>>> in DSDT, we can add mbigen ACPI support now.
> >>>>
> >>>> We are using _PRS methd to indicate number of irq pins instead
> >>>> of num_pins in DT to avoid _DSD usage in this case.
> >>>>
> >>>> For mbi-gen,
> >>>>     Device(MBI0) {
> >>>>           Name(_HID, "HISI0152")
> >>>>           Name(_UID, Zero)
> >>>>           Name(_CRS, ResourceTemplate() {
> >>>>                   Memory32Fixed(ReadWrite, 0xa0080000, 0x10000)
> >>>>           })
> >>>>
> >>>>           Name (_PRS, ResourceTemplate() {
> >>>> 		  Interrupt(ResourceProducer,...) {12,14,....}
> >>> I still do not understand why you are using _PRS for this, I think
> >>> the MBIgen configuration is static and if it is so the Interrupt
> >>> resource should be part of the _CRS unless there is something I am
> >>> missing here.
> >> Sorry for not clear in the commit message. MBIgen is an interrupt producer
> >> which produces irq resource to devices connecting to it, and MBIgen itself
> >> don't consume wired interrupts.
> > That's why you mark it as ResourceProducer, but that's not a reason to
> > put it in the _PRS instead of _CRS.
> 
> If using _CRS for the interrupt resource, the irq number represented
> will be mapped (i.e acpi_register_gsi()), then will conflict with the
> irq number of devices consuming it (mbigen is producing the
> interrupts), but I agree with you that let's ask Rafael's point of
> view.

Aha ! So here is why you are using _PRS because the kernel turns _CRS
Interrupt resources (even producers) into GSIs which is probably a
kernel bug, is that the reason ?

We don't abuse firmware bindings to make the kernel work, that's _never_
a good idea.

If the interrupt resource is a Resource Producer core ACPI should not
register the IRQ because that's not a GSI, probably this should be part of
Agustin changes too ?

> > IIUC _PRS is there to provide a way to define the possible resource
> > settings of a _configurable_ device (ie programmable) so that the actual
> > resource value you would programme with a call to its _SRS is sane (ie
> > the OS has a way, through the _PRS, to detect what possible resource
> > settings are available for the device).
> >
> > I think Rafael has more insights into how the _PRS is used on x86
> > systems so I would ask his point of view here before merrily merging
> > this code.
> 
> OK, Rafael is traveling now, hope he will have time to take a look.
> 
> How about updating this patch set then sending a new version for review
> with this patch unchanged? if Rafael have comments on this one, I will
> send a single updated one for this patch (if no other changes).

I think this patch (and the FW that goes with it) is wrong, but the rest
of the series, in particular the IORT bits, are ok with me.

Lorenzo

  reply	other threads:[~2017-01-16 15:22 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-11 15:06 [PATCH v7 00/15] ACPI platform MSI support and its example mbigen Hanjun Guo
2017-01-11 15:06 ` [PATCH v7 01/15] ACPI: IORT: fix the indentation in iort_scan_node() Hanjun Guo
2017-01-11 15:06 ` [PATCH v7 02/15] ACPI: IORT: add missing comment for iort_dev_find_its_id() Hanjun Guo
2017-01-11 15:06 ` [PATCH v7 03/15] ACPI: IORT: minor cleanup for iort_match_node_callback() Hanjun Guo
2017-01-11 15:06 ` [PATCH v7 04/15] irqchip: gic-v3-its: keep the head file include in alphabetic order Hanjun Guo
2017-01-11 15:06 ` [PATCH v7 05/15] irqchip: gicv3-its: platform-msi: refactor its_pmsi_prepare() Hanjun Guo
2017-01-11 15:06 ` [PATCH v7 06/15] irqchip: gicv3-its: platform-msi: refactor its_pmsi_init() to prepare for ACPI Hanjun Guo
2017-01-16 19:27   ` Matthias Brugger
2017-01-11 15:06 ` [PATCH v7 07/15] irqchip: gicv3-its: platform-msi: scan MADT to create platform msi domain Hanjun Guo
2017-01-17  9:25   ` Matthias Brugger
2017-01-11 15:06 ` [PATCH v7 08/15] ACPI: IORT: rename iort_node_map_rid() to make it generic Hanjun Guo
2017-01-13 11:47   ` Lorenzo Pieralisi
2017-01-14  3:25     ` Hanjun Guo
2017-01-11 15:06 ` [PATCH v7 09/15] ACPI: platform-msi: retrieve dev id from IORT Hanjun Guo
2017-01-13 12:11   ` Lorenzo Pieralisi
2017-01-14  4:28     ` Hanjun Guo
2017-01-16 11:25       ` Lorenzo Pieralisi
2017-01-16 13:21         ` Hanjun Guo
2017-01-11 15:06 ` [PATCH v7 10/15] ACPI: IORT: move over to iort_node_map_platform_id() Hanjun Guo
2017-01-11 15:06 ` [PATCH v7 11/15] ACPI: platform: setup MSI domain for ACPI based platform device Hanjun Guo
2017-01-11 15:06 ` [PATCH v7 12/15] msi: platform: make platform_msi_create_device_domain() ACPI aware Hanjun Guo
2017-01-13 10:45   ` Lorenzo Pieralisi
2017-01-14  3:00     ` Hanjun Guo
2017-01-11 15:06 ` [PATCH v7 13/15] irqchip: mbigen: drop module owner Hanjun Guo
2017-01-11 15:06 ` [PATCH v7 14/15] irqchip: mbigen: introduce mbigen_of_create_domain() Hanjun Guo
2017-01-11 15:06 ` [PATCH v7 15/15] irqchip: mbigen: Add ACPI support Hanjun Guo
2017-01-13 10:21   ` Lorenzo Pieralisi
2017-01-14  2:56     ` Hanjun Guo
2017-01-16 11:38       ` Lorenzo Pieralisi
2017-01-16 14:23         ` Hanjun Guo
2017-01-16 15:24           ` Lorenzo Pieralisi [this message]
2017-01-17 11:59             ` Hanjun Guo
2017-01-13 10:23 ` [PATCH v7 00/15] ACPI platform MSI support and its example mbigen Ming Lei
2017-01-14  1:04   ` Hanjun Guo
2017-01-13 14:11 ` Wei Xu
2017-01-14  4:30   ` Hanjun Guo
2017-01-16  5:12 ` Sinan Kaya

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=20170116152413.GA24135@red-moon \
    --to=lorenzo.pieralisi@arm.com \
    --cc=agustinv@codeaurora.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=guohanjun@huawei.com \
    --cc=hanjun.guo@linaro.org \
    --cc=huxinwei@huawei.com \
    --cc=jcm@redhat.com \
    --cc=kong.kongxinwei@hisilicon.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=majun258@huawei.com \
    --cc=marc.zyngier@arm.com \
    --cc=mbrugger@suse.com \
    --cc=okaya@codeaurora.org \
    --cc=rafael@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tn@semihalf.com \
    --cc=wangkefeng.wang@huawei.com \
    --cc=yimin@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 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).