Commit Graph

858 Commits

Author SHA1 Message Date
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
qctecmdr
2b70870e3a Merge "video: driver: update basic functionality controls" 2020-12-30 16:01:46 -08:00
qctecmdr
82e2148fb2 Merge "video: driver: add get and set selection support" 2020-12-30 15:41:47 -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
Maheshwar Ajja
58cd1120ee video: driver: add support for instance states
Add support for all the required instance states and
move the states accordingly.

Change-Id: Iac1046ab8c7a0116df6ed3069d566c7a1b65e61c
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2020-12-30 12:09:01 -08:00
Darshana Patil
7c203e7bf5 video: driver: fix dmabuf put
call dmabuf put function instead
of dma heap buffer free.

Change-Id: Ic8946ebf189aeb94d93cf5aaa38b0b790d64f2f0
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2020-12-29 17:47:18 -08:00
Maheshwar Ajja
1a9d8e71ba video: driver: amend internal buffer size calculations
Utilize new HFI header to calculate internal buffer sizes.

Change-Id: I0f9e105da4cd346ed377f24b0823152f88150aa4
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2020-12-29 14:54:58 -08:00
Akshay Chandrashekhar Kalghatgi
9a6bc75fe7 video: driver: fix compilation issues
Fix compilation issues

Change-Id: Iba42eb95758b27b308b471b10cb56638a3b37f20
Signed-off-by: Akshay Chandrashekhar Kalghatgi <akalghat@codeaurora.org>
2020-12-28 16:50:02 -08:00
Maheshwar Ajja
e48a514a89 video: driver: add get and set selection support
Add support to get and set selection to update
crop and compose values in driver.

Change-Id: I1f38ac6a4f3ceac64d08d66f30b422efd79959a9
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2020-12-28 08:49:45 -08:00
qctecmdr
f6936f65e8 Merge "video: driver: new workhandler for inst events" 2020-12-24 10:26:57 -08:00
Linux Build Service Account
f49fc1e66e Merge "video: driver: Enable encoder and decoder metadata" into video-kernel-waipio.lnx.1.0 2020-12-24 09:46:30 -08:00
Darshana Patil
cff8298acc video: driver: new workhandler for inst events
create a new work handler and post and handle
events like psc.
introduce reuse concept for internal buffers.

Change-Id: Ibeaabae1b5923681756e959389df00b287206fb6
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2020-12-23 19:06:39 -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
Linux Build Service Account
607d9c5d3f Merge "video: driver: Use dma-heap for non secure allocations" into video-kernel-waipio.lnx.1.0 2020-12-22 11:35:20 -08:00
Linux Build Service Account
ff84f38821 Merge "video: driver: add power changes" into video-kernel-waipio.lnx.1.0 2020-12-21 18:17:33 -08:00
Chinmay Sawarkar
4282d85d6f video: driver: Use dma-heap for non secure allocations
Non secure buffer allocation will use dma-heaps, while
secure allocations will continue using ion apis.

Change-Id: I7a7d77d197275814c8e6a9e1effe59ad3bd15224
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2020-12-21 16:49:44 -08:00
Maheshwar Ajja
7509e9f16b video: driver: add power changes
Add or amend below functionalities
- scale clocks
- scale buses
- buffer counts
- buffer sizes

Change-Id: I3cddbb7112cd85a84cf86256134059f52b66a3af
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2020-12-21 15:31:54 -08:00
Akshata Sahukar
c5f9b0d800 video: driver: update hfi driver files based on FW#7 (p4 CL# 27761469)
update hfi_property.h and hfi_command.h files to align
with firmware hfi_lx_prop_v1.0_doc.h and hfi_lx_cmd_v1.0_doc.h
files respectively.

Change-Id: Id1e01fab0d40040075987d5b745a2d9ade4cd3a1
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-12-21 11:45:04 -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
Maheshwar Ajja
bae72cb900 video: driver: add scale clocks and buses functions
Add clocks and buses scaling functionality.

Change-Id: Ifa61043a938bc5c1990f6baf1777a3f2270fc77d
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2020-12-16 15:59:54 -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
Linux Build Service Account
fc4aa38fca Merge "video: driver: handle dequeued buffers at once" into video-kernel-waipio.lnx.1.0 2020-12-11 18:30:35 -08:00
Linux Build Service Account
b953be5b2b Merge "msm_vidc: Disable CP memory protection" into video-kernel-waipio.lnx.1.0 2020-12-11 18:02:09 -08:00
Maheshwar Ajja
55ab2680d7 video: driver: handle dequeued buffers at once
Firmware returns meta buffer after actual buffer but
client needs meta buffer before actual buffer. Handle
the case using MSM_VIDC_ATTR_DEQUEUED flag.

Change-Id: I99048a2f110a1b14bc4bb140b6211afa340c9f38
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2020-12-11 16:31:47 -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
Linux Build Service Account
aa09897cad Merge "video: driver: driver fixes required for latest firmware" into video-kernel-waipio.lnx.1.0 2020-12-08 17:29:52 -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
Prabhakar Reddy Krishnappa
3998387423 msm_vidc: Disable CP memory protection
Disabling CP memory protection.

Change-Id: Ief8a06b39689452fedbc8729dd36c759498487ba
Signed-off-by: Prabhakar Reddy Krishnappa <prkrishn@codeaurora.org>
2020-12-08 12:24:25 -08:00
Karthikeyan Periasamy
0003d4f658 msm-vidc: Enable standalone compilation for video
Added support for compiling video as kernel loadable module.

Change-Id: I5b9183d56d14e5e413b786b9ac2b449c6f8ab8ba
Signed-off-by: Karthikeyan Periasamy <kperiasa@codeaurora.org>
2020-12-07 13:21:20 -08:00
Darshana Patil
bff6f56a28 driver: video: handle drain command
handle decoder and encoder drain command.
send hfi drain command to firmware.

Change-Id: I94835ce0b2a8b06e7a9ad64f7cc8642913987659
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2020-12-02 15:19:15 -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
Chinmay Sawarkar
9f4ffee965 video: driver: Add V4L2_MEMORY_DMABUF support
Use V4L2_MEMORY_DMABUF memory instead of V4L2_MEMORY_USERPTR
in all video usecases.

Change-Id: If763047f3f94ed2a19c239f8ce41d89fc2f086c4
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2020-11-04 16:09:13 -08:00
Akshata Sahukar
9099609e92 msm: vidc: Use upstream api to load firmware image
Use upstream compliant APIs to, load and authenticate firmware image.
Downstream api, PIL/SSR, are deprecated.

Change-Id: I121c3c0276cdd84fa18ff8f65df45b3ac00e7443
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2020-11-02 15:14:18 -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
Akshata Sahukar
4d9b29ebf3 video: driver: rename video header interface file
Rename msm_vidc_utils.h to v4l2_vidc_extensions.h.

Change-Id: I50a9212d3d28756bdf0be33e135bce9c6337a816
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-11-02 14:21:27 -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
Darshana Patil
3aa92663a7 video: driver: basic misc changes
added print for dt parsing and removed
a couple of empty braces. removed static
from platform_driver struct definition.

Change-Id: Ic3c6c514f501281fd981f232b4125e702570f8c7
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2020-11-02 14:19:42 -08:00
Akshata Sahukar
9476ecc5fe video: driver: Add support to enc start/stop streaming
Add support to encoder start and stop streaming sequence.

Change-Id: Ie4f124af212ed030178d0e2fe5af3d6f9f639aa0
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-11-02 14:18:54 -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
Darshana Patil
c9dec2599e driver: vidc: add support for open, close, set codec
add support for session open, close and set codec.

Change-Id: Ic2f7a953a0d90215fab0a0d141957c3eb1a8cc78
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2020-09-30 14:10:01 -07:00
Darshana Patil
081c9ad524 driver: vidc: fix response handling
Add condition to check if response packet
size is zero.
Skip writing to sfr-register till FW adds support.
Read FW response from the right addr.

Change-Id: I9244d6af024da18750bb21186512c7cc4dfd0c65
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2020-09-30 14:09:42 -07:00
Maheshwar Ajja
ec2f06a4ba video: driver: add queue buffer support
Add queue buffer support for sending buffers to
firmware.

Change-Id: Ie573c10a9b2f32a3eb202f97227b5e7edea26705
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2020-09-30 14:09:17 -07: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
Darshana Patil
9a854613cd msm: vidc: response handling
add response handling for commands, properties,
system and session errors.

Change-Id: I87a8cba136979d425d978dfe55317a3deb081c53
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2020-09-30 14:08:32 -07:00