mbox series

[v4,0/7] media: venus: Enable venus support on sc7280

Message ID 1628588875-23790-1-git-send-email-dikshita@codeaurora.org
Headers show
Series media: venus: Enable venus support on sc7280 | expand

Message

Dikshita Agarwal Aug. 10, 2021, 9:47 a.m. UTC
This series enables support for 6xx venus encode/decode on sc7280.

The driver changes are dependent on [1]yaml and [2]dts patches.

[1] https://patchwork.kernel.org/project/linux-arm-msm/list/?series=484019
[2] https://patchwork.kernel.org/project/linux-arm-msm/list/?series=484727

Changes since v3:
 - addressed comments on v3 (stanimir).
 - rebased the changes on latest media tree.

Dikshita Agarwal (7):
  venus: firmware: enable no tz fw loading for sc7280
  media: venus: core: Add sc7280 DT compatible and resource data
  media: venus: Add num_vpp_pipes to resource structure
  media: venus: hfi: Skip AON register programming for V6 1pipe
  venus: vdec: set work route to fw
  media: venus: helpers: update NUM_MBS macro calculation
  media: venus: Set buffer to FW based on FW min count requirement.

 drivers/media/platform/qcom/venus/core.c           | 54 ++++++++++++++++++++++
 drivers/media/platform/qcom/venus/core.h           |  2 +
 drivers/media/platform/qcom/venus/firmware.c       | 42 ++++++++++++-----
 drivers/media/platform/qcom/venus/helpers.c        | 23 +++++----
 drivers/media/platform/qcom/venus/hfi_cmds.c       |  7 +++
 drivers/media/platform/qcom/venus/hfi_helper.h     | 14 ++++++
 drivers/media/platform/qcom/venus/hfi_msgs.c       |  7 +++
 .../media/platform/qcom/venus/hfi_plat_bufs_v6.c   |  6 ++-
 drivers/media/platform/qcom/venus/hfi_platform.c   | 13 ------
 drivers/media/platform/qcom/venus/hfi_platform.h   |  2 -
 .../media/platform/qcom/venus/hfi_platform_v6.c    |  6 ---
 drivers/media/platform/qcom/venus/hfi_venus.c      |  4 ++
 drivers/media/platform/qcom/venus/hfi_venus_io.h   |  2 +
 drivers/media/platform/qcom/venus/vdec.c           | 42 ++++++++++++++---
 14 files changed, 175 insertions(+), 49 deletions(-)

Comments

Stephen Boyd Aug. 12, 2021, 7:17 p.m. UTC | #1
Quoting Dikshita Agarwal (2021-08-10 02:47:50)
> Adds a sm7280 compatible binding to the venus core.
>
> Co-developed-by: Mansur Alisha Shaik <mansur@codeaurora.org>

This needs a signed-off-by tag from Mansur as well.

> Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>
> ---
>  drivers/media/platform/qcom/venus/core.c | 52 ++++++++++++++++++++++++++++++++
>  1 file changed, 52 insertions(+)
>
> diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c
> index 91b1584..68acfc0 100644
> --- a/drivers/media/platform/qcom/venus/core.c
> +++ b/drivers/media/platform/qcom/venus/core.c
> @@ -743,6 +794,7 @@ static const struct of_device_id venus_dt_match[] = {
>         { .compatible = "qcom,sdm845-venus-v2", .data = &sdm845_res_v2, },
>         { .compatible = "qcom,sc7180-venus", .data = &sc7180_res, },
>         { .compatible = "qcom,sm8250-venus", .data = &sm8250_res, },
> +       { .compatible = "qcom,sc7280-venus", .data = &sc7280_res, },

Please sort this alphabetically on compatible string, it helps avoid
merge conflicts.

>         { }
>  };
>  MODULE_DEVICE_TABLE(of, venus_dt_match);
Stephen Boyd Aug. 12, 2021, 7:20 p.m. UTC | #2
Quoting Dikshita Agarwal (2021-08-10 02:47:53)
> diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c
> index 198e47e..4e7b9e5 100644
> --- a/drivers/media/platform/qcom/venus/vdec.c
> +++ b/drivers/media/platform/qcom/venus/vdec.c
> @@ -653,6 +653,24 @@ static int vdec_set_properties(struct venus_inst *inst)
>         return 0;
>  }
>
> +static int vdec_set_work_route(struct venus_inst *inst)
> +{
> +       struct hfi_video_work_route wr;
> +       u32 ptype;
> +       int ret;
> +
> +       if(!IS_V6(inst->core))

Please add a space after 'if'

> +               return 0;
> +
> +       wr.video_work_route = inst->core->res->num_vpp_pipes;
> +
> +       ptype = HFI_PROPERTY_PARAM_WORK_ROUTE;
> +       ret = hfi_session_set_property(inst, ptype, &wr);
> +       if (ret)
> +               return ret;
> +       return 0;

return hfi_session_set_property(...) is shorter.

> +}
> +
>  #define is_ubwc_fmt(fmt) (!!((fmt) & HFI_COLOR_FORMAT_UBWC_BASE))
>
>  static int vdec_output_conf(struct venus_inst *inst)
Dikshita Agarwal Aug. 30, 2021, 7:28 a.m. UTC | #3
Hi Stan,

Could you pls review and ack this series.

Thanks,
Dikshita

On 2021-08-10 15:17, Dikshita Agarwal wrote:
> This series enables support for 6xx venus encode/decode on sc7280.
> 
> The driver changes are dependent on [1]yaml and [2]dts patches.
> 
> [1] 
> https://patchwork.kernel.org/project/linux-arm-msm/list/?series=484019
> [2] 
> https://patchwork.kernel.org/project/linux-arm-msm/list/?series=484727
> 
> Changes since v3:
>  - addressed comments on v3 (stanimir).
>  - rebased the changes on latest media tree.
> 
> Dikshita Agarwal (7):
>   venus: firmware: enable no tz fw loading for sc7280
>   media: venus: core: Add sc7280 DT compatible and resource data
>   media: venus: Add num_vpp_pipes to resource structure
>   media: venus: hfi: Skip AON register programming for V6 1pipe
>   venus: vdec: set work route to fw
>   media: venus: helpers: update NUM_MBS macro calculation
>   media: venus: Set buffer to FW based on FW min count requirement.
> 
>  drivers/media/platform/qcom/venus/core.c           | 54 
> ++++++++++++++++++++++
>  drivers/media/platform/qcom/venus/core.h           |  2 +
>  drivers/media/platform/qcom/venus/firmware.c       | 42 
> ++++++++++++-----
>  drivers/media/platform/qcom/venus/helpers.c        | 23 +++++----
>  drivers/media/platform/qcom/venus/hfi_cmds.c       |  7 +++
>  drivers/media/platform/qcom/venus/hfi_helper.h     | 14 ++++++
>  drivers/media/platform/qcom/venus/hfi_msgs.c       |  7 +++
>  .../media/platform/qcom/venus/hfi_plat_bufs_v6.c   |  6 ++-
>  drivers/media/platform/qcom/venus/hfi_platform.c   | 13 ------
>  drivers/media/platform/qcom/venus/hfi_platform.h   |  2 -
>  .../media/platform/qcom/venus/hfi_platform_v6.c    |  6 ---
>  drivers/media/platform/qcom/venus/hfi_venus.c      |  4 ++
>  drivers/media/platform/qcom/venus/hfi_venus_io.h   |  2 +
>  drivers/media/platform/qcom/venus/vdec.c           | 42 
> ++++++++++++++---
>  14 files changed, 175 insertions(+), 49 deletions(-)