The original implementation was 47356eb67285 in Sep 17, 2001. The condition 
can't be replicated for now. 

The condition for invalid brightness level includes the minimum available 
value. It does not make sense. I've added the new condition in rev #5. Please 
consider if the condition is workable.

-       if (panel->backlight.level <= panel->backlight.min) {
+       if (panel->backlight.level < panel->backlight.min) {

Thanks,
Gareth

-----Original Message-----
From: Ville Syrjälä <ville.syrj...@linux.intel.com> 
Sent: Friday, March 15, 2024 7:03 PM
To: Jani Nikula <jani.nik...@linux.intel.com>
Cc: Yu, Gareth <gareth...@intel.com>; intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915/display: Fixed a screen flickering when turning 
on display from off

On Wed, Mar 06, 2024 at 12:19:42PM +0200, Jani Nikula wrote:
> On Wed, 06 Mar 2024, gareth...@intel.com wrote:
> > From: Gareth Yu <gareth...@intel.com>
> >
> > Turn on the panel from zero brightness of the last state, the panel 
> > was set a maximum PWM in the flow. Once the panel initialization is 
> > completed, the backlight is restored to zero brightness. There is a 
> > flckering generated.
> 
> Please be more precise in describing what exactly happens and when. 
> Driver probe? Modeset? What restores backlight to zero brightness?
> 
> Better yet, please file a bug at fdo gitlab, attach full dmesg with 
> debugs, etc.
> 
> Before we had the concept of minimum brightness, the minimum was 
> always 0. And the check was:
> 
>       if (level == 0)
>               level = max;
> 
> Historically, the point was, if you're enabling the display and 
> backlight, you don't want it to be at 0 brightness, because for most 
> displays that means a black screen.

I think that hack was originally added becaue some silly userspace thingy was 
setting the backlight level to 0 on suspend/etc. and then forgetting to restore 
it back to a sane value afterwards. Dunno if that nonsense behaviour still 
persists to this day.

--
Ville Syrjälä
Intel

Reply via email to