lkml.org 
[lkml]   [2021]   [Dec]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [RFC V2 1/2] media: hantro: Add support for i.MX8M Mini
    On Wed, Dec 1, 2021 at 6:25 AM Ezequiel Garcia
    <ezequiel@vanguardiasur.com.ar> wrote:
    >
    > Hi Adam,
    >
    > On Tue, 30 Nov 2021 at 22:33, Adam Ford <aford173@gmail.com> wrote:
    > >
    > > The i.MX8M Mini has a similar implementation of the Hantro G1 and
    > > h decoders, but the Mini uses the vpu-blk-ctrl for handling the
    > > VPU resets through the power domain system. As such, there are
    > > functions present in the 8MQ that are not applicable to the Mini
    > > which requires the driver to have a different compatible flags.
    > >
    > > Signed-off-by: Adam Ford <aford173@gmail.com>
    > >
    > > diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
    > > index fb82b9297a2b..2aa1c520be50 100644
    > > --- a/drivers/staging/media/hantro/hantro_drv.c
    > > +++ b/drivers/staging/media/hantro/hantro_drv.c
    > > @@ -592,6 +592,8 @@ static const struct of_device_id of_hantro_match[] = {
    > > { .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
    > > #endif
    > > #ifdef CONFIG_VIDEO_HANTRO_IMX8M
    > > + { .compatible = "nxp,imx8mm-vpu", .data = &imx8mm_vpu_variant, },
    > > + { .compatible = "nxp,imx8mm-vpu-g2", .data = &imx8mm_vpu_g2_variant },
    > > { .compatible = "nxp,imx8mq-vpu", .data = &imx8mq_vpu_variant, },
    > > { .compatible = "nxp,imx8mq-vpu-g2", .data = &imx8mq_vpu_g2_variant },
    > > #endif
    > > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
    > > index 267a6d33a47b..ae7c3fff760c 100644
    > > --- a/drivers/staging/media/hantro/hantro_hw.h
    > > +++ b/drivers/staging/media/hantro/hantro_hw.h
    > > @@ -211,6 +211,8 @@ enum hantro_enc_fmt {
    > > ROCKCHIP_VPU_ENC_FMT_UYVY422 = 3,
    > > };
    > >
    > > +extern const struct hantro_variant imx8mm_vpu_g2_variant;
    > > +extern const struct hantro_variant imx8mm_vpu_variant;
    > > extern const struct hantro_variant imx8mq_vpu_g2_variant;
    > > extern const struct hantro_variant imx8mq_vpu_variant;
    > > extern const struct hantro_variant px30_vpu_variant;
    > > diff --git a/drivers/staging/media/hantro/imx8m_vpu_hw.c b/drivers/staging/media/hantro/imx8m_vpu_hw.c
    > > index ea919bfb9891..c68516c00c6d 100644
    > > --- a/drivers/staging/media/hantro/imx8m_vpu_hw.c
    > > +++ b/drivers/staging/media/hantro/imx8m_vpu_hw.c
    > > @@ -242,6 +242,32 @@ static const struct hantro_codec_ops imx8mq_vpu_g2_codec_ops[] = {
    > > },
    > > };
    > >
    > > +static const struct hantro_codec_ops imx8mm_vpu_codec_ops[] = {
    > > + [HANTRO_MODE_MPEG2_DEC] = {
    > > + .run = hantro_g1_mpeg2_dec_run,
    > > + .init = hantro_mpeg2_dec_init,
    > > + .exit = hantro_mpeg2_dec_exit,
    > > + },
    > > + [HANTRO_MODE_VP8_DEC] = {
    > > + .run = hantro_g1_vp8_dec_run,
    > > + .init = hantro_vp8_dec_init,
    > > + .exit = hantro_vp8_dec_exit,
    > > + },
    > > + [HANTRO_MODE_H264_DEC] = {
    > > + .run = hantro_g1_h264_dec_run,
    > > + .init = hantro_h264_dec_init,
    > > + .exit = hantro_h264_dec_exit,
    > > + },
    > > +};
    > > +
    > > +static const struct hantro_codec_ops imx8mm_vpu_g2_codec_ops[] = {
    > > + [HANTRO_MODE_HEVC_DEC] = {
    > > + .run = hantro_g2_hevc_dec_run,
    > > + .init = hantro_hevc_dec_init,
    > > + .exit = hantro_hevc_dec_exit,
    > > + },
    > > +};
    > > +
    >
    > I believe you are missing VP9, which explains why you get
    > a zero fluster score.

    That's what I was thinking too and that's why I was wondering if I
    should wait on G2 until more of those G2 patches have been finalized
    and accepted. Is there a way to test the HEVC? I didn't see one in
    the fluster list.

    adam
    >
    > Thanks,
    > Ezequiel

    \
     
     \ /
      Last update: 2021-12-01 13:37    [W:3.338 / U:0.224 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site