diff mbox

drm/radeon: bogus PCI ID

Message ID 201410261722.s9QHMahK004595@glazunov.sibelius.xs4all.nl (mailing list archive)
State New, archived
Headers show

Commit Message

Mark Kettenis Oct. 26, 2014, 5:22 p.m. UTC
All evidence I can find suggests that device ID 0x4c6e is the
"secondary" device for the Radeon Mobility 9000/M9.  As such it would
be an RV250 chip instead of RV280.  However, the radeon drm driver
doesn't actually handle "secondary" devices.  For example, the
(non-Mobility) Radeon 9000 with device ID 496e isn't listed.  So I
believe this specific device ID should be removed from the list.  All
it currently accomplishes is printing "Fatal error during GPU init"
after the driver fails to map PCI BAR 2, which isn't there on these
"secondary" devices.

Tested (on OpenBSD) on a FireMV 2400 PCI card, which is essentially
two Mobility M9's with a PCI-PCI bridge, and where the two 0x4c6e
secondaries on function 1 are paired with 0x4c66 primaries on function
0.  Hopefully this diff can be applied to the Linux kernel as well
such that we can keep drm_pciids.h in sync between the various OSes.

Thanks,

Mark

Comments

Alex Deucher Oct. 26, 2014, 7:21 p.m. UTC | #1
On Sun, Oct 26, 2014 at 1:22 PM, Mark Kettenis <mark.kettenis@xs4all.nl> wrote:
> All evidence I can find suggests that device ID 0x4c6e is the
> "secondary" device for the Radeon Mobility 9000/M9.  As such it would
> be an RV250 chip instead of RV280.  However, the radeon drm driver
> doesn't actually handle "secondary" devices.  For example, the
> (non-Mobility) Radeon 9000 with device ID 496e isn't listed.  So I
> believe this specific device ID should be removed from the list.  All
> it currently accomplishes is printing "Fatal error during GPU init"
> after the driver fails to map PCI BAR 2, which isn't there on these
> "secondary" devices.
>
> Tested (on OpenBSD) on a FireMV 2400 PCI card, which is essentially
> two Mobility M9's with a PCI-PCI bridge, and where the two 0x4c6e
> secondaries on function 1 are paired with 0x4c66 primaries on function
> 0.  Hopefully this diff can be applied to the Linux kernel as well
> such that we can keep drm_pciids.h in sync between the various OSes.
>
> Thanks,

Applied to my -fixes tree.  Thanks!

Alex

>
> Mark
>
>
> diff --git a/include/drm/drm_pciids.h b/include/drm/drm_pciids.h
> index e973540..2dd405c 100644
> --- a/include/drm/drm_pciids.h
> +++ b/include/drm/drm_pciids.h
> @@ -74,7 +74,6 @@
>         {0x1002, 0x4C64, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \
>         {0x1002, 0x4C66, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \
>         {0x1002, 0x4C67, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \
> -       {0x1002, 0x4C6E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280|RADEON_IS_MOBILITY}, \
>         {0x1002, 0x4E44, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \
>         {0x1002, 0x4E45, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \
>         {0x1002, 0x4E46, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox

Patch

diff --git a/include/drm/drm_pciids.h b/include/drm/drm_pciids.h
index e973540..2dd405c 100644
--- a/include/drm/drm_pciids.h
+++ b/include/drm/drm_pciids.h
@@ -74,7 +74,6 @@ 
 	{0x1002, 0x4C64, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \
 	{0x1002, 0x4C66, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \
 	{0x1002, 0x4C67, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \
-	{0x1002, 0x4C6E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280|RADEON_IS_MOBILITY}, \
 	{0x1002, 0x4E44, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \
 	{0x1002, 0x4E45, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \
 	{0x1002, 0x4E46, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \