Re: [PATCH RFT 00/20] Venus cleanups

From: Bryan O'Donoghue
Date: Fri Sep 15 2023 - 10:13:45 EST


On 11/09/2023 16:10, Konrad Dybcio wrote:
With the driver supporting multiple generations of hardware, some mold
has definitely grown over the code..

This series attempts to amend this situation a bit by commonizing some
code paths and fixing some bugs while at it.

Only tested on SM8250.

Definitely needs testing on:

- SDM845 with old bindings
- SDM845 with new bindings or 7180
- MSM8916
- MSM8996

Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>
---
Konrad Dybcio (20):
media: venus: pm_helpers: Only set rate of the core clock in core_clks_enable
media: venus: pm_helpers: Rename core_clks_get to venus_clks_get
media: venus: pm_helpers: Add kerneldoc to venus_clks_get()
media: venus: core: Set OPP clkname in a common code path
media: venus: pm_helpers: Kill dead code
media: venus: pm_helpers: Move reset acquisition to common code
media: venus: pm_helpers: Use reset_bulk API
media: venus: core: Constify all members of the resource struct
media: venus: core: Deduplicate OPP genpd names
media: venus: core: Get rid of vcodec_num
media: venus: core: Drop cache properties in resource struct
media: venus: core: Use GENMASK for dma_mask
media: venus: core: Remove cp_start
media: venus: pm_helpers: Commonize core_power
media: venus: pm_helpers: Remove pm_ops->core_put
media: venus: core: Define a pointer to core->res
media: venus: pm_helpers: Simplify vcodec clock handling
media: venus: pm_helpers: Commonize getting clocks and GenPDs
media: venus: pm_helpers: Commonize vdec_get()
media: venus: pm_helpers: Commonize venc_get()

drivers/media/platform/qcom/venus/core.c | 138 ++++-------
drivers/media/platform/qcom/venus/core.h | 64 +++--
drivers/media/platform/qcom/venus/firmware.c | 3 +-
drivers/media/platform/qcom/venus/hfi_venus.c | 7 +-
drivers/media/platform/qcom/venus/pm_helpers.c | 328 +++++++++----------------
drivers/media/platform/qcom/venus/pm_helpers.h | 10 +-
drivers/media/platform/qcom/venus/vdec.c | 9 +-
drivers/media/platform/qcom/venus/venc.c | 9 +-
8 files changed, 213 insertions(+), 355 deletions(-)
---
base-commit: 7bc675554773f09d88101bf1ccfc8537dc7c0be9
change-id: 20230911-topic-mars-e60bb2269411

Best regards,

b4 shazam 20230911-topic-mars-v1-0-a7d38bf87bdb@xxxxxxxxxx
Grabbing thread from lore.kernel.org/all/20230911-topic-mars-v1-0-a7d38bf87bdb@xxxxxxxxxx/t.mbox.gz
Checking for newer revisions
Grabbing search results from lore.kernel.org
Analyzing 27 messages in the thread
Checking attestation on all messages, may take a moment...
---
[PATCH 1/20] media: venus: pm_helpers: Only set rate of the core clock in core_clks_enable
[PATCH 2/20] media: venus: pm_helpers: Rename core_clks_get to venus_clks_get
[PATCH 3/20] media: venus: pm_helpers: Add kerneldoc to venus_clks_get()
[PATCH 4/20] media: venus: core: Set OPP clkname in a common code path
[PATCH 5/20] media: venus: pm_helpers: Kill dead code
[PATCH 6/20] media: venus: pm_helpers: Move reset acquisition to common code
[PATCH 7/20] media: venus: pm_helpers: Use reset_bulk API
[PATCH 8/20] media: venus: core: Constify all members of the resource struct
[PATCH 9/20] media: venus: core: Deduplicate OPP genpd names
[PATCH 10/20] media: venus: core: Get rid of vcodec_num
[PATCH 11/20] media: venus: core: Drop cache properties in resource struct
[PATCH 12/20] media: venus: core: Use GENMASK for dma_mask
[PATCH 13/20] media: venus: core: Remove cp_start
[PATCH 14/20] media: venus: pm_helpers: Commonize core_power
[PATCH 15/20] media: venus: pm_helpers: Remove pm_ops->core_put
[PATCH 16/20] media: venus: core: Define a pointer to core->res
[PATCH 17/20] media: venus: pm_helpers: Simplify vcodec clock handling
[PATCH 18/20] media: venus: pm_helpers: Commonize getting clocks and GenPDs
[PATCH 19/20] media: venus: pm_helpers: Commonize vdec_get()
[PATCH 20/20] media: venus: pm_helpers: Commonize venc_get()
---
✗ No key: ed25519/konrad.dybcio@xxxxxxxxxx
---
NOTE: install dkimpy for DKIM signature verification
---
Total patches: 20
---
Base: base-commit 7bc675554773f09d88101bf1ccfc8537dc7c0be9 not known, ignoring
Applying: media: venus: pm_helpers: Only set rate of the core clock in core_clks_enable
Applying: media: venus: pm_helpers: Rename core_clks_get to venus_clks_get
Applying: media: venus: pm_helpers: Add kerneldoc to venus_clks_get()
Applying: media: venus: core: Set OPP clkname in a common code path
Applying: media: venus: pm_helpers: Kill dead code
Applying: media: venus: pm_helpers: Move reset acquisition to common code
Applying: media: venus: pm_helpers: Use reset_bulk API
Applying: media: venus: core: Constify all members of the resource struct
Applying: media: venus: core: Deduplicate OPP genpd names
Applying: media: venus: core: Get rid of vcodec_num
Applying: media: venus: core: Drop cache properties in resource struct
Applying: media: venus: core: Use GENMASK for dma_mask
Applying: media: venus: core: Remove cp_start
Applying: media: venus: pm_helpers: Commonize core_power
Applying: media: venus: pm_helpers: Remove pm_ops->core_put
Applying: media: venus: core: Define a pointer to core->res
Applying: media: venus: pm_helpers: Simplify vcodec clock handling
Applying: media: venus: pm_helpers: Commonize getting clocks and GenPDs
Applying: media: venus: pm_helpers: Commonize vdec_get()
Applying: media: venus: pm_helpers: Commonize venc_get()

MODPOST Module.symvers
^[[BERROR: modpost: "vcodec_clks_get" [drivers/media/platform/qcom/venus/venus-dec.ko] undefined!
ERROR: modpost: "vcodec_clks_get" [drivers/media/platform/qcom/venus/venus-enc.ko] undefined!
make[3]: *** [/home/deckard/Development/qualcomm/qlt-kernel/scripts/Makefile.modpost:145: Module.symvers] Error 1
make[2]: *** [/home/deckard/Development/qualcomm/qlt-kernel/Makefile:1865: modpost] Error 2
make[1]: *** [/home/deckard/Development/qualcomm/qlt-kernel/Makefile:234: __sub-make] Error 2

---
bod