msm: vidc: Fix issue in IOMMU mapping for QDSS address

The partition value for QDSS IOMMU mapping is hard coded to 1. This
value should be dynamically calculated using device tree memory map.
This change fixes the same.

CRs-Fixed: 565062

Change-Id: I5b355d191784fdb85e610f10ed569d21ba18260d
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
msm: vidc: Add error handling for load resource failure

- If the clip dimensions are less than/equal to the max dimensions,
  then FW returns HFI_ERR_SESSION_UNSUPPORTED_SETTING.
- Added error handling for load resource failure.

Change-Id: I3dff79b08fbc5bf9c2e61bfd157b12bb2cd93966
CRs-Fixed: 527188
Signed-off-by: Srinu Gorle <sgorle@codeaurora.org>
msm: vidc: Validate session_id in video hardware response

Validate session_id present in video hardware response
packet before processing it. This will avoid system reset
resulting from invalid session_id returned from video hardware.

Change-Id: I37525a3d10b5efe00734c5533931e2700f3c7513
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
msm: vidc: Add support for H.264 LEVEL 5.2

For high resolutions and bit rates, H.264 spec
defined new level. This change adds support to
pass LEVEL 5.2 to FW.

Change-Id: I2298989734450a4f5eee285326afacc4a0836b41
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
msm: vidc: Enable venus power management

Besides clock gating, turn venus core power off
if the core stays idle for given amount of time.
Powering off venus core involves telling TZ to
suspend venus core, detach IOMMU, disable GDSC
regulator, unvote DDR/OCMEM buses.

Turn it on again when driver starts processing new
commands before enabling clocks.

Protect clock and power states and operations
with a common lock.

Change-Id: I49654069920ddaae0e2f8792b14cd1bfeb431c34
Signed-off-by: Sachin Shah <sachins@codeaurora.org>
Revert "msm: vidc: set ctrl to request sequence header for encoder"

This reverts commit 9df601e274c074b50bfd7d53e4953e3af0085331.
Revert "msm: vidc: remove non fatal error messages"

This reverts commit 0d061fc9bace409119842fa4c38d91431a2cef05.
Revert "msm: vidc: Query the core on VIDIOC_G_FMT"

This reverts commit 16bac85ad37d7cdb1dfb9c65e278bf40345a4a9f.
Revert "msm: vidc: Send ABORT in FLUSH command from the Client"

This reverts commit 9c81095aae0a88edecfe2efa1762c1f536d7a129.
Revert "msm: vidc: Remove frame size setting on OUTPUT Port"

This reverts commit 6c1c395a56a0caf85960486705f53300c9d0dc91.
Revert "msm: vidc: fix setting of client buffer count"

This reverts commit d0eaff736ddede896509b8a7203e5ee1a52801f5.
Revert "msm: vidc: query tz for dynamic buffer feature support"

This reverts commit dd911378e68a60ce36c2db9d6ca6129f43b536c0.
Revert "msm: vidc: add debugfs support for dynamic buffer mode"

This reverts commit 5caccbd1e32ec8551b5e14aa7417ce2d6ce248da.
Revert "msm: vidc: fix corruption of registered buffer list"

This reverts commit 4d44eef3038838f182f36dafe6a507d4ba5e5c04.
Revert "msm: vidc: Free smem client after moving core to UNINIT"

This reverts commit 379889b423564440d7056b919e8db2e34be05fa8.
Revert "msm: vidc: fix memory leak issue in dynamic buffer mode"

This reverts commit 304dbd17b9bac862b3df020066492e38517ae344.
Revert "msm: vidc: fix a race condition in dynamic buffer handling"

This reverts commit c8b9577cb359ff57a06cf515657342e2747b4e26.
Revert "msm: vidc: flush dynamic buffers held in driver"

This reverts commit 8716ee73390ba11008181e57cf26015723abd5c4.
Revert "msm: vidc: send extradata size in ftb for dynamic buffer mode"

This reverts commit f630ba12dbedae04fe2d637eacb03fb670f44e67.
Revert "msm: vidc: support for dynamic buffer mode"

This reverts commit 99abe6d469e05179f41da3f44cbd0faa8b6e8c44.