mgag200 broken on kernel-6.0-rc3 on DELL/T620

Wang Yugui wangyugui at e16-tech.com
Tue Sep 13 15:15:22 UTC 2022


Hi,

> Hi
> 
> Am 13.09.22 um 16:25 schrieb Wang Yugui:
> > Hi,
> >
> >> Hi
> >>
> >> Am 07.09.22 um 06:16 schrieb Wang Yugui:
> >>> Hi,
> >>>
> >>>> Am 02.09.22 um 07:52 schrieb Wang Yugui:
> >>>>> Hi,
> >>>>>
> >>>>> mgag200 broken on kernel-6.0-rc3 on DELL/T620.
> >>>>>
> >>>>> See the attachementment file for the graph output.
> >>>>
> >>>> Thanks for reporting the bug. We recently refactored some code of the driver. Can you bisect to the change that introduced the problem?
> >>>
> >>> 5.19.3 works well on this DELL/T620.
> >>>
> >>> so this problem should be a regression of 6.0.
> >>>
> >>> other bisect seem difficult for me.
> >>
> >> I looked for changes between 5.19 and 6.0-rc3 that could affect G200ER specifically, but could not find anything. It would help if I'd know the first broken commit. Is there any chance that you get the git bisecting to work?
> >>
> >> The commands should be
> >>
> >>     git bisect reset
> >>     git bisect start v6.0-rc3 v5.19
> >
> > A dirty patch(below) works well.  but we need a final fix.
> >
> > # git diff
> > diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/mgag200_mode.c
> > index 225cca2ed60e..cd976baa2f44 100644
> > --- a/drivers/gpu/drm/mgag200/mgag200_mode.c
> > +++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
> > @@ -1070,7 +1070,7 @@ int mgag200_modeset_init(struct mga_device *mdev, resource_size_t vram_available
> >
> >          dev->mode_config.max_width = MGAG200_MAX_FB_WIDTH;
> >          dev->mode_config.max_height = MGAG200_MAX_FB_HEIGHT;
> > -       dev->mode_config.preferred_depth = 24;
> > +       dev->mode_config.preferred_depth = 16;
> >          dev->mode_config.fb_base = mdev->vram_res->start;
> >          dev->mode_config.funcs = &mgag200_mode_config_funcs;
> >
> > I firstly tried to build whole kernel base on
> > c577b2f43e80 drm/mgag200: Enable atomic gamma lut update
> > d45e32c9d98c drm/mgag200: Call mgag200_device_probe_vram() from
> > per-model init
> >
> > both failed to boot, so failed to test mgag200 driver.
> >
> > so I tried to revert patch of mgag200 driver in batch of 2 or 3, the I
> > noticed the patch 'Subject: drm/mgag200: Remove special case for G200SE
> > with <2 MiB' and then tried this dirty fix.
> 
> Oh, great work! Thank you. From looking at the screenshot that you provided, it seems as if the 24-bit mode setting is broken. I'm not sure why the G200SE workaround applies to a G200ER, but we'll see.

I tested 'preferred_depth = 32' too. it works on T630 too.

so both 16 and 32 work, but 24 failed on DELL/T630.

diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c
b/drivers/gpu/drm/mgag200/mgag200_mode.c
index 225cca2ed60e..563e3ab05fbc 100644
--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
@@ -1070,7 +1070,7 @@ int mgag200_modeset_init(struct mga_device *mdev, resource_size_t vram_available

        dev->mode_config.max_width = MGAG200_MAX_FB_WIDTH;
        dev->mode_config.max_height = MGAG200_MAX_FB_HEIGHT;
-       dev->mode_config.preferred_depth = 24;
+       dev->mode_config.preferred_depth = 32;
        dev->mode_config.fb_base = mdev->vram_res->start;
        dev->mode_config.funcs = &mgag200_mode_config_funcs;

Best Regards
Wang Yugui (wangyugui at e16-tech.com)
2022/09/13





More information about the dri-devel mailing list