Commit Graph

79 Commits

Author SHA1 Message Date
qctecmdr
0b04217dd2 Merge "video: driver: Add support to update buffer flags" 2021-02-08 20:44:22 -08:00
Darshana Patil
9c98bcf398 video: driver: handle multiple read only buffers
when fw sends FBDs with read only flag for second time,
do not send vb2 buffer done on that buffer.

Change-Id: Iacf6fe87403664f2063b9d2e1859323506fa22a8
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-02-08 18:07:48 -08:00
Akshata Sahukar
508102a802 video: driver: Add support to update buffer flags
Add support to added buf flags in dequeued buffers based
on HFI_PROP_NO_OUTPUT and HFI_PROP_PICTURE_TYPE property
values received from video fw.

Change-Id: Icf285ab7feb88daf8991705964ed0d3214c99870
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-02-08 12:15:13 -08:00
qctecmdr
3eecbd09e1 Merge "video: driver: Enable video subcache" 2021-02-05 22:45:10 -08:00
Chinmay Sawarkar
899cd05a06 video: driver: Enable video subcache
Enable video subcaches.

Change-Id: I193c5dd6bb02f87c4576f5b9dbbeee31116e1858
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2021-02-05 15:31:22 -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
Akshata Sahukar
f5a9db9667 video: driver: Add NV12 related support for enc
Add support to set HFI_PROP_LINEAR_STRIDE_SCANLINE
property to video fw.

Change-Id: I0ce3549a472388a5d2471bf4c8978a5a5f524a34
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-02-03 19:07:45 -08:00
qctecmdr
fff1beb8a1 Merge "video: driver: Convert debug messages" 2021-02-02 16:40:25 -08:00
Akshata Sahukar
c5262f2e99 video: driver: Avoid compilation failure due to time.h
Since linux/time.h is not visible in waipio branch, compilation
issue is seen due to usage of timeval structure. Get rid of
timeval struct usage to avoid encountering this issue.

Change-Id: I03ce4f72f97b5e96e4dd495595c60c6835498f66
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-02-02 11:06:40 -08:00
Sebastian Dang
5220f1f7f2 video: driver: Convert debug messages
Add new print format using msm_vidc_inst.
    Convert existing sid print statements.

Change-Id: Iba6774c31ff92997b4f8598e6a705f58bfa1b03c
2021-02-02 10:21:34 -08:00
qctecmdr
16198e091f Merge "video: driver: Add support to debugfs" 2021-01-29 21:31:55 -08:00
Akshata Sahukar
4fe03d8ab1 video: driver: Add support to debugfs
Add debugfs support.

Change-Id: I78b66048cc7a0d9e74bf0e0b13b5ab15ec77c17b
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-29 15:37:44 -08:00
Maheshwar Ajja
2719badd2b video: driver: amend stop and last flag processing
- do not ignore last flag buffer in last flag not allowed
  case also
- ignore stop command if input port is not streaming
  instead of returning -EBUSY error.
- defer input port settings change in few states instead of
  ignoring it.

Change-Id: I705f0c8ae2da899a5d262f6246aa65de5591ac26
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2021-01-29 12:41:44 -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
Darshana Patil
24de4a8b91 video: driver: print error message from FW
print error message from FW during system error

Change-Id: Id27469d786b647d2b61e8090fa1f4337b8bc79f6
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-01-27 17:09:17 -08:00
Akshata Sahukar
18f496a511 video: driver: handle enc internal buffers returned from fw
- destroy enc internal buffers when firmware returns these
 buffers after its usage.
- fix some incorrect log masks that result in false error
 logs.

Change-Id: I4707e915b725769bbbaa0a2c4c4e0d9cd10805a4
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-26 17:44:21 -08:00
Darshana Patil
d868af90db video: driver: remove cabac_session as PSC property
remove HFI_PROP_CABAC_SESSION as PSC property.

Change-Id: Ib123f5576763221775a225f882bcc91685d16411
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-01-26 12:06:51 -08:00
Darshana Patil
60b7435a4c video: driver: add nv12 format support
add nv12 format support

Change-Id: I6a9f2eb814504e35797fb91053417f16cfdf8b25
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-01-25 16:12:48 -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
qctecmdr
0a2003b005 Merge "waipio: driver: Add support for work mode and route" 2021-01-19 21:57:36 -08:00
Mihir Ganu
9ec3d72b48 video: driver: Update metadata port settings
- Set correct metadata buffer sizes/counts in initialization.
- Update metadata buffer sizes/count when a metadata control is set.

Change-Id: Ib695b267efac26caa5858cdcdec1868d85182b90
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2021-01-19 18:39:48 -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
56f8fb871d video: driver: move msm_media_info from uapi
move msm_midia_info from uapi to core video
driver folder.

Change-Id: Ibe7eb898fd40958577a8b1afa46c46ea3c6a2ddf
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-01-15 14:44:35 -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
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
Darshana Patil
d98075c932 video: driver: fixes for PSC on latest fw
- post input psc, output psc and last flag
  events to response work handler
- fix issue with release and create internal
  buffers during input psc
- clear last flag after session continue

Change-Id: Ic0278a09a0f6ee8ffff8840a47cd80c046ecadc4
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-01-06 16:28:18 -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
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
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
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