Update input, output and crop resolution based in client provided
resolution on input port as per the v4l2 compliance test expectation.
Change-Id: I56f197d72cc132f38c00842b28b23b20c508cf23
Signed-off-by: Maheshwar Ajja <quic_majja@quicinc.com>
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
- Introduce V4L2_EVENT_VIDC_METADATA to post fence fd returned in
ETB metadata done buffer.
- V4L2_CID_MPEG_VIDC_SW_FENCE_FD g_ctrl support for client to get
fence fd for requested fence id.
- Addition of fence delivery and subscribtion support.
- Fence property packetization to send to firmware via FTB buffer.
Change-Id: Ifb289849e352af2c4729aa95040bd83753979970
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
- Added an extension to enable sending input metadata
via request.
- Added an extension for client to send input metadata
buffer fd via request api.
Change-Id: I503ea2cbfb02831d9cfd475e83c94eee72545836
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
Decouple fence structure from video buffer. Also add some
misc fence flow setup support.
Change-Id: Ia4e223a3a288f0dae3238850685f3a73d4b9400a
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
Different DDR types are required for different UBWC configs.
LPDDR5 and 5X are the only supported DDR types on Kailua.
Change-Id: I33e486bef79d919f0d790734acd4be05c51a39e0
Signed-off-by: Mahesh Kumar Sharma <quic_smahesh@quicinc.com>
Use v4l2_m2m_ioctl_streamon helper function for input and output ports
Change-Id: I20375259321cc5925ccaf7f8eab95a94f55d2821
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
when metadata is enabled check if the meta buffers are dequeued
from FW before sending vb2 buffer done on corresponding input
or output buffers.
Change-Id: Icabeaf08b398b9be0159d5db68c94734351b3a5a
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
In order to avoid performance issues when encoding
1280x720p frames with 960fps, change maximum frame
rate to 480fps on Kalama.
Change-Id: I0ca44ebf9524583a0a3ffc32423b0bb63acd0d47
Signed-off-by: Mahesh Kumar Sharma <quic_smahesh@quicinc.com>
Handle invalid format 0xfffff by invoking try_fmt in
s_fmt. It is expected from driver to return EINVAL for only
unsupported buf type and if color format is unsupported,
driver should fill the fmt structure with valid values.
Partially Fixes: v4l2-compliance:
TestSetFormat(VIDIOC_S_FMT)
Change-Id: I27e82866e8ad4a13661431f2a38a66ac3ef7dd80
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Copy fixes in power down sequence from Iris2 to Iris3.
Change-Id: I0ec94dbe064e10b6c4172b206561d8951c00a26b
Signed-off-by: Chinmay Sawarkar <quic_chinmays@quicinc.com>
Reset video_cc_mvs0_clk_src value to resolve MMRM high video
clock projection issue.
Change-Id: Ieb937dfdc7d48e1a95a0052a32189d00eeac70cf
Signed-off-by: Chinmay Sawarkar <quic_chinmays@quicinc.com>
Client can enable V4L2_CID_MPEG_VIDC_INPUT_METADATA_VIA_REQUEST_ENABLE
control and send input metadata buffer via request.
Change-Id: Icccdada8253d1d0291c01e2e539968141f7ddd2c
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
Client may do g_fmt on output port to fetch output port
color info. Hence, update output port color info with
client set input port color info.
Change-Id: Ifa3b16763d7389cd063493e25ce8b266ce1cb8c6
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
packetize dynamic controls set via request api along
with corresponding input buffer under the same hfi header
and queue to FW.
Change-Id: I8bf82f7ccb1ab16c42ce02189a208f5f7cb8dc70
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
Add fence support for decoder output buffers for
the consumer to use it to improve latency.
Change-Id: I7384b4a9793248988a2d2d546a535f26636d5bb3
Signed-off-by: Maheshwar Ajja <quic_majja@quicinc.com>
[1] Remove CAP_FLAG_ROOT flag. Root willbe identified
with has_parents() api.
[2] Replace field(struct msm_vidc_inst_cap) cap -> cap_id.
[3] Rename below pool apis.
msm_memory_alloc -> msm_memory_pool_alloc
msm_memory_free -> msm_memory_pool_free
[4] Remove struct msm_vidc_inst_cap_entry usage in inst.
inst->firmware.list -> inst->firmware_list
inst->children.list -> inst->children_list
[5] Organize msm_vidc_inst_capability_type enums in such
a way that all parents placed first then children. It
will save CPU cycles while preparing caps_list.
Change-Id: I376f4e6ddec37ce326c393fba133e19ba70bab09
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
Increase operating rate from 60fps to 120fps with vp9 decoder to allow
application to use vp9 decoder upto 120fps on kalama.
Support of frame rate and opertaing ratear upto 120fps for waipio T.
Change-Id: Ic9149bcb904c3e650f9e97d58080426236a1a4eb
Signed-off-by: Mahesh Kumar Sharma <quic_smahesh@quicinc.com>
Convert multi-parent, multi-child based dependency tree
into flattened list. It is organized in such a way that
all parents willbe present before self or any child node.
For some caps, adjust sequence is called without preparing
parent nodes. So that is leading to undefined behaviour.
Added change to address these problems.
Change-Id: Ib28cae8a4ed7e019c80ecfc06519ef78ffa4dc08
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
Add changes for AV1 DRAP (Delayed Random Access Point) handling:
1) Add config in kalama database to control DRAP and the HFI property
to set DRAP config.
2) Update buffer calculations:
- When DRAP is disabled, COMV buffer must be allocated
and PERSIST buffer must be allocated with total_ref_count = 0
- When DRAP is enabled, COMV buffer must not be allocated -
it is part of PERSIST buffer. Persist buffer must be allocated with
the max_width, max_height and total_ref_count configured for DRAP.
Change-Id: I2d2e8fd3f63ea8f9fc2845acd0b4e16ba4776a6b
Signed-off-by: Mihir Ganu <quic_mganu@quicinc.com>
Dynamic low latency causes decoder input PSC triggered
for every IDR frame, leading to clock increasing.
And this also causes power higher
for VT call. Thus, need the following changes:
1. Disable dynamic low latency when low latency mode
is enabled;
2. DO NOT allow config low latency mode after
stream on.
Change-Id: Ia57f4c75617214b0352b263425ad9b445ff95524
Signed-off-by: Zhongbo Shi <quic_zhongbos@quicinc.com>
of_platform_depopulate() will attempt to call
msm_vidc_remove for each sub device(contextbank)
individually. So added support for sub device
remove sequence.
Change-Id: I74806e30355d69f7d6080db820bad739b556366f
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
Update the output port setting when set control is called for
rotation irrespective of the value of rotation angle.
Partially Fixes: v4l2-compliance: encoder:
TestSetFormat(VIDIOC_S_FMT)
Change-Id: Ic5dce8089820f69fd38ac3b394e1c139d5d76f1b
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Add handling for VIDIOC_CREATE_BUFS ioctl in driver.
This ioctl is used to create buffers for memory mapped
or DMA buffer I/O.
It can be used as an alternative or in addition to the
ioctl VIDIOC_REQBUFS ioctl, when a tighter control over
buffers is required.
This ioctl can be called multiple times to create buffers
of different sizes.
Partially Fixes: v4l2-compliance:
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF.
Change-Id: I9dd6c3f48e48e297b3e56fd4c8062869c8b55bee
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Add handling for VIDIOC_QUERYBUF ioctl in driver.
This can be used to query the status of a buffer
at any time after buffers have been allocated with
the VIDIOC_REQBUFS ioctl.
Partially Fixes: v4l2-compliance:
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF.
Change-Id: Ifd014bd8a8b02ce9fa15c62d7583bc8bcfb6756a
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>