Skip to content

Commit

Permalink
drm/i915/backlight: Disable pps power hook for aux based backlight
Browse files Browse the repository at this point in the history
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
Cc: [email protected]
Signed-off-by: Jouni Högander <[email protected]>
Signed-off-by: Jani Nikula <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
  • Loading branch information
hogander authored and jnikula committed Aug 23, 2022
1 parent 361c6e3 commit 869e3bb
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
11 changes: 8 additions & 3 deletions drivers/gpu/drm/i915/display/intel_backlight.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -1772,9 +1773,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;
Expand Down
2 changes: 0 additions & 2 deletions drivers/gpu/drm/i915/display/intel_dp.c
Original file line number Diff line number Diff line change
Expand Up @@ -5303,8 +5303,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);
Expand Down

0 comments on commit 869e3bb

Please sign in to comment.