Flaky brightness on Renoir

Alex Deucher alexdeucher at gmail.com
Wed May 27 22:35:17 UTC 2020


On Wed, May 27, 2020 at 6:30 PM Alexander Monakov <amonakov at ispras.ru> wrote:
>
> Hey,
>
> note that the driver does not call dmcu_load_iram on Renoir, as dm_late_init has
>
>     /* todo will enable for navi10 */
>     if (adev->asic_type <= CHIP_RAVEN) {
>         ret = dmcu_load_iram(dmcu, params);
>
> and there's no other callsite for dmcu_load_iram.
>
> Why is it necessary anyway? The driver seems to have perfectly working direct
> programming for PWM registers, so why the extra complications with brightness
> control via a microcontroller middleman?

The display guys can correct me if I'm wrong, but I believe it's
mainly for power savings.  I.e., the microcontroller can dynamically
adjust the backlight levels and gamma to save power while still having
the same apparent brightness.

Alex

>
> Thanks.
> Alexander
>
> On Wed, 20 May 2020, Koo, Anthony wrote:
>
> > [AMD Official Use Only - Internal Distribution Only]
> >
> > It's touching around that area, but just the endian-ness change itself would not cause the boot-to-boot variation observed here. But it could cause broken backlight behavior.
> >
> > I also don't know what driver is being tested, so I don't know other details like whether we are using DMUB on this system.
> > But in general, I would try to check out whether those parameters look like they are loaded correctly.
> >
> > Thanks,
> > Anthony
> >
> > -----Original Message-----
> > From: Wentland, Harry <Harry.Wentland at amd.com>
> > Sent: Wednesday, May 20, 2020 6:08 PM
> > To: Koo, Anthony <Anthony.Koo at amd.com>; Wentland, Harry <Harry.Wentland at amd.com>; Alex Deucher <alexdeucher at gmail.com>; Alexander Monakov <amonakov at ispras.ru>; Kazlauskas, Nicholas <Nicholas.Kazlauskas at amd.com>; Li, Sun peng (Leo) <Sunpeng.Li at amd.com>
> > Cc: amd-gfx list <amd-gfx at lists.freedesktop.org>; Deucher, Alexander <Alexander.Deucher at amd.com>; Chiu, Michael <Michael.Chiu at amd.com>
> > Subject: Re: Flaky brightness on Renoir
> >
> > On 2020-05-20 6:03 p.m., Koo, Anthony wrote:
> > > [AMD Official Use Only - Internal Distribution Only]
> > >
> > > Hi Harry,
> > >
> > > It does sound like a firmware issue.
> > > I think we will need to do some investigation here. I would be curious if this is a driver regression or just never worked (not sure how new the driver being tested is).
> > >
> > > This point below seems to indicate the firmware might be using some uninitialized values in some if its calculations.
> > > Typically these value would be things like backlight characteristic curves that are passed to the firmware via a table generated in the power helpers file, and programmed in our dc code.
> >
> > Do you think this could be related to Wyatt's endian-ness fixes?
> >
> > Harry
> >
> > > I'm not 100% sure this is the problem, but it could be something we can take a look at from dmcu_load_iram.
> > >>> There's a bugreport on the tracker from a person with the same
> > >>> laptop model as mine that says that the threshold may vary from boot to boot.
> > >
> > > Thanks,
> > > Anthony
> > >
> > > -----Original Message-----
> > > From: Wentland, Harry <Harry.Wentland at amd.com>
> > > Sent: Wednesday, May 20, 2020 5:53 PM
> > > To: Alex Deucher <alexdeucher at gmail.com>; Alexander Monakov
> > > <amonakov at ispras.ru>; Kazlauskas, Nicholas
> > > <Nicholas.Kazlauskas at amd.com>; Li, Sun peng (Leo) <Sunpeng.Li at amd.com>
> > > Cc: amd-gfx list <amd-gfx at lists.freedesktop.org>; Deucher, Alexander
> > > <Alexander.Deucher at amd.com>; Chiu, Michael <Michael.Chiu at amd.com>;
> > > Koo, Anthony <Anthony.Koo at amd.com>
> > > Subject: Re: Flaky brightness on Renoir
> > >
> > > We've seen similar problems internally.
> > >
> > > Michael, does this "fix" your issue?
> > >
> > > Anthony, looks like smooth_brightness is problematic on (some) renoir systems. Thoughts?
> > >
> > > Thanks,
> > > Harry
> > >
> > > On 2020-05-20 5:47 p.m., Alex Deucher wrote:
> > >> Adding some display people.
> > >>
> > >> On Wed, May 20, 2020 at 5:46 PM Alexander Monakov <amonakov at ispras.ru> wrote:
> > >>>
> > >>> Hello,
> > >>>
> > >>> I have a laptop with the recent Renoir SoC. Screen brightness is
> > >>> controlled via the amdgpu driver. Unfortunately it doesn't work
> > >>> properly: brightness doesn't go below a certain threshold. In one
> > >>> experiment I've found the threshold to be about 95 (of 255), which
> > >>> is quite high.
> > >>>
> > >>> There's a bugreport on the tracker from a person with the same
> > >>> laptop model as mine that says that the threshold may vary from boot to boot.
> > >>>
> > >>> So far I was able to find a workaround: avoiding
> > >>> dmcu_set_backlight_level like in the patch below gives more reliable
> > >>> backlight control (but at the expense of breaking "actual_brightness"
> > >>> sysfs file, because it reads from DMCU registers).
> > >>>
> > >>> What might be the problem and can I help investigate this further?
> > >>> Would really like to see this work properly.
> > >>>
> > >>> Alexander
> > >>>
> > >>> diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
> > >>> b/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
> > >>> index b8a3fc505c9b..3274b0d15893 100644
> > >>> --- a/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
> > >>> +++ b/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
> > >>> @@ -428,7 +428,7 @@ static bool dce_abm_set_backlight_level_pwm(
> > >>>                         backlight_pwm_u16_16, backlight_pwm_u16_16);
> > >>>
> > >>>         /* If DMCU is in reset state, DMCU is uninitialized */
> > >>> -       if (use_smooth_brightness)
> > >>> +       if (0 && use_smooth_brightness)
> > >>>                 dmcu_set_backlight_level(abm_dce,
> > >>>                                 backlight_pwm_u16_16,
> > >>>                                 frame_ramp,
> > >>> _______________________________________________
> > >>> amd-gfx mailing list
> > >>> amd-gfx at lists.freedesktop.org
> > >>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
> >


More information about the amd-gfx mailing list