提交图

318 次代码提交

作者 SHA1 备注 提交日期
Govindaraj Rajagopal
f6642e3e67 video: driver: add support to register custom handler.
Need to increase debug timeout incase more debug logs were
enabled. This is to avoid sync cmd timeout.

module_param_cb supports to register custom set/get callbacks.
So using this feature to increase various timeout values,
incase more logs were enabled.

Change-Id: I194c077c2ba00af2403d487a3dcfbb48f119b478
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-04-09 10:46:22 +05:30
Akshata Sahukar
1b42ed0a67 video: driver: adjust/set mark/use ltr dynamically only
Avoid adjusting, sanitizing, and setting mark and use ltr
controls to fw for input port static case.

Change-Id: I8ac7fd9537ff0c5ddce0ff0f4d0337cb19dd83d2
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-04-08 13:33:02 -07:00
Akshata Sahukar
7c612dd033 video: driver: Deprecate private ctrls and use upstream ctrls
Remove private ctrl definitions, and use upstream ctrls
in source code.

Change-Id: Ib12cae5b78be69936bf0f97ca09483f5baa60350
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-04-08 12:10:39 -07:00
Manikanta Kanamarlapudi
d77900d9ab video: Fix QP issues
For max-qp, set_min_qp is called,
correct the same.

Change-Id: I2ff7d6557a033fa45343b131fd68cae1eaf6d796
Signed-off-by: Manikanta Kanamarlapudi <kmanikan@codeaurora.org>
2021-04-07 13:12:04 -07:00
Govindaraj Rajagopal
c446124753 video: driver: add frame interval enum support.
Added support for VIDIOC_ENUM_FRAMEINTERVALS to provide
supported frame intervals range for a given resolution.

Change-Id: I51174634739dd1141d308ba9bfd1cf3720b6ca42
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-04-07 09:42:18 +05:30
qctecmdr
deb6f40b1d Merge "video: driver: skip core deinit if deinited already" 2021-04-06 14:33:03 -07:00
Akshata Sahukar
ceab7d9dab video: driver: Do not combine PREPEND_SPSPPS_TO_IDR with SEPARATE/JOINED_WITH_1ST_FRAME
Combination of PREPEND_SPSPPS_TO_IDR with V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE or
V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME is not supported.
Hence, prioritize PREPEND_SPSPPS_TO_IDR over SEPARATE/JOINED_WITH_1ST_FRAME
to set to fw.

Change-Id: Ia23569c046c95889d5eabbe2142d6fd2c69d032a
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-04-06 12:05:17 -07:00
Maheshwar Ajja
e6e1004dd5 video: driver: skip core deinit if deinited already
Do not try to deinitialize core if core was already
in deinited. Also in failed cases skip calling
venus_hfi_core_deinit() from within venus_hfi_core_init()
as the caller will anyway call venus_hfi_core_deinit().

Change-Id: Idda3d989a8eb500b0d5392a1eac65109e3d73b81
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2021-04-06 11:20:50 -07:00
qctecmdr
d0d96b1076 Merge "video: driver: Always set metadata delivery/subcribe commands to fw" 2021-04-05 21:38:36 -07:00
Akshata Sahukar
691131156d video: driver: Define upstream controls
Define upstream controls if any control is currently not
availble in gki or gsi bionic header file.

Change-Id: I370c58712479cb3e8f6f4e5650a8c35cefe59c4f
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-04-05 18:46:14 -07:00
qctecmdr
c2501b7b53 Merge "video: driver: optimize thumbnail input buffer count" 2021-04-05 14:47:48 -07:00
qctecmdr
67c1d2454d Merge "video: driver: enable buffer pool for mostly used structures" 2021-04-05 14:47:48 -07:00
qctecmdr
07b361166a Merge "video: driver: Modify decode order and some misc changes" 2021-04-05 14:16:20 -07:00
Govindaraj Rajagopal
a13f0e1416 video: driver: enable buffer pool for mostly used structures
Enabled recycling for below structure types.

- struct msm_vidc_buffer
- struct msm_vidc_alloc
- struct msm_vidc_map.

Change-Id: I062abef85db24385745119b821f87e5b72a4e835
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-04-05 19:04:55 +05:30
Akshata Sahukar
376e52f50c video: driver: Always set metadata delivery/subcribe commands to fw
Set metadata delivery/subscribe commands to fw even when
delivery/subcribe metadata list is empty to ensure disabling
of needless metadata.

Change-Id: Ifbc8cfbe8911bf3318c6f85f0f6823243f7c6e67
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-04-02 14:41:01 -07:00
Akshata Sahukar
712640a1a8 video: driver: Modify decode order and some misc changes
- Account for V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY
  ctrl value to decide HFI_PROP_DECODE_ORDER_OUTPUT property value.
- Set encoder run time properties on raw port
- Some logging changes.

Change-Id: I5eef81b484e81b69031854a3a8665de4be7f98f9
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-04-02 14:24:46 -07:00
Govindaraj Rajagopal
d6890cd14a video: driver: print buffer_name instead of hex value
Handled below items as part of this change.

- print buffer_name instead of hex value.
- enable dcvs only for realtime sessions.
- enhanced max_input_data_size handling at
  msm_vidc_scale_power.

Change-Id: If5ac810f4e020bee54364161596c5547af94161a
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-04-03 00:43:18 +05:30
Maheshwar Ajja
459b93d5f3 video: driver: amend get and put dmabuf calls
Call get dmabuf before adding to buffers and maps list
similarly call put dmabuf before remvong from buffers
and maps list.

Change-Id: I6875ffb0ed8a144993db0dfdef84333a49521999
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2021-04-02 11:23:53 -07:00
Shi Zhongbo
34ed55ecd1 video: driver: optimize thumbnail input buffer count
Update thumbnail input buffer count to 1 after recieving
thumbnail enable control.

Change-Id: I9341d34d3427c00fd6792f47c947bf4b12966a39
Signed-off-by: Shi Zhongbo <zhongbos@codeaurora.org>
2021-04-02 00:35:13 -07:00
Darshana Patil
19cdce1711 video: driver: skip lazy unmap for dec output buffers
- add support to skip lazy unmapping for decoder
  output buffers only. Map twice for these buffers.
- v4l2 client owned RO SMMU mapped buffers are
  maintained separately in read_only list.
- For FBD with RO flag from fw, add buffer to read_only
  list. Else remove from this list.
- During FTB, if buffer present in read_only list,
  add RO flag to hfi buffer and queue to fw.
- During streamoff output, unmap all buffers except
  those present in read_only list.
- During close, unmap completely and clean up read_only
  list, output list.

Change-Id: Iacee7d298dfbff0b9cb6f17dff27ad98574b489b
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-04-01 12:03:21 -07:00
qctecmdr
ced61b7249 Merge "video: driver: Add support to deliver HFI_PROP_BUFFER_TAG via FTB" 2021-03-31 21:14:15 -07:00
Akshata Sahukar
89e7e48231 video: driver: Add support to deliver HFI_PROP_BUFFER_TAG via FTB
Add support to deliver HFI_PROP_BUFFER_TAG via FTB metadata buffer
to receive HFI_PROP_DPB_TAG_LIST from fw via FBD metadata buffer.

Change-Id: Id9eeee26135379975f55923505d9c91905fa0b9e
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-03-31 19:09:10 -07:00
Maheshwar Ajja
10ac73594f video: driver: skip zero length internal buffers allocation
Few internal buffers size can be zero based on configuration
(such as BIN buffers size is zero for interlace bitstream)
and hence skip allocation instead of returning error.

Change-Id: Id157115d8d6eb3f64154f3b18ec3843f289164ef
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2021-03-31 18:35:46 -07:00
qctecmdr
bc24301695 Merge "video: driver: access buffers list under lock only" 2021-03-30 18:41:03 -07:00
Maheshwar Ajja
e1af4fd098 video: driver: access buffers list under lock only
Do not access buffers list of an instance without
acquiring its instance lock in msm_vidc_set_clocks()
and msm_vidc_set_buses().

Change-Id: Ic7e8e15eaddca3b77bd4eccc6b728de20d3bcc78
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2021-03-30 16:44:03 -07:00
Akshata Sahukar
925c0b1a58 video: driver: Allow HB layer encoding type
- Allow HB layer encoding type
- fix dynamic setting of I Frame QP and Peak Bitrate.

This reverts commit 4ef2b8899d.

Change-Id: I4d63dd424c68d388709684c649ef492ce2489caa
2021-03-30 16:15:14 -07:00
qctecmdr
4a6b6797e5 Merge "video: driver: Align buffer macros with HFI file CI: 29670767" 2021-03-30 15:49:39 -07:00
Mihir Ganu
6368b78d5f video: driver: Align buffer macros with HFI file CI: 29670767
Align hfi_buffer_iris2.h file with hfi interface file
hfi_lx_mem_v1.0_doc.h.

Change-Id: Ie44ee4be1ae5df440906411c7cdfa4b8a8a01194
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2021-03-30 13:37:56 -07:00
Govindaraj Rajagopal
78b1491ee1 video: driver: enable dcvs - power feature
Enable/disable dcvs based on below settings.

- core supports dcvs
- core_clock_voting is set: disable
- encode_batching(superframe): disable
- decode_batching: disable
- thumbnail session: disable
- image session: disable

Handle below items as part of dcvs enablement.

- skip clock scaling for inactive session.
- reset dcvs flags to 0, for encoder at dcvs_window.

Change-Id: I84e6710946bca3fa8c83178f29745d4b9afd4697
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-03-31 02:02:36 +05:30
Dikshita Agarwal
f3298d2fe6 video: driver: use module_param for debug logs
Introduce module_param to enable debug logs.

For general debug, use below commad:
echo 0x103f101f > /sys/module/msm_video/parameters/msm_vidc_debug

To further print bus-related logs, use below command:
echo 0x103f103f > /sys/module/msm_video/parameters/msm_vidc_debug

Change-Id: Iab735d3e7157cd78a8e5d99c4cdbb290fb36421a
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2021-03-30 11:37:21 -07:00
qctecmdr
b1e339dc54 Merge "video: driver: Deprecate upstreamed private ctrls" 2021-03-29 23:00:22 -07:00
qctecmdr
57648d98ff Merge "video: driver: Enable Subsystem Restart (SSR) testing" 2021-03-29 11:26:15 -07:00
Akshata Sahukar
359b3bd628 video: driver: Deprecate upstreamed private ctrls
Deprecate ctrls that are now available in upstream.

Change-Id: Id1c99d3d6c9b9eebc15216786298a4693ab574e4
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-03-29 10:25:09 -07:00
Mihir Ganu
113c10c489 video: driver: Enable Subsystem Restart (SSR) testing
Enable Subsystem Restart test support.
Clients can trigger SSR through debugfs as follows:

echo <trigger_val> > /d/msm_vidc/core/trigger_ssr

u64 trigger_val provides:
  /* <test_addr><sub_client_id><ssr_type>
   * ssr_type: 0-3 bits
   * sub_client_id: 4-7 bits
   * reserved: 8-31 bits
   * test_addr: 32-63 bits */

Change-Id: If23fce3084de00461f1e5cc57884e10d15ad66a9
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2021-03-29 10:21:27 -07:00
Vikash Garodia
0017afac21 video: driver: Add handling for session priority
Following changes are added with this:
1. Handle and adjust session priority.
2. Session addmission based on priority.
3. Power (clock and bus) scaling based on priority.
4. Handle s_parm influence on priority.

Change-Id: I12dec5fb03d733f07b0b0a24b4d74d1ccd4bf791
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
2021-03-29 22:47:28 +05:30
qctecmdr
ac3350d805 Merge "video: driver: Use upstream ctrls" 2021-03-26 19:39:14 -07:00
qctecmdr
c04cf38091 Merge "video: driver: Add support to advanced bitrate ctrls" 2021-03-26 13:38:24 -07:00
Akshata Sahukar
47847faa11 video: driver: Use upstream ctrls
Remove usage of private ctrls and use upstream ctrls.

Change-Id: I137855872030822f0d6b2cd59babca3f0cc591d4
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-03-26 12:40:58 -07:00
Govindaraj Rajagopal
1524ddc445 video: driver: remove smmu_fault_work_handler
Remove separate fault_work_handler and print all needed
debug info as part of smmu_fault_handler callback itself,
to avoid race between fault handler invocation and core
deinit sequence.

Change-Id: Ib47e3d457a5a3e33497c71d5920382cb43baed79
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-03-26 16:37:52 +05:30
Akshata Sahukar
14efc2a0bc video: driver: Add support to advanced bitrate ctrls
Add support to below properties:
- HFI_PROP_BITRATE_BOOST
- HFI_PROP_CONTENT_ADAPTIVE_CODING
- HFI_PROP_MAINTAIN_MIN_QUALITY
- HFI_PROP_VBV_DELAY
- HFI_PROP_TOTAL_PEAK_BITRATE
- HFI_PROP_BITRATE_LAYERx.

Change-Id: I1072f97c7c202c7f4fc38c26e0ab9274ae06fce0
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-03-25 14:50:20 -07:00
qctecmdr
9982dd759c Merge "msm: vidc: fix bus undervoting issues" 2021-03-25 11:28:06 -07:00
qctecmdr
2bf32ad110 Merge "video: driver: add support to print noc error log registers" 2021-03-25 11:28:06 -07:00
Qiwei Liu
2abe166e6b msm: vidc: fix bus undervoting issues
Fix bus undervoting when turbo mode enabled.
Remove kbps_to_icc conversion as the calculated
bandwidth is already kBps.
Fix log printing for bandwidth unit.

Change-Id: I18a384f6d2f8914839af3eba84fd92953db3986c
Signed-off-by: Qiwei Liu <qiweil@codeaurora.org>
2021-03-25 11:01:25 -07:00
qctecmdr
c2003a1836 Merge "video: driver: remove release of dpb buffers" 2021-03-25 10:41:25 -07:00
Govindaraj Rajagopal
a7bdc410ef video: driver: add support to print noc error log registers
Added support to print noc error log registers at below places.

- smmu_fault_handler path
- handle_system_error path.

Change-Id: I9e195bd82a2058f533df8713368e61f57b537b87
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-03-25 16:10:49 +05:30
Darshana Patil
74b6d67205 video: driver: remove release of dpb buffers
remove release of dpb buffers as part of start
of output port.
handle watchdog interrupt incase of page fault

Change-Id: Idaccbcaa92d4835dea2da3d8b6f645114baa338a
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-03-24 17:58:21 -07:00
Govindaraj Rajagopal
2480013ad9 video: driver: add 512 alignment support for image session
Added 512 alignment support for image encode session.

- 8bit(NV12):
	- stride: ALIGN(width, 512)
	- scanline: ALIGN(height, 512)
	- buffer_size: yuv_size
- 10bit(P010):
	- stride: 2 * ALIGN(width, 512)
	- scanline: ALIGN(height, 512)
	- buffer_size: 2 * yuv_size.

Change-Id: Ie9b71a7f85435ccbe0428c4f98d537c8c677251b
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-03-24 20:05:28 +05:30
Sebastian Dang
fb6421e3e9 video: driver: Add mmrm api
Add mmrm apis to driver.
Replace clk_set_rate with mmrm client set value.
Scale branch clock values.

Change-Id: I8ea35b668e4c7d6157c9c4f7120e6a4237cf65de
Signed-off-by: Sebastian Dang <sebastiandang@codeaurora.org>
2021-03-23 22:55:41 -07:00
qctecmdr
a1c98e0e2f Merge "video: driver: add heic 10bit image encoding support" 2021-03-23 16:37:34 -07:00
qctecmdr
c07fa5dd60 Merge "video: driver: add RGBA format support" 2021-03-23 13:37:09 -07:00