mirror of
https://github.com/torvalds/linux.git
synced 2026-09-24 06:24:02 +02:00
drm/msm: Switch to generic PAS TZ APIs
Switch drm/msm client drivers over to generic PAS TZ APIs. Generic PAS TZ service allows to support multiple TZ implementation backends like QTEE based SCM PAS service, OP-TEE based PAS service and any further future TZ backend service. Acked-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> Tested-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> # Lemans Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260702115835.167602-9-sumit.garg@kernel.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
parent
d19a46f7ed
commit
0be72be03c
|
|
@ -21,6 +21,7 @@ config DRM_MSM
|
|||
select SHMEM
|
||||
select TMPFS
|
||||
select QCOM_SCM
|
||||
select QCOM_PAS
|
||||
select QCOM_UBWC_CONFIG
|
||||
select WANT_DEV_COREDUMP
|
||||
select SND_SOC_HDMI_CODEC if SND_SOC
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/cpumask.h>
|
||||
#include <linux/firmware/qcom/qcom_scm.h>
|
||||
#include <linux/firmware/qcom/qcom_pas.h>
|
||||
#include <linux/pm_opp.h>
|
||||
#include <linux/nvmem-consumer.h>
|
||||
#include <linux/slab.h>
|
||||
|
|
@ -653,7 +653,7 @@ static int a5xx_zap_shader_resume(struct msm_gpu *gpu)
|
|||
if (adreno_is_a506(adreno_gpu))
|
||||
return 0;
|
||||
|
||||
ret = qcom_scm_set_remote_state(SCM_GPU_ZAP_SHADER_RESUME, GPU_PAS_ID);
|
||||
ret = qcom_pas_set_remote_state(SCM_GPU_ZAP_SHADER_RESUME, GPU_PAS_ID);
|
||||
if (ret)
|
||||
DRM_ERROR("%s: zap-shader resume failed: %d\n",
|
||||
gpu->name, ret);
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include <linux/ascii85.h>
|
||||
#include <linux/interconnect.h>
|
||||
#include <linux/firmware/qcom/qcom_pas.h>
|
||||
#include <linux/firmware/qcom/qcom_scm.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/of_reserved_mem.h>
|
||||
|
|
@ -146,10 +147,10 @@ static int zap_shader_load_mdt(struct msm_gpu *gpu, const char *fwname,
|
|||
goto out;
|
||||
|
||||
/* Send the image to the secure world */
|
||||
ret = qcom_scm_pas_auth_and_reset(pasid);
|
||||
ret = qcom_pas_auth_and_reset(pasid);
|
||||
|
||||
/*
|
||||
* If the scm call returns -EOPNOTSUPP we assume that this target
|
||||
* If the pas call returns -EOPNOTSUPP we assume that this target
|
||||
* doesn't need/support the zap shader so quietly fail
|
||||
*/
|
||||
if (ret == -EOPNOTSUPP)
|
||||
|
|
@ -175,9 +176,9 @@ int adreno_zap_shader_load(struct msm_gpu *gpu, u32 pasid)
|
|||
if (!zap_available)
|
||||
return -ENODEV;
|
||||
|
||||
/* We need SCM to be able to load the firmware */
|
||||
if (!qcom_scm_is_available()) {
|
||||
DRM_DEV_ERROR(&pdev->dev, "SCM is not available\n");
|
||||
/* We need PAS to be able to load the firmware */
|
||||
if (!qcom_pas_is_available()) {
|
||||
DRM_DEV_ERROR(&pdev->dev, "PAS is not available\n");
|
||||
return -EPROBE_DEFER;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user