Grafico dei commit

1192 Commit

Autore SHA1 Messaggio Data
Govindaraj Rajagopal
c4982fbf1a video: driver: refine core state machine
introduced core error state and added changes
to refine core state machine.

Change-Id: Ib3b94fd3798e902b7a6cfc5de45820558c89806e
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
2022-12-15 07:59:45 +05:30
Govindaraj Rajagopal
3fd67c1274 video: driver: add error state support for core
Introduced MSM_VIDC_CORE_ERROR state in core. It supports
CPU_WATCHDOG and VIDEO_UNRESPONSIVE core substates.

Change-Id: I6aa700c37782d64d64cd132ea13009dda22cc8d1
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
2022-12-15 07:56:38 +05:30
Maheshwar Ajja
520a2893df video: iris33: ensure AON spare register to become zero
Poll for AON spare register BIT(0) to become zero before
asserting XO reset from video driver to ensure CVP/EVA driver
is not asserting XO reset around the same time. Asserting
XO reset by both driver at the same time may result in
unpredictable behavior.

Change-Id: I71a0bd0175ef7701c9a855abbf3c2e741d937dfb
Signed-off-by: Maheshwar Ajja <quic_majja@quicinc.com>
2022-12-14 11:09:32 -08:00
Vedang Nagar
b3f107df87 video: driver: Modify buffer_stats logic
For super buffer usecase, All the ETB's gets queued with updated
timestamp in hfi_buffer, therefore all the fbd's being recieved
are of different timestamp. And only the last EBD is considered
for dequeued flag and hence for remove_buffer_stat.

Therefore when first FBD arrives which has the matched TS to
the stat's TS will get skipped since last EBD in the batch has
not arrived yet and rest all FBDs are with updated TS, hence
the buffer stat doesn't get's removed from the list.

Modified the logic to add stats during hfi_buffer queue and
add stats for all sub-frames in super buffer usecase.
Modified the logic for Multi-In single-Out usecase as well.

Change-Id: I0643e6f64bdfc3cbfa67baeb1cf9157de92ce569
Signed-off-by: Vedang Nagar <quic_vnagar@quicinc.com>
2022-12-14 23:10:54 +05:30
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
36346afa9d Merge "video: driver: remove extra mvs0c clock reset" 2022-12-07 14:54:07 -08:00
qctecmdr
fdb319f335 Merge "video: driver: Move adjust/set control functions to common/platform.c" 2022-12-07 14:54:07 -08:00
qctecmdr
a06d7674ec Merge "video: driver: add core sub_state support" 2022-12-07 14:54:07 -08:00
qctecmdr
e82f7eb958 Merge "video: driver: add dma mask attribute to context banks" 2022-12-07 14:54:06 -08:00
Deepa Guthyappa Madivalara
832e9aefa8 video: driver: remove extra mvs0c clock reset
Remove addtional mvs0c clock reset which is not
required from power off sequence

Change-Id: I2077cb0ceee6451cd2d2af067ac8a7be3335dd16
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2022-12-06 11:44:31 -08:00
Manikanta Kanamarlapudi
92a44da54b video: update the set function for BASELAYER_PRIORITY
update the set function for BASELAYER_PRIORITY control.
with out this change, configuration is not set to firmware.

Change-Id: I57f01a8e02462ee9e8c221581043a8a70adbfcc5
Signed-off-by: Manikanta Kanamarlapudi <quic_kmanikan@quicinc.com>
2022-12-02 11:55:27 +05:30
Deepa Guthyappa Madivalara
bce7898377 video: driver: disable power collapse for video on pineapple
Disable video power collapse on pineapple chipset until
power collapse sequence is successful.

Change-Id: I2e7d0085e6d810fb79c2b1070c4bd498f443cfc8
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2022-11-23 11:02:06 -08:00
Govindaraj Rajagopal
9b0140cf03 video: driver: add core sub_state support
Introduce core->sub_state similar to inst->sub_state.

[1] pm_suspended - moved to this substate in case of PM suspend
[2] handoff - moved to this state after successful
    handoff_regulator call.
[3] fw_power_control - moved to this state in case of IFPC.
[4] power_enable - will track core power_on/power_off status.
[5] page_fault - used to rate_limit fault logs.
[6] cpu_wd - indicates hw fired wd interrupt.
[7] video_unresponsive - moved to this state if sync cmd fails.

Change-Id: Iceb65cf404fd93aff7846860b0276307e4eab570
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
2022-11-23 10:53:11 +05:30
Ankush Mitra
1df215f203 video: driver: Move adjust/set control functions to common/platform.c
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>
2022-11-22 23:01:17 +05:30
qctecmdr
1addb15e58 Merge "video: driver: use macros to prepare enums & string arrays" 2022-11-21 18:59:48 -08:00
qctecmdr
bc62a68248 Merge "video: driver: check for regulator support before initializing" 2022-11-21 18:35:21 -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
Deepa Guthyappa Madivalara
2113a7a8c5 video: driver: add support for vidvsp cache
Adding support for vidvsp cache

Change-Id: I0ef58106a9a5eab55ab01e4eaaf77d19d9b3a984
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2022-11-18 16:22:09 -08:00
qctecmdr
ce13ce72cc Merge "video: driver: enable xo reset clock" 2022-11-18 14:45:37 -08:00
qctecmdr
b8fd5b594f Merge "video: driver: Remove slice interface capability" 2022-11-17 23:45:10 -08:00
Govindaraj Rajagopal
2eda86592a video: driver: use macros to prepare enums & string arrays
video driver is maintaining multiple tables based on enum
name pair. So this mapping might go wrong if new entry is
inserted in different position.

So added logic to prepare enums & static const char* arrays
using macros. So compiler will take care of creation and
maintaining order.

Change-Id: Id3669cf3ce150b3ababb84dce18326220f41d88d
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
2022-11-17 21:35:27 +05:30
Darshana Patil
2638c201a8 video: driver: enable xo reset clock
Enable xo reset clock since it is enabled
from clock driver.

Change-Id: Ica38616f514c9f2288a60fbfb3e0a3683c154b15
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
2022-11-16 18:07:44 -08:00
Darshana Patil
54f71aa5ab Revert "video: driver: disable SW power collapse temporarily"
Re-enable sw power collapse.
This reverts commit 2dd5543fed.

Change-Id: If6cd275551fcb1d3de1fa75b9cace9aa6649c7fa
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
2022-11-16 18:05:43 -08:00
qctecmdr
2d17637ec0 Merge "video: driver: add resets in power off sequence" 2022-11-16 08:10:29 -08:00
qctecmdr
b9bfdbe7b8 Merge "video: driver: Enable MMRM support in pineapple" 2022-11-16 08:10:28 -08:00
Deepa Guthyappa Madivalara
2dd5543fed video: driver: disable SW power collapse temporarily
Disable SW_PC temporarily

Change-Id: Ief82b9b273d6a4c7383e0aab73c2a5da428c203a
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2022-11-15 14:45:16 -08:00
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
Maheshwar Ajja
d934279ad4 video: driver: add resets in power off sequence
Add assert and deassert axi and mvs0c resets to
avoid video hardware unresponsive issues due to
multiple power collapse sequence execution.

Change-Id: I25ec99eab6b50111161ec9486ea1155bee63f7fc
Signed-off-by: Maheshwar Ajja <quic_majja@quicinc.com>
2022-11-11 18:59:14 -08:00
qctecmdr
b1bf3f1148 Merge "Video Driver: fix frame freeze for HEVC 10bit all intra decoding" 2022-11-11 13:15:32 -08:00
qctecmdr
fe64bbf604 Merge "video: driver: power collapse for last session close" 2022-11-10 16:38:38 -08:00
qctecmdr
c8709784bb Merge "video: driver: Add TURBO and LOWSVS_D1 clocks" 2022-11-10 16:38:38 -08:00
qctecmdr
b2ea40aba5 Merge "video: driver: update definition same as prototype" 2022-11-10 16:38:38 -08:00
qctecmdr
7313e91c52 Merge "video: driver: misc changes to be inline with upstream" 2022-11-09 21:54:22 -08:00
qctecmdr
b33fc5110e Merge "video: driver: fix compilation issues with mainline kernel" 2022-11-09 21:54:22 -08:00
qctecmdr
643d2e2304 Merge "video: driver: Increase FW timeout to 4sec for debug logging" 2022-11-09 21:54:22 -08:00
Deepa Guthyappa Madivalara
9db29e4eda video: driver: add assert and deassert reset functions
- Add assert and deassert reset control functions to
  update power off sequence in pineapple chipset
- Rename clock names to match with clock macros

Change-Id: Ic6dc0daac8110597bfcb02cceba94d2b97548723
Signed-off-by: Maheshwar Ajja <quic_majja@quicinc.com>
2022-11-07 18:31:55 -08:00
Deepa Guthyappa Madivalara
9a591ca5af video: driver: update definition same as prototype
Update function definition to be same as prototype to
avoid compile error

Change-Id: I92be0d96ce1e95e858cca6e5cad8de0564a60e5b
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2022-11-07 14:32:28 -08:00
Ankush Mitra
b35fde25c4 Video Driver: fix frame freeze for HEVC 10bit all intra decoding
1. Allow turbo for HEVC 10bit all intra decoding;
2. Add 25 percent extra to VSP cycle for HEVC
   10bit all intra decoding;

Change-Id: I794b2a896f7e9444c8979abdb15b8e673a5270ee
Signed-off-by: Zhongbo Shi <quic_zhongbos@quicinc.com>
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
2022-11-07 09:01:17 -08:00
Ankush Mitra
dc39a04e6e video: driver: follow vcodec power collapse seq for PC failure case
if PC fails for 10 times then video driver is treating that situation
as fatal and doing force core_deinit(), in this case firmware will not
follow vcodec power_collapse sequence and if there any pending
transaction from any session it will cause smmu_fault during next
firmware_boot sequence. Added change to perform vcodec power_collapse
from power_off_iris3_hardware() incase of core_deinit due to PC failure.

Change-Id: I45e32985d87b5cc882c4f96f77d1cabc796e6ba0
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
2022-11-07 07:59:33 -08:00
Ankush Mitra
78246c24fb video: driver: Enable CSD data in output meta data buffer
Currently not enabling CSD data in output meta data buffer,
due to invalid function invocation for conditional check.

Change-Id: I96a4462abebb257bfcd91af9c725d577c4046feb
Signed-off-by: Gaviraju Doddabettahalli Bettegowda <quic_gdoddabe@quicinc.com>
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
2022-11-07 07:48:29 -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
Govindaraj Rajagopal
1931acf675 video: driver: misc changes to be inline with upstream
- replace list_del() & list_add_tail() with list_move_tail().
- use sg_dma_address() macro at all possible places.

Change-Id: Ie754b5a75a48299fbe71e9ec0217b93d8524264f
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
2022-11-07 20:16:43 +05:30
Govindaraj Rajagopal
9c5b7fe1c5 video: driver: power collapse for last session close
power_collpase thread will initiate suspend sequence
if no there is no transaction for 1.5 sec. So even
after all session closed, power collapse thread will
kick in only after 1.5 sec, which can be avoided.

with this change power_collpase sequence will be
initiated right after last session close.

Change-Id: I4da231fa4a3d65bebbd19725db2f11d1478490dd
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
2022-11-07 18:24:36 +05:30
Dikshita Agarwal
1ac85a3237 video: driver: check for regulator support before initializing
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>
2022-11-07 16:51:12 +05:30
Dikshita Agarwal
166330d8a9 video: driver: fix compilation issues with mainline kernel
- Remove non-standard and unused header files.
- Use proper format specifier for debug prints.

Change-Id: I52927f635d7d0145404e41acf0dc351f2c44e7fe
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2022-11-04 14:55:40 +05:30
Mihir Ganu
fd5ef8da76 video: driver: Enable MMRM support in pineapple
Enable MMRM support in pineapple database.

Change-Id: I896005510383145535f9e4b2800991f386dfcd73
Signed-off-by: Mihir Ganu <quic_mganu@quicinc.com>
2022-11-03 20:45:34 -07:00
Vedang Nagar
bf9dd01f97 video: driver: Increase FW timeout to 4sec for debug logging
Enabling debug logs in kernel driver can result in Linux
kernel thread scheduling issues which causes unpredictable
behavior. Therefore increased Hardware timeouts to 4sec
if debug logs are enabled i.e. logs are more than default
logs.

Change-Id: Ic0d04bc0a740c8b11c77574ad3252ca2fa0696bb
Signed-off-by: Vedang Nagar <quic_vnagar@quicinc.com>
2022-10-28 08:46:12 -07:00