From: Hanjun Guo <hanjun.guo@linaro.org> To: Marc Zyngier <marc.zyngier@arm.com>, "Rafael J. Wysocki" <rjw@rjwysocki.net>, Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Cc: linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linuxarm@huawei.com, 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>, Agustin Vega-Frias <agustinv@codeaurora.org>, Sinan Kaya <okaya@codeaurora.org>, huxinwei@huawei.com, yimin@huawei.com, Jon Masters <jcm@redhat.com>, Matthias Brugger <mbrugger@suse.com>, Xinwei Kong <kong.kongxinwei@hisilicon.com>, Hanjun Guo <hanjun.guo@linaro.org> Subject: [PATCH v7 10/15] ACPI: IORT: move over to iort_node_map_platform_id() Date: Wed, 11 Jan 2017 23:06:34 +0800 [thread overview] Message-ID: <1484147199-4267-11-git-send-email-hanjun.guo@linaro.org> (raw) In-Reply-To: <1484147199-4267-1-git-send-email-hanjun.guo@linaro.org> iort_node_map_platform_id() includes the function of iort_node_get_id(), so update current iort_node_get_id() users and move them over to iort_node_map_platform_id(). type handing in iort_node_get_id() is duplicate with iort_node_map_platform_id(), so clean up a little bit to make the code simpler. Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Cc: Tomasz Nowicki <tn@semihalf.com> --- drivers/acpi/arm64/iort.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c index 95fd20b..a6c8d2d 100644 --- a/drivers/acpi/arm64/iort.c +++ b/drivers/acpi/arm64/iort.c @@ -30,7 +30,6 @@ #define IORT_MSI_TYPE (1 << ACPI_IORT_NODE_ITS_GROUP) #define IORT_IOMMU_TYPE ((1 << ACPI_IORT_NODE_SMMU) | \ (1 << ACPI_IORT_NODE_SMMU_V3)) -#define IORT_TYPE_ANY (IORT_MSI_TYPE | IORT_IOMMU_TYPE) struct iort_its_msi_chip { struct list_head list; @@ -319,8 +318,7 @@ static int iort_id_map(struct acpi_iort_id_mapping *map, u8 type, u32 rid_in, static struct acpi_iort_node *iort_node_get_id(struct acpi_iort_node *node, - u32 *id_out, u8 type_mask, - int index) + u32 *id_out, int index) { struct acpi_iort_node *parent; struct acpi_iort_id_mapping *map; @@ -342,9 +340,6 @@ struct acpi_iort_node *iort_node_get_id(struct acpi_iort_node *node, parent = ACPI_ADD_PTR(struct acpi_iort_node, iort_table, map->output_reference); - if (!(IORT_TYPE_MASK(parent->type) & type_mask)) - return NULL; - if (map->flags & ACPI_IORT_ID_SINGLE_MAPPING) { if (node->type == ACPI_IORT_NODE_NAMED_COMPONENT || node->type == ACPI_IORT_NODE_PCI_ROOT_COMPLEX) { @@ -416,7 +411,7 @@ struct acpi_iort_node *iort_node_map_platform_id(struct acpi_iort_node *node, u32 id; /* step 1: retrieve the initial dev id */ - parent = iort_node_get_id(node, &id, IORT_TYPE_ANY, index); + parent = iort_node_get_id(node, &id, index); if (!parent) return NULL; @@ -424,7 +419,7 @@ struct acpi_iort_node *iort_node_map_platform_id(struct acpi_iort_node *node, * optional step 2: map the initial dev id if its parent is not * the target type we wanted, map it again for the use cases such * as NC (named component) -> SMMU -> ITS. If the type is matched, - * return the parent pointer directly. + * return the initial dev id and its parent pointer directly. */ if (!(IORT_TYPE_MASK(parent->type) & type_mask)) parent = iort_node_map_id(parent, id, id_out, type_mask); @@ -660,14 +655,15 @@ const struct iommu_ops *iort_iommu_configure(struct device *dev) if (!node) return NULL; - parent = iort_node_get_id(node, &streamid, - IORT_IOMMU_TYPE, i++); + parent = iort_node_map_platform_id(node, &streamid, + IORT_IOMMU_TYPE, i++); while (parent) { ops = iort_iommu_xlate(dev, parent, streamid); - parent = iort_node_get_id(node, &streamid, - IORT_IOMMU_TYPE, i++); + parent = iort_node_map_platform_id(node, &streamid, + IORT_IOMMU_TYPE, + i++); } } -- 1.9.1
WARNING: multiple messages have this Message-ID (diff)
From: hanjun.guo@linaro.org (Hanjun Guo) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v7 10/15] ACPI: IORT: move over to iort_node_map_platform_id() Date: Wed, 11 Jan 2017 23:06:34 +0800 [thread overview] Message-ID: <1484147199-4267-11-git-send-email-hanjun.guo@linaro.org> (raw) In-Reply-To: <1484147199-4267-1-git-send-email-hanjun.guo@linaro.org> iort_node_map_platform_id() includes the function of iort_node_get_id(), so update current iort_node_get_id() users and move them over to iort_node_map_platform_id(). type handing in iort_node_get_id() is duplicate with iort_node_map_platform_id(), so clean up a little bit to make the code simpler. Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Cc: Tomasz Nowicki <tn@semihalf.com> --- drivers/acpi/arm64/iort.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c index 95fd20b..a6c8d2d 100644 --- a/drivers/acpi/arm64/iort.c +++ b/drivers/acpi/arm64/iort.c @@ -30,7 +30,6 @@ #define IORT_MSI_TYPE (1 << ACPI_IORT_NODE_ITS_GROUP) #define IORT_IOMMU_TYPE ((1 << ACPI_IORT_NODE_SMMU) | \ (1 << ACPI_IORT_NODE_SMMU_V3)) -#define IORT_TYPE_ANY (IORT_MSI_TYPE | IORT_IOMMU_TYPE) struct iort_its_msi_chip { struct list_head list; @@ -319,8 +318,7 @@ static int iort_id_map(struct acpi_iort_id_mapping *map, u8 type, u32 rid_in, static struct acpi_iort_node *iort_node_get_id(struct acpi_iort_node *node, - u32 *id_out, u8 type_mask, - int index) + u32 *id_out, int index) { struct acpi_iort_node *parent; struct acpi_iort_id_mapping *map; @@ -342,9 +340,6 @@ struct acpi_iort_node *iort_node_get_id(struct acpi_iort_node *node, parent = ACPI_ADD_PTR(struct acpi_iort_node, iort_table, map->output_reference); - if (!(IORT_TYPE_MASK(parent->type) & type_mask)) - return NULL; - if (map->flags & ACPI_IORT_ID_SINGLE_MAPPING) { if (node->type == ACPI_IORT_NODE_NAMED_COMPONENT || node->type == ACPI_IORT_NODE_PCI_ROOT_COMPLEX) { @@ -416,7 +411,7 @@ struct acpi_iort_node *iort_node_map_platform_id(struct acpi_iort_node *node, u32 id; /* step 1: retrieve the initial dev id */ - parent = iort_node_get_id(node, &id, IORT_TYPE_ANY, index); + parent = iort_node_get_id(node, &id, index); if (!parent) return NULL; @@ -424,7 +419,7 @@ struct acpi_iort_node *iort_node_map_platform_id(struct acpi_iort_node *node, * optional step 2: map the initial dev id if its parent is not * the target type we wanted, map it again for the use cases such * as NC (named component) -> SMMU -> ITS. If the type is matched, - * return the parent pointer directly. + * return the initial dev id and its parent pointer directly. */ if (!(IORT_TYPE_MASK(parent->type) & type_mask)) parent = iort_node_map_id(parent, id, id_out, type_mask); @@ -660,14 +655,15 @@ const struct iommu_ops *iort_iommu_configure(struct device *dev) if (!node) return NULL; - parent = iort_node_get_id(node, &streamid, - IORT_IOMMU_TYPE, i++); + parent = iort_node_map_platform_id(node, &streamid, + IORT_IOMMU_TYPE, i++); while (parent) { ops = iort_iommu_xlate(dev, parent, streamid); - parent = iort_node_get_id(node, &streamid, - IORT_IOMMU_TYPE, i++); + parent = iort_node_map_platform_id(node, &streamid, + IORT_IOMMU_TYPE, + i++); } } -- 1.9.1
next prev parent reply other threads:[~2017-01-11 15:08 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 ` Hanjun Guo [this message] 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 ` 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 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=1484147199-4267-11-git-send-email-hanjun.guo@linaro.org \ --to=hanjun.guo@linaro.org \ --cc=agustinv@codeaurora.org \ --cc=gregkh@linuxfoundation.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=lorenzo.pieralisi@arm.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: linkBe 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.