Merge remote-tracking branch 'quic/display-kernel.lnx.5.10' into display-kernel.lnx.5.15
* quic/display-kernel.lnx.5.10: disp: msm: sde: avoid error during fal10_veto override enablement disp: msm: update copyright description disp: msm: sde: configure dest_scaler op_mode for two independent displays disp: msm: dp: updated copyright set for 4nm target Revert "disp: msm: sde: consider max of actual and default prefill lines" disp: msm: sde: Reset backlight scale when HWC is stopped disp: msm: dp: avoid duplicate read of link status disp: msm: dsi: update vreg_ctrl settings for cape disp: msm: fail commit if drm_gem_obj was found attached to a sec CB disp: msm: dp: updated register values for 4nm target disp: msm: sde: update framedata event handling disp: msm: dsi: Add new phy comaptible string for cape disp: msm: sde: software override for fal10 in cwb enable disp: msm: update cleanup during bind failure in msm_drm_component_init disp: msm: sde: dump user input_fence info on spec fence timeout disp: msm: sde: add null pointer check for encoder current master disp: msm: dsi: enable DMA start window scheduling for broadcast commands disp: msm: sde: avoid alignment checks for linear formats disp: msm: reset thread priority work on every new run disp: msm: sde: send power on event for cont. splash disp: msm: sde: always set CTL_x_UIDLE_ACTIVE register to "1" disp: msm: use vzalloc for large allocations disp: msm: sde: Add support to limit DSC size to 10k disp: msm: sde: add tx wait during DMS for sim panel disp: msm: dsi: add check for any queued DSI CMDs before clock force update disp: msm: sde: correct pp block allocation during dcwb dither programming disp: msm: sde: avoid setting of max vblank count disp: msm: sde: add cached lut flag in sde plane disp: msm: sde: avoid use after free in msm_lastclose disp: msm: sde: update TEAR_SYNC_WRCOUNT register before vsync counter disp: msm: dsi: Support uncompressed rgb101010 format disp: msm: sde: update idle_pc_enabled flag for all encoders disp: msm: sde: flush esd work before disabling the encoder disp: msm: sde: allow qsync update along with modeset disp: msm: dp: avoid dp sw reset on disconnect path disp: msm: sde: consider max of actual and default prefill lines disp: msm: ensure vbif debugbus not in use is disabled disp: msm: sde: update cached encoder mask if required disp: msm: sde: while timing engine enabling poll for active region disp: msm: enable cache flag for dumb buffer disp: msm: sde: disable ot limit for cwb disp: msm: sde: avoid race condition at vm release disp: msm: dsi: set qsync min fps list length to zero disp: msm: sde: reset mixers in crtc when ctl datapath switches disp: msm: sde: update vm state atomic check for non-primary usecases disp: msm: sde: reset CTL_UIDLE_ACTIVE register only if uidle is disabled Change-Id: If480e7f33743eb4788549f853ba05e744ecb38d3 Signed-off-by: Narendra Muppalla <quic_nmuppall@quicinc.com>
This commit is contained in:
@@ -706,14 +706,18 @@ static void dsi_display_set_cmd_tx_ctrl_flags(struct dsi_display *display,
|
||||
/*
|
||||
* Set flags for command scheduling.
|
||||
* 1) In video mode command DMA scheduling is default.
|
||||
* 2) In command mode command DMA scheduling depends on message
|
||||
* 2) In command mode unicast command DMA scheduling depends on message
|
||||
* flag and TE needs to be running.
|
||||
* 3) In command mode broadcast command DMA scheduling is default and
|
||||
* TE needs to be running.
|
||||
*/
|
||||
if (display->panel->panel_mode == DSI_OP_VIDEO_MODE) {
|
||||
flags |= DSI_CTRL_CMD_CUSTOM_DMA_SCHED;
|
||||
} else {
|
||||
if (msg->flags & MIPI_DSI_MSG_CMD_DMA_SCHED)
|
||||
flags |= DSI_CTRL_CMD_CUSTOM_DMA_SCHED;
|
||||
if (flags & DSI_CTRL_CMD_BROADCAST)
|
||||
flags |= DSI_CTRL_CMD_CUSTOM_DMA_SCHED;
|
||||
if (!display->enabled)
|
||||
flags &= ~DSI_CTRL_CMD_CUSTOM_DMA_SCHED;
|
||||
}
|
||||
@@ -5363,7 +5367,22 @@ int dsi_display_splash_res_cleanup(struct dsi_display *display)
|
||||
|
||||
static int dsi_display_force_update_dsi_clk(struct dsi_display *display)
|
||||
{
|
||||
int rc = 0;
|
||||
int rc = 0, i = 0;
|
||||
struct dsi_display_ctrl *ctrl;
|
||||
|
||||
/*
|
||||
* The force update dsi clock, is the only clock update function that toggles the state of
|
||||
* DSI clocks without any ref count protection. With the addition of ASYNC command wait,
|
||||
* there is a need for adding a check for any queued waits before updating these clocks.
|
||||
*/
|
||||
display_for_each_ctrl(i, display) {
|
||||
ctrl = &display->ctrl[i];
|
||||
if (!ctrl->ctrl || !(ctrl->ctrl->post_tx_queued))
|
||||
continue;
|
||||
flush_workqueue(display->post_cmd_tx_workq);
|
||||
cancel_work_sync(&ctrl->ctrl->post_cmd_tx_work);
|
||||
ctrl->ctrl->post_tx_queued = false;
|
||||
}
|
||||
|
||||
rc = dsi_display_link_clk_force_update_ctrl(display->dsi_clk_handle);
|
||||
|
||||
|
Reference in New Issue
Block a user