Commit Graph

540 Commits

Author SHA1 Message Date
Chinmay Sawarkar
7e866a6a3c msm: vidc: Initialize max cf and max cr values
CF and CR cannot be zero. Initialization of Min/Max values
keeps the values within limits, when FW does not provide them.
Also, do not modify CF, CR value based on DCVS. Always use
worst case values.

CRs-Fixed: 2467542
Change-Id: I91ed83cb5c9e1a8cda5775c491d99b97c4043a12
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2019-06-13 14:51:05 -07:00
qctecmdr
b9dc8d7ed3 Merge "msm: vidc: add VIDC_BUS log mask" 2019-06-12 20:11:55 -07:00
Dikshita Agarwal
56010535ad msm: vidc: add caps for batch mode decode
- Add caps for batch mode decode for lito.
- fix min value for few caps.

Change-Id: I24ae2baf506f885398ef9f121e6a25a141078db8
2019-06-12 17:33:15 +05:30
Maheshwar Ajja
d4b95d4a4e msm: vidc: add sanity checks for clocks and regulators
Add sanity checks before and after clocks and regulator
operations to get more information if these operations
not functional as expected.

Change-Id: Ib4985113200ed065e6acf6cb7ae406b88cc7f432
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2019-06-11 16:41:38 -07:00
qctecmdr
c8babda925 Merge "msm: vidc: Provide default profile type in s_fmt" 2019-06-11 16:25:15 -07:00
qctecmdr
635c29dcf0 Merge "msm: vidc: limit gop size to firmware max supported value" 2019-06-11 16:25:14 -07:00
Govindaraj Rajagopal
cb789feb4e msm: vidc: limit gop size to firmware max supported value
Change gop size to firmware max supported range.

Change-Id: Ic84dc498b9399b8cc453127c42acf42d31c0f3d4
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2019-06-11 10:25:49 -07:00
Akshata Sahukar
1f3b5821fe msm: vidc: Provide default profile type in s_fmt
Set default profile type to avoid error when client
has not set any profile type.

Change-Id: I89b81f5167f65685e47073b5e73d3bd7c4fe81d6
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2019-06-11 10:25:19 -07:00
Maheshwar Ajja
1dcfc5752d msm: vidc: decide batching while configuration
driver returns min buffer count to client which includes
extra buffers count which is required for batching even
though batching may be disabled in start_streaming() later.
So decide batching in set format (configuration) to avoid
adding extra buffers count to reduce memory usage in
non-batching cases.

Change-Id: I147f7aaf928074a23c9dcda2dbf69a744cec382d
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2019-06-11 10:16:12 -07:00
qctecmdr
5db23dd1f4 Merge "msm: vidc: support disable all blur feature" 2019-06-11 01:07:19 -07:00
Shi Zhongbo
2a820b1c52 msm: vidc: add VIDC_BUS log mask
Add new VIDC_BUS log mask for bus parameters
related logs.

Change-Id: If933c8c88ec2e0ccb283606da7f46a3c3c49756a
Signed-off-by: Shi Zhongbo <zhongbos@codeaurora.org>
2019-06-11 13:44:52 +08:00
Govindaraj Rajagopal
fc8664564a msm: vidc: add additional check to avoid out of bound access
pkt->msg_size can be corrupted, that leads to OOB access. So added
additional conditional check to avoid OOB access in debug queue
packet handling.

Change-Id: I360812c40369ecef2dd99464d400661bc785074b
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2019-06-11 10:16:06 +05:30
Chinmay Sawarkar
fe44bca0c0 Revert "msm: vidc: Enable ubwc cr stat by default"
This reverts commit 52ae7a5f1b.
2019-06-10 13:15:54 -07:00
Qiwei Liu
48e20d6e8f msm: vidc: support disable all blur feature
Add support to disable both auto blur and
external blur.

Change-Id: I5200f738ffa5849a3e840f90f0da66c38607ceae
Signed-off-by: Qiwei Liu <qiweil@codeaurora.org>
2019-06-10 21:42:11 +08:00
Maheshwar Ajja
994366e082 msm: vidc: use batch enable instead of decode_batching
Use the existing batch enable variable instead of extra
variable decode_batching.

Change-Id: Ic7875caf2b0d2c47d77b0c0c0ce9b5792920cafc
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2019-06-07 21:59:09 -07:00
qctecmdr
c27dd191a0 Merge "msm: vidc: Release non-requested internal buffers" 2019-06-07 21:28:17 -07:00
Chinmay Sawarkar
52ae7a5f1b msm: vidc: Enable ubwc cr stat by default
Decode session needs UBWC CR statistics for BW calculations.
Hence need to enable this exetradata by default.

CRs-Fixed: 2467542
Change-Id: I3955a0b09cf82f97478c31704be6b16f297b011b
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2019-06-07 21:14:59 -07:00
Govindaraj Rajagopal
12ac83a8c5 msm: vidc: Release non-requested internal buffers
during load resource firmware will check input buffer type
against requested buffer type. If there a mismatch it will
throw an error. So cleared non-requested buffer from the
scratch buffer list

Change-Id: Ifabf532982a393d4fc356ff3cad0ca3fd715fce0
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2019-06-07 21:14:30 -07:00
qctecmdr
0df3d37992 Merge "msm: vidc: Update perf mode for different video hardwares" 2019-06-07 19:21:19 -07:00
Manikanta Kanamarlapudi
3418f42be4 msm: vidc: Update device clock after cx ipeak logic
Existing code updates the device clock before cx ipeak logic.
As a result, the cx ipeak takes a decision based on updated
clock rather than the clock at which the device was running.
With the change, device clock is updated after the cx ipeak
is decided.

Change-Id: Icfde29176f8adb3a12c68a611f47b83ca7a8e4a9
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
Signed-off-by: Manikanta Kanamarlapudi <kmanikan@codeaurora.org>
2019-06-07 13:56:51 -07:00
Vikash Garodia
31021fce6a msm: vidc: Update perf mode for different video hardwares
Perf mode can be either predefined or can be decided dynamically.
It is configured differently for different video hardware versions.
Perf mode is now updated with below
1. Remove multicore calculation as it is not applicable for single core
   hardware.
2. Rate control type CQ is considered during load calculation
3. If the clocks are available, keep higher perf mode, unless restricted
   by the hardware specification.

CRs-Fixed: 2462264
Change-Id: I9328e07ea3d1667b15a431c624112f1e8f8c92e0
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
2019-06-07 13:36:51 -07:00
qctecmdr
3c7535842c Merge "msm: vidc: fix f/w logging route checking" 2019-06-07 13:26:11 -07:00
qctecmdr
0b7cd621d3 Merge "msm: vidc: remove decoder operating rate setting to firmware" 2019-06-07 13:26:10 -07:00
qctecmdr
ec4616697c Merge "msm: vidc: Update in VP9 decoder height alignment" 2019-06-07 13:26:10 -07:00
Govindaraj Rajagopal
762f815ddc msm: vidc: remove decoder operating rate setting to firmware
operating rate setting to firmware is not required for decoder.

Change-Id: I271a42822f4a00e95d875400e5ad273697c94ab1
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2019-06-07 12:48:52 -07:00
qctecmdr
671a044e76 Merge "msm: vidc: amend cvp module structures" 2019-06-07 12:48:17 -07:00
Vikash Garodia
612a31d1ac msm: vidc: update video resolution during reconfig event
Video port resolution can be updated during reconfig event itself.
With this, reconfig height and width was removed. Also relevant
code cleanup was made accordingly.

Change-Id: I4fb38563b4c747eb356f28b7df7e99bd397ff8d1
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
2019-06-06 23:06:24 -07:00
Shi Zhongbo
b0cae0e825 msm: vidc: fix f/w logging route checking
Fix to check f/w logging route based on
local flag variant instead of the global one.
Because route maybe updated when error occurred.

Change-Id: Ia67e138a2b494da465f4868553d33509e70020eb
Signed-off-by: Shi Zhongbo <zhongbos@codeaurora.org>
2019-06-06 23:04:36 -07:00
Akshata Sahukar
f1863f28aa msm: vidc: Update in VP9 decoder height alignment
Updated SIZE_VPXD_LB_RECON_DMA_METADATA_WR macro to
align height to 16 from 8.

Change-Id: Icf8dd8494df49251979557af890d91f6aaf5b5d0
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2019-06-06 17:37:53 -07:00
qctecmdr
a0fbf77bc3 Merge "msm: vidc: Reject read only OPB buffer in split mode" 2019-06-06 12:42:41 -07:00
qctecmdr
9c21486992 Merge "msm: vidc: Update VP9 minimum buffer count" 2019-06-06 12:42:41 -07:00
Amit Shekhar
6c943a0584 msm: vidc: Reject read only OPB buffer in split mode
Requirement stipulates OPB to be writable buffer in split mode.
Erring out in case of read only buffer will help debugging quickly.

Change-Id: I529a97b3d0aa5f82e7cf7d024475338a9d24d1dd
Signed-off-by: Amit Shekhar <ashekhar@codeaurora.org>
2019-06-06 11:22:21 -07:00
Akshata Sahukar
a7517a214f msm: vidc: Add support to BRS feature
Include BRS control id in msm_venc_s_ctrl to add
support to BRS feature.

Change-Id: I05b23e7960128a7b19c582caa5123849ba0cb2b0
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2019-06-06 10:46:29 -07:00
Akshata Sahukar
046ec851a6 msm: vidc: Update VP9 minimum buffer count
Update VP9 output_min_count to 9.

Change-Id: I920e534882846ec5e9a5b287e95c2290222fc40f
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2019-06-06 10:23:24 -07:00
Govindaraj Rajagopal
4fc4b562fb msm-vidc: reduce max_tries count to 1000
Cleaning up the debug change - reset max_tries count
from 10000 to 1000.

Change-Id: Id0b142f92b8f45eaa73ab256b7b07bb10f382b80
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2019-06-03 15:11:36 -07:00
Maheshwar Ajja
e8ea759822 msm: vidc: amend cvp module structures
Align strctures as expected by CVP firmware.

Change-Id: Ib0a379d8dbcf0c65a8eef1561778f2fa972b517c
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2019-05-31 13:00:11 -07:00
Dikshita Agarwal
0c95602a7b msm-vidc: update supported resolution for VP8 decoder/encoder.
Update max supported height to 1920 for Vp8.

Change-Id: Ic8013967b73ea538045bdb89dabe34bdc6559359
2019-05-30 13:09:00 -07:00
Shi Zhongbo
2f4c502bab msm: vidc: revise debug levels
Clean up debug log levels as:
    1. Revise VIDC_WARN to VIDC_ERR;
    2. Revise VIDC_PROF as VIDC_PERF;
    3. Mark some one-time logs, e.g most of logs
       in initialization and deinitialization as VIDC_HIGH;
    4. Keep VIDC_PKT;
    5. All other logs change to VIDC_LOW;

Change-Id: I8fc30f97dc3424da8418aab00e8af074ec8d4ef9
Signed-off-by: Shi Zhongbo <zhongbos@codeaurora.org>
2019-05-27 13:37:45 +08:00
Chinmay Sawarkar
31bb5f19a0 msm: vidc: Disable batching for concurrent usecase
Disable decode batching for concurrent decode session.

CRs-Fixed: 2457122
Change-Id: I776e9d057ae0f1a9dc0fd565b061ae48b88435e1
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2019-05-25 11:54:38 -07:00
Vikash Garodia
967b2f6bcb msm: vidc: Decide DCVS after session configuration
DCVS feature depends on multiple client configurations.
Low latency, thumbnail mode, etc are few among them.
DCVS is now decided before the session starts streaming
i.e after all configuration are inplace.

CRs-Fixed: 2457035
Change-Id: I4a42ae6bafdc852e81794b69d117f5821af4841f
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2019-05-25 09:47:32 -07:00
qctecmdr
7c7796087e Merge "msm: vidc: Revert of 2735098" 2019-05-25 08:49:36 -07:00
qctecmdr
ed12e2847b Merge "msm: vidc: reject sessions based on max mbpf" 2019-05-25 08:04:35 -07:00
Shivendra Kakrania
d783a8038b msm: vidc: Revert of 2735098
Reverting 2735098 "update video dimensions during port reconfiguration".

Change-Id: I2343cf77d23a564c3346d71dae9cd6377ae9d4e2
Signed-off-by: Shivendra Kakrania <shiven@codeaurora.org>
2019-05-24 22:18:31 -07:00
qctecmdr
a7df19432e Merge "msm: vidc: do not enable CVP usage for secure session" 2019-05-24 18:46:46 -07:00
qctecmdr
d12358a8ff Merge "msm: vidc: fix f/w logging route" 2019-05-24 18:46:46 -07:00
qctecmdr
18125ce4d2 Merge "msm: vidc: update video dimensions during port reconfiguration" 2019-05-24 18:46:46 -07:00
Vikash Garodia
05d88704e8 msm: vidc: update video dimensions during port reconfiguration
During a decode session, video output port can go through
reconfiguration. As a result, update the reconfig dimension
when client calls for g_fmt on output port.

Change-Id: Ib5f5866acbdfe107ba4693b8b94498d42f74b312
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
2019-05-24 16:29:03 +05:30
Maheshwar Ajja
60c3671f50 msm: vidc: do not enable CVP usage for secure session
CVP usage is not supported for secure session so do not
enable CVP usage for secure session.

Change-Id: Ifed6daaf706895ebbc56b246134d9775787c7b9d
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2019-05-23 14:55:14 -07:00
Shi Zhongbo
cc5f9c5409 msm: vidc: fix f/w logging route
Fix to independently control f/w logging route.

Change-Id: I81b57995cb9619d2dee9c43547e86cc3f08d3778
Signed-off-by: Shi Zhongbo <zhongbos@codeaurora.org>
2019-05-23 11:45:32 +08:00
Maheshwar Ajja
71ce4cbe76 msm: vidc: reject sessions based on max mbpf
Driver need not support sessions if cumulative
mbpf (macroblocks per frame) is more than platform
specified value. So reject such sessions.

Change-Id: Id12eedfb97783b746c771066d6a556692be84c9f
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2019-05-22 16:27:31 -07:00