提交線圖

1205 次程式碼提交

作者 SHA1 備註 日期
Darshana Patil
68df0645ec video: driver: add support to send aon region via HFI_MMAP_ADDR
- 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>
2023-01-20 10:49:32 -08:00
qctecmdr
576e231f23 Merge "video: driver: Update non_comv_h265e buffer size" 2023-01-18 13:36:09 -08:00
qctecmdr
954b0ff6f5 Merge "video: driver: add support for pineapple V2 devices" 2023-01-18 13:36:08 -08:00
qctecmdr
60fee2a157 Merge "msm: vidc: Increase min o/p buffer count for AV1" 2023-01-18 13:36:08 -08:00
qctecmdr
9f3da9e6d4 Merge "video: driver: introduce macros from hfi_registers.h" 2023-01-18 13:36:08 -08:00
qctecmdr
db62f9374a Merge "video: driver: Modify buffer_stats logic" 2023-01-18 13:36:08 -08:00
Maheshwar Ajja
f150010edb video: driver: use reset control api with kernel version 6
Use reset control acquire/release api's with kernel version >= 6
as they were not exposed in previous kernels.

Change-Id: I2968fc50d77948c7f1a6f55be31360ad03971415
Signed-off-by: Maheshwar Ajja <quic_majja@quicinc.com>
2023-01-17 11:50:14 -08:00
Deepa Guthyappa Madivalara
d8f253e2c0 video: driver: add support for pineapple V2 devices
Adding support for pineapple V2 devices

Change-Id: I9088895ff92ca34ee3b46bd99e0d068b478e083d
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2023-01-13 16:40:26 -08:00
Chinmay Sawarkar
7ea481092e video: driver: Update non_comv_h265e buffer size
HFI_BUFFER_NON_COMV_H265E updated to incorporate
multi-tile single slice change.

Change-Id: Ia1f48cc1680a411b107c1ee95377d493cb682739
Signed-off-by: Chinmay Sawarkar <quic_chinmays@quicinc.com>
2023-01-13 16:25:44 -08:00
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
cfe3869048 video: driver: introduce macros from hfi_registers.h
Introduce macros defined in hfi_registers.h interface file
and cleanup unused macros.

Change-Id: Icf05f2ca2fb69556a1c8d076c87af687fd98ed87
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
2023-01-12 11:28:44 -08:00
qctecmdr
a83f8b5c38 Merge "video: driver: Enable power collapse" 2023-01-12 09:50:35 -08:00
qctecmdr
bc0e8274bf Merge "video: driver: add clock residency calculation support" 2023-01-06 10:25:30 -08:00
Mihir Ganu
88612676b6 video: driver: Enable power collapse
Enable software power collapse.

Change-Id: Ie542587465a1688e7bd0a7669b93b64620b2e356
Signed-off-by: Mihir Ganu <quic_mganu@quicinc.com>
2023-01-05 10:39:34 -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
qctecmdr
179b38a1ec Merge "video: driver: makefile change to compile upstream driver" 2023-01-04 09:38:41 -08:00
Ankush Mitra
cf13b6dfe5 video: driver: makefile change to compile upstream driver
Makefile changes to include upstream driver specific files
for successful compilation of upstream driver.

Change-Id: I18b7d3324d49360b79104546df56b2d4f1fcbcd9
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
2023-01-04 10:46:26 +05:30
Megha Byahatti
1ce3863b21 video: driver: add database file for upstream taro
Add database file for taro prepared based on upstream.
This file won't be compiled for Android builds.

Change-Id: I6804654b0574f4cc42d90278e4a022482c27ce99
Signed-off-by: Megha Byahatti <quic_mbyahatt@quicinc.com>
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2023-01-04 00:07:33 +05:30
Govindaraj Rajagopal
e15f3afabd video: driver: add clock residency calculation support
Add logic to derive clock residency values for each
frequency levels.

Change-Id: Iadad29d2733cb083fce627999a31dd96475b73c1
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
2022-12-30 23:42:16 +05:30
qctecmdr
4f297753f7 Merge "video: driver: implement memory_ops for upstream" 2022-12-27 10:58:45 -08:00
qctecmdr
d52a0b7f71 Merge "video: driver: Use iommu.h instead of dma-iommu.h" 2022-12-22 11:18:57 -08:00
qctecmdr
9b51939152 Merge "video: driver: set force mem and pheripheral on flags" 2022-12-22 11:18:57 -08:00
qctecmdr
2d442bba69 Merge "video: iris33: ensure AON spare register to become zero" 2022-12-22 11:18:56 -08:00
qctecmdr
075e5e2eab Merge "video: driver: refine core state machine" 2022-12-22 11:18:56 -08:00
tkashyap
bbcd8f6db3 video: driver: Use iommu.h instead of dma-iommu.h
Change-Id: If8e6e192e3320c36484e8348f3cb4215618867fb
2022-12-21 16:19:14 -08:00
Manikanta Kanamarlapudi
4f8d8b7f33 msm: vidc: Increase min o/p buffer count for AV1
Increase minumim output buffer count from 9 to 11
for AV1 decoder.

Change-Id: I22c7d03c5ed0e3eba159c9009f4e313fe7b4b5cb
Signed-off-by: Manikanta Kanamarlapudi <quic_kmanikan@quicinc.com>
2022-12-21 16:07:33 +05:30
Ankush Mitra
9e8ced68f3 video: driver: Pineapple CAP Database fix
Fix the issue in pineapple CAP Database for
SLICE_DECODE.

Change-Id: I1b4dc51bbb23634aa372eba35b18ca9b6caada2d
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
2022-12-21 12:57:04 +05:30
Maheshwar Ajja
4716d7bc72 video: driver: set force mem and pheripheral on flags
Set mvs0c clock flags (force mem and pheripheral on).

Change-Id: I52380a30a4c74d9658f989377b5c77209cd8a33e
Signed-off-by: Maheshwar Ajja <quic_majja@quicinc.com>
2022-12-19 14:58:23 -08:00
Dikshita Agarwal
d7e518a85c video: driver: implement memory_ops for upstream
- Implement upstream specific memory_alloc/map and
  memory_unmap/free API based on standard dma_alloc_attr()
  and dma_free_attr() APIs which allocates and map dma buffer.
- Combine alloc and map, unmap and free.

Change-Id: Ie85914beb72c3976febdc9e6a11c9199f2ea4192
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2022-12-15 11:23:20 +05:30
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