diff options
author | dumbbell <dumbbell@FreeBSD.org> | 2013-12-11 23:15:19 +0000 |
---|---|---|
committer | dumbbell <dumbbell@FreeBSD.org> | 2013-12-11 23:15:19 +0000 |
commit | 89f39922eeb419af3bbb369e1a9d8f5fd4a8ead2 (patch) | |
tree | c05dd5b98552047014c971f956f2112983e94bbf /sys | |
parent | 91ba4c72da3601dc554ecaee0588fd32c38b1723 (diff) | |
download | FreeBSD-src-89f39922eeb419af3bbb369e1a9d8f5fd4a8ead2.zip FreeBSD-src-89f39922eeb419af3bbb369e1a9d8f5fd4a8ead2.tar.gz |
MFC r258930:
drm: Read PCIER_LINK_CAP/PCIER_LINK_CAP2 from the PCI bridge
Before this fix, capabilities were read from vgapci and were incorrect.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/drm2/drm_pci.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/drm2/drm_pci.c b/sys/dev/drm2/drm_pci.c index ab45278..ac9d4e6 100644 --- a/sys/dev/drm2/drm_pci.c +++ b/sys/dev/drm2/drm_pci.c @@ -134,7 +134,11 @@ int drm_pcie_get_speed_cap_mask(struct drm_device *dev, u32 *mask) if (!drm_device_is_pcie(dev)) return -EINVAL; - root = device_get_parent(dev->device); + root = + device_get_parent( /* pcib */ + device_get_parent( /* `-- pci */ + device_get_parent( /* `-- vgapci */ + dev->device))); /* `-- drmn */ pos = 0; pci_find_cap(root, PCIY_EXPRESS, &pos); |