Revīziju grafs

164 Revīzijas

Autors SHA1 Ziņojums Datums
Akshata Sahukar
907ea75504 video: driver: Add support to enable output tx sw fence by default
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>
2023-06-15 16:11:58 -07:00
Govindaraj Rajagopal
29d10ac07b video: driver: cleanup driver remove sequence
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>
2023-06-13 13:17:23 +05:30
Ankush Mitra
e1cb32c5de video: driver: resolve some checker err
Resolve some static checker err.

Change-Id: I0aa1d8c905ac7fd1defa16dd28d4386465f09ff3
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
2023-06-06 11:57:20 +05:30
Ankush Mitra
542b9f9736 video: driver: enclosed macros with complex values within bracket
This is resolve some of this kind of checker err.

Change-Id: Ief665e17045c3b6a6ff636ab6404c6e0c93e9460
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
2023-06-01 12:32:01 +05:30
Vedang Nagar
3018f2c1d3 video: driver: Update session priority setting
Modify session priority controls -
  ___________________________________________________________
 |  Description    |    HAL Value     |Driver value|FW Value|
 |_________________|__________________|____________|________|
 |Critical Priority| Vendor Extension | Via control|   0    |
 |      RT         |        0         |      0     |   1    |
 |      NRT        |     -1 to -4     |     1-4    |  2-5   |
 |_________________|__________________|____________|________|

Change-Id: I7b28109bde3968f38c2e3cc42cf4cf5dd195cc10
Signed-off-by: Vedang Nagar <quic_vnagar@quicinc.com>
2023-05-23 20:58:04 +05:30
Mihir Ganu
ebf3410136 video: driver: Remove the unsupported ARGB32C format.
Remove the unsupported ARGB32C (RGBA8888 UBWC) pixel format.

Change-Id: Ia5ce610c4d3306b5f50f5132c9533bd9e86f0a6f
Signed-off-by: Mihir Ganu <quic_mganu@quicinc.com>
2023-05-04 11:21:48 -07:00
qctecmdr
205e95cd3d Merge "video: driver: separate i/o subscribe prop codec wise" 2023-05-01 10:29:51 -07:00
Akshata Sahukar
982e626d00 video: driver: Add support to 1kx1k tile for HEIC encoding
- 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>
2023-04-28 10:07:48 -07:00
Ankush Mitra
2468a6c91b video: driver: separate i/o subscribe prop codec wise
Separate i/o subscribe prop codec wise.

Change-Id: Ia7f63b571142507eb4d7d5ea1c0197aa74679448
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
2023-04-28 22:31:19 +05:30
Ashish Patil
c7216017e1 video: driver: moving private controls to common platform folder
Move private controls from each platform source files to
common header file

Change-Id: I22d8aa7f81919d950eed6b1f4ccd020c803a7ce9
Signed-off-by: Ashish Patil <quic_ashpat@quicinc.com>
2023-04-27 12:59:14 -07:00
Mihir Ganu
ed0cdf0c3f video: driver: Move private controls from UAPI
- Move vendor private controls from UAPI to internal headers.
- Add guards for AV1 format.

Change-Id: Ida6348aa393be26f0be1b18ed4e08477bdaabac0
Signed-off-by: Mihir Ganu <quic_mganu@quicinc.com>
2023-04-21 15:05:33 -07:00
Govindaraj Rajagopal
c4f5dc6069 video: driver: fix queuing too many output buffers to firmware
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>
2023-04-18 16:32:10 +05:30
Akshata Sahukar
c46cdcb67f video: driver: Use HEIC as private codec type
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>
2023-04-07 10:50:54 -07:00
qctecmdr
1fdfa4758c Merge "video: driver: add driver version" 2023-03-22 14:08:07 -07:00
qctecmdr
0e06b9af89 Merge "video: driver: Add debugfs support to disable synx v2 fence" 2023-03-20 14:37:04 -07:00
Maheshwar Ajja
ed089ff4e5 video: driver: add driver version
Add driver version for clients to query and manage
accordginly.

Change-Id: I5e8c51a4f18c28c0ed4d5a8bdaf0660d175c420a
Signed-off-by: Maheshwar Ajja <quic_majja@quicinc.com>
2023-03-20 11:01:58 -07:00
Akshata Sahukar
33d0b20141 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>
2023-03-17 13:59:37 -07:00
Deepa Guthyappa Madivalara
d2b9c98869 video: driver: replace V4l2 macros with availble upstream macros
- Replace prior macros from downstream driver as these are now
   defined in upstream V4l2 include files

Change-Id: I34dc063df0c2ca2194c115d310d7fe5026cd573e
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2023-03-17 11:57:07 -07:00
Deepa Guthyappa Madivalara
1cf504b165 video: driver: replace V4l2 macros with availble upstream macros
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>
2023-03-13 16:18:38 -07:00
Darshana Patil
552670ad6b video: driver: encoder delay start: CSC
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>
2023-03-07 15:12:53 -08:00
Zhongbo Shi
133bfb56ea video: driver: move DPB_LIST to input port
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>
2023-03-07 15:23:23 +08:00
Megha Byahatti
4a578d26fd video: driver: Move adjust/set control_ext API's to common/platform_ext.h/.c
Remove msm_vidc_control_ext.h/.c

Change-Id: I5636705b38b7c5613baf8761953ae31963e6ffd3
Signed-off-by: Megha Byahatti <quic_mbyahatt@quicinc.com>
2023-02-24 15:37:21 +05:30
Govindaraj Rajagopal
c3c85e9653 video: driver: remove config dependencies
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>
2023-02-21 14:33:41 +05:30
Chinmay Sawarkar
6e414ca7a7 video: driver: kalama power calculations
New bandwidth and frequency calculation functions
for kalama.

Change-Id: Iaca0be832c42e00bb7404f7cfbac5bbf03427144
Signed-off-by: Ashish Patil <quic_ashpat@quicinc.com>
2023-02-16 20:08:14 -08:00
qctecmdr
f0b5f5dd65 Merge "video: driver: disable 5 LTR support" 2023-02-11 12:13:30 -08:00
qctecmdr
305cdd6d2f Merge "video: driver: Restrict all intra encode support to 4k@30 fps" 2023-02-09 17:47:32 -08:00
Akshata Sahukar
5f648c7f84 video: driver: Restrict all intra encode support to 4k@30 fps
Restrict all intra encode support to 4k@30 fps from 4k@60 fps.

Change-Id: If77d391ccfe4453fc37de369a9ca5923a39c9c26
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
2023-02-06 16:33:41 -08:00
Darshana Patil
ed80204a9e video: driver: add support to configure colorinfo via control
- introduce control to set colorspace. client will use this
  to set private color info.

Change-Id: I0099ef1525f4562d3be3a6e518d046fe5b9ef894
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
2023-02-06 13:09:17 -08:00
Akshata Sahukar
654e6bb55d video: driver: Add support to allow 5 LTR count
Add support to allow 5 LTR count as per new
requirement.

Change-Id: Ic839ea61ae8dfe21bd8891f0f0dbaf26506d84ec
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
2023-01-30 13:08:35 -08:00
qctecmdr
54c8d7570d Merge "video: driver: add power domain and opp table support for video" 2023-01-28 00:56:41 -08:00
Ashish Patil
bf33925fa3 video: driver:remove support for dynamic layers and bitrates
- 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>
2023-01-19 09:07:22 -08:00
Govindaraj Rajagopal
ab9b1a112b video: driver: add power domain and opp table support for video
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>
2023-01-18 16:44:23 +05:30
Darshana Patil
ea34534af0 video: driver: update copyright markings to 2023
update copyright markings to 2023 in all files.

Change-Id: I6842d56c4a8fff6a7a93d0c1d4bc049041297b02
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
2023-01-13 14:58:17 -08:00
Darshana Patil
a0082a4c81 video: driver: amend xo reset clock as shared resource
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>
2023-01-05 09:58:30 -08:00
Ankush Mitra
da842a9f2f video: driver: Prepare dependency list without parent
Resolve upstream compilation issue.

Change-Id: Id0b08d0fc66291a415c966c90b804f9017790ef8
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
2022-12-13 19:11:49 +05:30
Ankush Mitra
bd1cd4368b video: driver: Prepare dependency list without parent
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>
2022-12-13 19:10:18 +05:30
Ankush Mitra
2c39d5b91b video: driver: prepare dependency list without parent
Prepare dependency list only using children.

Change-Id: Id79487825fed1f121821126589594b64820c85d3
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
2022-12-13 18:50:13 +05:30
qctecmdr
e82f7eb958 Merge "video: driver: add dma mask attribute to context banks" 2022-12-07 14:54:06 -08:00
Dikshita Agarwal
8030903f1e video: driver: add dma mask attribute to context banks
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>
2022-11-21 10:52:41 +05:30
Anshul Agarwal
a51bbd6445 video: driver: Remove slice interface capability
Removed slice interface capability for Kalama and taro.

Change-Id: Id7e90eff7457d004d70ba885af81a33e1feb7bb3
Signed-off-by: Gaviraju Doddabettahalli Bettegowda <quic_gdoddabe@quicinc.com>
2022-11-15 10:00:09 -08:00
Ankush Mitra
e552b19ce8 video: driver: support upto level 6.2 for HEVC enc
allow support upto level 6.2 for HEVC encoder.

Change-Id: I21e958ecab30bf97bc10627b17e18cfa3070e4ef
Signed-off-by: Jiajia Cong <quic_jcong@quicinc.com>
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
2022-11-07 07:47:44 -08:00
Ankush Mitra
c1bb733a6b video: driver: Remove unused capabilities
Cleanup of unused capabilities from
platform caps list.

Change-Id: I98f4beb96f41d2b8a3b4342f7d453a6abc046e55
Signed-off-by: Vedang Nagar <quic_vnagar@quicinc.com>
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
2022-11-07 21:08:52 +05:30
Ankush Mitra
6b0dcb4a4f video: driver: code re-structure memory ops support
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>
2022-10-28 00:06:28 +05:30
Darshana Patil
4250372925 video: driver: add memory ops support
add memory ops support so that different
implementations can exist for memory_alloc,
memory_free, memory_map and memory_unmap,
dma buf attach, detach, map, unmap and
get buffer region in upstream and downstream
drivers.

Change-Id: Ifabc34e7a8b0284579c1bc4a8f477fe558d068f4
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
2022-10-21 16:35:22 -07:00
Govindaraj Rajagopal
21eb38981e video: driver: reduce device_tree dependency for video
Only keep minimal entries in dtsi, which is essential for
other drivers usage. Move remaining all data into platform
resource file.

Remove device_tree dependency and maintain platform_data
to initialize resources like regulators, interconnects,
clocks, reset_clocks, subcaches and context_banks.

Read static data like freq_table, firmware_name, pas_id
also from platform_data instead of from dtsi.

Change-Id: I73a1df10b92c55e55b23e538aea62598a7250ab4
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
2022-10-18 00:10:19 +05:30
qctecmdr
8b501d3034 Merge "video: driver: remove non-standard header file of_common.h" 2022-10-10 23:01:41 -07:00
Dikshita Agarwal
d7e32537a7 video: driver: remove non-standard header file of_common.h
Remove inclusion of non standard header file of_common.h and
related APIs from upstream database and common file.
Include it only in downstream databse file.

Change-Id: I22140c54de38afca8058198c49d9fecdceaad67a
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2022-09-30 14:10:01 +05:30
Dikshita Agarwal
d861f5047c video: driver: remove restricted keyword
Remove restricted keyword from comments.

Change-Id: Idf7cc0925730f05ba0db371e0fe3dda312a85b79
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2022-09-27 15:47:20 +05:30
Akshata Sahukar
85d79a7a23 video: driver: remove input meta via request support
remove input meta via request support

Change-Id: If2a504455e1899c4cefb2a9142f7a92db02a45f2
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
2022-09-20 11:07:39 -07:00
Akshata Sahukar
b1dfbad4a4 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>
2022-09-13 14:29:18 -07:00