video: driver: Introduce SUPPORTS_REQUESTS cap

Introduce SUPPORTS_REQUESTS cap to have different caps support
for upstream and downstream driver.

Change-Id: Ib8bae21ba3fa6d65236954e0728fa30e20d7b375
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
Цей коміт міститься в:
Akshata Sahukar
2022-09-13 14:29:18 -07:00
джерело e072a88b28
коміт b1dfbad4a4
6 змінених файлів з 10 додано та 1 видалено

Переглянути файл

@@ -84,6 +84,7 @@ static struct msm_platform_core_capability core_data_anorak[] = {
{MMRM, 0},
{DEVICE_CAPS, V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_META_CAPTURE |
V4L2_CAP_STREAMING},
{SUPPORTS_REQUESTS, 1},
};
static struct msm_platform_inst_capability instance_cap_data_anorak[] = {

Переглянути файл

@@ -220,6 +220,7 @@ static struct msm_platform_core_capability core_data_kalama[] = {
{NON_FATAL_FAULTS, 1},
{ENC_AUTO_FRAMERATE, 1},
{DEVICE_CAPS, V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_STREAMING},
{SUPPORTS_REQUESTS, 0},
};
static struct msm_platform_inst_capability instance_cap_data_kalama[] = {

Переглянути файл

@@ -318,6 +318,7 @@ static struct msm_platform_core_capability core_data_kalama[] = {
{MMRM, 1},
{DEVICE_CAPS, V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_META_CAPTURE |
V4L2_CAP_STREAMING},
{SUPPORTS_REQUESTS, 1},
};
static struct msm_platform_inst_capability instance_cap_data_kalama[] = {

Переглянути файл

@@ -81,6 +81,7 @@ static struct msm_platform_core_capability core_data_waipio[] = {
{MMRM, 1},
{DEVICE_CAPS, V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_META_CAPTURE |
V4L2_CAP_STREAMING},
{SUPPORTS_REQUESTS, 1},
};
static struct msm_platform_inst_capability instance_cap_data_waipio[] = {

Переглянути файл

@@ -372,6 +372,7 @@ enum msm_vidc_core_capability_type {
ENC_AUTO_FRAMERATE,
MMRM,
DEVICE_CAPS,
SUPPORTS_REQUESTS,
CORE_CAP_MAX,
};

Переглянути файл

@@ -4262,8 +4262,12 @@ static int m2m_queue_init(void *priv, struct vb2_queue *src_vq,
return -EINVAL;
}
core = inst->core;
if (!core->capabilities) {
d_vpr_e("%s: invalid core capabilities\n", __func__);
return -EINVAL;
}
src_vq->supports_requests = 1;
src_vq->supports_requests = core->capabilities[SUPPORTS_REQUESTS].value;
src_vq->lock = &inst->request_lock;
src_vq->dev = &core->pdev->dev;
rc = vb2q_init(inst, src_vq, INPUT_MPLANE);