Merge "disp: msm: dsi: add check for any queued DSI CMDs before clock force update"

This commit is contained in:
qctecmdr
2021-12-29 22:31:38 -08:00
gecommit door Gerrit - the friendly Code Review server
bovenliggende 17970cc74c c5c2af4297
commit 369879853c

Bestand weergeven

@@ -5381,7 +5381,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);