From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Hanjun Guo <guohanjun@huawei.com>
Cc: 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>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
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 11:38:04 +0000 [thread overview]
Message-ID: <20170116113804.GB23703@red-moon> (raw)
In-Reply-To: <58799376.6040302@huawei.com>
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.
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.
> Also devices connecting MBIgen may not consume all the interrupts produced
> by MBIgen, for example, MBIgen may produce 128 interrupts but only half of
> them are currently used, so _PRS here means "provide interrupt resources
> may consumed by devices connecting to it".
See above.
Lorenzo
WARNING: multiple messages have this Message-ID (diff)
From: lorenzo.pieralisi@arm.com (Lorenzo Pieralisi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 15/15] irqchip: mbigen: Add ACPI support
Date: Mon, 16 Jan 2017 11:38:04 +0000 [thread overview]
Message-ID: <20170116113804.GB23703@red-moon> (raw)
In-Reply-To: <58799376.6040302@huawei.com>
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.
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.
> Also devices connecting MBIgen may not consume all the interrupts produced
> by MBIgen, for example, MBIgen may produce 128 interrupts but only half of
> them are currently used, so _PRS here means "provide interrupt resources
> may consumed by devices connecting to it".
See above.
Lorenzo
next prev parent reply other threads:[~2017-01-16 11:36 UTC|newest]
Thread overview: 89+ 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 ` Hanjun Guo
2017-01-11 15:06 ` 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 ` 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 ` Hanjun Guo
2017-01-11 15:06 ` 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 ` 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 ` 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 ` 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-11 15:06 ` Hanjun Guo
2017-01-16 19:27 ` Matthias Brugger
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-11 15:06 ` Hanjun Guo
2017-01-17 9:25 ` Matthias Brugger
2017-01-17 9:25 ` Matthias Brugger
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-11 15:06 ` Hanjun Guo
2017-01-13 11:47 ` Lorenzo Pieralisi
2017-01-13 11:47 ` Lorenzo Pieralisi
2017-01-14 3:25 ` Hanjun Guo
2017-01-14 3:25 ` Hanjun Guo
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-11 15:06 ` Hanjun Guo
2017-01-13 12:11 ` Lorenzo Pieralisi
2017-01-13 12:11 ` Lorenzo Pieralisi
2017-01-14 4:28 ` Hanjun Guo
2017-01-14 4:28 ` Hanjun Guo
2017-01-14 4:28 ` Hanjun Guo
2017-01-16 11:25 ` Lorenzo Pieralisi
2017-01-16 11:25 ` Lorenzo Pieralisi
2017-01-16 13:21 ` Hanjun Guo
2017-01-16 13:21 ` Hanjun Guo
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 ` 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 ` Hanjun Guo
2017-01-11 15:06 ` 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-11 15:06 ` Hanjun Guo
2017-01-13 10:45 ` Lorenzo Pieralisi
2017-01-13 10:45 ` Lorenzo Pieralisi
2017-01-13 10:45 ` Lorenzo Pieralisi
2017-01-14 3:00 ` Hanjun Guo
2017-01-14 3:00 ` Hanjun Guo
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 ` 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 ` Hanjun Guo
2017-01-11 15:06 ` [PATCH v7 15/15] irqchip: mbigen: Add ACPI support Hanjun Guo
2017-01-11 15:06 ` Hanjun Guo
2017-01-13 10:21 ` Lorenzo Pieralisi
2017-01-13 10:21 ` Lorenzo Pieralisi
2017-01-14 2:56 ` Hanjun Guo
2017-01-14 2:56 ` Hanjun Guo
2017-01-14 2:56 ` Hanjun Guo
2017-01-16 11:38 ` Lorenzo Pieralisi [this message]
2017-01-16 11:38 ` Lorenzo Pieralisi
2017-01-16 14:23 ` Hanjun Guo
2017-01-16 14:23 ` Hanjun Guo
2017-01-16 14:23 ` Hanjun Guo
2017-01-16 15:24 ` Lorenzo Pieralisi
2017-01-16 15:24 ` Lorenzo Pieralisi
2017-01-17 11:59 ` Hanjun Guo
2017-01-17 11:59 ` Hanjun Guo
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-13 10:23 ` Ming Lei
2017-01-14 1:04 ` Hanjun Guo
2017-01-14 1:04 ` Hanjun Guo
2017-01-14 1:04 ` Hanjun Guo
2017-01-13 14:11 ` Wei Xu
2017-01-13 14:11 ` Wei Xu
2017-01-13 14:11 ` Wei Xu
2017-01-14 4:30 ` Hanjun Guo
2017-01-14 4:30 ` Hanjun Guo
2017-01-14 4:30 ` Hanjun Guo
2017-01-16 5:12 ` Sinan Kaya
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=20170116113804.GB23703@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=rjw@rjwysocki.net \
--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 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.