disp: msm: dp: add support for Trusted UI transitions

We add support for Trusted UI (TUI) transitions and address the
following use cases:

1. Display was active before TUI start
    - Power off on TUI start, power off on TUI stop
    - Register access not allowed after TUI start (skip all
      events except disconnect)
2. Hotplug while TUI is active
    - Connect: skip sending connect uevent
    - Disconnect: send disconnect uevent and skip any controller
      programming
3. TUI start while processing HPD High
    - Complete all connect work (and therefore any register access)
      then send connect uevent
4. Audio
    - Disable audio at TUI start and skip audio programming if TUI
      is active

Change-Id: I553e5fa9f3b8265dd0410bf2d616a9accf90605f
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
此提交包含在:
Tatenda Chipeperekwa
2020-08-12 18:56:56 -07:00
父節點 e499ddf040
當前提交 f3b2c5f89c
共有 3 個檔案被更改,包括 144 行新增11 行删除

查看文件

@@ -397,6 +397,11 @@ static int dp_audio_info_setup(struct platform_device *pdev,
return rc;
}
if (audio->dp_audio.tui_active) {
DP_DEBUG("TUI session active\n");
return 0;
}
mutex_lock(&audio->ops_lock);
audio->channels = params->num_of_channels;
@@ -495,6 +500,11 @@ static void dp_audio_teardown_done(struct platform_device *pdev)
if (IS_ERR(audio))
return;
if (audio->dp_audio.tui_active) {
DP_DEBUG("TUI session active\n");
return;
}
mutex_lock(&audio->ops_lock);
dp_audio_enable(audio, false);
mutex_unlock(&audio->ops_lock);