All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Marc Zyngier <marc.zyngier@arm.com>
Cc: Hanjun Guo <hanjun.guo@linaro.org>,
	Hanjun Guo <guohanjun@huawei.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	Greg KH <gregkh@linuxfoundation.org>,
	Tomasz Nowicki <tn@semihalf.com>, Ma Jun <majun258@huawei.com>,
	Kefeng Wang <wangkefeng.wang@huawei.com>,
	Sinan Kaya <okaya@codeaurora.org>,
	huxinwei@huawei.com, yimin@huawei.com, linuxarm@huawei.com
Subject: Re: [PATCH v9 10/15] ACPI: platform-msi: retrieve dev id from IORT
Date: Wed, 29 Mar 2017 18:32:43 +0100	[thread overview]
Message-ID: <20170329173243.GA6091@red-moon> (raw)
In-Reply-To: <20170329161354.GC11297@red-moon>

On Wed, Mar 29, 2017 at 05:13:54PM +0100, Lorenzo Pieralisi wrote:
> On Wed, Mar 29, 2017 at 03:52:47PM +0100, Marc Zyngier wrote:
> > On 29/03/17 14:00, Hanjun Guo wrote:
> > > On 03/29/2017 08:38 PM, Lorenzo Pieralisi wrote:
> > >> On Wed, Mar 29, 2017 at 07:52:48PM +0800, Hanjun Guo wrote:
> > >>> Hi Lorenzo,
> > >>>
> > >>> On 03/29/2017 06:14 PM, Lorenzo Pieralisi wrote:
> > >>>> Hi Hanjun, Marc,
> > >>>>
> > >>>> On Tue, Mar 07, 2017 at 08:40:05PM +0800, Hanjun Guo wrote:
> > >>>>> From: Hanjun Guo <hanjun.guo@linaro.org>
> > >>>>>
> > >>>>> For devices connecting to ITS, the devices need to identify themself
> > >>>>> through a dev id; this dev id is represented in the IORT table in named
> > >>>>> component node [1] for platform devices, so this patch adds code that
> > >>>>> scans the IORT table to retrieve the devices' dev id.
> > >>>>>
> > >>>>> Leveraging the iort_node_map_platform_id() IORT API, add a new function
> > >>>>> call, iort_pmsi_get_dev_id() and use it in its_pmsi_prepare() to allow
> > >>>>> retrieving dev id in ACPI platforms.
> > >>>>>
> > >>>>> [1]: https://static.docs.arm.com/den0049/b/DEN0049B_IO_Remapping_Table.pdf
> > >>>>>
> > >>>>> Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
> > >>>>> [lorenzo.pieralisi@arm.com: rewrote commit log]
> > >>>>> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> > >>>>> Tested-by: Ming Lei <ming.lei@canonical.com>
> > >>>>> Tested-by: Wei Xu <xuwei5@hisilicon.com>
> > >>>>> Tested-by: Sinan Kaya <okaya@codeaurora.org>
> > >>>>> Cc: Marc Zyngier <marc.zyngier@arm.com>
> > >>>>> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> > >>>>> Cc: Tomasz Nowicki <tn@semihalf.com>
> > >>>>> Cc: Thomas Gleixner <tglx@linutronix.de>
> > >>>>> ---
> > >>>>>   drivers/acpi/arm64/iort.c                     | 24 ++++++++++++++++++++++++
> > >>>>>   drivers/irqchip/irq-gic-v3-its-platform-msi.c |  3 ++-
> > >>>>>   include/linux/acpi_iort.h                     |  5 +++++
> > >>>>>   3 files changed, 31 insertions(+), 1 deletion(-)
> > >>>>
> > >>>> To simplify merging ACPI/IRQCHIP changes via different trees it
> > >>>> would be good to split this patch; I am not sure what's the best
> > >>>> way of handling it though given that we would end up in a merge
> > >>>> ordering dependency anyway (ie we can create an empty stub
> > >>>> for iort_pmsi_get_dev_id() but that would create a dependency
> > >>>> between ARM64 and irqchip trees anyway).
> > >>>
> > >>> The first 12 patches for ACPI platform MSI and later 3 patches
> > >>> for mbigen have no "physical" dependency, which means they can
> > >>> be merged and compiled independently, they only have functional
> > >>> dependency only.
> > >>>
> > >>> We already had SAS, XGE, USB and even UART drivers depend on
> > >>> the mbigen ACPI support, so I don't think the dependency of ACPI
> > >>> platform MSI and mbigen patches cares much if those two parts are
> > >>> merged in one merge window, even they are merged independently via
> > >>> different tree.
> > >>>
> > >>>>
> > >>>> Please let me know what's your preferred way of handling this.
> > >>>
> > >>> So in my opinion, they can be merged independently via ARM64 and
> > >>> irqchip tree with no ordering dependency, is it OK?
> > >>
> > >> I am speaking about merging MBIgen AND ITS patches via IRQCHIP and
> > >> ACPI/IORT for ARM64, that's why I replied to this patch. I do not
> > >> think that's feasible to split patches in two separate branches
> > >> without having a dependency between them.
> > >>
> > >> Sure, the last three patches can go via IRQCHIP but that was not
> > >> my question :)
> > > 
> > > Sorry, I misunderstood that :(
> > > 
> > > Since it's not feasible to split patches, the best way I got is that
> > > we get Marc's ack then merge it.
> > 
> > I believe there is a way to make this work without too much hassle. I
> > suggest we drop the ITS change from this patch entirely, and I instead
> > queue this patch:
> > 
> > https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/commit/?h=irq/irqchip-4.12&id=e6db07d0f3b6da1f8cfd485776bfefa4fcdbfc45
> > 
> > That way, no dependency between the two trees. Lorenzo takes all the
> > patches flagged "ACPI", I take all those flagged "irqchip" or "msi", and
> > everything should be perfectly standalone.
> > 
> > Thoughts?
> 
> Perfect for me. Hanjun, I can cherry pick Marc's patch above, rework
> this patch and post the resulting branch for everyone to have a final
> test.

git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git acpi/arm64-acpi-4.12

Please have a look and let me know if that's ok, I planned to send
a PR to Catalin by the end of the week (first 7 patches up to
7fc3061df075 ("ACPI: platform: setup MSI domain for ACPI based platform
device")).

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 v9 10/15] ACPI: platform-msi: retrieve dev id from IORT
Date: Wed, 29 Mar 2017 18:32:43 +0100	[thread overview]
Message-ID: <20170329173243.GA6091@red-moon> (raw)
In-Reply-To: <20170329161354.GC11297@red-moon>

On Wed, Mar 29, 2017 at 05:13:54PM +0100, Lorenzo Pieralisi wrote:
> On Wed, Mar 29, 2017 at 03:52:47PM +0100, Marc Zyngier wrote:
> > On 29/03/17 14:00, Hanjun Guo wrote:
> > > On 03/29/2017 08:38 PM, Lorenzo Pieralisi wrote:
> > >> On Wed, Mar 29, 2017 at 07:52:48PM +0800, Hanjun Guo wrote:
> > >>> Hi Lorenzo,
> > >>>
> > >>> On 03/29/2017 06:14 PM, Lorenzo Pieralisi wrote:
> > >>>> Hi Hanjun, Marc,
> > >>>>
> > >>>> On Tue, Mar 07, 2017 at 08:40:05PM +0800, Hanjun Guo wrote:
> > >>>>> From: Hanjun Guo <hanjun.guo@linaro.org>
> > >>>>>
> > >>>>> For devices connecting to ITS, the devices need to identify themself
> > >>>>> through a dev id; this dev id is represented in the IORT table in named
> > >>>>> component node [1] for platform devices, so this patch adds code that
> > >>>>> scans the IORT table to retrieve the devices' dev id.
> > >>>>>
> > >>>>> Leveraging the iort_node_map_platform_id() IORT API, add a new function
> > >>>>> call, iort_pmsi_get_dev_id() and use it in its_pmsi_prepare() to allow
> > >>>>> retrieving dev id in ACPI platforms.
> > >>>>>
> > >>>>> [1]: https://static.docs.arm.com/den0049/b/DEN0049B_IO_Remapping_Table.pdf
> > >>>>>
> > >>>>> Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
> > >>>>> [lorenzo.pieralisi at arm.com: rewrote commit log]
> > >>>>> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> > >>>>> Tested-by: Ming Lei <ming.lei@canonical.com>
> > >>>>> Tested-by: Wei Xu <xuwei5@hisilicon.com>
> > >>>>> Tested-by: Sinan Kaya <okaya@codeaurora.org>
> > >>>>> Cc: Marc Zyngier <marc.zyngier@arm.com>
> > >>>>> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> > >>>>> Cc: Tomasz Nowicki <tn@semihalf.com>
> > >>>>> Cc: Thomas Gleixner <tglx@linutronix.de>
> > >>>>> ---
> > >>>>>   drivers/acpi/arm64/iort.c                     | 24 ++++++++++++++++++++++++
> > >>>>>   drivers/irqchip/irq-gic-v3-its-platform-msi.c |  3 ++-
> > >>>>>   include/linux/acpi_iort.h                     |  5 +++++
> > >>>>>   3 files changed, 31 insertions(+), 1 deletion(-)
> > >>>>
> > >>>> To simplify merging ACPI/IRQCHIP changes via different trees it
> > >>>> would be good to split this patch; I am not sure what's the best
> > >>>> way of handling it though given that we would end up in a merge
> > >>>> ordering dependency anyway (ie we can create an empty stub
> > >>>> for iort_pmsi_get_dev_id() but that would create a dependency
> > >>>> between ARM64 and irqchip trees anyway).
> > >>>
> > >>> The first 12 patches for ACPI platform MSI and later 3 patches
> > >>> for mbigen have no "physical" dependency, which means they can
> > >>> be merged and compiled independently, they only have functional
> > >>> dependency only.
> > >>>
> > >>> We already had SAS, XGE, USB and even UART drivers depend on
> > >>> the mbigen ACPI support, so I don't think the dependency of ACPI
> > >>> platform MSI and mbigen patches cares much if those two parts are
> > >>> merged in one merge window, even they are merged independently via
> > >>> different tree.
> > >>>
> > >>>>
> > >>>> Please let me know what's your preferred way of handling this.
> > >>>
> > >>> So in my opinion, they can be merged independently via ARM64 and
> > >>> irqchip tree with no ordering dependency, is it OK?
> > >>
> > >> I am speaking about merging MBIgen AND ITS patches via IRQCHIP and
> > >> ACPI/IORT for ARM64, that's why I replied to this patch. I do not
> > >> think that's feasible to split patches in two separate branches
> > >> without having a dependency between them.
> > >>
> > >> Sure, the last three patches can go via IRQCHIP but that was not
> > >> my question :)
> > > 
> > > Sorry, I misunderstood that :(
> > > 
> > > Since it's not feasible to split patches, the best way I got is that
> > > we get Marc's ack then merge it.
> > 
> > I believe there is a way to make this work without too much hassle. I
> > suggest we drop the ITS change from this patch entirely, and I instead
> > queue this patch:
> > 
> > https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/commit/?h=irq/irqchip-4.12&id=e6db07d0f3b6da1f8cfd485776bfefa4fcdbfc45
> > 
> > That way, no dependency between the two trees. Lorenzo takes all the
> > patches flagged "ACPI", I take all those flagged "irqchip" or "msi", and
> > everything should be perfectly standalone.
> > 
> > Thoughts?
> 
> Perfect for me. Hanjun, I can cherry pick Marc's patch above, rework
> this patch and post the resulting branch for everyone to have a final
> test.

git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git acpi/arm64-acpi-4.12

Please have a look and let me know if that's ok, I planned to send
a PR to Catalin by the end of the week (first 7 patches up to
7fc3061df075 ("ACPI: platform: setup MSI domain for ACPI based platform
device")).

Lorenzo

  reply	other threads:[~2017-03-29 17:32 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-07 12:39 [PATCH v9 00/15] ACPI platform MSI support and its example mbigen Hanjun Guo
2017-03-07 12:39 ` Hanjun Guo
2017-03-07 12:39 ` Hanjun Guo
2017-03-07 12:39 ` [PATCH v9 01/15] ACPI/IORT: Fix the indentation in iort_scan_node() Hanjun Guo
2017-03-07 12:39   ` Hanjun Guo
2017-03-07 12:39   ` Hanjun Guo
2017-03-07 12:39 ` [PATCH v9 02/15] ACPI/IORT: Add missing comment for iort_dev_find_its_id() Hanjun Guo
2017-03-07 12:39   ` Hanjun Guo
2017-03-07 12:39   ` Hanjun Guo
2017-03-07 12:39 ` [PATCH v9 03/15] ACPI/IORT: Rework iort_match_node_callback() return value handling Hanjun Guo
2017-03-07 12:39   ` Hanjun Guo
2017-03-07 12:39   ` Hanjun Guo
2017-03-07 12:39 ` [PATCH v9 04/15] irqchip: gic-v3-its: keep the include header files in alphabetic order Hanjun Guo
2017-03-07 12:39   ` Hanjun Guo
2017-03-07 12:39   ` Hanjun Guo
2017-03-07 12:40 ` [PATCH v9 05/15] irqchip: gicv3-its: platform-msi: refactor its_pmsi_prepare() Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40 ` [PATCH v9 06/15] irqchip: gicv3-its: platform-msi: refactor its_pmsi_init() to prepare for ACPI Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40 ` [PATCH v9 07/15] irqchip: gicv3-its: platform-msi: scan MADT to create platform msi domain Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40 ` [PATCH v9 08/15] ACPI/IORT: Rename iort_node_map_rid() to make it generic Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40 ` [PATCH v9 09/15] ACPI/IORT: Introduce iort_node_map_platform_id() to retrieve dev id Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40 ` [PATCH v9 10/15] ACPI: platform-msi: retrieve dev id from IORT Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 14:35   ` Lorenzo Pieralisi
2017-03-07 14:35     ` Lorenzo Pieralisi
2017-03-07 14:35     ` Lorenzo Pieralisi
2017-03-11  8:56     ` Hanjun Guo
2017-03-11  8:56       ` Hanjun Guo
2017-03-11  8:56       ` Hanjun Guo
2017-03-29 10:14   ` Lorenzo Pieralisi
2017-03-29 10:14     ` Lorenzo Pieralisi
2017-03-29 11:52     ` Hanjun Guo
2017-03-29 11:52       ` Hanjun Guo
2017-03-29 11:52       ` Hanjun Guo
2017-03-29 12:38       ` Lorenzo Pieralisi
2017-03-29 12:38         ` Lorenzo Pieralisi
2017-03-29 13:00         ` Hanjun Guo
2017-03-29 13:00           ` Hanjun Guo
2017-03-29 14:52           ` Marc Zyngier
2017-03-29 14:52             ` Marc Zyngier
2017-03-29 16:13             ` Lorenzo Pieralisi
2017-03-29 16:13               ` Lorenzo Pieralisi
2017-03-29 17:32               ` Lorenzo Pieralisi [this message]
2017-03-29 17:32                 ` Lorenzo Pieralisi
2017-03-30  3:07                 ` Hanjun Guo
2017-03-30  3:07                   ` Hanjun Guo
2017-03-30  4:08                   ` majun (Euler7)
2017-03-30  4:08                     ` majun (Euler7)
2017-03-30  4:08                     ` majun (Euler7)
2017-03-30  8:32                   ` Wei Xu
2017-03-30  8:32                     ` Wei Xu
2017-03-30  8:32                     ` Wei Xu
2017-03-30 14:28                     ` Lorenzo Pieralisi
2017-03-30 14:28                       ` Lorenzo Pieralisi
2017-03-30 16:14                       ` John Garry
2017-03-30 16:14                         ` John Garry
2017-03-30 16:14                         ` John Garry
2017-03-30 16:54                         ` Lorenzo Pieralisi
2017-03-30 16:54                           ` Lorenzo Pieralisi
2017-03-31  2:41                           ` majun (Euler7)
2017-03-31  2:41                             ` majun (Euler7)
2017-03-31  2:41                             ` majun (Euler7)
2017-03-07 12:40 ` [PATCH v9 11/15] ACPI: platform: setup MSI domain for ACPI based platform device Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40 ` [PATCH v9 12/15] msi: platform: make platform_msi_create_device_domain() ACPI aware Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40 ` [PATCH v9 13/15] irqchip: mbigen: drop module owner Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40 ` [PATCH v9 14/15] irqchip: mbigen: introduce mbigen_of_create_domain() Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40 ` [PATCH v9 15/15] irqchip: mbigen: Add ACPI support Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-07 12:40   ` Hanjun Guo
2017-03-21 14:45   ` Lorenzo Pieralisi
2017-03-21 14:45     ` Lorenzo Pieralisi
2017-03-22 14:12     ` John Garry
2017-03-22 14:12       ` John Garry
2017-03-22 14:12       ` John Garry
2017-03-27  8:46       ` Marc Zyngier
2017-03-27  8:46         ` Marc Zyngier
2017-03-27  8:46         ` Marc Zyngier
2017-03-27 12:24         ` Gabriele Paoloni
2017-03-27 12:24           ` Gabriele Paoloni
2017-03-27 12:24           ` Gabriele Paoloni
2017-03-27 15:27           ` Lorenzo Pieralisi
2017-03-27 15:27             ` Lorenzo Pieralisi
2017-03-27 15:27             ` Lorenzo Pieralisi
2017-03-27 18:56             ` Al Stone
2017-03-27 18:56               ` Al Stone
2017-03-27 18:56               ` Al Stone
2017-03-27 20:23               ` Hanjun Guo
2017-03-27 20:23                 ` Hanjun Guo
2017-03-27 20:23                 ` Hanjun Guo
2017-03-07 14:43 ` [PATCH v9 00/15] ACPI platform MSI support and its example mbigen Lorenzo Pieralisi
2017-03-07 14:43   ` Lorenzo Pieralisi
2017-03-07 14:43   ` Lorenzo Pieralisi
2017-03-09 13:22   ` Hanjun Guo
2017-03-09 13:22     ` Hanjun Guo

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=20170329173243.GA6091@red-moon \
    --to=lorenzo.pieralisi@arm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=guohanjun@huawei.com \
    --cc=hanjun.guo@linaro.org \
    --cc=huxinwei@huawei.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=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 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.