mbox series

[0/5] Support H264 4K on MT8192

Message ID 20210203083752.12586-1-irui.wang@mediatek.com
Headers show
Series Support H264 4K on MT8192 | expand

Message

Irui Wang Feb. 3, 2021, 8:37 a.m. UTC
Add MT8192 H264 venc driver and support H264 4K encoding on MT8192.

Signed-off-by: Irui Wang <irui.wang@mediatek.com>
---
This patch dependents on
"dt-bindings: media: mtk-vcodec: Separating mtk vcodec encoder node" [1]

We need "name" and "core_id" variable in device private data to indicate
current encoder driver.
Please also accept this patch together with [1].

[1]http://lists.infradead.org/pipermail/linux-mediatek/2021-January/021165.html
---
Irui Wang (5):
  dt-bindings: media: mtk-vcodec: Add dma-ranges property
  media: mtk-vcodec: Support 4GB~8GB range iova space for venc
  dt-bindings: media: mtk-vcodec: Add binding for MT8192 VENC
  media: mtk-vcodec: Add MT8192 H264 venc driver
  media: mtk-vcodec: Support H264 4K encoding on MT8192

 .../bindings/media/mediatek-vcodec.txt        | 28 +++++++++
 .../platform/mtk-vcodec/mtk_vcodec_drv.h      |  1 +
 .../platform/mtk-vcodec/mtk_vcodec_enc.c      | 58 ++++++++++++++-----
 .../platform/mtk-vcodec/mtk_vcodec_enc_drv.c  | 19 ++++++
 .../platform/mtk-vcodec/venc/venc_h264_if.c   |  4 ++
 5 files changed, 95 insertions(+), 15 deletions(-)

Comments

Rob Herring Feb. 10, 2021, 10:53 p.m. UTC | #1
On Wed, Feb 03, 2021 at 04:37:48PM +0800, Irui Wang wrote:
> Adds dma-ranges property for DMA addresses translation.
> 
> Signed-off-by: Irui Wang <irui.wang@mediatek.com>
> ---
>  Documentation/devicetree/bindings/media/mediatek-vcodec.txt | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/media/mediatek-vcodec.txt b/Documentation/devicetree/bindings/media/mediatek-vcodec.txt
> index f85276e629bf..e4644f8caee9 100644
> --- a/Documentation/devicetree/bindings/media/mediatek-vcodec.txt
> +++ b/Documentation/devicetree/bindings/media/mediatek-vcodec.txt
> @@ -23,6 +23,8 @@ Required properties:
>  - iommus : should point to the respective IOMMU block with master port as
>    argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
>    for details.
> +- dma-ranges : describes how the physical address space of the IOMMU maps
> +  to memory.

dma-ranges is supposed to be in a bus/parent node.

>  One of the two following nodes:
>  - mediatek,vpu : the node of the video processor unit, if using VPU.
>  - mediatek,scp : the node of the SCP unit, if using SCP.
> -- 
> 2.25.1
>
Irui Wang March 1, 2021, 6:45 a.m. UTC | #2
On Wed, 2021-02-10 at 16:53 -0600, Rob Herring wrote:
> On Wed, Feb 03, 2021 at 04:37:48PM +0800, Irui Wang wrote:

> > Adds dma-ranges property for DMA addresses translation.

> > 

> > Signed-off-by: Irui Wang <irui.wang@mediatek.com>

> > ---

> >  Documentation/devicetree/bindings/media/mediatek-vcodec.txt | 2 ++

> >  1 file changed, 2 insertions(+)

> > 

> > diff --git a/Documentation/devicetree/bindings/media/mediatek-vcodec.txt b/Documentation/devicetree/bindings/media/mediatek-vcodec.txt

> > index f85276e629bf..e4644f8caee9 100644

> > --- a/Documentation/devicetree/bindings/media/mediatek-vcodec.txt

> > +++ b/Documentation/devicetree/bindings/media/mediatek-vcodec.txt

> > @@ -23,6 +23,8 @@ Required properties:

> >  - iommus : should point to the respective IOMMU block with master port as

> >    argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.txt

> >    for details.

> > +- dma-ranges : describes how the physical address space of the IOMMU maps

> > +  to memory.

> 

> dma-ranges is supposed to be in a bus/parent node.

Dear Rob,

The mt8192 iommu support 0~16GB iova. We separate it to four banks:
0~4G; 4G~8G; 8G~12G; 12G~16G.

The "dma-ranges" could be used to adjust the bank we locate.
If we don't set this property. The default range always is 0~4G.

Here we don't have actual bus/parent concept here.  And the iova
requirement is for our HW. Thus put the property in our node.

Is this OK? If this is ok for you, I will put this message in the commit
message and binding in next version.

Regards
> 

> >  One of the two following nodes:

> >  - mediatek,vpu : the node of the video processor unit, if using VPU.

> >  - mediatek,scp : the node of the SCP unit, if using SCP.

> > -- 

> > 2.25.1

> >
Hans Verkuil April 29, 2021, 11:15 a.m. UTC | #3
Hi Rob,

On 01/03/2021 07:45, Irui Wang wrote:
> On Wed, 2021-02-10 at 16:53 -0600, Rob Herring wrote:
>> On Wed, Feb 03, 2021 at 04:37:48PM +0800, Irui Wang wrote:
>>> Adds dma-ranges property for DMA addresses translation.
>>>
>>> Signed-off-by: Irui Wang <irui.wang@mediatek.com>
>>> ---
>>>  Documentation/devicetree/bindings/media/mediatek-vcodec.txt | 2 ++
>>>  1 file changed, 2 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/media/mediatek-vcodec.txt b/Documentation/devicetree/bindings/media/mediatek-vcodec.txt
>>> index f85276e629bf..e4644f8caee9 100644
>>> --- a/Documentation/devicetree/bindings/media/mediatek-vcodec.txt
>>> +++ b/Documentation/devicetree/bindings/media/mediatek-vcodec.txt
>>> @@ -23,6 +23,8 @@ Required properties:
>>>  - iommus : should point to the respective IOMMU block with master port as
>>>    argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
>>>    for details.
>>> +- dma-ranges : describes how the physical address space of the IOMMU maps
>>> +  to memory.
>>
>> dma-ranges is supposed to be in a bus/parent node.
> Dear Rob,
> 
> The mt8192 iommu support 0~16GB iova. We separate it to four banks:
> 0~4G; 4G~8G; 8G~12G; 12G~16G.
> 
> The "dma-ranges" could be used to adjust the bank we locate.
> If we don't set this property. The default range always is 0~4G.
> 
> Here we don't have actual bus/parent concept here.  And the iova
> requirement is for our HW. Thus put the property in our node.
> 
> Is this OK? If this is ok for you, I will put this message in the commit
> message and binding in next version.

Can you answer Irui's question? Just a reminder...

Much appreciated!

Regards,

	Hans

> 
> Regards
>>
>>>  One of the two following nodes:
>>>  - mediatek,vpu : the node of the video processor unit, if using VPU.
>>>  - mediatek,scp : the node of the SCP unit, if using SCP.
>>> -- 
>>> 2.25.1
>>>
>