mbox series

[v2,0/5] Enable decoder for mt8183

Message ID 20230607205714.510012-1-nfraprado@collabora.com (mailing list archive)
Headers show
Series Enable decoder for mt8183 | expand

Message

Nícolas F. R. A. Prado June 7, 2023, 8:53 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.

Changes in v2:
- Merged commit 1 (media: dt-bindings: mediatek,vcodec: Allow single
  clock for mt8183) into commit 3 (media: dt-bindings: mediatek,vcodec:
  Remove VDEC_SYS for mt8183)
- Further constrained properties in dt-binding
- Added CLK_IGNORE_UNUSED flag to active clock
- Reformatted reg-names in DT node

Nícolas F. R. A. Prado (4):
  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        | 65 +++++++++++++++----
 arch/arm64/boot/dts/mediatek/mt8183.dtsi      | 30 +++++++++
 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

Hans Verkuil June 12, 2023, 7:02 a.m. UTC | #1
Hi Nicolas,

On 07/06/2023 22:53, Nícolas F. R. A. Prado wrote:
> 
> 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.
> 
> Changes in v2:
> - Merged commit 1 (media: dt-bindings: mediatek,vcodec: Allow single
>   clock for mt8183) into commit 3 (media: dt-bindings: mediatek,vcodec:
>   Remove VDEC_SYS for mt8183)
> - Further constrained properties in dt-binding
> - Added CLK_IGNORE_UNUSED flag to active clock
> - Reformatted reg-names in DT node
> 
> Nícolas F. R. A. Prado (4):
>   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

Is the clk patch independent from the others? It's not clear to me.

If the clk patch has to go in together with the media patches, then
please let me know and post a v3 where the clk patch is also CC-ed to
the linux-media mailinglist to ensure it ends up in our patchwork system.

And in that case I need a Acked-by from the clk maintainer as well.

If it is independent, then there is no need for a v3 (at least, not
for this).

Regards,

	Hans

> 
> Yunfei Dong (1):
>   arm64: dts: mediatek: mt8183: Add decoder
> 
>  .../media/mediatek,vcodec-decoder.yaml        | 65 +++++++++++++++----
>  arch/arm64/boot/dts/mediatek/mt8183.dtsi      | 30 +++++++++
>  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(-)
>
AngeloGioacchino Del Regno June 12, 2023, 9:53 a.m. UTC | #2
Il 12/06/23 09:02, Hans Verkuil ha scritto:
> Hi Nicolas,
> 
> On 07/06/2023 22:53, Nícolas F. R. A. Prado wrote:
>>
>> 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.
>>
>> Changes in v2:
>> - Merged commit 1 (media: dt-bindings: mediatek,vcodec: Allow single
>>    clock for mt8183) into commit 3 (media: dt-bindings: mediatek,vcodec:
>>    Remove VDEC_SYS for mt8183)
>> - Further constrained properties in dt-binding
>> - Added CLK_IGNORE_UNUSED flag to active clock
>> - Reformatted reg-names in DT node
>>
>> Nícolas F. R. A. Prado (4):
>>    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
> 
> Is the clk patch independent from the others? It's not clear to me.
> 
> If the clk patch has to go in together with the media patches, then
> please let me know and post a v3 where the clk patch is also CC-ed to
> the linux-media mailinglist to ensure it ends up in our patchwork system.
> 
> And in that case I need a Acked-by from the clk maintainer as well.
> 
> If it is independent, then there is no need for a v3 (at least, not
> for this).
> 

The clock patch is not independent, as in the devicetree changes will not
work without the addition of that clock (and of course even fail building),
so that series needs a v3.

Nícolas, please go on and send a v3 as requested.

Cheers,
Angelo

> Regards,
> 
> 	Hans
> 
>>
>> Yunfei Dong (1):
>>    arm64: dts: mediatek: mt8183: Add decoder
>>
>>   .../media/mediatek,vcodec-decoder.yaml        | 65 +++++++++++++++----
>>   arch/arm64/boot/dts/mediatek/mt8183.dtsi      | 30 +++++++++
>>   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(-)
>>
> 
>
Nícolas F. R. A. Prado June 12, 2023, 7:03 p.m. UTC | #3
On Mon, Jun 12, 2023 at 11:53:51AM +0200, AngeloGioacchino Del Regno wrote:
> Il 12/06/23 09:02, Hans Verkuil ha scritto:
> > Hi Nicolas,
> > 
> > On 07/06/2023 22:53, Nícolas F. R. A. Prado wrote:
> > > 
> > > 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.
> > > 
> > > Changes in v2:
> > > - Merged commit 1 (media: dt-bindings: mediatek,vcodec: Allow single
> > >    clock for mt8183) into commit 3 (media: dt-bindings: mediatek,vcodec:
> > >    Remove VDEC_SYS for mt8183)
> > > - Further constrained properties in dt-binding
> > > - Added CLK_IGNORE_UNUSED flag to active clock
> > > - Reformatted reg-names in DT node
> > > 
> > > Nícolas F. R. A. Prado (4):
> > >    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
> > 
> > Is the clk patch independent from the others? It's not clear to me.
> > 
> > If the clk patch has to go in together with the media patches, then
> > please let me know and post a v3 where the clk patch is also CC-ed to
> > the linux-media mailinglist to ensure it ends up in our patchwork system.
> > 
> > And in that case I need a Acked-by from the clk maintainer as well.
> > 
> > If it is independent, then there is no need for a v3 (at least, not
> > for this).
> > 
> 
> The clock patch is not independent, as in the devicetree changes will not
> work without the addition of that clock (and of course even fail building),

Yes, but that means that the devicetree patch is dependent of the clock patch,
but the clock patch is independent from the media patches, and can therefore be
applied through the clock tree as usual.

So, the media patches (first three) can be merged through the media tree, the
clock patch (patch 4) through the clock tree independently, and the only
requirement is that the DT patch (last one) is only applied by Matthias after
the clock patch is present, to avoid build problems, and also after the media
patches are present, to avoid dt-binding errors.

Thanks,
Nícolas