Commit Graph

858 Commits

Author SHA1 Message Date
Maheshwar Ajja
73c17560ac video: driver: return all buffers in streamoff
- return all buffers in streamoff error cases as well
- free instance memory in close

Change-Id: I06464bb0df4d2851c361a8027528e7cb5c7d241f
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2021-02-01 15:11:38 -08:00
Darshana Patil
c5746cfb36 video: driver: fix encoder input size calculation
fix encoder input size calculation

Change-Id: I344a9fdc2ed636e5f8a0df4493f7a3da3a6c0925
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-02-01 11:54:38 -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
qctecmdr
d172684c07 Merge "waipio: driver: Set missing video domain for bw" 2021-01-28 21:49:18 -08:00
Chinmay Sawarkar
6b6b21c705 waipio: driver: Set missing video domain for bw
Video domain information is required to make correct
BW vote calculations.

Change-Id: I36cf1d157ba50f43a64e736f7d3e86d15d195244
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2021-01-28 18:56:07 -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
ad18bb5c23 Merge "video: driver: print error message from FW" 2021-01-27 19:21:59 -08:00
Akshata Sahukar
c0b11f6482 video: driver: fix line and dpb buffers for enc
- Removed internal bufsize hack to increase bufsize by
  100MB.
- update enc internal buf size adn count macros to align
  with video fw macro definitions.
  P4 cl: 28472789 and 28496178

Change-Id: I30a4d043a07c6e890d58f4138590f112d192080a
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-27 17:52:08 -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
qctecmdr
aa46dbf712 Merge "video: driver: handle enc internal buffers returned from fw" 2021-01-26 22:10:48 -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
Maheshwar Ajja
29bbe0780e video: driver: enable scale clocks and busses
Enable scale clocks and busses when queuing input buffers.

Change-Id: I8dca67c5c2463f5bfc1ccaed7375fb69d80a0196
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2021-01-26 12:56:13 -08:00
qctecmdr
f724b9de1f Merge "video: driver: remove cabac_session as PSC property" 2021-01-26 12:31:14 -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
Maheshwar Ajja
364a8f95e4 video: driver: access core resources under core lock
Access core resources like queue interface under
core lock.

Change-Id: I3f7c4e523bbe17b0967944079013a170ae8964f3
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2021-01-25 19:34:31 -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
3415b0e23e Merge "video: driver: Update interlace metadata UAPI" 2021-01-22 18:04:51 -08:00
qctecmdr
48423c4696 Merge "waipio: driver: Add support for fw unload and power collapse" 2021-01-22 17:45:25 -08:00
Mihir Ganu
59813f951d video: driver: Update interlace metadata UAPI
Update UAPI for interlace metadata and add
better logging for metadata qbuf.

Change-Id: Icd56872ffea7444a1b8f3c5c1bb61495552659b4
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2021-01-22 17:41:48 -08:00
qctecmdr
b6afc87c89 Merge "video: driver: assign session id as hash value" 2021-01-22 17:13:09 -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
Maheshwar Ajja
4765d28baa video: driver: assign session id as hash value
Use hashed value for session id to over come the
same session ids being used concurrently where
one session is being closed and the other session
opening might be getting same session id.

Change-Id: I0bba056f26e404a7ff3b92ca9a81e673a0a6802f
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2021-01-22 15:37:58 -08:00
Akshata Sahukar
4cf4cc9a01 video: driver: fix decoder testcase timeout issue
Decoder full reconfig testcase timeouts and fails with
fw logs disabled. Set only interrupt required flag without
response required flag for HFI_CMD_BUFFER to fix this issue.

Change-Id: I5509372fe34cbea8a62d7d9cb7f541ee2d6e1e15
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-22 11:54:51 -08:00
qctecmdr
5c1c023d36 Merge "video: driver: Add support to deduce min, max, frame qp values" 2021-01-21 18:49:36 -08:00
Akshata Sahukar
b7fb5cfaa0 video: driver: disable fw logs by default
disable all fw logs by default except FW_ERROR
and FW_ERROR.

Change-Id: I90f62ca72684f326872cbe5cd87444d237d360be
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-21 13:45:12 -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
qctecmdr
d22cefa3b8 Merge "video: driver: correct state checks for meta ports" 2021-01-19 18:19:43 -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
Manikanta Kanamarlapudi
319e78041c video: driver: correct state checks for meta ports
correct state checks in stream off sequence for
meta ports.

Change-Id: Ic9ebf64961ed654b2a9b750d6fdc8f3b7bb10195
2021-01-19 13:17:06 -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
qctecmdr
29ddccc93d Merge "video: driver: add decoder bitstream size overwrite support" 2021-01-14 22:07:02 -08:00
qctecmdr
f37c665eea Merge "waipio: driver: Vote max bw by default" 2021-01-14 20:12:06 -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
Chinmay Sawarkar
bda0499316 waipio: driver: Vote max bw by default
Force BW vote to MAX by default.

Change-Id: I39a0686096536331546df21f1dc538fae46ac549
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2021-01-14 18:45:40 -08:00
Akshata Sahukar
0910978cb0 video: driver: Enable CP memory protection for secure non pixel cb
Revert disabling CP memory protection for secure non
pixel cb to avoid firmware hang issue for enc session.

Change-Id: I93260691d9504b33fc8f88a28fb81e66c9d24ce4
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-14 14:11:51 -08:00
Darshana Patil
689fd02b04 video: driver: fix for codec config control
fix for codec config control setting.

Change-Id: I5fc65cdd99a9346323d2b61de3ef6024b33ca7f2
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-01-13 19:05:45 -08:00
qctecmdr
8a0a8ef938 Merge "video: driver: Skip subscription/delivery when not required" 2021-01-13 16:52:05 -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
Mihir Ganu
0750c2bb02 video: driver: Skip subscription/delivery when not required
Avoid sending subscribe or delivery comannds to firmware
when no metadata is enabled by client.

Change-Id: I379aa018b676ebc9b7e327757213371dbf089d53
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2021-01-12 13:35:17 -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
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