Commit Graph

43 Commits

Author SHA1 Message Date
qctecmdr
f8e4a801a2 Merge "video: driver: Remove ddr_type call" 2021-02-12 15:53:56 -08:00
Sebastian Dang
a92ec61904 video: driver: Remove ddr_type call
Use default LPDDR5 ubwc config.

Change-Id: I658117c7daefd3d5900db790b2092db0f75dd01a
2021-02-12 15:00:42 -08:00
Akshata Sahukar
b5ce6c94cc video: driver: dynamic control support
- Set dynamic flag in inst database to allow
  dynamic setting of necessary controls.
- avoid enc qbuf call routed to dec.

Change-Id: I66cfcc6be86bfbfe237191a11d533ab6c9455f32
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-02-11 17:33:39 -08:00
Akshata Sahukar
622febc90c video: driver: Modify frame skip mode control
Modify frame skip mode control to alogn with waipio
kernel.

Change-Id: I311e5a6359543cb90ac5c96730b0d50d9f9b2295
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-02-11 16:53:36 -08:00
Akshata Sahukar
691eb8dfa5 video: driver: Add support for CQ bitrate mode
Add CQ bitrate mode support. Also add related
constant quality control support.

Change-Id: I415423e76dc855a7a72e1b68062b9d49433f3ed3
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-02-09 13:55:19 -08:00
Darshana Patil
d4a802bba5 video: driver: add default hdr and rap frame support
For decoder FW should not assume any default sequence header.
Decodering should start only after FW receives first sequence
header. Also, decoding starts only after discovery of random
access point frame. RAP frame means IDR for AVC, IDR/CRA/BLA
for HEVC, I frame for VP9 and MPEG2.

Change-Id: Ie12b8140f6b63e57c52a9c96cb1250f4958a42c6
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-02-04 14:15:58 -08:00
Darshana Patil
b226d6a089 video: driver: fixes for nv12 format and dpb buffer
fixes for nv12 format and dpb buffers. modified
PIX_FMTS and corresponding driver color format
structure, therby fixing enum_fmts.

Change-Id: I955b76dd4938e96fe259311e107a0cdca39425bc
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-01-28 15:42:40 -08:00
qctecmdr
48423c4696 Merge "waipio: driver: Add support for fw unload and power collapse" 2021-01-22 17:45:25 -08:00
Chinmay Sawarkar
852608fcc3 waipio: driver: Add support for fw unload and power collapse
If required, Firmware can be unloaded after every session.
Power collapse is enabled by default.

Change-Id: Ie014a26ae600816d8713cd34826f1f9a77088e4a
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2021-01-22 16:55:57 -08:00
Akshata Sahukar
0b21038c27 video: driver: Add support to deduce min, max, frame qp values
Add support to deduce min, max, frame qp values from client set
controls and set the same to video firmware.

Change-Id: Id94e781cc0c8afdf0e9e00562bdaea32db04fd74
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-21 12:49:37 -08:00
Chinmay Sawarkar
dca32dc984 waipio: driver: Add support for work mode and route
Iris2 specific calculations for Work Mode and Route.
Also add quality mode support.

Change-Id: I7a1e2fa27236aa749978d146d85fd0af6177084c
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2021-01-19 18:14:02 -08:00
qctecmdr
11556af3f4 Merge "video: driver: kill session and core deinit support" 2021-01-19 16:19:03 -08:00
Maheshwar Ajja
39e830e7e3 video: driver: kill session and core deinit support
Add below support
- kill session in case of errors
- core deinit in case of timeout errors
- flush buffers in streamoff
- decide supported colorformats based on
  bitdepth and interlace info
- print level based logs

Change-Id: I45b9b0eae4220a818de23308da8802a9e12ae255
Signed-off-by: Maheshwar Ajja <majja@quicinc.com>
2021-01-19 12:03:09 -08:00
Akshata Sahukar
92f04d7446 video: driver: Phase 2: Add support for advance controls
Add support for some advance controls to set adjusted
client set values to video fw. Mentioned below
are the properties added.
 - HFI_PROP_LTR_COUNT
 - HFI_PROP_LTR_USE
 - HFI_PROP_LTR_MARK
 - HFI_PROP_IR_RANDOM_PERIOD
 - HFI_PROP_AUD
 - HFI_PROP_TIME_DELTA_BASED_RATE_CONTROL
 - HFI_PROP_8X8_TRANSFORM
 - HFI_PROP_LTR_MARK_USE_DETAILS
 - HFI_PROP_DEBLOCKING_MODE

Change-Id: Id31e9774154556df7c66cda366913489815a2723
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-15 21:18:17 -08:00
Darshana Patil
45d8a8c80e video: driver: add decoder bitstream size overwrite support
add decoder bitsream size overwrite support

Change-Id: Id2968c3ac7d485109a47ff7a570a1c18d74dfe43
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-01-14 19:06:52 -08:00
qctecmdr
b63cb106a4 Merge "Revert "video: driver: update defaults to avoid fw sync issue for enc session"" 2021-01-12 16:34:57 -08:00
Akshata Sahukar
60bf543cff video: driver: fix enc drain and change frame rate set handling
- Move driver to MSM_VIDC_DRAIN state when drain command
  is receieved for an encoder session
- Static HFI_PROP_FRAME_RATE setting to video fw handling
  is moved to inst database set function via
  msm_vidc_set_v4l2_properties to avoid enc session failure
  due to setting HFI_PROP_FRAME_RATE before starting video fw

Change-Id: I207b4bce932c5959fe47b9cca32abd15660ce2a9
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-12 15:00:17 -08:00
Akshata Sahukar
a972b72afe Revert "video: driver: update defaults to avoid fw sync issue for enc session"
This reverts commit 2ddc143565.

Change-Id: I6484584391963fa352ee158b11a0ef83984a5f80
2021-01-12 13:50:49 -08:00
Akshata Sahukar
0208a2b471 video: driver: Add support for VIDIOC_S_PARM and VIDIOC_G_PARM
Add support for S_PARM and G_PARM to enable client to
set and get frame rate and operating rate to driver. Also
includes some inst database grooming changes.

Change-Id: I5b39537662faa56effa0ac63acdfc100d83bf403
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-11 17:07:07 -08:00
Mihir Ganu
2126abf6c3 video: driver: Update metadata delivery and subscription
Enable delivery and subscriptions of various metadata based
on client settings. Also, skip instance state changes during
metadata port streamon/streamoff.

Change-Id: I063b562818c661bf1932c3362ecb709d7fe6bc20
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2021-01-08 16:48:31 -08:00
Akshata Sahukar
2ddc143565 video: driver: update defaults to avoid fw sync issue for enc session
Use STAGE_1 work mode and HFI_SEQ_HEADER_JOINED_WITH_1ST_FRAME
as header mode as default values to avoid firmware sync issue with
enc HEVC NV12_UBWC session.

Change-Id: If15c743ec8f9d34e6ec878e4fbbedd20f7bb4e73
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-05 17:52:46 -08:00
Akshata Sahukar
37b85f09d6 video: driver: update ubwc settings
Amend UBWC settings to firmware for processing
UBWC data.

Change-Id: Ia15f6117cc3182344ff96c54cce02ca2f8185eb1
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-05 12:39:34 -08:00
Maheshwar Ajja
a96377f69b video: driver: amend colorformat mask values
Amend database colorformat mask values to avoid
enum / query colorformat failure for clients.

Change-Id: I2ef61129d0aac3da12b015af699eea9bdc73dc57
Signed-off-by: Maheshwar Ajja <majja@quicinc.com>
2021-01-04 15:33:36 -08:00
Akshata Sahukar
c19f4aec51 video: driver: update basic functionality controls
- update basic functionality controls with their parents
  and children list.
- deprecate MPEG2 related code.
- rename driver internal color formats.

Change-Id: I918d6fd238486098f10c5b9ce40c895bcd9468e5
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-12-30 13:06:03 -08:00
Mihir Ganu
ce89227af9 video: driver: Enable encoder and decoder metadata
-Add support to set metadata controls.
-Adjust set/get format for metadata ports.
-Add check when queuing metadata buffers.

Change-Id: I73725e26106621386dcb62cbf916186b9bc43995
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2020-12-23 09:55:59 -08:00
Akshata Sahukar
38b9dd655f video: driver: enc fix to run sample HEVC NV12C testcase
Allocate ARP buffer in CB4 to avoid HW hang issue.
Add support to set HFI_PROP_RAW_RESOLUTION at enc INPUT port
and did necessary changes to set HFI_PROP_CROP_OFFSETS at
OUTPUT port only for encoder. Also added support to set
missing basic control properties to video firmware.

Change-Id: If5bc2940d37ac20c1889cd4de466be09f1e1f28b
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-12-18 19:20:27 -08:00
Darshana Patil
a2f47ddf00 video: driver: split ipsc and opsc subscription
Set ipsc subscribe properties once during start input
and opsc subscribe once during start output. Fetch all
property values from ipsc and set the same values to
output port.
added codec config control support.

Change-Id: I3683becdb62096ee4dbed36181a2dc9876c53724
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2020-12-17 20:57:32 -08:00
Darshana Patil
c07697a367 video: driver: fixes for port settings change
Disable subscribe and delivery mode metadata.
increase hardware timeout. fix to set port
settings subscription once on input and
output port.

Change-Id: I16bbc40d2efe852d1d7f626feb871317a3bc6c08
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2020-12-15 17:23:30 -08:00
Akshata Sahukar
bdc2de6c93 video: driver: fixes to get enc start/stop working
below are the fixes added to get enc start/stop working
along with setting default values to firmware for basic
functionality controls.
  - Create and queue COMV and NON COMV internal buffers
  - Use HFI_PAYLOAD_64_PACKED as payload_info type instead
    of HFI_PAYLOAD_32_PACKED HFI_PROP_CROP_OFFSETS
  - Introduce new control port specifier flags in instance
    database to help set correct port to controls while
    packetization
  - Add support to map basic functionality controls
    v4l2 enum values to hfi enum values
  - Enable static adjust and set controls support

Change-Id: Idc0dc3e3d07d8f6349c74136327a45d77ced1035
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-12-09 16:21:34 -08:00
Akshata Sahukar
e970285cda video: driver: driver fixes required for latest firmware
Update debug packet structure to use waipio related debug
packet structure. Also add HFI_INFORMATION_END cmd
packets handling in reverse thread.

Change-Id: Idbd421d8ada0e8c9d33df54e6f3708b1079c8b47
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-12-08 17:06:46 -08:00
Darshana Patil
3858225faf driver: video: handle input port settings change
add support for input port settings change raised
by fw. update driver subscribed port settings
properties with instance. Raise event to client.
Release, get, create and queue input internal buffers.
Send resume commond to fw on input port.
Add support to destroy internal buffers.

Change-Id: Ic979cf2d0c7298b8083347173a973d553ed52af8
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2020-11-10 17:46:50 -08:00
Darshana Patil
9b4556df59 driver: video: port settings changes
updated hfi command, property header files.
deleted hfi definition header file.
added new input and output properties for decoder.
added profile, level and tier properties as part of
port settings subscription.

Change-Id: I072d0bb56183950920975950b3873003218d526e
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2020-11-02 14:23:16 -08:00
Akshata Sahukar
10e2017aa8 video: driver: update instance database with controls
Update instance database with v4l2 controls.

Change-Id: I0715edfcbf46a82c8e2f67ec298185e2cf4eb5d0
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-11-02 14:22:45 -08:00
Akshata Sahukar
7fe61f51d3 video: driver: add private control definitions
Add private control macros and update old private
control macro usage with newly added macros.

Change-Id: Ie07fa28d74860bbd4de45fdcf746c1990c811aec
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-11-02 14:22:08 -08:00
Darshana Patil
843858405f video: driver: implement module remove function
Implement remove function to unregister video device,
unregister v4l2 device, remove sysfs group, deinit
irq, platform, dt, core.

Change-Id: Ib713b0b66500aafcfb5f0500b9ce7285b9640311
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2020-11-02 14:20:50 -08:00
Akshata Sahukar
2bbf35063f video: driver: fixes for streamoff/streamon
Changes to fix streamon/streamoff functionality.

Change-Id: Ibefa04c5812e0f5a42c578e72eea7650e37c18b0
Signed-off-by: Akshata Sahukar <asahukar@quicinc.com>
2020-11-02 11:54:01 -08:00
Maheshwar Ajja
78857beace video: driver: add buffer handling support
- Add queue buffer support
- Add dequeue buffer support
- Use multiple plane buffers instead of single plane.

Change-Id: I911784a1fa4b8a4b5d3fd35049379ea35d4d52b0
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2020-11-02 10:35:16 -08:00
Akshata Sahukar
dc3df521d4 driver: vidc: add support to s_ctrl
Add support to s_ctrl base skeleton.

Change-Id: I842035b3bb296094f1491148f93233688f35ea14
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-09-30 14:08:56 -07:00
Maheshwar Ajja
b5c03abc93 video: driver: add decoder controls
Add decoder controls and subscribe parameters

Change-Id: Ib4157b7f1dc8ce3c0b49f6bf7f6586883bf3b547
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2020-09-30 14:08:41 -07:00
Akshata Sahukar
6246ad4ce9 driver: vidc: add support for control initialization
Add support for control initialization and set control
implementation. Modified hfi_create_header() and
hfi_create_packet() to handle offset and num_packets
within in the function itself.

Change-Id: If8560be8a884c5df2fcc91f75be90311f1003a41
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2020-09-30 14:08:07 -07:00
Maheshwar Ajja
cd536c944c video: driver: add enumerate format support
Add below configuration
- format enumeration
- set format for encoder
- get inst capabilities based on codec from core

Change-Id: I2484056ae688cf7b634c5137631197a83c382950
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2020-09-30 14:07:40 -07:00
Akshata Sahukar
25f6fd7e7e video: driver: add capabilities parsing logic
Parse capabilities from platform specific file.

Change-Id: I46e45995f24f92d374f749fd58c200542591b6a4
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-09-30 14:07:25 -07:00
Maheshwar Ajja
6f107f7e35 techpack: video: add video driver
Add initial video driver files.

Change-Id: Icd48bbf31e435cf36f149d6c3267cf3a4d7913b3
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2020-09-24 23:56:26 -07:00