linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] PCI: Add ACS quirk for Cavium ThunderX 2 root port devices
@ 2019-07-19 13:10 Shannon Zhao
  2019-07-24 18:55 ` Bjorn Helgaas
  0 siblings, 1 reply; 4+ messages in thread
From: Shannon Zhao @ 2019-07-19 13:10 UTC (permalink / raw)
  To: linux-kernel, jnair, bhelgaas, linux-pci, gduan

From: Shannon Zhao <shannon.zhao@linux.alibaba.com>

Like commit f2ddaf8(PCI: Apply Cavium ThunderX ACS quirk to more Root
Ports), it should apply ACS quirk to ThunderX 2 root port devices.

Signed-off-by: Shannon Zhao <shannon.zhao@linux.alibaba.com>
---
 drivers/pci/quirks.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 28c64f8..ea7848b 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -4224,10 +4224,12 @@ static bool pci_quirk_cavium_acs_match(struct pci_dev *dev)
 	 * family by 0xf800 mask (which represents 8 SoCs), while the lower
 	 * bits of device ID are used to indicate which subdevice is used
 	 * within the SoC.
+	 * Effectively selects the ThunderX 2 root ports whose device ID
+	 * is 0xaf84.
 	 */
 	return (pci_is_pcie(dev) &&
 		(pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT) &&
-		((dev->device & 0xf800) == 0xa000));
+		((dev->device & 0xf800) == 0xa000 || dev->device == 0xaf84));
 }
 
 static int pci_quirk_cavium_acs(struct pci_dev *dev, u16 acs_flags)
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] PCI: Add ACS quirk for Cavium ThunderX 2 root port devices
  2019-07-19 13:10 [PATCH] PCI: Add ACS quirk for Cavium ThunderX 2 root port devices Shannon Zhao
@ 2019-07-24 18:55 ` Bjorn Helgaas
  2019-07-25 16:35   ` Jayachandran Chandrasekharan Nair
  0 siblings, 1 reply; 4+ messages in thread
From: Bjorn Helgaas @ 2019-07-24 18:55 UTC (permalink / raw)
  To: Shannon Zhao; +Cc: linux-kernel, jnair, linux-pci, gduan

See
https://lkml.kernel.org/r/20171026223701.GA25649@bhelgaas-glaptop.roam.corp.google.com
for incidental hints (subject, commit log, commit reference).  Your
patch basically extends that commit, so the subject should be very
similar.

On Fri, Jul 19, 2019 at 09:10:35PM +0800, Shannon Zhao wrote:
> From: Shannon Zhao <shannon.zhao@linux.alibaba.com>
> 
> Like commit f2ddaf8(PCI: Apply Cavium ThunderX ACS quirk to more Root
> Ports), it should apply ACS quirk to ThunderX 2 root port devices.

s/root port/Root Port/ to be consistent

> Signed-off-by: Shannon Zhao <shannon.zhao@linux.alibaba.com>

I suppose this should have the same stable tag as f2ddaf8dfd4a ("PCI:
Apply Cavium ThunderX ACS quirk to more Root Ports") itself?

> ---
>  drivers/pci/quirks.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index 28c64f8..ea7848b 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -4224,10 +4224,12 @@ static bool pci_quirk_cavium_acs_match(struct pci_dev *dev)
>  	 * family by 0xf800 mask (which represents 8 SoCs), while the lower
>  	 * bits of device ID are used to indicate which subdevice is used
>  	 * within the SoC.
> +	 * Effectively selects the ThunderX 2 root ports whose device ID
> +	 * is 0xaf84.
>  	 */
>  	return (pci_is_pcie(dev) &&
>  		(pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT) &&
> -		((dev->device & 0xf800) == 0xa000));
> +		((dev->device & 0xf800) == 0xa000 || dev->device == 0xaf84));

I'm somewhat doubtful about this because previously we at least
selected a whole class of ThunderX 1 devices:

  ((dev->device & 0xf800) == 0xa000)

while you're adding only a *single* ThunderX device.

I don't want a constant trickle of adding new devices.  Can somebody
from Cavium or Marvell provide a corresponding mask for ThunderX 2, or
confirm that 0xaf84 is really the single device we expect to need
here?

>  }
>  
>  static int pci_quirk_cavium_acs(struct pci_dev *dev, u16 acs_flags)
> -- 
> 1.8.3.1
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] PCI: Add ACS quirk for Cavium ThunderX 2 root port devices
  2019-07-24 18:55 ` Bjorn Helgaas
@ 2019-07-25 16:35   ` Jayachandran Chandrasekharan Nair
  2019-08-06  2:24     ` Shannon Zhao
  0 siblings, 1 reply; 4+ messages in thread
From: Jayachandran Chandrasekharan Nair @ 2019-07-25 16:35 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Shannon Zhao, linux-kernel, linux-pci, Guiping Duan,
	George Cherian, Sunil Kovvuri Goutham

On Wed, Jul 24, 2019 at 01:55:35PM -0500, Bjorn Helgaas wrote:
> See
> https://lkml.kernel.org/r/20171026223701.GA25649@bhelgaas-glaptop.roam.corp.google.com
> for incidental hints (subject, commit log, commit reference).  Your
> patch basically extends that commit, so the subject should be very
> similar.
> 
> On Fri, Jul 19, 2019 at 09:10:35PM +0800, Shannon Zhao wrote:
> > From: Shannon Zhao <shannon.zhao@linux.alibaba.com>
> > 
> > Like commit f2ddaf8(PCI: Apply Cavium ThunderX ACS quirk to more Root
> > Ports), it should apply ACS quirk to ThunderX 2 root port devices.
> 
> s/root port/Root Port/ to be consistent
> 
> > Signed-off-by: Shannon Zhao <shannon.zhao@linux.alibaba.com>
> 
> I suppose this should have the same stable tag as f2ddaf8dfd4a ("PCI:
> Apply Cavium ThunderX ACS quirk to more Root Ports") itself?
> > ---
> >  drivers/pci/quirks.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> > index 28c64f8..ea7848b 100644
> > --- a/drivers/pci/quirks.c
> > +++ b/drivers/pci/quirks.c
> > @@ -4224,10 +4224,12 @@ static bool pci_quirk_cavium_acs_match(struct pci_dev *dev)
> >  	 * family by 0xf800 mask (which represents 8 SoCs), while the lower
> >  	 * bits of device ID are used to indicate which subdevice is used
> >  	 * within the SoC.
> > +	 * Effectively selects the ThunderX 2 root ports whose device ID
> > +	 * is 0xaf84.
> >  	 */
> >  	return (pci_is_pcie(dev) &&
> >  		(pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT) &&
> > -		((dev->device & 0xf800) == 0xa000));
> > +		((dev->device & 0xf800) == 0xa000 || dev->device == 0xaf84));
> 
> I'm somewhat doubtful about this because previously we at least
> selected a whole class of ThunderX 1 devices:
> 
>   ((dev->device & 0xf800) == 0xa000)
> 
> while you're adding only a *single* ThunderX device.
> 
> I don't want a constant trickle of adding new devices.  Can somebody
> from Cavium or Marvell provide a corresponding mask for ThunderX 2, or
> confirm that 0xaf84 is really the single device we expect to need
> here?
 
We are working on a patch to fix this quirk to handle more Marvell
(Cavium) PCI IDs. Ideally we should be handling ThunderX1, ThunderX2
and the Octeon-TX families here.

Adding the folks working on this reduce the churn here, hopefully
we can get all of it sorted in one patch.
 
JC

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] PCI: Add ACS quirk for Cavium ThunderX 2 root port devices
  2019-07-25 16:35   ` Jayachandran Chandrasekharan Nair
@ 2019-08-06  2:24     ` Shannon Zhao
  0 siblings, 0 replies; 4+ messages in thread
From: Shannon Zhao @ 2019-08-06  2:24 UTC (permalink / raw)
  To: Jayachandran Chandrasekharan Nair, Bjorn Helgaas
  Cc: Shannon Zhao, linux-kernel, linux-pci, Guiping Duan,
	George Cherian, Sunil Kovvuri Goutham



On 2019/7/26 0:35, Jayachandran Chandrasekharan Nair wrote:
> On Wed, Jul 24, 2019 at 01:55:35PM -0500, Bjorn Helgaas wrote:
>> See
>> https://lkml.kernel.org/r/20171026223701.GA25649@bhelgaas-glaptop.roam.corp.google.com
>> for incidental hints (subject, commit log, commit reference).  Your
>> patch basically extends that commit, so the subject should be very
>> similar.
>>
>> On Fri, Jul 19, 2019 at 09:10:35PM +0800, Shannon Zhao wrote:
>>> From: Shannon Zhao <shannon.zhao@linux.alibaba.com>
>>>
>>> Like commit f2ddaf8(PCI: Apply Cavium ThunderX ACS quirk to more Root
>>> Ports), it should apply ACS quirk to ThunderX 2 root port devices.
>>
>> s/root port/Root Port/ to be consistent
>>
>>> Signed-off-by: Shannon Zhao <shannon.zhao@linux.alibaba.com>
>>
>> I suppose this should have the same stable tag as f2ddaf8dfd4a ("PCI:
>> Apply Cavium ThunderX ACS quirk to more Root Ports") itself?
>>> ---
>>>   drivers/pci/quirks.c | 4 +++-
>>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
>>> index 28c64f8..ea7848b 100644
>>> --- a/drivers/pci/quirks.c
>>> +++ b/drivers/pci/quirks.c
>>> @@ -4224,10 +4224,12 @@ static bool pci_quirk_cavium_acs_match(struct pci_dev *dev)
>>>   	 * family by 0xf800 mask (which represents 8 SoCs), while the lower
>>>   	 * bits of device ID are used to indicate which subdevice is used
>>>   	 * within the SoC.
>>> +	 * Effectively selects the ThunderX 2 root ports whose device ID
>>> +	 * is 0xaf84.
>>>   	 */
>>>   	return (pci_is_pcie(dev) &&
>>>   		(pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT) &&
>>> -		((dev->device & 0xf800) == 0xa000));
>>> +		((dev->device & 0xf800) == 0xa000 || dev->device == 0xaf84));
>>
>> I'm somewhat doubtful about this because previously we at least
>> selected a whole class of ThunderX 1 devices:
>>
>>    ((dev->device & 0xf800) == 0xa000)
>>
>> while you're adding only a *single* ThunderX device.
>>
>> I don't want a constant trickle of adding new devices.  Can somebody
>> from Cavium or Marvell provide a corresponding mask for ThunderX 2, or
>> confirm that 0xaf84 is really the single device we expect to need
>> here?
>   
> We are working on a patch to fix this quirk to handle more Marvell
> (Cavium) PCI IDs. Ideally we should be handling ThunderX1, ThunderX2
> and the Octeon-TX families here.
> 
> Adding the folks working on this reduce the churn here, hopefully
> we can get all of it sorted in one patch.
>   
That would be better. Please CC me when you send the patch out.

Thanks,
Shannon

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-08-06  2:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-19 13:10 [PATCH] PCI: Add ACS quirk for Cavium ThunderX 2 root port devices Shannon Zhao
2019-07-24 18:55 ` Bjorn Helgaas
2019-07-25 16:35   ` Jayachandran Chandrasekharan Nair
2019-08-06  2:24     ` Shannon Zhao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).