mbox series

[0/6] Enable decoder for mt8183

Message ID 20230605162030.274395-1-nfraprado@collabora.com
Headers show
Series Enable decoder for mt8183 | expand

Message

Nícolas F. R. A. Prado June 5, 2023, 4:20 p.m. UTC
This series enables the hardware decoder present on mt8183. At first
glance, the only missing piece is the devicetree node for it, however,
simply adding it as is would cause an address collision between the
first register iospace and the clock-controller node, so a rework of the
dt-binding and driver, as well as addition of a clock, were needed
first.

Tested that H264 decoding works with the hardware decoder on
mt8183-kukui-jacuzzi-juniper-sku16, giving a fluster score of 98/135 on
the JVT-AVC_V1 test suite. And ensured other SoCs (MT8192 and MT8195)
still work as usual.


Nícolas F. R. A. Prado (5):
  media: dt-bindings: mediatek,vcodec: Allow single clock for mt8183
  media: dt-bindings: mediatek,vcodec: Don't require assigned-clocks
  media: dt-bindings: mediatek,vcodec: Remove VDEC_SYS for mt8183
  media: mediatek: vcodec: Read HW active status from clock
  clk: mediatek: mt8183: Add CLK_VDEC_ACTIVE to vdec

Yunfei Dong (1):
  arm64: dts: mediatek: mt8183: Add decoder

 .../media/mediatek,vcodec-decoder.yaml        | 56 ++++++++++++++----
 arch/arm64/boot/dts/mediatek/mt8183.dtsi      | 39 ++++++++++++
 drivers/clk/mediatek/clk-mt8183-vdec.c        |  5 ++
 .../mediatek/vcodec/mtk_vcodec_dec_drv.c      | 59 +++++++++++++++----
 .../mediatek/vcodec/mtk_vcodec_dec_hw.c       | 20 +++++--
 .../mediatek/vcodec/mtk_vcodec_dec_pm.c       | 12 +++-
 .../platform/mediatek/vcodec/mtk_vcodec_drv.h |  1 +
 include/dt-bindings/clock/mt8183-clk.h        |  3 +-
 8 files changed, 165 insertions(+), 30 deletions(-)

Comments

AngeloGioacchino Del Regno June 6, 2023, 7:40 a.m. UTC | #1
Il 05/06/23 18:20, Nícolas F. R. A. Prado ha scritto:
> From: Yunfei Dong <yunfei.dong@mediatek.com>
> 
> Add node for the hardware decoder present on the MT8183 SoC.
> 
> Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
> Signed-off-by: Qianqian Yan <qianqian.yan@mediatek.com>
> Signed-off-by: Frederic Chen <frederic.chen@mediatek.com>
> Signed-off-by: Alexandre Courbot <acourbot@chromium.org>
> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
> ---
> 
>   arch/arm64/boot/dts/mediatek/mt8183.dtsi | 39 ++++++++++++++++++++++++
>   1 file changed, 39 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> index 5169779d01df..8bb10ed67e87 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> @@ -2019,6 +2019,45 @@ vdecsys: syscon@16000000 {
>   			#clock-cells = <1>;
>   		};
>   
> +		vcodec_dec: video-codec@16020000 {
> +			compatible = "mediatek,mt8183-vcodec-dec";
> +			reg = <0 0x16020000 0 0x1000>,		/* VDEC_MISC */
> +			      <0 0x16021000 0 0x800>,		/* VDEC_VLD */
> +			      <0 0x16021800 0 0x800>,		/* VDEC_TOP */
> +			      <0 0x16022000 0 0x1000>,		/* VDEC_MC */
> +			      <0 0x16023000 0 0x1000>,		/* VDEC_AVCVLD */
> +			      <0 0x16024000 0 0x1000>,		/* VDEC_AVCMV */
> +			      <0 0x16025000 0 0x1000>,		/* VDEC_PP */
> +			      <0 0x16026800 0 0x800>,		/* VP8_VD */
> +			      <0 0x16027000 0 0x800>,		/* VP6_VD */
> +			      <0 0x16027800 0 0x800>,		/* VP8_VL */
> +			      <0 0x16028400 0 0x400>;		/* VP9_VD */
> +			reg-names = "misc",
> +				    "ld",
> +				    "top",
> +				    "cm",
> +				    "ad",
> +				    "av",
> +				    "pp",
> +				    "hwd",
> +				    "hwq",
> +				    "hwb",
> +				    "hwg";

Do we really need one line for each 2/3 characters reg name? :-P

Regards,
Angelo