[Intel-gfx] [PATCH] drm/i915/backlight: Disable pps power hook for aux based backlight

Jani Nikula jani.nikula at intel.com
Tue Aug 23 14:16:27 UTC 2022


On Tue, 23 Aug 2022, Jani Nikula <jani.nikula at intel.com> wrote:
> On Mon, 22 Aug 2022, Jouni Högander <jouni.hogander at intel.com> wrote:
>> Pps power hook seems to be problematic for backlight controlled via
>> aux channel. Disable it for such cases.
>>
>> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3657
>> Signed-off-by: Jouni Högander <jouni.hogander at intel.com>
>> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
>
> Reviewed-by: Jani Nikula <jani.nikula at intel.com>

And pushed to drm-intel-next with cc: stable.

BR,
Jani.


>
>> ---
>>  drivers/gpu/drm/i915/display/intel_backlight.c | 11 ++++++++---
>>  drivers/gpu/drm/i915/display/intel_dp.c        |  2 --
>>  2 files changed, 8 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_backlight.c b/drivers/gpu/drm/i915/display/intel_backlight.c
>> index af28b143d27a..5d317a20dd0f 100644
>> --- a/drivers/gpu/drm/i915/display/intel_backlight.c
>> +++ b/drivers/gpu/drm/i915/display/intel_backlight.c
>> @@ -17,6 +17,7 @@
>>  #include "intel_dsi_dcs_backlight.h"
>>  #include "intel_panel.h"
>>  #include "intel_pci_config.h"
>> +#include "intel_pps.h"
>>  
>>  /**
>>   * scale - scale values from one range to another
>> @@ -1778,9 +1779,13 @@ void intel_backlight_init_funcs(struct intel_panel *panel)
>>  		panel->backlight.pwm_funcs = &i9xx_pwm_funcs;
>>  	}
>>  
>> -	if (connector->base.connector_type == DRM_MODE_CONNECTOR_eDP &&
>> -	    intel_dp_aux_init_backlight_funcs(connector) == 0)
>> -		return;
>> +	if (connector->base.connector_type == DRM_MODE_CONNECTOR_eDP) {
>> +		if (intel_dp_aux_init_backlight_funcs(connector) == 0)
>> +			return;
>> +
>> +		if (!(dev_priv->quirks & QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK))
>> +			connector->panel.backlight.power = intel_pps_backlight_power;
>> +	}
>>  
>>  	/* We're using a standard PWM backlight interface */
>>  	panel->backlight.funcs = &pwm_bl_funcs;
>> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
>> index 32292c0be2bd..ac90d455a7c7 100644
>> --- a/drivers/gpu/drm/i915/display/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
>> @@ -5293,8 +5293,6 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>>  
>>  	intel_panel_init(intel_connector);
>>  
>> -	if (!(dev_priv->quirks & QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK))
>> -		intel_connector->panel.backlight.power = intel_pps_backlight_power;
>>  	intel_backlight_setup(intel_connector, pipe);
>>  
>>  	intel_edp_add_properties(intel_dp);

-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the Intel-gfx mailing list