As part of default enablement of output tx type sw fence,
add this support in driver to disable fence based on
below conditions for INPUT_PSC propertities:
- If session is interlace type
- If OUTPUT_ORDER is 0 and HFI_PROP_MAX_NUM_REORDER_FRAMES > 0
Change-Id: If861129ba96329c0277a9c9698f67baf25e5d82e
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
Remove deinit sequence calls and register devm
managed callbacks, so that kernel can invoke
then, when dev scope ends and cleansup all
associated resources.
Change-Id: I729fd21fe32d9f39240d0b743f910409d93a00c5
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
Bitrate is not a mandatory parameter for setting multi-slice encode configuration.
If the client not setting bitrate then default value can be used to
calculate slice count incase of byte mode multi slice encode,
and it's not needed for macro-block mode multi slice encode.
Currently, multi slice encode is enabled only when client set bitrate
explicitly otherwise it's configuring single slice encode mode.
So added change to remove the bitrate dependancy for configuring multi slice encode.
Change-Id: Ia9c541d693107b9eb57e530c6e44cad70216f1dc
Signed-off-by: Gaviraju Doddabettahalli Bettegowda <quic_gdoddabe@quicinc.com>
Remove inst check from all the functions in video driver.
Inst check is present in most of the functions in video
driver which is not required.
Keep check only at root level functions and remove
from rest all of the functions.
Change-Id: Ib310cd3df5e8612a9fc3a5aa654dff4203a12906
Signed-off-by: Vedang Nagar <quic_vnagar@quicinc.com>
- Introduce new control to set HEIC encoder tile size from HAL
- Support 1k x 1k tile encoding along with existing 512 x 512
tiling
Change-Id: Iaeffe421f8311d818695c3ae9af7cabcc8892043
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
Move private controls from each platform source files to
common header file
Change-Id: I22d8aa7f81919d950eed6b1f4ccd020c803a7ce9
Signed-off-by: Ashish Patil <quic_ashpat@quicinc.com>
Remove HEIC codec definition from UAPI and use it as private
codec type
Change-Id: I4023b638f56e9db11c74ae8894f8451ada05c6e8
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
If the av1 tile rows and columns are greater than recommended decoder
av1 settings,vote for higher frequency.
Change-Id: Iea9f542e0b925a9ecb063c11b1827f31164f5a7b
Signed-off-by: Ashish Patil <quic_ashpat@quicinc.com>
Remove capability pointer and allocate
memory with max cap size.
Change-Id: I7f53e3b35439f91b72f057695b6e63f71bfecc0a
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
- enable Eva stats, hdr10/10+ as dynamic metadata.
- Make eva stats dependent on bitrate mode.
Also remove preprocess and layer count as
child of Eva stats.
- Make Hdr10/10+ dependent on profile.
- Adjust transcoding stats metadata based on
bitrate mode, fps and resolution.
Change-Id: I7b110962e29db50cb321d69a0fb301950436da6f
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
Add Synx V2 fences support to improve latency
in video decode usecases.
Change-Id: If21f8b65895364a804f8e03580b09c44b377c199
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
LTR is not correctly getting adjusted due to incorrect
goto statement leading to failure in premerge with
test_AVC_NV12C_3LTR_4Layers_Adjutment_Encode testcase.
Fix this.
Change-Id: Ieda4f33d6679f645c2eb349e8ddf1015a3814711
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
Replace prior macros from downstream driver as these are now
defined in upstream V4l2 include files
Change-Id: I7d1677cd7ef95c05219e043e0c78d29299036bed
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
Update power calculation to avoid low framerate or
frame drop issues
Change-Id: Ice306a44d4ea8242d965c0e5d03edffc0f5e0f8b
Signed-off-by: Ashish Patil <quic_ashpat@quicinc.com>
Introduce a control for client to enable or disable
csc. Disable csc for 10-bit encoding based on color format.
Change-Id: Ia49324332ce9b05b6f1a1283fa758638a8cc3ab8
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
1. Move DPB_LIST subscription on input
port instead of output port.
2. Move decoder port PSC and properties
to platform data.
Change-Id: I5711e0ba915ebe4136f64d1440ae331b787f4d61
Signed-off-by: Zhongbo Shi <quic_zhongbos@quicinc.com>
New bandwidth and frequency calculation functions
for lanai.
Change-Id: I0ec4a74bc24598628fe94a6ebbe9df5e3cb71a9c
Signed-off-by: Ashish Patil <quic_ashpat@quicinc.com>
remove all conditional compilation in video driver.
With this change, all files willbe always compiled
and will be available in final kernel object file.
Change-Id: I9843c246e23bd1ee4fb8918e5cfa840e2defd432
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
Blur pixel fmt parent check is specific to HEVC codec.
Fix this to avoid session failure.
Change-Id: I0323627383d56d1382e17f7a4b2cbb11edd6bf46
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
New bandwidth and frequency calculation functions
for kalama.
Change-Id: Iaca0be832c42e00bb7404f7cfbac5bbf03427144
Signed-off-by: Ashish Patil <quic_ashpat@quicinc.com>
Add support to allow 5 LTR count as per new
requirement.
Change-Id: Ic839ea61ae8dfe21bd8891f0f0dbaf26506d84ec
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
Re-structure video driver statemachine to use
event handler. Added event handler support for
event states.
Added change to handle event depending on the
underlying state implementation.
Change-Id: Ib55c12c6cadc4d780797a5aee75d5ea61e95c94f
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
- add support to intialise device region by reading data from
platform to resources.
- add support for iommu_map and iommu_unmap apis.
- allocate a 4K page and send this address through
HFI_MMAP_ADDR register.
- map AON region, send virtual address and size as payload.
Change-Id: I5aa26593309a220c5de62836e432c1bd5a63ba1d
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
- remove support of dynamic layer change for CBR
- remove support of layerwise bitrate
- any dynamic layer change request ignored without error for CBR_*FR cases
- layerwise bitrate is mapped to cumulative bitrate
Change-Id: I96c70fabd3c2bf94ce989b9e94620c166892b8e6
Signed-off-by: Ashish Patil <quic_ashpat@quicinc.com>
Added changes to support generic power domain and opp table.
This is an alternative for downstream regulator framework.
power domain can be enabled using below dtsi entries.
power-domains =
<&videocc MVS0C_GDSC>,
<&videocc MVS0_GDSC>,
<&rpmhpd SM8450_MXC>,
<&rpmhpd SM8450_MMCX>
power-domain-names =
"iris-ctl", "vcodec", "mx", "mmcx";
Power domain handles willbe parsed at driver side using below api's.
- dev_pm_domain_attach_by_name()
- devm_pm_opp_attach_genpd()
devm_pm_opp_attach_genpd() provides consumer virtual device handles
and i.e linked to core->dev using device_link_add().
MXC, MMCX rails wilbe powered up by scaling desired rate using
dev_pm_opp_set_rate().
Change-Id: I3d73434cb772078f031aec7cadc2d42ab930edd0
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
update copyright markings to 2023 in all files.
Change-Id: I6842d56c4a8fff6a7a93d0c1d4bc049041297b02
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
Use devm_reset_control_get_exclusive_released() instead of
devm_reset_control_get() to get the reset control of video_xo_reset
clock as it is shared reset clock between eva and video drivers.
Use reset_control_acquire() before assert and reset_control_release()
after de-assert video_xo_reset clock to avoid eva driver operating on
it in parallel.
Change-Id: I4936ed7a4556bb56d4b28546084fc877080308ef
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
This is change 2 of the Prepare dependency list without
parent change.
In this change we remove all parent information from
the CAP database.
Change-Id: Ie0b878050ae2d24e3c1a41cbd579ef0f19d42250
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
Move adjust/set control functions to common/platform.c as part of
upstream effort.
This is part 1 of the change.
Change-Id: I8c440740fe785b5b052c4d44963ea34c21419fa4
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
Upstream driver doesn't support context bank address ranges,
so add dma mask attribute to context bank to specify address
range for upstream driver.
Change-Id: I09191b500006d6c7abf364fbfa22377b480a4b4d
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Upstream doesn't support regulators, while downstream kernel does.
So add a condition to check for regulator support before init.
Change-Id: Icab8aec20796546a33ac571963f871d146970002
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Re-structure the memory_ops code so that
upstream driver use mem_ops defined on
msm_vidc_memory.c and downstream driver
use mem_ops defined on msm_vidc_memory_ext.c.
It helps to modularize the code even further.
Change-Id: Id00b0872d7a902a8540500df5efb5f546a9dbe41
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>