video: driver: Add support for Synx V2 fences
Add Synx V2 fences support to improve latency in video decode usecases. Change-Id: If21f8b65895364a804f8e03580b09c44b377c199 Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
#include "msm_vidc_memory.h"
|
||||
#include "msm_vidc_control.h"
|
||||
#include "msm_vidc_driver.h"
|
||||
#include "msm_vidc_fence.h"
|
||||
#include "hfi_packet.h"
|
||||
#include "hfi_property.h"
|
||||
#include "venus_hfi.h"
|
||||
@@ -275,6 +276,11 @@ static int msm_vidc_init_ops(struct msm_vidc_core *core)
|
||||
d_vpr_e("%s: invalid resource ops\n", __func__);
|
||||
return -EINVAL;
|
||||
}
|
||||
core->fence_ops = get_dma_fence_ops();
|
||||
if (!core->fence_ops) {
|
||||
d_vpr_e("%s: invalid dma fence ops\n", __func__);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -322,6 +322,7 @@ static struct msm_platform_core_capability core_data_kalama[] = {
|
||||
{ENC_AUTO_FRAMERATE, 1},
|
||||
{DEVICE_CAPS, V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_META_CAPTURE |
|
||||
V4L2_CAP_STREAMING},
|
||||
{SUPPORTS_SYNX_FENCE, 0},
|
||||
{SUPPORTS_REQUESTS, 1},
|
||||
};
|
||||
|
||||
|
@@ -17,6 +17,7 @@
|
||||
#include "msm_vidc_internal.h"
|
||||
#include "msm_vidc_platform_ext.h"
|
||||
#include "msm_vidc_memory_ext.h"
|
||||
#include "msm_vidc_synx.h"
|
||||
#include "resources_ext.h"
|
||||
#include "msm_vidc_iris33.h"
|
||||
#include "hfi_property.h"
|
||||
@@ -323,6 +324,7 @@ static struct msm_platform_core_capability core_data_pineapple[] = {
|
||||
{ENC_AUTO_FRAMERATE, 1},
|
||||
{DEVICE_CAPS, V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_META_CAPTURE |
|
||||
V4L2_CAP_STREAMING},
|
||||
{SUPPORTS_SYNX_FENCE, 0}, /* disabled temporarily */
|
||||
{SUPPORTS_REQUESTS, 1},
|
||||
};
|
||||
|
||||
@@ -2819,6 +2821,12 @@ static int msm_vidc_init_data(struct msm_vidc_core *core)
|
||||
d_vpr_e("%s: invalid resource ext ops\n", __func__);
|
||||
return -EINVAL;
|
||||
}
|
||||
core->fence_ops = get_synx_fence_ops();
|
||||
if (!core->fence_ops) {
|
||||
d_vpr_e("%s: invalid synx fence ops\n", __func__);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
rc = msm_vidc_pineapple_check_ddr_type();
|
||||
if (rc)
|
||||
return rc;
|
||||
|
@@ -220,6 +220,7 @@ static struct msm_platform_core_capability core_data_pineapple[] = {
|
||||
{NON_FATAL_FAULTS, 1},
|
||||
{ENC_AUTO_FRAMERATE, 1},
|
||||
{DEVICE_CAPS, V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_STREAMING},
|
||||
{SUPPORTS_SYNX_FENCE, 0},
|
||||
{SUPPORTS_REQUESTS, 0},
|
||||
};
|
||||
|
||||
|
@@ -222,6 +222,7 @@ static struct msm_platform_core_capability core_data_waipio[] = {
|
||||
{NON_FATAL_FAULTS, 1},
|
||||
{ENC_AUTO_FRAMERATE, 1},
|
||||
{DEVICE_CAPS, V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_STREAMING},
|
||||
{SUPPORTS_SYNX_FENCE, 0},
|
||||
{SUPPORTS_REQUESTS, 0},
|
||||
};
|
||||
|
||||
|
مرجع در شماره جدید
Block a user