Re: [PATCH 6/9] drm/pci: move drm_pcie_get_speed_cap_mask inside #ifdef CONFIG_PCI
On Thursday 14 February 2013, Fabio Estevam wrote: > Bjorn has already sent a fix for this problem: > http://www.spinics.net/lists/arm-kernel/msg224425.html Ok, excellent. The result seems to be identical, although patch is formatted differently. Acked-by: Arnd Bergmann for Bjorn's patch. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 6/9] drm/pci: move drm_pcie_get_speed_cap_mask inside #ifdef CONFIG_PCI
On Thu, Feb 14, 2013 at 8:26 PM, Arnd Bergmann wrote: > commit dd66cc2e1 "drm/pci: Use PCI Express Capability accessors" > introduced the use of the pcie_capability_read_dword function > in the drm_pci code, which is only defined when PCI is enabled. > While most of the file is already hidden away behind an #ifdef > CONFIG_PCI, this function is not, and that now causes a link > error in the ARM imx_v6_v7_defconfig configuration. > > Moving the function into the #ifdef section makes this work > again on IMX, which does not have PCI support, and should > have no impact on platforms that do. > > Signed-off-by: Arnd Bergmann > Cc: Bjorn Helgaas > Cc: Dave Airlie Bjorn has already sent a fix for this problem: http://www.spinics.net/lists/arm-kernel/msg224425.html -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 6/9] drm/pci: move drm_pcie_get_speed_cap_mask inside #ifdef CONFIG_PCI
commit dd66cc2e1 "drm/pci: Use PCI Express Capability accessors" introduced the use of the pcie_capability_read_dword function in the drm_pci code, which is only defined when PCI is enabled. While most of the file is already hidden away behind an #ifdef CONFIG_PCI, this function is not, and that now causes a link error in the ARM imx_v6_v7_defconfig configuration. Moving the function into the #ifdef section makes this work again on IMX, which does not have PCI support, and should have no impact on platforms that do. Signed-off-by: Arnd Bergmann Cc: Bjorn Helgaas Cc: Dave Airlie --- drivers/gpu/drm/drm_pci.c | 75 +++ 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/drivers/gpu/drm/drm_pci.c b/drivers/gpu/drm/drm_pci.c index 86102a0..9c408e0 100644 --- a/drivers/gpu/drm/drm_pci.c +++ b/drivers/gpu/drm/drm_pci.c @@ -388,6 +388,43 @@ err_g1: } EXPORT_SYMBOL(drm_get_pci_dev); +int drm_pcie_get_speed_cap_mask(struct drm_device *dev, u32 *mask) +{ + struct pci_dev *root; + u32 lnkcap, lnkcap2; + + *mask = 0; + if (!dev->pdev) + return -EINVAL; + + root = dev->pdev->bus->self; + + /* we've been informed via and serverworks don't make the cut */ + if (root->vendor == PCI_VENDOR_ID_VIA || + root->vendor == PCI_VENDOR_ID_SERVERWORKS) + return -EINVAL; + + pcie_capability_read_dword(root, PCI_EXP_LNKCAP, ); + pcie_capability_read_dword(root, PCI_EXP_LNKCAP2, ); + + if (lnkcap2) { /* PCIe r3.0-compliant */ + if (lnkcap2 & PCI_EXP_LNKCAP2_SLS_2_5GB) + *mask |= DRM_PCIE_SPEED_25; + if (lnkcap2 & PCI_EXP_LNKCAP2_SLS_5_0GB) + *mask |= DRM_PCIE_SPEED_50; + if (lnkcap2 & PCI_EXP_LNKCAP2_SLS_8_0GB) + *mask |= DRM_PCIE_SPEED_80; + } else {/* pre-r3.0 */ + if (lnkcap & PCI_EXP_LNKCAP_SLS_2_5GB) + *mask |= DRM_PCIE_SPEED_25; + if (lnkcap & PCI_EXP_LNKCAP_SLS_5_0GB) + *mask |= (DRM_PCIE_SPEED_25 | DRM_PCIE_SPEED_50); + } + + DRM_INFO("probing gen 2 caps for device %x:%x = %x/%x\n", root->vendor, root->device, lnkcap, lnkcap2); + return 0; +} +EXPORT_SYMBOL(drm_pcie_get_speed_cap_mask); /** * PCI device initialization. Called direct from modules at load time. * @@ -465,41 +502,3 @@ void drm_pci_exit(struct drm_driver *driver, struct pci_driver *pdriver) DRM_INFO("Module unloaded\n"); } EXPORT_SYMBOL(drm_pci_exit); - -int drm_pcie_get_speed_cap_mask(struct drm_device *dev, u32 *mask) -{ - struct pci_dev *root; - u32 lnkcap, lnkcap2; - - *mask = 0; - if (!dev->pdev) - return -EINVAL; - - root = dev->pdev->bus->self; - - /* we've been informed via and serverworks don't make the cut */ - if (root->vendor == PCI_VENDOR_ID_VIA || - root->vendor == PCI_VENDOR_ID_SERVERWORKS) - return -EINVAL; - - pcie_capability_read_dword(root, PCI_EXP_LNKCAP, ); - pcie_capability_read_dword(root, PCI_EXP_LNKCAP2, ); - - if (lnkcap2) { /* PCIe r3.0-compliant */ - if (lnkcap2 & PCI_EXP_LNKCAP2_SLS_2_5GB) - *mask |= DRM_PCIE_SPEED_25; - if (lnkcap2 & PCI_EXP_LNKCAP2_SLS_5_0GB) - *mask |= DRM_PCIE_SPEED_50; - if (lnkcap2 & PCI_EXP_LNKCAP2_SLS_8_0GB) - *mask |= DRM_PCIE_SPEED_80; - } else {/* pre-r3.0 */ - if (lnkcap & PCI_EXP_LNKCAP_SLS_2_5GB) - *mask |= DRM_PCIE_SPEED_25; - if (lnkcap & PCI_EXP_LNKCAP_SLS_5_0GB) - *mask |= (DRM_PCIE_SPEED_25 | DRM_PCIE_SPEED_50); - } - - DRM_INFO("probing gen 2 caps for device %x:%x = %x/%x\n", root->vendor, root->device, lnkcap, lnkcap2); - return 0; -} -EXPORT_SYMBOL(drm_pcie_get_speed_cap_mask); -- 1.8.1.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 6/9] drm/pci: move drm_pcie_get_speed_cap_mask inside #ifdef CONFIG_PCI
commit dd66cc2e1 drm/pci: Use PCI Express Capability accessors introduced the use of the pcie_capability_read_dword function in the drm_pci code, which is only defined when PCI is enabled. While most of the file is already hidden away behind an #ifdef CONFIG_PCI, this function is not, and that now causes a link error in the ARM imx_v6_v7_defconfig configuration. Moving the function into the #ifdef section makes this work again on IMX, which does not have PCI support, and should have no impact on platforms that do. Signed-off-by: Arnd Bergmann a...@arndb.de Cc: Bjorn Helgaas bhelg...@google.com Cc: Dave Airlie airl...@redhat.com --- drivers/gpu/drm/drm_pci.c | 75 +++ 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/drivers/gpu/drm/drm_pci.c b/drivers/gpu/drm/drm_pci.c index 86102a0..9c408e0 100644 --- a/drivers/gpu/drm/drm_pci.c +++ b/drivers/gpu/drm/drm_pci.c @@ -388,6 +388,43 @@ err_g1: } EXPORT_SYMBOL(drm_get_pci_dev); +int drm_pcie_get_speed_cap_mask(struct drm_device *dev, u32 *mask) +{ + struct pci_dev *root; + u32 lnkcap, lnkcap2; + + *mask = 0; + if (!dev-pdev) + return -EINVAL; + + root = dev-pdev-bus-self; + + /* we've been informed via and serverworks don't make the cut */ + if (root-vendor == PCI_VENDOR_ID_VIA || + root-vendor == PCI_VENDOR_ID_SERVERWORKS) + return -EINVAL; + + pcie_capability_read_dword(root, PCI_EXP_LNKCAP, lnkcap); + pcie_capability_read_dword(root, PCI_EXP_LNKCAP2, lnkcap2); + + if (lnkcap2) { /* PCIe r3.0-compliant */ + if (lnkcap2 PCI_EXP_LNKCAP2_SLS_2_5GB) + *mask |= DRM_PCIE_SPEED_25; + if (lnkcap2 PCI_EXP_LNKCAP2_SLS_5_0GB) + *mask |= DRM_PCIE_SPEED_50; + if (lnkcap2 PCI_EXP_LNKCAP2_SLS_8_0GB) + *mask |= DRM_PCIE_SPEED_80; + } else {/* pre-r3.0 */ + if (lnkcap PCI_EXP_LNKCAP_SLS_2_5GB) + *mask |= DRM_PCIE_SPEED_25; + if (lnkcap PCI_EXP_LNKCAP_SLS_5_0GB) + *mask |= (DRM_PCIE_SPEED_25 | DRM_PCIE_SPEED_50); + } + + DRM_INFO(probing gen 2 caps for device %x:%x = %x/%x\n, root-vendor, root-device, lnkcap, lnkcap2); + return 0; +} +EXPORT_SYMBOL(drm_pcie_get_speed_cap_mask); /** * PCI device initialization. Called direct from modules at load time. * @@ -465,41 +502,3 @@ void drm_pci_exit(struct drm_driver *driver, struct pci_driver *pdriver) DRM_INFO(Module unloaded\n); } EXPORT_SYMBOL(drm_pci_exit); - -int drm_pcie_get_speed_cap_mask(struct drm_device *dev, u32 *mask) -{ - struct pci_dev *root; - u32 lnkcap, lnkcap2; - - *mask = 0; - if (!dev-pdev) - return -EINVAL; - - root = dev-pdev-bus-self; - - /* we've been informed via and serverworks don't make the cut */ - if (root-vendor == PCI_VENDOR_ID_VIA || - root-vendor == PCI_VENDOR_ID_SERVERWORKS) - return -EINVAL; - - pcie_capability_read_dword(root, PCI_EXP_LNKCAP, lnkcap); - pcie_capability_read_dword(root, PCI_EXP_LNKCAP2, lnkcap2); - - if (lnkcap2) { /* PCIe r3.0-compliant */ - if (lnkcap2 PCI_EXP_LNKCAP2_SLS_2_5GB) - *mask |= DRM_PCIE_SPEED_25; - if (lnkcap2 PCI_EXP_LNKCAP2_SLS_5_0GB) - *mask |= DRM_PCIE_SPEED_50; - if (lnkcap2 PCI_EXP_LNKCAP2_SLS_8_0GB) - *mask |= DRM_PCIE_SPEED_80; - } else {/* pre-r3.0 */ - if (lnkcap PCI_EXP_LNKCAP_SLS_2_5GB) - *mask |= DRM_PCIE_SPEED_25; - if (lnkcap PCI_EXP_LNKCAP_SLS_5_0GB) - *mask |= (DRM_PCIE_SPEED_25 | DRM_PCIE_SPEED_50); - } - - DRM_INFO(probing gen 2 caps for device %x:%x = %x/%x\n, root-vendor, root-device, lnkcap, lnkcap2); - return 0; -} -EXPORT_SYMBOL(drm_pcie_get_speed_cap_mask); -- 1.8.1.2 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 6/9] drm/pci: move drm_pcie_get_speed_cap_mask inside #ifdef CONFIG_PCI
On Thu, Feb 14, 2013 at 8:26 PM, Arnd Bergmann a...@arndb.de wrote: commit dd66cc2e1 drm/pci: Use PCI Express Capability accessors introduced the use of the pcie_capability_read_dword function in the drm_pci code, which is only defined when PCI is enabled. While most of the file is already hidden away behind an #ifdef CONFIG_PCI, this function is not, and that now causes a link error in the ARM imx_v6_v7_defconfig configuration. Moving the function into the #ifdef section makes this work again on IMX, which does not have PCI support, and should have no impact on platforms that do. Signed-off-by: Arnd Bergmann a...@arndb.de Cc: Bjorn Helgaas bhelg...@google.com Cc: Dave Airlie airl...@redhat.com Bjorn has already sent a fix for this problem: http://www.spinics.net/lists/arm-kernel/msg224425.html -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 6/9] drm/pci: move drm_pcie_get_speed_cap_mask inside #ifdef CONFIG_PCI
On Thursday 14 February 2013, Fabio Estevam wrote: Bjorn has already sent a fix for this problem: http://www.spinics.net/lists/arm-kernel/msg224425.html Ok, excellent. The result seems to be identical, although patch is formatted differently. Acked-by: Arnd Bergmann a...@arndb.de for Bjorn's patch. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/