drm/mgag200: Flag all G200 SE A machines as broken wrt <startadd>
diff mbox series

Message ID 20191206081901.9938-1-tzimmermann@suse.de
State New
Headers show
Series
  • drm/mgag200: Flag all G200 SE A machines as broken wrt <startadd>
Related show

Commit Message

Thomas Zimmermann Dec. 6, 2019, 8:19 a.m. UTC
Several MGA G200 SE machines don't respect the value of the startadd
register field. After more feedback on affected machines, neither PCI
subvendor ID nor the internal ID seem to hint towards the bug. All
affected machines have a PCI ID of 0x0522 (i.e., G200 SE A). It was
decided to flag all G200 SE A machines as broken.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 1591fadf857c ("drm/mgag200: Add workaround for HW that does not support 'startadd'")
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: John Donnelly <john.p.donnelly@oracle.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: David Airlie <airlied@linux.ie>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: "Y.C. Chen" <yc_chen@aspeedtech.com>
Cc: Neil Armstrong <narmstrong@baylibre.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "José Roberto de Souza" <jose.souza@intel.com>
Cc: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Cc: dri-devel@lists.freedesktop.org
Cc: <stable@vger.kernel.org> # v5.3+
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Allison Randal <allison@lohutok.net>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Noralf Trønnes" <noralf@tronnes.org>
---
 drivers/gpu/drm/mgag200/mgag200_drv.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Gerd Hoffmann Dec. 6, 2019, 10:04 a.m. UTC | #1
> Several MGA G200 SE machines don't respect the value of the startadd
> register field. After more feedback on affected machines, neither PCI
> subvendor ID nor the internal ID seem to hint towards the bug. All
> affected machines have a PCI ID of 0x0522 (i.e., G200 SE A). It was
> decided to flag all G200 SE A machines as broken.

> -	{ PCI_VENDOR_ID_MATROX, 0x522, PCI_VENDOR_ID_SUN, 0x4852, 0, 0,
> +	{ PCI_VENDOR_ID_MATROX, 0x522, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
>  		G200_SE_A | MGAG200_FLAG_HW_BUG_NO_STARTADD},
> -	{ PCI_VENDOR_ID_MATROX, 0x522, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_SE_A },

Acked-by: Gerd Hoffmann <kraxel@redhat.com>

cheers,
  Gerd
John Donnelly Dec. 6, 2019, 6:30 p.m. UTC | #2
> On Dec 6, 2019, at 4:04 AM, Gerd Hoffmann <kraxel@redhat.com> wrote:
> 
>> Several MGA G200 SE machines don't respect the value of the startadd
>> register field. After more feedback on affected machines, neither PCI
>> subvendor ID nor the internal ID seem to hint towards the bug. All
>> affected machines have a PCI ID of 0x0522 (i.e., G200 SE A). It was
>> decided to flag all G200 SE A machines as broken.
> 
>> -	{ PCI_VENDOR_ID_MATROX, 0x522, PCI_VENDOR_ID_SUN, 0x4852, 0, 0,
>> +	{ PCI_VENDOR_ID_MATROX, 0x522, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
>> 		G200_SE_A | MGAG200_FLAG_HW_BUG_NO_STARTADD},
>> -	{ PCI_VENDOR_ID_MATROX, 0x522, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_SE_A },
> 
> Acked-by: Gerd Hoffmann <kraxel@redhat.com>



Tested-by: John Donnelly <John.p.donnelly@oracle.com>



This series of commits appear to resolve the display issue  in 5.4.-rc8 as reported in :

https://gitlab.freedesktop.org/drm/misc/issues/7


52ca22daadbb 2019-12-06 | drm/mgag200: Flag all G200 SE A machines as broken wrt <startadd>
e0f1a41a45b3 2019-12-06 | drm/mgag200: Add workaround for HW that does not support 'startadd'
11a219a38f2d 2019-12-06 | drm/mgag200: Store flags from PCI driver data in device structure
a23512ace008 2019-12-06 | drm/mgag200: Extract device type from flags

There is one commit I did  not apply :

[PATCH v2] drm/mgag200: Add module parameter to pin all buffers at offset 0

I don’t see a need for that now since we using the PCI-ID of 0x522 for the fix.  



> 
> cheers,
>  Gerd
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.freedesktop.org_mailman_listinfo_dri-2Ddevel&d=DwIGaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=t2fPg9D87F7D8jm0_3CG9yoiIKdRg4qc_thBw4bzMhc&m=cFYmB62lgH3WoOWZuvgMKjsgMXQUscmrypDlQhYpF_E&s=21ZEZohFZBQsEr5bo3sS4pMpCf2ca5KXFJq5X3XUzQw&e=

Patch
diff mbox series

diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c
index 30b3b827adf8..9f4f5f071add 100644
--- a/drivers/gpu/drm/mgag200/mgag200_drv.c
+++ b/drivers/gpu/drm/mgag200/mgag200_drv.c
@@ -30,9 +30,8 @@  module_param_named(modeset, mgag200_modeset, int, 0400);
 static struct drm_driver driver;
 
 static const struct pci_device_id pciidlist[] = {
-	{ PCI_VENDOR_ID_MATROX, 0x522, PCI_VENDOR_ID_SUN, 0x4852, 0, 0,
+	{ PCI_VENDOR_ID_MATROX, 0x522, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
 		G200_SE_A | MGAG200_FLAG_HW_BUG_NO_STARTADD},
-	{ PCI_VENDOR_ID_MATROX, 0x522, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_SE_A },
 	{ PCI_VENDOR_ID_MATROX, 0x524, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_SE_B },
 	{ PCI_VENDOR_ID_MATROX, 0x530, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_EV },
 	{ PCI_VENDOR_ID_MATROX, 0x532, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_WB },