Video: Driver: Added UBWC configuration for volcano

- Added UBWC configuration(LP4 & LP5) for volcano target.

Change-Id: I9548eab543d47a87ae5b4ea068743ce388f17540
Signed-off-by: Rajathi S <quic_rajathis@quicinc.com>
This commit is contained in:
Rajathi S
2024-03-04 13:16:31 +05:30
committed by Rajathi Srinivasan
부모 8e1f8f6e58
커밋 623ae59d11

파일 보기

@@ -2342,7 +2342,7 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_volc
/* Default UBWC config for LPDDR5 */
static struct msm_vidc_ubwc_config_data ubwc_config_volcano[] = {
UBWC_CONFIG(8, 32, 16, 0, 1, 1, 1),
UBWC_CONFIG(8, 32, 15, 0, 1, 1, 1),
};
static struct msm_vidc_format_capability format_data_volcano = {
@@ -2543,18 +2543,29 @@ static const struct msm_vidc_platform_data volcano_data_v0 = {
.sku_version = SKU_VERSION_0,
};
int msm_vidc_volcano_check_ddr_type(void)
int msm_vidc_volcano_check_ddr_type(struct msm_vidc_platform_data *platform_data,
u32 hbb_override_val)
{
u32 ddr_type;
u32 ddr_type = DDR_TYPE_LPDDR5;
ddr_type = of_fdt_get_ddrtype();
if (ddr_type != DDR_TYPE_LPDDR5 &&
ddr_type != DDR_TYPE_LPDDR5X) {
d_vpr_e("%s: wrong ddr type %d\n", __func__, ddr_type);
if (!platform_data || !platform_data->ubwc_config) {
d_vpr_e("%s: invalid params\n", __func__);
return -EINVAL;
}
d_vpr_h("%s: ddr type %d\n", __func__, ddr_type);
ddr_type = of_fdt_get_ddrtype();
if (ddr_type == -ENOENT)
d_vpr_e("Failed to get ddr type, use LPDDR5\n");
if (platform_data->ubwc_config &&
(ddr_type == DDR_TYPE_LPDDR4 ||
ddr_type == DDR_TYPE_LPDDR4X))
platform_data->ubwc_config->highest_bank_bit = hbb_override_val;
d_vpr_h("DDR Type 0x%x hbb 0x%x\n",
ddr_type, platform_data->ubwc_config ?
platform_data->ubwc_config->highest_bank_bit : -1);
return 0;
}
@@ -2596,7 +2607,7 @@ static int msm_vidc_init_data(struct msm_vidc_core *core)
return -EINVAL;
}
rc = msm_vidc_volcano_check_ddr_type();
rc = msm_vidc_volcano_check_ddr_type(&core->platform->data, 0xe);
if (rc)
return rc;