mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 01:23:56 +02:00
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: Dikshita Agarwal <dikshita@codeaurora.org> Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
275ad3b3ed
commit
920173c7cf
|
|
@ -727,6 +727,7 @@ static const struct venus_resources sm8250_res = {
|
|||
.vcodec_num = 1,
|
||||
.max_load = 7833600,
|
||||
.hfi_version = HFI_VERSION_6XX,
|
||||
.num_vpp_pipes = 4,
|
||||
.vmem_id = VIDC_RESOURCE_NONE,
|
||||
.vmem_size = 0,
|
||||
.vmem_addr = 0,
|
||||
|
|
@ -778,6 +779,7 @@ static const struct venus_resources sc7280_res = {
|
|||
.opp_pmdomain = (const char *[]) { "cx", NULL },
|
||||
.vcodec_num = 1,
|
||||
.hfi_version = HFI_VERSION_6XX,
|
||||
.num_vpp_pipes = 1,
|
||||
.vmem_id = VIDC_RESOURCE_NONE,
|
||||
.vmem_size = 0,
|
||||
.vmem_addr = 0,
|
||||
|
|
|
|||
|
|
@ -68,6 +68,7 @@ struct venus_resources {
|
|||
const char * const resets[VIDC_RESETS_NUM_MAX];
|
||||
unsigned int resets_num;
|
||||
enum hfi_version hfi_version;
|
||||
u8 num_vpp_pipes;
|
||||
u32 max_load;
|
||||
unsigned int vmem_id;
|
||||
u32 vmem_size;
|
||||
|
|
|
|||
|
|
@ -583,7 +583,7 @@ static int platform_get_bufreq(struct venus_inst *inst, u32 buftype,
|
|||
return -EINVAL;
|
||||
|
||||
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) {
|
||||
params.width = inst->width;
|
||||
|
|
|
|||
|
|
@ -66,16 +66,3 @@ hfi_platform_get_codec_lp_freq(enum hfi_version version, u32 codec, u32 session_
|
|||
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 {
|
|||
unsigned long (*codec_lp_freq)(u32 session_type, u32 codec);
|
||||
void (*codecs)(u32 *enc_codecs, u32 *dec_codecs, u32 *count);
|
||||
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,
|
||||
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
|
|||
u32 session_type);
|
||||
unsigned long hfi_platform_get_codec_lp_freq(enum hfi_version version, u32 codec,
|
||||
u32 session_type);
|
||||
u8 hfi_platform_num_vpp_pipes(enum hfi_version version);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -322,17 +322,11 @@ static unsigned long codec_lp_freq(u32 session_type, u32 codec)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static u8 num_vpp_pipes(void)
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
|
||||
const struct hfi_platform hfi_plat_v6 = {
|
||||
.codec_vpp_freq = codec_vpp_freq,
|
||||
.codec_vsp_freq = codec_vsp_freq,
|
||||
.codec_lp_freq = codec_lp_freq,
|
||||
.codecs = get_codecs,
|
||||
.capabilities = get_capabilities,
|
||||
.num_vpp_pipes = num_vpp_pipes,
|
||||
.bufreq = hfi_plat_bufreq_v6,
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user