커밋 그래프

440 커밋

작성자 SHA1 메시지 날짜
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
Govindaraj Rajagopal
c148cf0bb5 video: driver: add heic 10bit image encoding support
- fix 10bit internal buffer allocation handling
- profile: MAIN_10
- pixfmt: linear 10bit(MSM_VIDC_FMT_P010).

Change-Id: I49ffd221927e5eb59915405ff62c038ae05b84f3
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-03-23 14:00:00 +05:30
Chinmay Sawarkar
7b9c3cb048 video: driver: Enable encoder input CR stats
Enable encoder input Compression Ratio (CR) stats.
Input CR stats are provided by clients for each input buffer
and used in bandwidth calculations.

Change-Id: Ibd910118837148b0b9dcc288069237f9a2d8f225
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2021-03-22 20:09:45 -07:00
Darshana Patil
48912aee84 video: driver: add RGBA format support
add RGBA and RGBA_UBWC color format support
for encoder.

Change-Id: I3e179ae9769d851afc5a6f11e1afb14d96e92073
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-03-22 18:12:16 -07:00
Chinmay Sawarkar
6d7120a4d3 video: driver: Add ctrl for encoder input cr
Add new control to set Encoder Input Compression Ratio.

Change-Id: I4a68aead33c40e848ed354c51356e4084190290d
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2021-03-22 16:22:15 -07:00
Govindaraj Rajagopal
d238d03c1b video: driver: refine image session handling
Amended below logics for image session.

- set constant quality
- set tier: V4L2_MPEG_VIDEO_HEVC_TIER_MAIN
- frame_rate: 1
- enable subframe metadata
- stage:
	- image encode: 2 stage
	- image decode: 1 stage
- pipe: 4(work_route)
- power mode: max_quality.

Change-Id: I67acd5284910e7cbe26446b5dfc526d002b98981
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-03-22 12:26:54 +05:30
qctecmdr
e9e2d38148 Merge "video: driver: fix colorspace subscribe params initialization" 2021-03-19 19:33:03 -07:00
qctecmdr
b487d2916d Merge "video: driver: add qti dma-mapping header" 2021-03-19 18:48:11 -07:00
qctecmdr
0cc7514cba Merge "video: driver: add resume before unload firmware" 2021-03-19 18:02:24 -07:00
Akshata Sahukar
7a9d3462dd video: driver: fix colorspace subscribe params initialization
Initialize subscribe params for colorspace using OUTPUT
port params and use right mapper function

Change-Id: Ie6be50c1de20e351bad0fc4b015bcc4d72d1711b
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-03-19 17:32:12 -07:00
Maheshwar Ajja
007b8136fb video: driver: add qti dma-mapping header
Use qti dma mapping header file to use qti
specific dma attributes.

Change-Id: If755c0df22a59af764d2b55a236dfe18bc265f54
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2021-03-19 17:15:22 -07:00
Akshata Sahukar
4ef2b8899d video: driver: Block HB layer encoding type
Allow only HP layer encoding type until fw fatal error
is resolved

Change-Id: Id35e78bbb5feaab0c9d4ad94c94d5b7e47733b69
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-03-19 14:40:51 -07:00
Maheshwar Ajja
47c0c2603d video: driver: add resume before unload firmware
Add resume function call to power on the device before
unloading the firmware.

Change-Id: Ic2e4e74d01f9e5e61353a0ff07955ebd1358efc4
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2021-03-19 13:50:43 -07:00
Akshata Sahukar
98e799da29 video: driver: Add support to handle GOP and its dependencies
Add support to below mentioned properties:
- HFI_PROP_LAYER_ENCODING_TYPE
- HFI_PROP_LAYER_COUNT
- HFI_PROP_MAX_GOP_FRAMES
- HFI_PROP_MAX_B_FRAMES.

Change-Id: I3be975a48dc668d0ec83f6ff13837488fc570b78
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-03-19 12:33:27 -07:00
qctecmdr
5d45f82cbb Merge "video: driver: fix driver tip compilation" 2021-03-18 15:40:09 -07:00
qctecmdr
4d2365b36d Merge "video: driver: Allow dynamic setting for CODEC_CONFIG" 2021-03-18 14:49:24 -07:00
Darshana Patil
ca83b4c74c video: driver: fix driver tip compilation
add braces to avoid dangling else.

Change-Id: I910112cf67a8d3f9ac05e17dbbf3a9f6865e2433
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-03-18 14:14:16 -07:00
Mihir Ganu
fd68015bc7 video: driver: Allow dynamic setting for CODEC_CONFIG
Set dynamic flag for CODEC_CONFIG cap to allow dynamic setting.

Change-Id: Ie49b60508b0633b34b38e4c17b8e214e7e4159a5
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2021-03-18 09:41:52 -07:00
Manikanta Kanamarlapudi
4bb7345607 video: driver: Adjust input meta buffer queue size
Adjust input meta buffer queue size as per the
super frame count.

Change-Id: Ie1fc10bd13b0daa09b171fb2532beb1f22d93811
2021-03-18 08:59:24 -07:00
qctecmdr
3efbfcc1a3 Merge "video: format: Add bounds check" 2021-03-17 19:47:09 -07:00
qctecmdr
06d10fa3ce Merge "video: driver: Align buffer macros file with hfi file CI: 29354708" 2021-03-17 18:32:19 -07:00
Elliot Berman
1147530e8c video: format: Add bounds check
Add bounds check on fmtdesc index
to prevent out-of-bounds array access.

Change-Id: I52873426714c8a15c0fe7b0971fe5737a549c691
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
2021-03-17 14:43:00 -07:00
Akshata Sahukar
479023c98c video: driver: Align buffer macros file with hfi file CI: 29354708
Align hfi_buffer_iris2.h file with hfi interface file
hfi_lx_mem_v1.0_doc.h.

Change-Id: Ie3811f58a94798d135ccfa1cb15d24900c2629d3
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-03-17 11:09:39 -07:00
Darshana Patil
3dc0696b1d video: driver: enable thumbnail mode
enable thumbnail mode depending upon
the thumbnail capability in database.

Change-Id: I2f3a36ae0ee785e73a009cfc385290c983a43e29
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-03-16 22:25:02 -07:00
qctecmdr
d51e886a52 Merge "video: driver: modify s_fmt for decoder" 2021-03-16 18:39:05 -07:00
Darshana Patil
b3ddb4f102 video: driver: modify s_fmt for decoder
read input width and height and update
output resolution based on client set
color format.

Change-Id: I5605eb875ca679c671d083ca691b046769279ce5
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-03-15 17:16:08 -07:00
Govindaraj Rajagopal
f4045ecbd6 video: driver: enable image encode and decode support
Added change to enable image encode and decode support.

Decoder:
    - codec: hevc
    - input buffer size: yuv size
    - run as turbo session
    - all intra session
    - disable dcvs & batching
    - ignore admission control(skip mbps, mbpf check)

Encoder:
    - codec: hevc
    - rc mode: CQ
    - profile: MainStillPic
    - all intra session
    - output buffer size: 2 * yuv size
    - output dimension: 512 x 512
    - disable dcvs & batching
    - ignore admission control(skip mbps, mbpf check)
    - skip scaling check
    - hfi: set grid enable & disable time_delta based rc.

Change-Id: I0af47de1406a53d8d8bf1969a65b3a390b0aacb5
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-03-13 18:44:11 +05:30
Govindaraj Rajagopal
67f9760f85 video: driver: add HEIC codec type to support image session
Added V4L2_PIX_FMT_HEIC codec type to support image decode
and encode session.

Change-Id: I1adc3eeacaef5622222122b464ffd43b877638e8
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-03-13 18:41:19 +05:30
Vinay Pandurangi
048064ff82 Revert video: driver: add HEIC codec type to support image session
Change-Id: I164df87ab15c31e368a27f5f7f8d0f207f73df6b
2021-03-12 18:34:01 -08:00