2021-11-19 00:39:18

by Kelvin Cao

[permalink] [raw]
Subject: [PATCH 0/2] Add Switchtec Gen4 automotive device IDs and a tweak

Hi,

This patchset introduces device IDs for the Switchtec Gen4 automotive
variants and a minor tweak for the MRPC execution.

The first patch adds the device IDs. Patch 2 makes the tweak to improve
the MRPC execution efficiency [1].

This patchset is based on v5.16-rc1.

[1] https://lore.kernel.org/r/[email protected]/

Thanks,
Kelvin

Kelvin Cao (2):
Add device IDs for the Gen4 automotive variants
Declare local array state_names as static

drivers/pci/quirks.c | 9 +++++++++
drivers/pci/switch/switchtec.c | 11 ++++++++++-
2 files changed, 19 insertions(+), 1 deletion(-)

--
2.25.1



2021-11-19 00:39:23

by Kelvin Cao

[permalink] [raw]
Subject: [PATCH 1/2] Add device IDs for the Gen4 automotive variants

Advertise support of the Gen4 automotive variants in module's device ID
table and add the same IDs to the list of switchtec quirks.

Signed-off-by: Kelvin Cao <[email protected]>
---
drivers/pci/quirks.c | 9 +++++++++
drivers/pci/switch/switchtec.c | 9 +++++++++
2 files changed, 18 insertions(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 003950c738d2..25ccb2994891 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -5683,6 +5683,15 @@ SWITCHTEC_QUIRK(0x4268); /* PAX 68XG4 */
SWITCHTEC_QUIRK(0x4252); /* PAX 52XG4 */
SWITCHTEC_QUIRK(0x4236); /* PAX 36XG4 */
SWITCHTEC_QUIRK(0x4228); /* PAX 28XG4 */
+SWITCHTEC_QUIRK(0x4352); /* PFXA 52XG4 */
+SWITCHTEC_QUIRK(0x4336); /* PFXA 36XG4 */
+SWITCHTEC_QUIRK(0x4328); /* PFXA 28XG4 */
+SWITCHTEC_QUIRK(0x4452); /* PSXA 52XG4 */
+SWITCHTEC_QUIRK(0x4436); /* PSXA 36XG4 */
+SWITCHTEC_QUIRK(0x4428); /* PSXA 28XG4 */
+SWITCHTEC_QUIRK(0x4552); /* PAXA 52XG4 */
+SWITCHTEC_QUIRK(0x4536); /* PAXA 36XG4 */
+SWITCHTEC_QUIRK(0x4528); /* PAXA 28XG4 */

/*
* The PLX NTB uses devfn proxy IDs to move TLPs between NT endpoints.
diff --git a/drivers/pci/switch/switchtec.c b/drivers/pci/switch/switchtec.c
index 38c2b036fb8e..6e2d6c5ea4b5 100644
--- a/drivers/pci/switch/switchtec.c
+++ b/drivers/pci/switch/switchtec.c
@@ -1779,6 +1779,15 @@ static const struct pci_device_id switchtec_pci_tbl[] = {
SWITCHTEC_PCI_DEVICE(0x4252, SWITCHTEC_GEN4), //PAX 52XG4
SWITCHTEC_PCI_DEVICE(0x4236, SWITCHTEC_GEN4), //PAX 36XG4
SWITCHTEC_PCI_DEVICE(0x4228, SWITCHTEC_GEN4), //PAX 28XG4
+ SWITCHTEC_PCI_DEVICE(0x4352, SWITCHTEC_GEN4), //PFXA 52XG4
+ SWITCHTEC_PCI_DEVICE(0x4336, SWITCHTEC_GEN4), //PFXA 36XG4
+ SWITCHTEC_PCI_DEVICE(0x4328, SWITCHTEC_GEN4), //PFXA 28XG4
+ SWITCHTEC_PCI_DEVICE(0x4452, SWITCHTEC_GEN4), //PSXA 52XG4
+ SWITCHTEC_PCI_DEVICE(0x4436, SWITCHTEC_GEN4), //PSXA 36XG4
+ SWITCHTEC_PCI_DEVICE(0x4428, SWITCHTEC_GEN4), //PSXA 28XG4
+ SWITCHTEC_PCI_DEVICE(0x4552, SWITCHTEC_GEN4), //PAXA 52XG4
+ SWITCHTEC_PCI_DEVICE(0x4536, SWITCHTEC_GEN4), //PAXA 36XG4
+ SWITCHTEC_PCI_DEVICE(0x4528, SWITCHTEC_GEN4), //PAXA 28XG4
{0}
};
MODULE_DEVICE_TABLE(pci, switchtec_pci_tbl);
--
2.25.1


2021-11-19 00:39:23

by Kelvin Cao

[permalink] [raw]
Subject: [PATCH 2/2] Declare local array state_names as static

When a MRPC command is being executed, the function stuser_set_state()
will be called several times to set the command execution state.
During each run of stuser_set_state(), the local array state_names is
allocated and populated. The array contains a constant mapping of the
state enum values to the text strings, so repeated allocation and
initialization is just a wait of CPU cycles. Therefore, declare the
array as static.

See the link below for the discussion.

https://lore.kernel.org/r/[email protected]/

Suggested-by: Krzysztof WilczyƄski <[email protected]>
Signed-off-by: Kelvin Cao <[email protected]>
---
drivers/pci/switch/switchtec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/switch/switchtec.c b/drivers/pci/switch/switchtec.c
index 6e2d6c5ea4b5..c36c1238c604 100644
--- a/drivers/pci/switch/switchtec.c
+++ b/drivers/pci/switch/switchtec.c
@@ -122,7 +122,7 @@ static void stuser_set_state(struct switchtec_user *stuser,
{
/* requires the mrpc_mutex to already be held when called */

- const char * const state_names[] = {
+ static const char * const state_names[] = {
[MRPC_IDLE] = "IDLE",
[MRPC_QUEUED] = "QUEUED",
[MRPC_RUNNING] = "RUNNING",
--
2.25.1


2021-11-19 16:49:45

by Logan Gunthorpe

[permalink] [raw]
Subject: Re: [PATCH 0/2] Add Switchtec Gen4 automotive device IDs and a tweak



On 2021-11-18 5:38 p.m., Kelvin Cao wrote:
> Hi,
>
> This patchset introduces device IDs for the Switchtec Gen4 automotive
> variants and a minor tweak for the MRPC execution.
>
> The first patch adds the device IDs. Patch 2 makes the tweak to improve
> the MRPC execution efficiency [1].
>
> This patchset is based on v5.16-rc1.
>
> [1] https://lore.kernel.org/r/[email protected]/
>
> Thanks,
> Kelvin
>
> Kelvin Cao (2):
> Add device IDs for the Gen4 automotive variants
> Declare local array state_names as static
>
> drivers/pci/quirks.c | 9 +++++++++
> drivers/pci/switch/switchtec.c | 11 ++++++++++-
> 2 files changed, 19 insertions(+), 1 deletion(-)

Looks fine to me.

Reviewed-by: Logan Gunthorpe <[email protected]>

Logan

2021-11-19 18:15:30

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [PATCH 0/2] Add Switchtec Gen4 automotive device IDs and a tweak

On Thu, Nov 18, 2021 at 04:38:01PM -0800, Kelvin Cao wrote:
> Hi,
>
> This patchset introduces device IDs for the Switchtec Gen4 automotive
> variants and a minor tweak for the MRPC execution.
>
> The first patch adds the device IDs. Patch 2 makes the tweak to improve
> the MRPC execution efficiency [1].
>
> This patchset is based on v5.16-rc1.
>
> [1] https://lore.kernel.org/r/[email protected]/
>
> Thanks,
> Kelvin
>
> Kelvin Cao (2):
> Add device IDs for the Gen4 automotive variants
> Declare local array state_names as static
>
> drivers/pci/quirks.c | 9 +++++++++
> drivers/pci/switch/switchtec.c | 11 ++++++++++-
> 2 files changed, 19 insertions(+), 1 deletion(-)

Applied to pci/switchtec for v5.17, thanks!

I tidied up the subjects for you so they match the style of previous
ones, 7a30ebb9f2a2 ("PCI/switchtec: Add Gen4 device IDs") in
particular:

bb17b15813ea ("PCI/switchtec: Add Gen4 automotive device IDs")
b76521f6482d ("PCI/switchtec: Declare local state_names[] as static")


2021-11-21 06:39:05

by Kelvin Cao

[permalink] [raw]
Subject: Re: [PATCH 0/2] Add Switchtec Gen4 automotive device IDs and a tweak

On Fri, 2021-11-19 at 09:49 -0700, Logan Gunthorpe wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
>
> On 2021-11-18 5:38 p.m., Kelvin Cao wrote:
> > Hi,
> >
> > This patchset introduces device IDs for the Switchtec Gen4
> > automotive
> > variants and a minor tweak for the MRPC execution.
> >
> > The first patch adds the device IDs. Patch 2 makes the tweak to
> > improve
> > the MRPC execution efficiency [1].
> >
> > This patchset is based on v5.16-rc1.
> >
> > [1]
> > https://lore.kernel.org/r/[email protected]/
> >
> > Thanks,
> > Kelvin
> >
> > Kelvin Cao (2):
> > Add device IDs for the Gen4 automotive variants
> > Declare local array state_names as static
> >
> > drivers/pci/quirks.c | 9 +++++++++
> > drivers/pci/switch/switchtec.c | 11 ++++++++++-
> > 2 files changed, 19 insertions(+), 1 deletion(-)
>
> Looks fine to me.
>
> Reviewed-by: Logan Gunthorpe <[email protected]>

Thanks Logan!

Kelvin
>
> Logan

2021-11-21 06:40:30

by Kelvin Cao

[permalink] [raw]
Subject: Re: [PATCH 0/2] Add Switchtec Gen4 automotive device IDs and a tweak

On Fri, 2021-11-19 at 12:15 -0600, Bjorn Helgaas wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
>
> On Thu, Nov 18, 2021 at 04:38:01PM -0800, Kelvin Cao wrote:
> > Hi,
> >
> > This patchset introduces device IDs for the Switchtec Gen4
> > automotive
> > variants and a minor tweak for the MRPC execution.
> >
> > The first patch adds the device IDs. Patch 2 makes the tweak to
> > improve
> > the MRPC execution efficiency [1].
> >
> > This patchset is based on v5.16-rc1.
> >
> > [1]
> > https://lore.kernel.org/r/[email protected]/
> >
> > Thanks,
> > Kelvin
> >
> > Kelvin Cao (2):
> > Add device IDs for the Gen4 automotive variants
> > Declare local array state_names as static
> >
> > drivers/pci/quirks.c | 9 +++++++++
> > drivers/pci/switch/switchtec.c | 11 ++++++++++-
> > 2 files changed, 19 insertions(+), 1 deletion(-)
>
> Applied to pci/switchtec for v5.17, thanks!
>
> I tidied up the subjects for you so they match the style of previous
> ones, 7a30ebb9f2a2 ("PCI/switchtec: Add Gen4 device IDs") in
> particular:
>
> bb17b15813ea ("PCI/switchtec: Add Gen4 automotive device IDs")
> b76521f6482d ("PCI/switchtec: Declare local state_names[] as
> static")
>

Thank you Bjorn!

Kelvin