dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Nicolas Dufresne <nicolas@ndufresne.ca>
To: "yunfei.dong@mediatek.com" <yunfei.dong@mediatek.com>,
	Alexandre Courbot <acourbot@chromium.org>,
	Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	 AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Benjamin Gaignard <benjamin.gaignard@collabora.com>,
	Tiffany Lin <tiffany.lin@mediatek.com>,
	Andrew-CT Chen <andrew-ct.chen@mediatek.com>,
	 Mauro Carvalho Chehab <mchehab@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Tomasz Figa <tfiga@google.com>
Cc: Irui Wang <irui.wang@mediatek.com>,
	George Sun <george.sun@mediatek.com>,
	Dafna Hirschfeld <dafna.hirschfeld@collabora.com>,
	srv_heupstream@mediatek.com, devicetree@vger.kernel.org,
	Project_Global_Chrome_Upstream_Group@mediatek.com,
	linux-kernel@vger.kernel.org,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Xiaoyong Lu <xiaoyong.lu@mediatek.com>,
	linux-mediatek@lists.infradead.org,
	Hsin-Yi Wang <hsinyi@chromium.org>,
	Fritz Koenig <frkoenig@chromium.org>,
	Steve Cho <stevecho@chromium.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-media@vger.kernel.org
Subject: Re: [PATCH v8, 00/15] media: mtk-vcodec: support for M8192 decoder
Date: Tue, 12 Apr 2022 10:48:00 -0400	[thread overview]
Message-ID: <c5dc9f759054418082849233639f727e39329550.camel@ndufresne.ca> (raw)
In-Reply-To: <0f385e6e2d0687c3e6de12a576d1617af9504cee.camel@mediatek.com>

Le lundi 11 avril 2022 à 11:41 +0800, yunfei.dong@mediatek.com a écrit :
> Hi Nicolas,
> 
> On Thu, 2022-03-31 at 16:48 -0400, Nicolas Dufresne wrote:
> > Hi Yunfei,
> > 
> > thanks for the update, I should be testing this really soon.
> > 
> > Le jeudi 31 mars 2022 à 10:47 +0800, Yunfei Dong a écrit :
> > > This series adds support for mt8192 h264/vp8/vp9 decoder drivers.
> > > Firstly, refactor
> > > power/clock/interrupt interfaces for mt8192 is lat and core
> > > architecture.
> > 
> > Similarly to MT8173 and MT8183, a shared* firmware is needed for this
> > CODEC to
> > work (scp.img). I looked into linux-firmware[1] it has not been added
> > for mt8192
> > yet. As your patches are getting close to be ready, it would be
> > important to
> > look into this so the patchset does not get blocked due to that.
> > 
> > best regards,
> > Nicolas
> > 
> > [1] 
> > https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/mediatek
> > * Shared at least between MDP3 and MTK VCODEC from my knowledge
> > 
> 
> Thanks for your remind.
> 
> I have already sent mt8192 scp.img to github.
> 
> https://github.com/yunfeidongmediatek/linux_fw_scp_8192/commit/3ac2fc85bc7dfcebdb92b5b5808b0268cdfb772d
> 
> Waiting for to be merged.

On boards I have, the firmware is loaded from /lib/firmware/scp.img, but with
this submission it will be in lib/firmware/mediatek/mt8192/scp.img . I haven't
found anything around:

 drivers/remoteproc/mtk_scp.c:812:       char *fw_name = "scp.img";

That would use the platform path. This seems like a problem to me, the
upstreaming of the firmware isn't being aligned with the were the firmware is
picked by the upstream driver. Correct me if I got this wrong, but I'd really
like to clarify this.

Nicolas

> 
> Best Regards,
> Yunfei Dong
> 
> > > 
> > > Secondly, add new functions to get frame buffer size and resolution
> > > according
> > > to decoder capability from scp side. Then add callback function to
> > > get/put
> > > capture buffer in order to enable lat and core decoder in parallel,
> > > need to
> > > adjust GStreamer at the same time. 
> > > 
> > > Then add to support MT21C compressed mode and fix v4l2-compliance
> > > fail.
> > > 
> > > Next, extract H264 request api driver to let mt8183 and mt8192 use
> > > the same
> > > code, and adds mt8192 frame based h264 driver for stateless
> > > decoder.
> > > 
> > > Lastly, add vp8 and vp9 stateless decoder drivers.
> > > 
> > > Patches 1 refactor power/clock/interrupt interface.
> > > Patches 2~4 get frame buffer size and resolution according to
> > > decoder capability.
> > > Patches 5 set capture queue bytesused.
> > > Patches 6 adjust GStreamer.
> > > Patch 7~11 add to support MT21C compressed mode and fix v4l2-
> > > compliance fail.
> > > patch 12 record capture queue format type.
> > > Patch 13~14 extract h264 driver and add mt8192 frame based driver
> > > for h264 decoder.
> > > Patch 15~16 add vp8 and vp9 stateless decoder drivers.
> > > Patch 17 prevent kernel crash when rmmod mtk-vcodec-dec.ko
> > > ---
> > > changes compared with v6:
> > > - adjust GStreamer, separate src buffer done with
> > > v4l2_ctrl_request_complete for patch 6.
> > > - remove v4l2_m2m_set_dst_buffered.
> > > - add new patch to set each plane bytesused in buf prepare for
> > > patch 5.
> > > - using upstream interface to update vp9 prob tables for patch 16.
> > > - fix maintainer comments.
> > > - test the driver with chrome VD and GStreamer(H264/VP9/VP8/AV1).
> > > changes compared with v6:
> > > - rebase to the latest media stage and fix conficts
> > > - fix memcpy to memcpy_fromio or memcpy_toio
> > > - fix h264 crash when test field bitstream
> > > changes compared with v5:
> > > - fix vp9 comments for patch 15
> > > - fix vp8 comments for patch 14.
> > > - fix comments for patch 12.
> > > - fix build errors.
> > > changes compared with v4:
> > > - fix checkpatch.pl fail.
> > > - fix kernel-doc fail.
> > > - rebase to the latest media codec driver.
> > > changes compared with v3:
> > > - remove enum mtk_chip for patch 2.
> > > - add vp8 stateless decoder drivers for patch 14.
> > > - add vp9 stateless decoder drivers for patch 15.
> > > changes compared with v2:
> > > - add new patch 11 to record capture queue format type.
> > > - separate patch 4 according to tzung-bi's suggestion.
> > > - re-write commit message for patch 5 according to tzung-bi's
> > > suggestion.
> > > changes compared with v1:
> > > - rewrite commit message for patch 12.
> > > - rewrite cover-letter message.
> > > ---
> > > Yunfei Dong (17):
> > >   media: mediatek: vcodec: Add vdec enable/disable hardware helpers
> > >   media: mediatek: vcodec: Using firmware type to separate
> > > different
> > >     firmware architecture
> > >   media: mediatek: vcodec: get capture queue buffer size from scp
> > >   media: mediatek: vcodec: Read max resolution from dec_capability
> > >   media: mediatek: vcodec: set each plane bytesused in buf prepare
> > >   media: mediatek: vcodec: Refactor get and put capture buffer flow
> > >   media: mediatek: vcodec: Refactor supported vdec formats and
> > >     framesizes
> > >   media: mediatek: vcodec: Getting supported decoder format types
> > >   media: mediatek: vcodec: Add format to support MT21C
> > >   media: mediatek: vcodec: disable vp8 4K capability
> > >   media: mediatek: vcodec: Fix v4l2-compliance fail
> > >   media: mediatek: vcodec: record capture queue format type
> > >   media: mediatek: vcodec: Extract H264 common code
> > >   media: mediatek: vcodec: support stateless H.264 decoding for
> > > mt8192
> > >   media: mediatek: vcodec: support stateless VP8 decoding
> > >   media: mediatek: vcodec: support stateless VP9 decoding
> > >   media: mediatek: vcodec: prevent kernel crash when rmmod
> > >     mtk-vcodec-dec.ko
> > > 
> > >  .../media/platform/mediatek/vcodec/Makefile   |    4 +
> > >  .../platform/mediatek/vcodec/mtk_vcodec_dec.c |   62 +-
> > >  .../mediatek/vcodec/mtk_vcodec_dec_drv.c      |    8 +-
> > >  .../mediatek/vcodec/mtk_vcodec_dec_pm.c       |  166 +-
> > >  .../mediatek/vcodec/mtk_vcodec_dec_pm.h       |    6 +-
> > >  .../mediatek/vcodec/mtk_vcodec_dec_stateful.c |   19 +-
> > >  .../vcodec/mtk_vcodec_dec_stateless.c         |  257 +-
> > >  .../platform/mediatek/vcodec/mtk_vcodec_drv.h |   41 +-
> > >  .../mediatek/vcodec/mtk_vcodec_enc_drv.c      |    5 -
> > >  .../platform/mediatek/vcodec/mtk_vcodec_fw.c  |    6 +
> > >  .../platform/mediatek/vcodec/mtk_vcodec_fw.h  |    1 +
> > >  .../vcodec/vdec/vdec_h264_req_common.c        |  310 +++
> > >  .../vcodec/vdec/vdec_h264_req_common.h        |  272 +++
> > >  .../mediatek/vcodec/vdec/vdec_h264_req_if.c   |  438 +---
> > >  .../vcodec/vdec/vdec_h264_req_multi_if.c      |  619 +++++
> > >  .../mediatek/vcodec/vdec/vdec_vp8_req_if.c    |  437 ++++
> > >  .../vcodec/vdec/vdec_vp9_req_lat_if.c         | 2072
> > > +++++++++++++++++
> > >  .../platform/mediatek/vcodec/vdec_drv_if.c    |   37 +-
> > >  .../platform/mediatek/vcodec/vdec_drv_if.h    |    3 +
> > >  .../platform/mediatek/vcodec/vdec_ipi_msg.h   |   36 +
> > >  .../platform/mediatek/vcodec/vdec_msg_queue.c |    2 +
> > >  .../platform/mediatek/vcodec/vdec_msg_queue.h |    2 +
> > >  .../platform/mediatek/vcodec/vdec_vpu_if.c    |   53 +-
> > >  .../platform/mediatek/vcodec/vdec_vpu_if.h    |   15 +
> > >  .../platform/mediatek/vcodec/venc_vpu_if.c    |    2 +-
> > >  include/linux/remoteproc/mtk_scp.h            |    2 +
> > >  26 files changed, 4274 insertions(+), 601 deletions(-)
> > >  create mode 100644
> > > drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.c
> > >  create mode 100644
> > > drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.h
> > >  create mode 100644
> > > drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_multi_if.
> > > c
> > >  create mode 100644
> > > drivers/media/platform/mediatek/vcodec/vdec/vdec_vp8_req_if.c
> > >  create mode 100644
> > > drivers/media/platform/mediatek/vcodec/vdec/vdec_vp9_req_lat_if.c
> > > 
> > 
> > 
> 


  reply	other threads:[~2022-04-12 14:48 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-31  2:47 [PATCH v8, 00/15] media: mtk-vcodec: support for M8192 decoder Yunfei Dong
2022-03-31  2:47 ` [PATCH v8, 01/17] media: mediatek: vcodec: Add vdec enable/disable hardware helpers Yunfei Dong
2022-03-31  2:47 ` [PATCH v8, 02/17] media: mediatek: vcodec: Using firmware type to separate different firmware architecture Yunfei Dong
2022-03-31  2:47 ` [PATCH v8, 03/17] media: mediatek: vcodec: get capture queue buffer size from scp Yunfei Dong
2022-03-31  2:47 ` [PATCH v8, 04/17] media: mediatek: vcodec: Read max resolution from dec_capability Yunfei Dong
2022-03-31  2:47 ` [PATCH v8, 05/17] media: mediatek: vcodec: set each plane bytesused in buf prepare Yunfei Dong
2022-03-31  2:47 ` [PATCH v8, 06/17] media: mediatek: vcodec: Refactor get and put capture buffer flow Yunfei Dong
2022-03-31  2:47 ` [PATCH v8, 07/17] media: mediatek: vcodec: Refactor supported vdec formats and framesizes Yunfei Dong
2022-03-31  2:47 ` [PATCH v8, 08/17] media: mediatek: vcodec: Getting supported decoder format types Yunfei Dong
2022-03-31  2:47 ` [PATCH v8, 09/17] media: mediatek: vcodec: Add format to support MT21C Yunfei Dong
2022-03-31  2:47 ` [PATCH v8, 10/17] media: mediatek: vcodec: disable vp8 4K capability Yunfei Dong
2022-03-31  2:47 ` [PATCH v8, 11/17] media: mediatek: vcodec: Fix v4l2-compliance fail Yunfei Dong
2022-03-31  2:47 ` [PATCH v8, 12/17] media: mediatek: vcodec: record capture queue format type Yunfei Dong
2022-03-31  2:47 ` [PATCH v8, 13/17] media: mediatek: vcodec: Extract H264 common code Yunfei Dong
2022-03-31  2:47 ` [PATCH v8, 14/17] media: mediatek: vcodec: support stateless H.264 decoding for mt8192 Yunfei Dong
2022-03-31  2:47 ` [PATCH v8, 15/17] media: mediatek: vcodec: support stateless VP8 decoding Yunfei Dong
2022-03-31  2:48 ` [PATCH v8, 16/17] media: mediatek: vcodec: support stateless VP9 decoding Yunfei Dong
2022-03-31  8:02   ` kernel test robot
2022-03-31  8:02   ` kernel test robot
2022-04-06 19:23   ` Nicolas Dufresne
2022-04-07 17:58     ` Nicolas Dufresne
2022-04-07 16:58   ` Nicolas Dufresne
2022-04-08 12:01     ` yunfei.dong
2022-03-31  2:48 ` [PATCH v8, 17/17] media: mediatek: vcodec: prevent kernel crash when rmmod mtk-vcodec-dec.ko Yunfei Dong
2022-03-31 20:48 ` [PATCH v8, 00/15] media: mtk-vcodec: support for M8192 decoder Nicolas Dufresne
2022-04-11  3:41   ` yunfei.dong
2022-04-12 14:48     ` Nicolas Dufresne [this message]
2022-04-13  7:03       ` allen-kh.cheng
2022-04-13  7:57         ` AngeloGioacchino Del Regno
2022-04-13 18:30           ` Nicolas Dufresne
2022-04-18  4:00             ` allen-kh.cheng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c5dc9f759054418082849233639f727e39329550.camel@ndufresne.ca \
    --to=nicolas@ndufresne.ca \
    --cc=Project_Global_Chrome_Upstream_Group@mediatek.com \
    --cc=acourbot@chromium.org \
    --cc=andrew-ct.chen@mediatek.com \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=benjamin.gaignard@collabora.com \
    --cc=dafna.hirschfeld@collabora.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=frkoenig@chromium.org \
    --cc=george.sun@mediatek.com \
    --cc=hsinyi@chromium.org \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=irui.wang@mediatek.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=matthias.bgg@gmail.com \
    --cc=mchehab@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=srv_heupstream@mediatek.com \
    --cc=stevecho@chromium.org \
    --cc=tfiga@google.com \
    --cc=tiffany.lin@mediatek.com \
    --cc=xiaoyong.lu@mediatek.com \
    --cc=yunfei.dong@mediatek.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).