disp: msm: sde: Add LTM sw fuse check support
Add checks for LTM sw fuse value to only install the LTM properties when the LTM sw fuse is set to enable. Change-Id: I6876bfcf12ddb912e7b7a80e07c33108fd4b85b9 Signed-off-by: Ping Li <pingli@codeaurora.org>
此提交包含在:
@@ -1691,6 +1691,11 @@ static void _sde_kms_hw_destroy(struct sde_kms *sde_kms,
|
||||
msm_iounmap(pdev, sde_kms->sid);
|
||||
sde_kms->sid = NULL;
|
||||
|
||||
if (sde_kms->sw_fuse)
|
||||
msm_iounmap(pdev, sde_kms->sw_fuse);
|
||||
sde_hw_sw_fuse_destroy(sde_kms->sw_fuse);
|
||||
sde_kms->sw_fuse = NULL;
|
||||
|
||||
if (sde_kms->reg_dma)
|
||||
msm_iounmap(pdev, sde_kms->reg_dma);
|
||||
sde_kms->reg_dma = NULL;
|
||||
@@ -3095,6 +3100,19 @@ static int _sde_kms_hw_init_ioremap(struct sde_kms *sde_kms,
|
||||
if (rc)
|
||||
SDE_ERROR("dbg base register sid failed: %d\n", rc);
|
||||
|
||||
sde_kms->sw_fuse = msm_ioremap(platformdev, "swfuse_phys",
|
||||
"swfuse_phys");
|
||||
if (IS_ERR(sde_kms->sw_fuse)) {
|
||||
sde_kms->sw_fuse = NULL;
|
||||
SDE_DEBUG("sw_fuse is not defined");
|
||||
} else {
|
||||
sde_kms->sw_fuse_len = msm_iomap_size(platformdev,
|
||||
"swfuse_phys");
|
||||
rc = sde_dbg_reg_register_base("sw_fuse", sde_kms->sw_fuse,
|
||||
sde_kms->sw_fuse_len);
|
||||
if (rc)
|
||||
SDE_ERROR("dbg base register sw_fuse failed: %d\n", rc);
|
||||
}
|
||||
error:
|
||||
return rc;
|
||||
}
|
||||
@@ -3279,6 +3297,17 @@ static int _sde_kms_hw_init_blocks(struct sde_kms *sde_kms,
|
||||
goto perf_err;
|
||||
}
|
||||
|
||||
if (sde_kms->sw_fuse) {
|
||||
sde_kms->hw_sw_fuse = sde_hw_sw_fuse_init(sde_kms->sw_fuse,
|
||||
sde_kms->sw_fuse_len, sde_kms->catalog);
|
||||
if (IS_ERR(sde_kms->hw_sw_fuse)) {
|
||||
SDE_ERROR("failed to init sw_fuse %ld\n",
|
||||
PTR_ERR(sde_kms->hw_sw_fuse));
|
||||
sde_kms->hw_sw_fuse = NULL;
|
||||
}
|
||||
} else {
|
||||
sde_kms->hw_sw_fuse = NULL;
|
||||
}
|
||||
/*
|
||||
* _sde_kms_drm_obj_init should create the DRM related objects
|
||||
* i.e. CRTCs, planes, encoders, connectors and so forth
|
||||
|
新增問題並參考
封鎖使用者