mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
drm/i915/dsi: transmit brightness command in HS state
In Video Mode, if DSI transcoder is set to transmit packets in LP Escape mode, screen flickering would be obseved when brightness commands are continuously and quickly transmitted to a panel. The problem may be resolved by changing the mode to transmit packets from Low Power to HS. Cc: Ville Syrjala <ville.syrjala@linux.intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Vandita Kulkarni <vandita.kulkarni@intel.com> Cc: Lee Shawn C <shawn.c.lee@intel.com> Cc: Cooper Chiou <cooper.chiou@intel.com> Signed-off-by: William Tseng <william.tseng@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20211110010217.26759-1-william.tseng@intel.com
This commit is contained in:
parent
f35294e13c
commit
d1260be706
1 changed files with 4 additions and 0 deletions
|
@ -71,6 +71,7 @@ static void dcs_set_backlight(const struct drm_connector_state *conn_state, u32
|
|||
u8 data[2] = {};
|
||||
enum port port;
|
||||
size_t len = panel->backlight.max > U8_MAX ? 2 : 1;
|
||||
unsigned long mode_flags;
|
||||
|
||||
if (len == 1) {
|
||||
data[0] = level;
|
||||
|
@ -81,8 +82,11 @@ static void dcs_set_backlight(const struct drm_connector_state *conn_state, u32
|
|||
|
||||
for_each_dsi_port(port, intel_dsi->dcs_backlight_ports) {
|
||||
dsi_device = intel_dsi->dsi_hosts[port]->device;
|
||||
mode_flags = dsi_device->mode_flags;
|
||||
dsi_device->mode_flags &= ~MIPI_DSI_MODE_LPM;
|
||||
mipi_dsi_dcs_write(dsi_device, MIPI_DCS_SET_DISPLAY_BRIGHTNESS,
|
||||
&data, len);
|
||||
dsi_device->mode_flags = mode_flags;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue