Commit Graph

23 Commits

Author SHA1 Message Date
qctecmdr
bfdd3e8866 Merge "msm: vidc: Enable msm_vidc_events tracing" 2020-05-05 09:54:41 -07:00
qctecmdr
303075dcf4 Merge "msm: vidc: delayed start of dec vpp processing in work mode 2" 2020-05-01 14:11:48 -07:00
Mihir Ganu
39bfdaa636 msm: vidc: Enable msm_vidc_events tracing
Enable tracing by adding trace function definitions
and remove stubbed trace functions.

Change-Id: I49902273b78265dabb43ef4a8ef1b8f2fe0529cc
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2020-05-01 09:07:47 -07:00
Prakruthi Deepak Heragu
9903d41e30 msm: vidc: Fix NULL pointer error when DEBUG_FS is disabled
Add extra check to avoid NULL pointer derefernce when DEBUG_FS is
disabled.

Change-Id: Id89e5422c5afce0428dd77280788d50af0a22fec
Signed-off-by: Prakruthi Deepak Heragu <pheragu@codeaurora.org>
2020-04-30 15:59:31 -07:00
Chinmay Sawarkar
7fe6ac1624 msm: vidc: delayed start of dec vpp processing in work mode 2
Introduced new property to configure start up delay for vpp processing.
This feature is enabled for AVC/HEVC 8k resolution case. Due to the delay
in vpp processing, ubwc stats structure is moved from ebd to fbd.
Ubwc stats changed from per buffer stat to worst case stat from current
dpb list. Introduced debugfs control "vpp_delay" to control delay of vpp
processing, range 0 to 31.
Updated min buffer count requirement due to vpp delay as well.

Change-Id: Ib2a07e4b5d7a9cbf3661258790276843ad714d37
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2020-04-28 15:24:55 -07:00
Mihir Ganu
494d4b0e21 msm: vidc: Use sid to create instance debugfs directory
Currently, instance pointer value is used to create an instance debugfs
name. Using instance pointer causes multiple instances to have the same
debugfs name when kptr restriction is applied. Use instance sid instead
of pointer value to create a unique debugfs name during concurrencies.
Also, use %pK instead of %p in other places.

Change-Id: I098f641e9a548bcb8bf6d939422607cdc194adb3
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2020-02-27 16:34:46 -08:00
Maheshwar Ajja
749c6aa9a9 msm: vidc: make video driver as module
make changes in video driver to make it as module.

Change-Id: I00788a1b72cc799f655b16e1bc6b7d6d6e0441f9
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2019-12-18 14:22:43 -08:00
Mihir Ganu
3ef057136a msm: vidc: Migrate to icc API to set bus bandwidth
- msm-bus API is deprecated in favor of upstream interconnect API
- Migrate all msm-bus functions to interconnect (icc) API
- Remove msm-bus sub-device probing and parse interconnect fields from
  msm-vidc device tree

Change-Id: Ibf08c52e001c5fde7e30d2aedbd3456a270f5b6c
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2019-10-30 10:55:45 -07:00
Karthikeyan Periasamy
2c2d48f5b6 msm: vidc: fix the compilation in lahaina
- Made the changes in video module to compile successfully.
 - Removed cvp and v4l2 private files.

Change-Id: Iaf5f29d6042a87d5b96b1fa4abb985ee3e592f0e
Signed-off-by: Karthikeyan Periasamy <kperiasa@codeaurora.org>
2019-10-25 12:35:37 -07:00
Karthikeyan Periasamy
09e8935f10 msm: vidc: Lahaina bringup - Stage I
Bring all the missing changes from Kona
aa56c67 msm: vidc: Set fps to 1 for image encode sessions
bc60bd6 msm: vidc: Add support of level 6.1 to VP9 decoder
349732b msm: vidc: update LTRUse maximum limit
9d3a015 msm-vidc: calculate buffer size based on 512x512 for heic
46e2095 msm: vidc: Update Kona Profile Level Capabilities
ad8cd1c msm: vidc: delete v4l2 controls after queue release
ea1efd0 msm: vidc: Initialize core ops for bengal VPU version
533aa1c msm: vidc: don't skip set ctrl for the same value
e52cd53 msm: vidc: use macro to get/set fields
92344f3 msm: vidc:  Add new hfi file for AR50 lite
1931ba3 msm: vidc: Update bitrate constraint check
733ea29 msm: vidc: Add bengal specific functions
81b07d4 msm: vidc: Update control capabilities at SESSION_INIT stage
f3e9363 msm: vidc: deprecate firmware buffer requirement property
557ca13 msm: vidc: Update VSP cycle count calculation
7ff089a msm: vidc: fix kw issues
b9733c7 msm: vidc: Add config files for bengal
1b0c12b msm: vidc: Allow all-intra encoding in CBR_CFR
3ca1cf0 msm: vidc: Add platform specific data
a16c617 msm_vidc: venc: update HEIF output buffer count
622514e msm: vidc: fix extradata none parsing issue
1f61e2c msm: vidc: Update mb/frame resolution to 4096x2304
16ffe6b msm: vidc: add dynamic support of frame quality
46f2efd msm-vidc: return unknown ctrl for internal cvp client
043315f msm: vidc: add support for dpb_buffer_count payload

Change-Id: Iee095078d8cd558ea030e65e8d1895b4c7d78948
Signed-off-by: Karthikeyan Periasamy <kperiasa@codeaurora.org>
2019-10-15 11:53:10 -07:00
qctecmdr
05586cb2b8 Merge "msm: vidc: Enable error recovery by default" 2019-09-05 18:22:38 -07:00
Shivendra Kakrania
530762b1be msm: vidc: Enable error recovery by default
Error recovery is enabled by default & it will get triggered
for all sys error reported by video firmware.

For debugging purpose it can be disabled as:
    1. disable error recovery for noc error:
       echo 1 > /d/msm_vidc/disable_err_recovery
    2. disable error recovery for non-noc error:
       echo 2 > /d/msm_vidc/disable_err_recovery
    3. disable error recovery for all cases
       echo 3 > /d/msm_vidc/disable_err_recovery

Change-Id: Ie260485842704d3e278ded8c6d1722bc19c80f6f
Signed-off-by: Shivendra Kakrania <shiven@codeaurora.org>
2019-09-05 15:02:50 -07:00
Govindaraj Rajagopal
bba6fe37af msm: vidc: print session specific logs based on logmask
print logs based on logmask set on debugfs entry
	(/d/msm_vidc/debug_level)
[1] 0xx -> print logs for all session type
[2] 1xx -> print only encoder logs
[3] 2xx -> print only decoder logs
[4] 4xx -> print only cvp logs

Change-Id: I8e01ee9c8b80a50b178ea87bf25d7ef25401f67a
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2019-09-05 11:39:30 +05:30
Govindaraj Rajagopal
2548b43adb msm: vidc: print session and codec type in dprintk
[1] Maintain log_ctxt cookie to track debug information.
[2] Print codec type and session type by default in logs.

Change-Id: I6c01f3238ba868fdc525f5c60f58545a07bdef3a
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2019-09-04 20:52:25 +05:30
Govindaraj Rajagopal
c705bf58ef msm: vidc: print session_id in logs
Print session_id details in all possible call flow paths.

Change-Id: I0c583dc99d4ebee7fbcb4e36d917ba9120fa670e
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2019-09-04 18:32:46 +05:30
Govindaraj Rajagopal
d1161f93dc msm: vidc: increase msm_vidc_hw_rsp_timeout to 1500
Increase msm_vidc_hw_rsp_timeout to 1500, if kerenl or firmware
log_mask is set.

Change-Id: Id12e05e78ac4b004e4ccef7ff48be4f8eca1242a
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2019-08-05 11:27:07 +05:30
Chinmay Sawarkar
04f6c63d2d msm: vidc: Add trace for every buffer transaction
Tracing all the buffer transactions give clear picture of
session behaviour and is helpful in performance analysis.

CRs-Fixed: 2478892
Change-Id: Ibab23a187af77434e20ce0b1c51de29b9d1731f9
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2019-06-25 15:54:47 -07:00
qctecmdr
930efbd82f Merge "msm: vidc: enable cvp usage" 2019-06-24 17:48:09 -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
Shi Zhongbo
4eab7c9c7f msm: vidc: amend video driver and firmware logging
Route all firmware logs to custom tracer by default
custom tracer logs can be enabled using
    "echo msm_vidc_events:* >> /d/tracing/set_event"
custom tracer logs can be collected using
    cat /d/tracing/trace_pipe > trace.txt
New log masks:
    VIDC_ERR        = 0x00000001,
    VIDC_WARN       = 0x00000002,
    VIDC_INFO       = 0x00000004,
    VIDC_DBG        = 0x00000008,
    VIDC_PROF       = 0x00000010,
    VIDC_PKT        = 0x00000020,
    VIDC_PRINTK     = 0x00001000,
    VIDC_FTRACE     = 0x00002000,
    FW_LOW          = 0x00010000,
    FW_MEDIUM       = 0x00020000,
    FW_HIGH         = 0x00040000,
    FW_ERROR        = 0x00080000,
    FW_FATAL        = 0x00100000,
    FW_PERF         = 0x00200000,
    FW_PRINTK       = 0x10000000,
    FW_FTRACE       = 0x20000000,
12 bits [0 .. 11]  are driver log level mask,
4 bits  [12 .. 15] are driver log route,
12 bits [16 .. 27] are firmware log level,
4 bits  [28 .. 31] are firmware log route.

Change-Id: Ib65ac3bdd6ad535775aaed4adf1df3c7b03681a8
Signed-off-by: Shi Zhongbo <zhongbos@codeaurora.org>
2019-05-17 15:01:06 -07:00
Maheshwar Ajja
2922c259e1 msm: vidc: enable cvp usage
Enable CVP usage to improve encoded video quality.

Change-Id: Ice0b6590435c094fa52bedb89f65150ab0c9a378
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2019-05-15 17:17:56 -07:00
Maheshwar Ajja
35da0d64cf msm: vidc: enhance CVP usage functionality
Amend below CVP functionalities

- enable logic
- start sequence
- frame skip logic
- downscale resolution logic
- debugfs support.

Change-Id: I21ad934526c338916d130aaf3401bd89b574b4c1
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2019-05-07 15:26:43 -07:00
Shivendra Kakrania
4ae4cb1749 techpack: video: Video driver kernel project initial snapshot
This change brings msm vidc driver from base 4.19 kernel project.
It is the first source code snapshot from base kernel project.

Change-Id: I1d600c4e9459b9013f4b607890c52644f6d94f0c
Signed-off-by: Shivendra Kakrania <shiven@codeaurora.org>
2019-05-02 22:31:44 -07:00