All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Zimmermann <tzimmermann@suse.de>
To: David Airlie <airlied@redhat.com>
Cc: John Donnelly <john.p.donnelly@oracle.com>,
	Sam Ravnborg <sam@ravnborg.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH 3/4] drm/mgag200: Add workaround for HW that does not support 'startadd'
Date: Fri, 6 Dec 2019 08:51:00 +0100	[thread overview]
Message-ID: <ea6ec169-0ea5-731f-0eba-a731a22568f8@suse.de> (raw)
In-Reply-To: <CAMwc25qxAbR1eTa5FvCjv5EDOAknT75s75zt9+etppUecQvLdw@mail.gmail.com>


[-- Attachment #1.1.1: Type: text/plain, Size: 4895 bytes --]

Hi

Am 06.12.19 um 07:50 schrieb David Airlie:
> On Fri, Dec 6, 2019 at 4:14 PM Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>
>> Hi
>>
>> Am 04.12.19 um 10:36 schrieb Dave Airlie:
>>> On Wed, 4 Dec 2019 at 17:30, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>>
>>>> Hi John
>>>>
>>>> Am 03.12.19 um 18:55 schrieb John Donnelly:
>>>>> Hi ,
>>>>>
>>>>> See below ,
>>>>>
>>>>>
>>>>>> On Nov 26, 2019, at 3:50 AM, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>>>>
>>>>>> Hi
>>>>>>
>>>>>> Am 26.11.19 um 10:37 schrieb Daniel Vetter:
>>>>>>> On Tue, Nov 26, 2019 at 08:25:44AM +0100, Thomas Zimmermann wrote:
>>>>>>>> There's at least one system that does not interpret the value of
>>>>>>>> the device's 'startadd' field correctly, which leads to incorrectly
>>>>>>>> displayed scanout buffers. Always placing the active scanout buffer
>>>>>>>> at offset 0 works around the problem.
>>>>>>>>
>>>>>>>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>>>>>>>> Reported-by: John Donnelly <john.p.donnelly@oracle.com>
>>>>>>>> Link: https://gitlab.freedesktop.org/drm/misc/issues/7
>>>>>>>
>>>>>>> Tested-by: John Donnelly <john.p.donnelly@oracle.com>
>>>>>>>
>>>>>>> (Not quite this patch, but pretty much the logic, so counts).
>>>>>>>
>>>>>>> Fixes: 81da87f63a1e ("drm: Replace drm_gem_vram_push_to_system() with kunmap + unpin")
>>>>>>> Cc: <stable@vger.kernel.org> # v5.3+
>>>>>>>
>>>>>>> Also you need the stable line on both prep patches too. For next time
>>>>>>> around,
>>>>>>>
>>>>>>> $ dim fixes 81da87f63a1e
>>>>>>>
>>>>>>> will generate all the stuff you need, including a good set of suggested
>>>>>>> Cc: you should have.
>>>>>>>
>>>>>>> On the first 3 patches, with all that stuff added:
>>>>>>>
>>>>>>> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>>>>>>
>>>>>> Thanks for the review.
>>>>>>
>>>>>> Sorry for leaving out some of the tags. I wanted to wait for feedback
>>>>>> before adding tested-by, fixes, stable. I'll split off patch 4 from the
>>>>>> series and get 1 to 3 merged ASAP.
>>>>>>
>>>>>> Best regards
>>>>>> Thomas
>>>>>>
>>>>>>>
>>>>>>> Please push these to drm-misc-next-fixes so they get backported as quickly
>>>>>>> as possible.
>>>>>>> -Daniel
>>>>>>>
>>>>>>>> ---
>>>>>>>> drivers/gpu/drm/mgag200/mgag200_drv.c | 36 ++++++++++++++++++++++++++-
>>>>>>>> drivers/gpu/drm/mgag200/mgag200_drv.h |  3 +++
>>>>>>>> 2 files changed, 38 insertions(+), 1 deletion(-)
>>>>>>>>
>>>>>>>> diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c
>>>>>>>> index 397f8b0a9af8..d43951caeea0 100644
>>>>>>>> --- a/drivers/gpu/drm/mgag200/mgag200_drv.c
>>>>>>>> +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c
>>>>>>>> @@ -30,6 +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,
>>>>>>>> +          G200_SE_A | MGAG200_FLAG_HW_BUG_NO_STARTADD},
>>>>>
>>>>>
>>>>>
>>>>> I will have an additional list of vendor IDs (0x4852)  I will provide in a follow up patch shortly .  This fixes only 1 flavor  of server.
>>>>
>>>> Thank you for all the testing you do. We can add these ids as necessary.
>>>>
>>>> Before, I posted a patch at [1] that prints an internal unique id. The
>>>> id of your original test machine was 0x2 IIRC.
>>>>
>>>> My guess is that the problem might be related to the chip's revision. If
>>>> you have the option of booting your own kernels on all these machines,
>>>> could you apply the patch and look for a pattern in these ids? Maybe
>>>> only revision 0x2 is affected.
>>>>
>>>
>>> I've got an old bug I never got around to that has a comment from Matrox
>>>
>>> "The issue is reproducible with G200e chip. The device ID is 0x0522."
>>>
>>> so it might be a broader problem than we think.
>>
>> Did they tell you a subvendor id? John reported that the internal
>> revision id differs among affected machines. I'm thinking about flagging
>> either Sun devices or all 0x0522 devices as broken.
> 
> Well it was from Matrox themselves, so they are the vendor ID, it
> didn't sounds like subvendor mattered, though I expect the problem is
> the BMC firmware anyways, not sure if we can even know what ths is.

OK, thanks. I'll prepare a patch to flag all 0x0522 machines.

Best regards
Thomas

> 
> Dave.
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2019-12-06  7:51 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-26  7:25 [PATCH 0/4] drm/mgag200: Workaround HW bug with non-0 offset Thomas Zimmermann
2019-11-26  7:25 ` [PATCH 1/4] drm/mgag200: Extract device type from flags Thomas Zimmermann
2019-11-26  7:25 ` [PATCH 2/4] drm/mgag200: Store flags from PCI driver data in device structure Thomas Zimmermann
2019-11-26  7:25 ` [PATCH 3/4] drm/mgag200: Add workaround for HW that does not support 'startadd' Thomas Zimmermann
2019-11-26  9:37   ` Daniel Vetter
2019-11-26  9:50     ` Thomas Zimmermann
2019-12-03 17:55       ` John Donnelly
2019-12-04  7:30         ` Thomas Zimmermann
2019-12-04  9:36           ` Dave Airlie
2019-12-06  6:14             ` Thomas Zimmermann
2019-12-06  6:50               ` David Airlie
2019-12-06  7:51                 ` Thomas Zimmermann [this message]
2019-11-26  7:25 ` [PATCH 4/4] drm/mgag200: Add module parameter to pin all buffers at offset 0 Thomas Zimmermann
2019-11-26  9:38   ` Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ea6ec169-0ea5-731f-0eba-a731a22568f8@suse.de \
    --to=tzimmermann@suse.de \
    --cc=airlied@redhat.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=john.p.donnelly@oracle.com \
    --cc=kraxel@redhat.com \
    --cc=sam@ravnborg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.