The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: "Kyrie Wu (吴晗)" <Kyrie.Wu@mediatek.com>
To: "nicolas@ndufresne.ca" <nicolas@ndufresne.ca>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mediatek@lists.infradead.org"
	<linux-mediatek@lists.infradead.org>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"mchehab@kernel.org" <mchehab@kernel.org>,
	"Kyrie Wu (吴晗)" <Kyrie.Wu@mediatek.com>,
	"conor+dt@kernel.org" <conor+dt@kernel.org>,
	"robh@kernel.org" <robh@kernel.org>,
	"hverkuil-cisco@xs4all.nl" <hverkuil-cisco@xs4all.nl>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"matthias.bgg@gmail.com" <matthias.bgg@gmail.com>,
	"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
	"AngeloGioacchino Del Regno"
	<angelogioacchino.delregno@collabora.com>
Subject: Re: [PATCH v11 01/12] media: mediatek: jpeg: fix jpeg hw count setting
Date: Thu, 25 Dec 2025 02:20:41 +0000	[thread overview]
Message-ID: <d99811831065542167c8dae6285ecdada946104d.camel@mediatek.com> (raw)
In-Reply-To: <cd4c9c6f89d2ad506113745f4273ff6e6b65c75a.camel@ndufresne.ca>

On Tue, 2025-12-16 at 15:57 -0500, Nicolas Dufresne wrote:
> Hi,
> 
> Le mardi 02 décembre 2025 à 17:47 +0800, Kyrie Wu a écrit :
> > Different ICs have different amounts of hardware,
> > use a variable to set the amount of hardware.
> 
> Did you mean different amount of cores ? The use of "hardware" is
> strange in
> this description.
Yes, it's right. I will change it in the next version.

Thanks.
> 
> > 
> > Fixes: 934e8bccac95 ("mtk-jpegenc: support jpegenc multi-hardware")
> > Fixes: 0fa49df4222f ("media: mtk-jpegdec: support jpegdec multi-
> > hardware")
> 
> Its not clear from your description if this is in preparation of
> MT8196 or an
> actual fix. If its in preparation of, drop this, if it fixes some
> existing SoC,
> please tell use which one. And tell us how it breaks without this
> fix.
> 
> regards,
> Nicolas

Dear Nicolas,

The macro was first used to represent the amount of cores for MT8195.
However, the cores' quantity of MT8196 is different from that in the
MT8195,
and it may also differ in the coming ICs. Therefore, the definition of
the macro can not used to represent the amount of cores.

But if you think this is normal setting patch rather than a fixed one,
I will change the commit messages in the next version.

Look forward to your further reply.

Thanks.

Regards,
Kyrie.

> 
> > 
> > Signed-off-by: Kyrie Wu <kyrie.wu@mediatek.com>
> > Reviewed-by: AngeloGioacchino Del Regno <
> > angelogioacchino.delregno@collabora.com>
> > ---
> >  drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c   | 8 ++++---
> > -
> >  drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h   | 2 ++
> >  drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c | 1 +
> >  drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c | 1 +
> >  4 files changed, 8 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
> > b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
> > index 6268d651bdcf..6a7e01130f1c 100644
> > --- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
> > +++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
> > @@ -1467,7 +1467,7 @@ static int mtk_jpegenc_get_hw(struct
> > mtk_jpeg_ctx *ctx)
> >  	int i;
> >  
> >  	spin_lock_irqsave(&jpeg->hw_lock, flags);
> > -	for (i = 0; i < MTK_JPEGENC_HW_MAX; i++) {
> > +	for (i = 0; i < jpeg->max_hw_count; i++) {
> >  		comp_jpeg = jpeg->enc_hw_dev[i];
> >  		if (comp_jpeg->hw_state == MTK_JPEG_HW_IDLE) {
> >  			hw_id = i;
> > @@ -1514,7 +1514,7 @@ static int mtk_jpegdec_get_hw(struct
> > mtk_jpeg_ctx *ctx)
> >  	int i;
> >  
> >  	spin_lock_irqsave(&jpeg->hw_lock, flags);
> > -	for (i = 0; i < MTK_JPEGDEC_HW_MAX; i++) {
> > +	for (i = 0; i < jpeg->max_hw_count; i++) {
> >  		comp_jpeg = jpeg->dec_hw_dev[i];
> >  		if (comp_jpeg->hw_state == MTK_JPEG_HW_IDLE) {
> >  			hw_id = i;
> > @@ -1597,7 +1597,7 @@ static void mtk_jpegenc_worker(struct
> > work_struct *work)
> >  		jpeg_work);
> >  	struct mtk_jpeg_dev *jpeg = ctx->jpeg;
> >  
> > -	for (i = 0; i < MTK_JPEGENC_HW_MAX; i++)
> > +	for (i = 0; i < jpeg->max_hw_count; i++)
> >  		comp_jpeg[i] = jpeg->enc_hw_dev[i];
> >  	i = 0;
> >  
> > @@ -1692,7 +1692,7 @@ static void mtk_jpegdec_worker(struct
> > work_struct *work)
> >  	struct mtk_jpeg_fb fb;
> >  	unsigned long flags;
> >  
> > -	for (i = 0; i < MTK_JPEGDEC_HW_MAX; i++)
> > +	for (i = 0; i < jpeg->max_hw_count; i++)
> >  		comp_jpeg[i] = jpeg->dec_hw_dev[i];
> >  	i = 0;
> >  
> > diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
> > b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
> > index 02ed0ed5b736..6be5cf30dea1 100644
> > --- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
> > +++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
> > @@ -212,6 +212,7 @@ struct mtk_jpegdec_comp_dev {
> >   * @reg_decbase:	jpg decode register base addr
> >   * @dec_hw_dev:	jpg decode hardware device
> >   * @hw_index:		jpg hw index
> > + * @max_hw_count:	jpeg hw-core count
> >   */
> >  struct mtk_jpeg_dev {
> >  	struct mutex		lock;
> > @@ -234,6 +235,7 @@ struct mtk_jpeg_dev {
> >  	void __iomem *reg_decbase[MTK_JPEGDEC_HW_MAX];
> >  	struct mtk_jpegdec_comp_dev *dec_hw_dev[MTK_JPEGDEC_HW_MAX];
> >  	atomic_t hw_index;
> > +	u32 max_hw_count;
> >  };
> >  
> >  /**
> > diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
> > b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
> > index e78e1d11093c..a1e54715cb7e 100644
> > --- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
> > +++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
> > @@ -664,6 +664,7 @@ static int mtk_jpegdec_hw_probe(struct
> > platform_device *pdev)
> >  	master_dev->dec_hw_dev[i] = dev;
> >  	master_dev->reg_decbase[i] = dev->reg_base;
> >  	dev->master_dev = master_dev;
> > +	master_dev->max_hw_count++;
> >  
> >  	platform_set_drvdata(pdev, dev);
> >  	pm_runtime_enable(&pdev->dev);
> > diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
> > b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
> > index 9ab27aee302a..28d05909c96f 100644
> > --- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
> > +++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
> > @@ -386,6 +386,7 @@ static int mtk_jpegenc_hw_probe(struct
> > platform_device *pdev)
> >  	master_dev->enc_hw_dev[i] = dev;
> >  	master_dev->reg_encbase[i] = dev->reg_base;
> >  	dev->master_dev = master_dev;
> > +	master_dev->max_hw_count++;
> >  
> >  	platform_set_drvdata(pdev, dev);
> >  	pm_runtime_enable(&pdev->dev);

  reply	other threads:[~2025-12-25  2:20 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-02  9:47 [PATCH v11 00/12] Enable jpeg enc & dec multi-hardwares for MT8196 Kyrie Wu
2025-12-02  9:47 ` [PATCH v11 01/12] media: mediatek: jpeg: fix jpeg hw count setting Kyrie Wu
2025-12-16 20:57   ` Nicolas Dufresne
2025-12-25  2:20     ` Kyrie Wu (吴晗) [this message]
2025-12-02  9:47 ` [PATCH v11 02/12] media: mediatek: jpeg: fix jpeg buffer payload setting Kyrie Wu
2025-12-16 21:15   ` Nicolas Dufresne
2025-12-25  5:48     ` Kyrie Wu (吴晗)
2025-12-02  9:47 ` [PATCH v11 03/12] media: mediatek: jpeg: fix jpeg buffer layout Kyrie Wu
2025-12-16 21:22   ` Nicolas Dufresne
2025-12-25  6:05     ` Kyrie Wu (吴晗)
2026-01-05 19:20       ` Nicolas Dufresne
2025-12-02  9:47 ` [PATCH v11 04/12] media: mediatek: jpeg: fix stop streaming flow for multi-core Kyrie Wu
2025-12-16 21:27   ` Nicolas Dufresne
2025-12-25  6:12     ` Kyrie Wu (吴晗)
2025-12-02  9:47 ` [PATCH v11 05/12] media: mediatek: jpeg: fix multi-core clk suspend and resume setting Kyrie Wu
2025-12-16 21:33   ` Nicolas Dufresne
2025-12-25  6:35     ` Kyrie Wu (吴晗)
2025-12-02  9:47 ` [PATCH v11 06/12] media: mediatek: jpeg: fix decoding buffer number setting timing issue Kyrie Wu
2025-12-16 21:37   ` Nicolas Dufresne
2025-12-25  7:04     ` Kyrie Wu (吴晗)
2025-12-02  9:47 ` [PATCH v11 07/12] media: mediatek: jpeg: fix decoding resolution change operation Kyrie Wu
2025-12-16 21:40   ` Nicolas Dufresne
2025-12-25  7:05     ` Kyrie Wu (吴晗)
2025-12-02  9:47 ` [PATCH v11 08/12] media: mediatek: jpeg: fix remove buffer operation for multi-core Kyrie Wu
2025-12-16 21:43   ` Nicolas Dufresne
2025-12-25  7:15     ` Kyrie Wu (吴晗)
2025-12-02  9:47 ` [PATCH v11 09/12] media: dt-bindings: mediatek,jpeg: Add mediatek, mt8196-jpgdec compatible Kyrie Wu
2025-12-02  9:47 ` [PATCH v11 10/12] media: dt-bindings: mediatek,jpeg: Add mediatek, mt8196-jpgenc compatible Kyrie Wu
2025-12-02  9:47 ` [PATCH v11 11/12] media: mediatek: jpeg: add jpeg compatible Kyrie Wu
2025-12-16 21:49   ` Nicolas Dufresne
2025-12-02  9:48 ` [PATCH v11 12/12] media: mediatek: jpeg: add jpeg smmu sid setting Kyrie Wu
2025-12-16 21:48   ` Nicolas Dufresne
2025-12-25  7:17     ` Kyrie Wu (吴晗)

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=d99811831065542167c8dae6285ecdada946104d.camel@mediatek.com \
    --to=kyrie.wu@mediatek.com \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=krzk+dt@kernel.org \
    --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=nicolas@ndufresne.ca \
    --cc=robh@kernel.org \
    /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