According to HFI definition, HFI_PROP_CSC needs to be configured
on BITSTREAM port, but during msm_vidc_set_cap, CSC is being
configured on PORT_NONE leading to error in FW.
Added change to configure CSC always on BITSTREAM port.
Change-Id: I3e9511ec40cd25687048f0739c57d164dd7a1c43
Signed-off-by: Vedang Nagar <quic_vnagar@quicinc.com>
[1] Add the basic driver support for cliffs variant.
[2] Add platform specific files for cliffs.
Change-Id: If35f79fa1c72ce160d4ed4c0f1ba8babb7ce8a3d
Signed-off-by: Vedang Nagar <quic_vnagar@quicinc.com>
- Fix Alignment should match open parenthesis and
Please use a blank line after
Change-Id: I5155f3037ab3b65a0456a18eb8c98b54760204f9
Signed-off-by: Megha Byahatti <quic_mbyahatt@quicinc.com>
Fix space and blank line required warning.
Change-Id: I2f754e52cdb36332a53b65ca248ae5d974a00ff4
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
[1] If request_fd enabled, msm_vb2_buf_queue() is not called
from v4l2_qbuf. Instead it's called as part of
msm_v4l2_request_queue(). Hence inst lock should be acquired
in common function i.e msm_vb2_buf_queue, to handle both
requests and non-request scenarios.
[2] If request_fd is disabled, inst_lock can be acquired in
v4l2_qbuf() call. Acquiring inst_lock from here will
ensure RO list insertion and updation i.e. attach/map will
happen under lock.
Currently, request_fd is disabled. Therefore, acquire inst_lock
from this function to ensure RO list insertion/updation is under
lock to avoid stability usecase.
Change-Id: I3cc1d4b8b5547fd5e34ce5eb06480380cb9200cc
Signed-off-by: Vedang Nagar <quic_vnagar@quicinc.com>
fix copyright markings and have all markings in one
multiline comment.
Change-Id: I481c6213bb25e8c278956ad6a51df3fc5c1aabf2
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
pineapple_technology.h contains multiple static array and it is
getting included from msm_vidc_bus.c & msm_vidc_clock.c files.
So in generated build is having 2 copies of static arrays in
code segment.
So added changes to avoid duplication in generated bin.
Change-Id: Ifcfa07331e868440d033d2c7d65555810ad4d1b3
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
MAX_NUM_REORDER_FRAMES is 32 packed with MSB 16 bits representing
reorder frame count. Instead, this has been used as integer with
all bits reprsenting reorder frame count. Fix this.
Change-Id: I275a0be71ecf89c44374782445f66ac7e709e2a7
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
Remove core check from all the functions in video driver.
ore check is present in most of the functions in video
driver which is not required.
Keep check only at root level functions and remove
the check from rest all of the functions.
Change-Id: I5f6374b68dd739b7ab563f32f64bb90e368c4085
Signed-off-by: Vedang Nagar <quic_vnagar@quicinc.com>
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>
Currently BASELAYER Priority ID was being configured at BITSTREAM
PORT, For dynamic configuration, baselayer priority ID needs to be
configured at RAW port. Added change for the same to configure this
property at RAW port.
Change-Id: Ice927aae4d8ed5228ef1b31da7ec58bb81f2aea8
Signed-off-by: Vedang Nagar <quic_vnagar@quicinc.com>
This is resolve some of this kind of checker err.
Change-Id: Ief665e17045c3b6a6ff636ab6404c6e0c93e9460
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
This change will resolve this
checker err from all directory.
Change-Id: I7b7b3af554c97fef9d81210fdf8984d2a53facbc
Signed-off-by: Ankush Mitra <quic_ankumitr@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>
1. use max of operating and frame rate for fps
2. vpp_cycles is considered close to frequency
corner if vpp_min_freq is greater than max
required frequency
Change-Id: I9dc995ca16e4eeae18497a8648dfef64e16dfbc2
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
In case of encoder drain followed by immediate
stop usecase, fw might send drain last flag info
packet instead of last flag buffer due to
insufficent output buffers. In this scenario, driver
signals EOS through an event. To avoid sending last
flag buffer in some usecases and EOS event in other
usecases, to maintain consistency, always send last
flag information via EOS event to client.
Change-Id: Ib816603fb171a5f3f72f163614588490514f8c59
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
1. allow any client set operating rate (less than 2^15)
2. remove operating rate dependency for admission control
3. allow turbo for low latency case as well
Change-Id: I4b0f29c3756a592a9baedec8996653e5cb5292d5
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
Update BaseLayerPriority ID as dynamic property for pineapple
Change-Id: Ib036c8c47190842dff76fa45d50a65385ef28dca
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>
Client is setting NV12 fmt as OP format before initial reconfig
So during input port stream_on, subscribe_input_property is
failing due to ubwc check(NV12 fmt), so DPB_LIST cap is getting
disabled, but later client is setting NV12C during reconfig.
So msm_vdec_release_nonref_buffers() during qbuf is bypassed and
release cmd is never sent to fw for pending ro buffers. Infact
entire RO handling at driver side is disabled.
Looks like due to some reason client was not requeueing same
buffers at same slot, So eventually number of pending RO buffers
increasing over the time. Once count shoots more than 256 fw
assertion happens and i.e leading to system error.
Remove UBWC check while subscribing input port properties, so
DPB_LIST willbe subscribed always and avoids above mentioned
issues.
Change-Id: I57ea0ea637ae3a57fcad430b212dcdb10f8e6d0f
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
read the av1 uniform tile handling propert from fw
and display it. Required in debugging av1 usecases for
power calculation
Change-Id: I443e5afd591a8131c667c64cebb417fc022693ac
Signed-off-by: Ashish Patil <quic_ashpat@quicinc.com>
enable support to send META_TRANSCODING_STAT_INFO via
HFI_MODE_DYNAMIC_METADATA.
Change-Id: I32435e2e30a7a5d50c53645b7c92bbe38f7c90b3
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>