Commit 920173c7 authored by Dikshita Agarwal's avatar Dikshita Agarwal Committed by Mauro Carvalho Chehab

media: venus: Add num_vpp_pipes to resource structure

V6 HW can have vpp pipes as 1 or 4, add num_vpp_pipes
to resource struture to differentiate.
Signed-off-by: default avatarDikshita Agarwal <dikshita@codeaurora.org>
Signed-off-by: default avatarStanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 275ad3b3
...@@ -727,6 +727,7 @@ static const struct venus_resources sm8250_res = { ...@@ -727,6 +727,7 @@ static const struct venus_resources sm8250_res = {
.vcodec_num = 1, .vcodec_num = 1,
.max_load = 7833600, .max_load = 7833600,
.hfi_version = HFI_VERSION_6XX, .hfi_version = HFI_VERSION_6XX,
.num_vpp_pipes = 4,
.vmem_id = VIDC_RESOURCE_NONE, .vmem_id = VIDC_RESOURCE_NONE,
.vmem_size = 0, .vmem_size = 0,
.vmem_addr = 0, .vmem_addr = 0,
...@@ -778,6 +779,7 @@ static const struct venus_resources sc7280_res = { ...@@ -778,6 +779,7 @@ static const struct venus_resources sc7280_res = {
.opp_pmdomain = (const char *[]) { "cx", NULL }, .opp_pmdomain = (const char *[]) { "cx", NULL },
.vcodec_num = 1, .vcodec_num = 1,
.hfi_version = HFI_VERSION_6XX, .hfi_version = HFI_VERSION_6XX,
.num_vpp_pipes = 1,
.vmem_id = VIDC_RESOURCE_NONE, .vmem_id = VIDC_RESOURCE_NONE,
.vmem_size = 0, .vmem_size = 0,
.vmem_addr = 0, .vmem_addr = 0,
......
...@@ -68,6 +68,7 @@ struct venus_resources { ...@@ -68,6 +68,7 @@ struct venus_resources {
const char * const resets[VIDC_RESETS_NUM_MAX]; const char * const resets[VIDC_RESETS_NUM_MAX];
unsigned int resets_num; unsigned int resets_num;
enum hfi_version hfi_version; enum hfi_version hfi_version;
u8 num_vpp_pipes;
u32 max_load; u32 max_load;
unsigned int vmem_id; unsigned int vmem_id;
u32 vmem_size; u32 vmem_size;
......
...@@ -583,7 +583,7 @@ static int platform_get_bufreq(struct venus_inst *inst, u32 buftype, ...@@ -583,7 +583,7 @@ static int platform_get_bufreq(struct venus_inst *inst, u32 buftype,
return -EINVAL; return -EINVAL;
params.version = version; params.version = version;
params.num_vpp_pipes = hfi_platform_num_vpp_pipes(version); params.num_vpp_pipes = inst->core->res->num_vpp_pipes;
if (is_dec) { if (is_dec) {
params.width = inst->width; params.width = inst->width;
......
...@@ -66,16 +66,3 @@ hfi_platform_get_codec_lp_freq(enum hfi_version version, u32 codec, u32 session_ ...@@ -66,16 +66,3 @@ hfi_platform_get_codec_lp_freq(enum hfi_version version, u32 codec, u32 session_
return freq; return freq;
} }
u8 hfi_platform_num_vpp_pipes(enum hfi_version version)
{
const struct hfi_platform *plat;
plat = hfi_platform_get(version);
if (!plat)
return 0;
if (plat->num_vpp_pipes)
return plat->num_vpp_pipes();
return 0;
}
...@@ -52,7 +52,6 @@ struct hfi_platform { ...@@ -52,7 +52,6 @@ struct hfi_platform {
unsigned long (*codec_lp_freq)(u32 session_type, u32 codec); unsigned long (*codec_lp_freq)(u32 session_type, u32 codec);
void (*codecs)(u32 *enc_codecs, u32 *dec_codecs, u32 *count); void (*codecs)(u32 *enc_codecs, u32 *dec_codecs, u32 *count);
const struct hfi_plat_caps *(*capabilities)(unsigned int *entries); const struct hfi_plat_caps *(*capabilities)(unsigned int *entries);
u8 (*num_vpp_pipes)(void);
int (*bufreq)(struct hfi_plat_buffers_params *params, u32 session_type, int (*bufreq)(struct hfi_plat_buffers_params *params, u32 session_type,
u32 buftype, struct hfi_buffer_requirements *bufreq); u32 buftype, struct hfi_buffer_requirements *bufreq);
}; };
...@@ -67,5 +66,4 @@ unsigned long hfi_platform_get_codec_vsp_freq(enum hfi_version version, u32 code ...@@ -67,5 +66,4 @@ unsigned long hfi_platform_get_codec_vsp_freq(enum hfi_version version, u32 code
u32 session_type); u32 session_type);
unsigned long hfi_platform_get_codec_lp_freq(enum hfi_version version, u32 codec, unsigned long hfi_platform_get_codec_lp_freq(enum hfi_version version, u32 codec,
u32 session_type); u32 session_type);
u8 hfi_platform_num_vpp_pipes(enum hfi_version version);
#endif #endif
...@@ -322,17 +322,11 @@ static unsigned long codec_lp_freq(u32 session_type, u32 codec) ...@@ -322,17 +322,11 @@ static unsigned long codec_lp_freq(u32 session_type, u32 codec)
return 0; return 0;
} }
static u8 num_vpp_pipes(void)
{
return 4;
}
const struct hfi_platform hfi_plat_v6 = { const struct hfi_platform hfi_plat_v6 = {
.codec_vpp_freq = codec_vpp_freq, .codec_vpp_freq = codec_vpp_freq,
.codec_vsp_freq = codec_vsp_freq, .codec_vsp_freq = codec_vsp_freq,
.codec_lp_freq = codec_lp_freq, .codec_lp_freq = codec_lp_freq,
.codecs = get_codecs, .codecs = get_codecs,
.capabilities = get_capabilities, .capabilities = get_capabilities,
.num_vpp_pipes = num_vpp_pipes,
.bufreq = hfi_plat_bufreq_v6, .bufreq = hfi_plat_bufreq_v6,
}; };
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment