disp: msm: sde: reserve resources on trusted vm usecase start

The MEM & IRQ lend handlers signals the resources
are lent from the primary VM. Reserve the SDE HW
resources in trusted VM using the cont-splash path
and setup the SDE & DRM software states. Set the
DSI connector status to active for the handoff
display during the start and disable it at the end
of the session.

Change-Id: I75b6df735eb5609cc521808aca0ddfb0b3993e84
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
此提交包含在:
Veera Sundaram Sankaran
2020-04-04 20:45:08 -07:00
提交者 Gerrit - the friendly Code Review server
父節點 7bb6e30418
當前提交 96438460c6
共有 3 個檔案被更改,包括 101 行新增1 行删除

查看文件

@@ -69,6 +69,7 @@ void sde_vm_irq_lend_notification_handler(void *req, enum hh_irq_label label)
struct sde_vm_irq_entry irq_temp, *found = NULL;
struct irq_data *exp_irq_data, *acc_irq_data;
int accepted_irq, expected_irq;
int rc;
if (!req) {
SDE_ERROR("invalid data on lend notification\n");
@@ -121,6 +122,10 @@ void sde_vm_irq_lend_notification_handler(void *req, enum hh_irq_label label)
exp_irq_data->hwirq);
atomic_inc(&sde_vm->base.n_irq_lent);
rc = sde_kms_vm_trusted_resource_init(sde_kms);
if (rc)
SDE_ERROR("vm resource init failed\n");
end:
mutex_unlock(&sde_vm->base.vm_res_lock);
}
@@ -186,6 +191,10 @@ static void sde_vm_mem_lend_notification_handler(enum hh_mem_notifier_tag tag,
SDE_INFO("mem accept succeeded for tag: %d label: %d\n", tag,
payload->label);
rc = sde_kms_vm_trusted_resource_init(sde_kms);
if (rc)
SDE_ERROR("vm resource init failed\n");
accept_fail:
kfree(acl_desc);
acl_fail: