All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] pcie/dpc: Match any port type
@ 2016-07-06 16:06 Keith Busch
  2016-07-06 16:06 ` [PATCH 2/2] pcie/dpc: Remove tristate module option Keith Busch
  2016-07-25 17:51 ` [PATCH 1/2] pcie/dpc: Match any port type Bjorn Helgaas
  0 siblings, 2 replies; 3+ messages in thread
From: Keith Busch @ 2016-07-06 16:06 UTC (permalink / raw)
  To: linux-pci, Bjorn Helgaas; +Cc: Keith Busch, Mika Westerberg

PCIe port type values are not flags, so OR'ing them is not
correct. Previously the result was equivalent to PCIe downstream ports,
so we were missing binding to DPC capable root ports. This patch changes
the type to 'any' so we can bind to both port types. While this will
cause the code to check upstream ports, the driver won't probe them
since these are not DPC capable.

Reported-by: Alexander Antonov <alexanderx.v.antonov@intel.com>
Signed-off-by: Keith Busch <keith.busch@intel.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
---
 drivers/pci/pcie/pcie-dpc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/pcie/pcie-dpc.c b/drivers/pci/pcie/pcie-dpc.c
index ab552f1..0b36525 100644
--- a/drivers/pci/pcie/pcie-dpc.c
+++ b/drivers/pci/pcie/pcie-dpc.c
@@ -138,7 +138,7 @@ static void dpc_remove(struct pcie_device *dev)
 
 static struct pcie_port_service_driver dpcdriver = {
 	.name		= "dpc",
-	.port_type	= PCI_EXP_TYPE_ROOT_PORT | PCI_EXP_TYPE_DOWNSTREAM,
+	.port_type	= PCIE_ANY_PORT,
 	.service	= PCIE_PORT_SERVICE_DPC,
 	.probe		= dpc_probe,
 	.remove		= dpc_remove,
-- 
2.7.2


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

* [PATCH 2/2] pcie/dpc: Remove tristate module option
  2016-07-06 16:06 [PATCH 1/2] pcie/dpc: Match any port type Keith Busch
@ 2016-07-06 16:06 ` Keith Busch
  2016-07-25 17:51 ` [PATCH 1/2] pcie/dpc: Match any port type Bjorn Helgaas
  1 sibling, 0 replies; 3+ messages in thread
From: Keith Busch @ 2016-07-06 16:06 UTC (permalink / raw)
  To: linux-pci, Bjorn Helgaas; +Cc: Keith Busch

This patch changes the config type from tristate too bool. The driver
doesn't automatically load based on any rules, so it needs to be built-in
in order to bind to devices it needs to drive.

Signed-off-by: Keith Busch <keith.busch@intel.com>
---
 drivers/pci/pcie/Kconfig | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/pci/pcie/Kconfig b/drivers/pci/pcie/Kconfig
index 22ca641..7fcea75 100644
--- a/drivers/pci/pcie/Kconfig
+++ b/drivers/pci/pcie/Kconfig
@@ -83,7 +83,7 @@ config PCIE_PME
 	depends on PCIEPORTBUS && PM
 
 config PCIE_DPC
-	tristate "PCIe Downstream Port Containment support"
+	bool "PCIe Downstream Port Containment support"
 	depends on PCIEPORTBUS
 	default n
 	help
@@ -92,6 +92,3 @@ config PCIE_DPC
 	  will be handled by the DPC driver.  If your system doesn't
 	  have this capability or you do not want to use this feature,
 	  it is safe to answer N.
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called pcie-dpc.
-- 
2.7.2


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

* Re: [PATCH 1/2] pcie/dpc: Match any port type
  2016-07-06 16:06 [PATCH 1/2] pcie/dpc: Match any port type Keith Busch
  2016-07-06 16:06 ` [PATCH 2/2] pcie/dpc: Remove tristate module option Keith Busch
@ 2016-07-25 17:51 ` Bjorn Helgaas
  1 sibling, 0 replies; 3+ messages in thread
From: Bjorn Helgaas @ 2016-07-25 17:51 UTC (permalink / raw)
  To: Keith Busch; +Cc: linux-pci, Bjorn Helgaas, Mika Westerberg

On Wed, Jul 06, 2016 at 10:06:00AM -0600, Keith Busch wrote:
> PCIe port type values are not flags, so OR'ing them is not
> correct. Previously the result was equivalent to PCIe downstream ports,
> so we were missing binding to DPC capable root ports. This patch changes
> the type to 'any' so we can bind to both port types. While this will
> cause the code to check upstream ports, the driver won't probe them
> since these are not DPC capable.
> 
> Reported-by: Alexander Antonov <alexanderx.v.antonov@intel.com>
> Signed-off-by: Keith Busch <keith.busch@intel.com>
> Cc: Mika Westerberg <mika.westerberg@linux.intel.com>

Applied both to pci/dpc for v4.8, thanks!

> ---
>  drivers/pci/pcie/pcie-dpc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/pci/pcie/pcie-dpc.c b/drivers/pci/pcie/pcie-dpc.c
> index ab552f1..0b36525 100644
> --- a/drivers/pci/pcie/pcie-dpc.c
> +++ b/drivers/pci/pcie/pcie-dpc.c
> @@ -138,7 +138,7 @@ static void dpc_remove(struct pcie_device *dev)
>  
>  static struct pcie_port_service_driver dpcdriver = {
>  	.name		= "dpc",
> -	.port_type	= PCI_EXP_TYPE_ROOT_PORT | PCI_EXP_TYPE_DOWNSTREAM,
> +	.port_type	= PCIE_ANY_PORT,
>  	.service	= PCIE_PORT_SERVICE_DPC,
>  	.probe		= dpc_probe,
>  	.remove		= dpc_remove,
> -- 
> 2.7.2
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2016-07-25 17:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-06 16:06 [PATCH 1/2] pcie/dpc: Match any port type Keith Busch
2016-07-06 16:06 ` [PATCH 2/2] pcie/dpc: Remove tristate module option Keith Busch
2016-07-25 17:51 ` [PATCH 1/2] pcie/dpc: Match any port type Bjorn Helgaas

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.