From: Tyrel Datwyler <tyreld@linux.ibm.com> To: mpe@ellerman.id.au Cc: benh@kernel.crashing.org, linuxppc-dev@lists.ozlabs.org, tlfalcon@linux.ibm.com, nathanl@linux.ibm.com, bhelgaas@google.com, linux-pci@vger.kernel.org, Tyrel Datwyler <tyreld@linux.ibm.com> Subject: [PATCH v2 8/9] PCI: rpaphp: Correctly match ibm,my-drc-index to drc-name when using drc-info Date: Sun, 10 Nov 2019 23:21:36 -0600 [thread overview] Message-ID: <1573449697-5448-10-git-send-email-tyreld@linux.ibm.com> (raw) In-Reply-To: <1573449697-5448-1-git-send-email-tyreld@linux.ibm.com> The newer ibm,drc-info property is a condensed description of the old ibm,drc-* properties (ie. names, types, indexes, and power-domains). When matching a drc-index to a drc-name we need to verify that the index is within the start and last drc-index range and map it to a drc-name using the drc-name-prefix and logical index. Fix the mapping by checking that the index is within the range of the current drc-info entry, and build the name from the drc-name-prefix concatenated with the starting drc-name-suffix value and the sequential index obtained by subtracting ibm,my-drc-index from this entries drc-start-index. Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com> --- drivers/pci/hotplug/rpaphp_core.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/pci/hotplug/rpaphp_core.c b/drivers/pci/hotplug/rpaphp_core.c index 129534c..951f7f2 100644 --- a/drivers/pci/hotplug/rpaphp_core.c +++ b/drivers/pci/hotplug/rpaphp_core.c @@ -248,9 +248,10 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name, /* Should now know end of current entry */ /* Found it */ - if (my_index <= drc.last_drc_index) { + if (my_index >= drc.drc_index_start && my_index <= drc.last_drc_index) { + int index = my_index - drc.drc_index_start; sprintf(cell_drc_name, "%s%d", drc.drc_name_prefix, - my_index); + drc.drc_name_suffix_start + index); break; } } -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: Tyrel Datwyler <tyreld@linux.ibm.com> To: mpe@ellerman.id.au Cc: nathanl@linux.ibm.com, Tyrel Datwyler <tyreld@linux.ibm.com>, tlfalcon@linux.ibm.com, linux-pci@vger.kernel.org, bhelgaas@google.com, linuxppc-dev@lists.ozlabs.org Subject: [PATCH v2 8/9] PCI: rpaphp: Correctly match ibm, my-drc-index to drc-name when using drc-info Date: Sun, 10 Nov 2019 23:21:36 -0600 [thread overview] Message-ID: <1573449697-5448-10-git-send-email-tyreld@linux.ibm.com> (raw) In-Reply-To: <1573449697-5448-1-git-send-email-tyreld@linux.ibm.com> The newer ibm,drc-info property is a condensed description of the old ibm,drc-* properties (ie. names, types, indexes, and power-domains). When matching a drc-index to a drc-name we need to verify that the index is within the start and last drc-index range and map it to a drc-name using the drc-name-prefix and logical index. Fix the mapping by checking that the index is within the range of the current drc-info entry, and build the name from the drc-name-prefix concatenated with the starting drc-name-suffix value and the sequential index obtained by subtracting ibm,my-drc-index from this entries drc-start-index. Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com> --- drivers/pci/hotplug/rpaphp_core.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/pci/hotplug/rpaphp_core.c b/drivers/pci/hotplug/rpaphp_core.c index 129534c..951f7f2 100644 --- a/drivers/pci/hotplug/rpaphp_core.c +++ b/drivers/pci/hotplug/rpaphp_core.c @@ -248,9 +248,10 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name, /* Should now know end of current entry */ /* Found it */ - if (my_index <= drc.last_drc_index) { + if (my_index >= drc.drc_index_start && my_index <= drc.last_drc_index) { + int index = my_index - drc.drc_index_start; sprintf(cell_drc_name, "%s%d", drc.drc_name_prefix, - my_index); + drc.drc_name_suffix_start + index); break; } } -- 2.7.4
next prev parent reply other threads:[~2019-11-11 5:22 UTC|newest] Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-11-11 5:21 [PATCH v2 0/9] Fixes and Enablement of ibm,drc-info property Tyrel Datwyler 2019-11-11 5:21 ` Tyrel Datwyler 2019-11-11 5:21 ` [PATCH v2 1/9] powerpc/pseries: Fix bad drc_index_start value parsing of drc-info entry Tyrel Datwyler 2019-11-11 5:21 ` Tyrel Datwyler 2019-11-14 9:08 ` Michael Ellerman 2019-11-14 9:08 ` Michael Ellerman 2019-11-11 5:21 ` [PATCH v2 2/9] powerpc/pseries: Fix drc-info mappings of logical cpus to drc-index Tyrel Datwyler 2019-11-11 5:21 ` Tyrel Datwyler 2019-11-11 5:21 ` [PATCH v2 3/9] powerpc/pseries: Add cpu DLPAR support for drc-info property Tyrel Datwyler 2019-11-11 5:21 ` Tyrel Datwyler 2019-11-11 5:21 ` [PATCH v2 4/9] PCI: rpaphp: Fix up pointer to first drc-info entry Tyrel Datwyler 2019-11-11 5:21 ` Tyrel Datwyler 2019-11-11 5:21 ` [PATCH v2 5/9] PCI: rpaphp: Don't rely on firmware feature to imply drc-info support Tyrel Datwyler 2019-11-11 5:21 ` Tyrel Datwyler 2019-11-11 5:21 ` [PATCH v2 6/9] PCI: rpaphp: Add drc-info support for hotplug slot registration Tyrel Datwyler 2019-11-11 5:21 ` Tyrel Datwyler 2019-11-11 5:21 ` [PATCH v2 7/9] PCI: rpaphp: annotate and correctly byte swap DRC properties Tyrel Datwyler 2019-11-11 5:21 ` Tyrel Datwyler 2019-11-11 5:21 ` [PATCH v2 7/9] PCI: rpaphp: Annotate " Tyrel Datwyler 2019-11-11 5:21 ` Tyrel Datwyler 2019-11-11 5:21 ` Tyrel Datwyler [this message] 2019-11-11 5:21 ` [PATCH v2 8/9] PCI: rpaphp: Correctly match ibm, my-drc-index to drc-name when using drc-info Tyrel Datwyler 2019-11-11 5:21 ` [PATCH v2 9/9] powerpc/pseries: Enable support for ibm,drc-info property Tyrel Datwyler 2019-11-11 5:21 ` [PATCH v2 9/9] powerpc/pseries: Enable support for ibm, drc-info property Tyrel Datwyler 2019-11-11 19:49 ` [PATCH v2 0/9] Fixes and Enablement of ibm,drc-info property Bjorn Helgaas 2019-11-11 19:49 ` Bjorn Helgaas 2019-11-12 10:50 ` Michael Ellerman 2019-11-12 10:50 ` Michael Ellerman
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=1573449697-5448-10-git-send-email-tyreld@linux.ibm.com \ --to=tyreld@linux.ibm.com \ --cc=benh@kernel.crashing.org \ --cc=bhelgaas@google.com \ --cc=linux-pci@vger.kernel.org \ --cc=linuxppc-dev@lists.ozlabs.org \ --cc=mpe@ellerman.id.au \ --cc=nathanl@linux.ibm.com \ --cc=tlfalcon@linux.ibm.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.