All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dennis-YC Hsieh <dennis-yc.hsieh@mediatek.com>
To: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Cc: Matthias Brugger <matthias.bgg@gmail.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	CK Hu <ck.hu@mediatek.com>,
	Bibby Hsieh <bibby.hsieh@mediatek.com>,
	Houlong Wei <houlong.wei@mediatek.com>,
	wsd_upstream <wsd_upstream@mediatek.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	DRI Development <dri-devel@lists.freedesktop.org>,
	HS Liao <hs.liao@mediatek.com>,
	"moderated list:ARM/Mediatek SoC support" 
	<linux-mediatek@lists.infradead.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v2 8/8] soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api
Date: Tue, 7 Jul 2020 08:46:40 +0800	[thread overview]
Message-ID: <1594082800.24876.0.camel@mtkswgap22> (raw)
In-Reply-To: <CAAOTY_-5um+X=cS3rkuN7YHycK2AyJsovumCQ4t+dbwXw62uAQ@mail.gmail.com>

Hi CK,

Thanks for your comment.

On Tue, 2020-07-07 at 07:46 +0800, Chun-Kuang Hu wrote:
> Hi, Dennis:
> 
> Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com> 於 2020年7月6日 週一 下午3:20寫道:
> >
> > Add clear parameter to let client decide if
> > event should be clear to 0 after GCE receive it.
> >
> > Fixes: 2f965be7f9008 ("drm/mediatek: apply CMDQ control flow")
> 
> I think this patch include two things, one is bug fix, another is
> changing interface.
> below is the bug fix part.
> 
> -#define CMDQ_WFE_OPTION                        (CMDQ_WFE_UPDATE |
> CMDQ_WFE_WAIT | \
> -                                       CMDQ_WFE_WAIT_VALUE)
> +#define CMDQ_WFE_OPTION                        (CMDQ_WFE_WAIT |
> CMDQ_WFE_WAIT_VALUE)
> 
> the other is changing interface part. So this patch should be broken
> into two patches.

ok I'll break into two patches


Regards,
Dennis

> 
> Regards,
> Chun-Kuang.
> 
> > Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com>
> > Reviewed-by: CK Hu <ck.hu@mediatek.com>
> > ---
> >  drivers/gpu/drm/mediatek/mtk_drm_crtc.c  |    2 +-
> >  drivers/soc/mediatek/mtk-cmdq-helper.c   |    5 +++--
> >  include/linux/mailbox/mtk-cmdq-mailbox.h |    3 +--
> >  include/linux/soc/mediatek/mtk-cmdq.h    |    5 +++--
> >  4 files changed, 8 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > index ec6c9ffbf35e..ba6cf956b239 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > @@ -490,7 +490,7 @@ static void mtk_drm_crtc_hw_config(struct mtk_drm_crtc *mtk_crtc)
> >                 mbox_flush(mtk_crtc->cmdq_client->chan, 2000);
> >                 cmdq_handle = cmdq_pkt_create(mtk_crtc->cmdq_client, PAGE_SIZE);
> >                 cmdq_pkt_clear_event(cmdq_handle, mtk_crtc->cmdq_event);
> > -               cmdq_pkt_wfe(cmdq_handle, mtk_crtc->cmdq_event);
> > +               cmdq_pkt_wfe(cmdq_handle, mtk_crtc->cmdq_event, false);
> >                 mtk_crtc_ddp_config(crtc, cmdq_handle);
> >                 cmdq_pkt_finalize(cmdq_handle);
> >                 cmdq_pkt_flush_async(cmdq_handle, ddp_cmdq_cb, cmdq_handle);
> > diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c
> > index d55dc3296105..505651b0d715 100644
> > --- a/drivers/soc/mediatek/mtk-cmdq-helper.c
> > +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c
> > @@ -316,15 +316,16 @@ int cmdq_pkt_write_s_mask_value(struct cmdq_pkt *pkt, u8 high_addr_reg_idx,
> >  }
> >  EXPORT_SYMBOL(cmdq_pkt_write_s_mask_value);
> >
> > -int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event)
> > +int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event, bool clear)
> >  {
> >         struct cmdq_instruction inst = { {0} };
> > +       u32 clear_option = clear ? CMDQ_WFE_UPDATE : 0;
> >
> >         if (event >= CMDQ_MAX_EVENT)
> >                 return -EINVAL;
> >
> >         inst.op = CMDQ_CODE_WFE;
> > -       inst.value = CMDQ_WFE_OPTION;
> > +       inst.value = CMDQ_WFE_OPTION | clear_option;
> >         inst.event = event;
> >
> >         return cmdq_pkt_append_command(pkt, inst);
> > diff --git a/include/linux/mailbox/mtk-cmdq-mailbox.h b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > index efbd8a9eb2d1..d5a983d65f05 100644
> > --- a/include/linux/mailbox/mtk-cmdq-mailbox.h
> > +++ b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > @@ -28,8 +28,7 @@
> >   * bit 16-27: update value
> >   * bit 31: 1 - update, 0 - no update
> >   */
> > -#define CMDQ_WFE_OPTION                        (CMDQ_WFE_UPDATE | CMDQ_WFE_WAIT | \
> > -                                       CMDQ_WFE_WAIT_VALUE)
> > +#define CMDQ_WFE_OPTION                        (CMDQ_WFE_WAIT | CMDQ_WFE_WAIT_VALUE)
> >
> >  /** cmdq event maximum */
> >  #define CMDQ_MAX_EVENT                 0x3ff
> > diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
> > index 34354e952f60..960704d75994 100644
> > --- a/include/linux/soc/mediatek/mtk-cmdq.h
> > +++ b/include/linux/soc/mediatek/mtk-cmdq.h
> > @@ -182,11 +182,12 @@ int cmdq_pkt_write_s_mask_value(struct cmdq_pkt *pkt, u8 high_addr_reg_idx,
> >  /**
> >   * cmdq_pkt_wfe() - append wait for event command to the CMDQ packet
> >   * @pkt:       the CMDQ packet
> > - * @event:     the desired event type to "wait and CLEAR"
> > + * @event:     the desired event type to wait
> > + * @clear:     clear event or not after event arrive
> >   *
> >   * Return: 0 for success; else the error code is returned
> >   */
> > -int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event);
> > +int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event, bool clear);
> >
> >  /**
> >   * cmdq_pkt_clear_event() - append clear event command to the CMDQ packet
> > --
> > 1.7.9.5
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://urldefense.com/v3/__https://lists.freedesktop.org/mailman/listinfo/dri-devel__;!!CTRNKA9wMg0ARbw!wn0KPiYaGJxfZ3Os2LeavuvBXth3HUejn1sNhi8_WnVgR_jTyfmLgo_kBbGHpTF0UqoDQQ$ 


WARNING: multiple messages have this Message-ID (diff)
From: Dennis-YC Hsieh <dennis-yc.hsieh@mediatek.com>
To: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Cc: Daniel Vetter <daniel@ffwll.ch>,
	wsd_upstream <wsd_upstream@mediatek.com>,
	David Airlie <airlied@linux.ie>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Houlong Wei <houlong.wei@mediatek.com>,
	HS Liao <hs.liao@mediatek.com>, CK Hu <ck.hu@mediatek.com>,
	"moderated list:ARM/Mediatek SoC support"
	<linux-mediatek@lists.infradead.org>,
	DRI Development <dri-devel@lists.freedesktop.org>,
	Bibby Hsieh <bibby.hsieh@mediatek.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v2 8/8] soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api
Date: Tue, 7 Jul 2020 08:46:40 +0800	[thread overview]
Message-ID: <1594082800.24876.0.camel@mtkswgap22> (raw)
In-Reply-To: <CAAOTY_-5um+X=cS3rkuN7YHycK2AyJsovumCQ4t+dbwXw62uAQ@mail.gmail.com>

Hi CK,

Thanks for your comment.

On Tue, 2020-07-07 at 07:46 +0800, Chun-Kuang Hu wrote:
> Hi, Dennis:
> 
> Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com> 於 2020年7月6日 週一 下午3:20寫道:
> >
> > Add clear parameter to let client decide if
> > event should be clear to 0 after GCE receive it.
> >
> > Fixes: 2f965be7f9008 ("drm/mediatek: apply CMDQ control flow")
> 
> I think this patch include two things, one is bug fix, another is
> changing interface.
> below is the bug fix part.
> 
> -#define CMDQ_WFE_OPTION                        (CMDQ_WFE_UPDATE |
> CMDQ_WFE_WAIT | \
> -                                       CMDQ_WFE_WAIT_VALUE)
> +#define CMDQ_WFE_OPTION                        (CMDQ_WFE_WAIT |
> CMDQ_WFE_WAIT_VALUE)
> 
> the other is changing interface part. So this patch should be broken
> into two patches.

ok I'll break into two patches


Regards,
Dennis

> 
> Regards,
> Chun-Kuang.
> 
> > Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com>
> > Reviewed-by: CK Hu <ck.hu@mediatek.com>
> > ---
> >  drivers/gpu/drm/mediatek/mtk_drm_crtc.c  |    2 +-
> >  drivers/soc/mediatek/mtk-cmdq-helper.c   |    5 +++--
> >  include/linux/mailbox/mtk-cmdq-mailbox.h |    3 +--
> >  include/linux/soc/mediatek/mtk-cmdq.h    |    5 +++--
> >  4 files changed, 8 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > index ec6c9ffbf35e..ba6cf956b239 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > @@ -490,7 +490,7 @@ static void mtk_drm_crtc_hw_config(struct mtk_drm_crtc *mtk_crtc)
> >                 mbox_flush(mtk_crtc->cmdq_client->chan, 2000);
> >                 cmdq_handle = cmdq_pkt_create(mtk_crtc->cmdq_client, PAGE_SIZE);
> >                 cmdq_pkt_clear_event(cmdq_handle, mtk_crtc->cmdq_event);
> > -               cmdq_pkt_wfe(cmdq_handle, mtk_crtc->cmdq_event);
> > +               cmdq_pkt_wfe(cmdq_handle, mtk_crtc->cmdq_event, false);
> >                 mtk_crtc_ddp_config(crtc, cmdq_handle);
> >                 cmdq_pkt_finalize(cmdq_handle);
> >                 cmdq_pkt_flush_async(cmdq_handle, ddp_cmdq_cb, cmdq_handle);
> > diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c
> > index d55dc3296105..505651b0d715 100644
> > --- a/drivers/soc/mediatek/mtk-cmdq-helper.c
> > +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c
> > @@ -316,15 +316,16 @@ int cmdq_pkt_write_s_mask_value(struct cmdq_pkt *pkt, u8 high_addr_reg_idx,
> >  }
> >  EXPORT_SYMBOL(cmdq_pkt_write_s_mask_value);
> >
> > -int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event)
> > +int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event, bool clear)
> >  {
> >         struct cmdq_instruction inst = { {0} };
> > +       u32 clear_option = clear ? CMDQ_WFE_UPDATE : 0;
> >
> >         if (event >= CMDQ_MAX_EVENT)
> >                 return -EINVAL;
> >
> >         inst.op = CMDQ_CODE_WFE;
> > -       inst.value = CMDQ_WFE_OPTION;
> > +       inst.value = CMDQ_WFE_OPTION | clear_option;
> >         inst.event = event;
> >
> >         return cmdq_pkt_append_command(pkt, inst);
> > diff --git a/include/linux/mailbox/mtk-cmdq-mailbox.h b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > index efbd8a9eb2d1..d5a983d65f05 100644
> > --- a/include/linux/mailbox/mtk-cmdq-mailbox.h
> > +++ b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > @@ -28,8 +28,7 @@
> >   * bit 16-27: update value
> >   * bit 31: 1 - update, 0 - no update
> >   */
> > -#define CMDQ_WFE_OPTION                        (CMDQ_WFE_UPDATE | CMDQ_WFE_WAIT | \
> > -                                       CMDQ_WFE_WAIT_VALUE)
> > +#define CMDQ_WFE_OPTION                        (CMDQ_WFE_WAIT | CMDQ_WFE_WAIT_VALUE)
> >
> >  /** cmdq event maximum */
> >  #define CMDQ_MAX_EVENT                 0x3ff
> > diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
> > index 34354e952f60..960704d75994 100644
> > --- a/include/linux/soc/mediatek/mtk-cmdq.h
> > +++ b/include/linux/soc/mediatek/mtk-cmdq.h
> > @@ -182,11 +182,12 @@ int cmdq_pkt_write_s_mask_value(struct cmdq_pkt *pkt, u8 high_addr_reg_idx,
> >  /**
> >   * cmdq_pkt_wfe() - append wait for event command to the CMDQ packet
> >   * @pkt:       the CMDQ packet
> > - * @event:     the desired event type to "wait and CLEAR"
> > + * @event:     the desired event type to wait
> > + * @clear:     clear event or not after event arrive
> >   *
> >   * Return: 0 for success; else the error code is returned
> >   */
> > -int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event);
> > +int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event, bool clear);
> >
> >  /**
> >   * cmdq_pkt_clear_event() - append clear event command to the CMDQ packet
> > --
> > 1.7.9.5
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://urldefense.com/v3/__https://lists.freedesktop.org/mailman/listinfo/dri-devel__;!!CTRNKA9wMg0ARbw!wn0KPiYaGJxfZ3Os2LeavuvBXth3HUejn1sNhi8_WnVgR_jTyfmLgo_kBbGHpTF0UqoDQQ$ 

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

WARNING: multiple messages have this Message-ID (diff)
From: Dennis-YC Hsieh <dennis-yc.hsieh@mediatek.com>
To: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Cc: Daniel Vetter <daniel@ffwll.ch>,
	wsd_upstream <wsd_upstream@mediatek.com>,
	David Airlie <airlied@linux.ie>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Houlong Wei <houlong.wei@mediatek.com>,
	HS Liao <hs.liao@mediatek.com>, CK Hu <ck.hu@mediatek.com>,
	"moderated list:ARM/Mediatek SoC support"
	<linux-mediatek@lists.infradead.org>,
	DRI Development <dri-devel@lists.freedesktop.org>,
	Bibby Hsieh <bibby.hsieh@mediatek.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v2 8/8] soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api
Date: Tue, 7 Jul 2020 08:46:40 +0800	[thread overview]
Message-ID: <1594082800.24876.0.camel@mtkswgap22> (raw)
In-Reply-To: <CAAOTY_-5um+X=cS3rkuN7YHycK2AyJsovumCQ4t+dbwXw62uAQ@mail.gmail.com>

Hi CK,

Thanks for your comment.

On Tue, 2020-07-07 at 07:46 +0800, Chun-Kuang Hu wrote:
> Hi, Dennis:
> 
> Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com> 於 2020年7月6日 週一 下午3:20寫道:
> >
> > Add clear parameter to let client decide if
> > event should be clear to 0 after GCE receive it.
> >
> > Fixes: 2f965be7f9008 ("drm/mediatek: apply CMDQ control flow")
> 
> I think this patch include two things, one is bug fix, another is
> changing interface.
> below is the bug fix part.
> 
> -#define CMDQ_WFE_OPTION                        (CMDQ_WFE_UPDATE |
> CMDQ_WFE_WAIT | \
> -                                       CMDQ_WFE_WAIT_VALUE)
> +#define CMDQ_WFE_OPTION                        (CMDQ_WFE_WAIT |
> CMDQ_WFE_WAIT_VALUE)
> 
> the other is changing interface part. So this patch should be broken
> into two patches.

ok I'll break into two patches


Regards,
Dennis

> 
> Regards,
> Chun-Kuang.
> 
> > Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com>
> > Reviewed-by: CK Hu <ck.hu@mediatek.com>
> > ---
> >  drivers/gpu/drm/mediatek/mtk_drm_crtc.c  |    2 +-
> >  drivers/soc/mediatek/mtk-cmdq-helper.c   |    5 +++--
> >  include/linux/mailbox/mtk-cmdq-mailbox.h |    3 +--
> >  include/linux/soc/mediatek/mtk-cmdq.h    |    5 +++--
> >  4 files changed, 8 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > index ec6c9ffbf35e..ba6cf956b239 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > @@ -490,7 +490,7 @@ static void mtk_drm_crtc_hw_config(struct mtk_drm_crtc *mtk_crtc)
> >                 mbox_flush(mtk_crtc->cmdq_client->chan, 2000);
> >                 cmdq_handle = cmdq_pkt_create(mtk_crtc->cmdq_client, PAGE_SIZE);
> >                 cmdq_pkt_clear_event(cmdq_handle, mtk_crtc->cmdq_event);
> > -               cmdq_pkt_wfe(cmdq_handle, mtk_crtc->cmdq_event);
> > +               cmdq_pkt_wfe(cmdq_handle, mtk_crtc->cmdq_event, false);
> >                 mtk_crtc_ddp_config(crtc, cmdq_handle);
> >                 cmdq_pkt_finalize(cmdq_handle);
> >                 cmdq_pkt_flush_async(cmdq_handle, ddp_cmdq_cb, cmdq_handle);
> > diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c
> > index d55dc3296105..505651b0d715 100644
> > --- a/drivers/soc/mediatek/mtk-cmdq-helper.c
> > +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c
> > @@ -316,15 +316,16 @@ int cmdq_pkt_write_s_mask_value(struct cmdq_pkt *pkt, u8 high_addr_reg_idx,
> >  }
> >  EXPORT_SYMBOL(cmdq_pkt_write_s_mask_value);
> >
> > -int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event)
> > +int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event, bool clear)
> >  {
> >         struct cmdq_instruction inst = { {0} };
> > +       u32 clear_option = clear ? CMDQ_WFE_UPDATE : 0;
> >
> >         if (event >= CMDQ_MAX_EVENT)
> >                 return -EINVAL;
> >
> >         inst.op = CMDQ_CODE_WFE;
> > -       inst.value = CMDQ_WFE_OPTION;
> > +       inst.value = CMDQ_WFE_OPTION | clear_option;
> >         inst.event = event;
> >
> >         return cmdq_pkt_append_command(pkt, inst);
> > diff --git a/include/linux/mailbox/mtk-cmdq-mailbox.h b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > index efbd8a9eb2d1..d5a983d65f05 100644
> > --- a/include/linux/mailbox/mtk-cmdq-mailbox.h
> > +++ b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > @@ -28,8 +28,7 @@
> >   * bit 16-27: update value
> >   * bit 31: 1 - update, 0 - no update
> >   */
> > -#define CMDQ_WFE_OPTION                        (CMDQ_WFE_UPDATE | CMDQ_WFE_WAIT | \
> > -                                       CMDQ_WFE_WAIT_VALUE)
> > +#define CMDQ_WFE_OPTION                        (CMDQ_WFE_WAIT | CMDQ_WFE_WAIT_VALUE)
> >
> >  /** cmdq event maximum */
> >  #define CMDQ_MAX_EVENT                 0x3ff
> > diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
> > index 34354e952f60..960704d75994 100644
> > --- a/include/linux/soc/mediatek/mtk-cmdq.h
> > +++ b/include/linux/soc/mediatek/mtk-cmdq.h
> > @@ -182,11 +182,12 @@ int cmdq_pkt_write_s_mask_value(struct cmdq_pkt *pkt, u8 high_addr_reg_idx,
> >  /**
> >   * cmdq_pkt_wfe() - append wait for event command to the CMDQ packet
> >   * @pkt:       the CMDQ packet
> > - * @event:     the desired event type to "wait and CLEAR"
> > + * @event:     the desired event type to wait
> > + * @clear:     clear event or not after event arrive
> >   *
> >   * Return: 0 for success; else the error code is returned
> >   */
> > -int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event);
> > +int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event, bool clear);
> >
> >  /**
> >   * cmdq_pkt_clear_event() - append clear event command to the CMDQ packet
> > --
> > 1.7.9.5
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://urldefense.com/v3/__https://lists.freedesktop.org/mailman/listinfo/dri-devel__;!!CTRNKA9wMg0ARbw!wn0KPiYaGJxfZ3Os2LeavuvBXth3HUejn1sNhi8_WnVgR_jTyfmLgo_kBbGHpTF0UqoDQQ$ 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Dennis-YC Hsieh <dennis-yc.hsieh@mediatek.com>
To: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Cc: wsd_upstream <wsd_upstream@mediatek.com>,
	David Airlie <airlied@linux.ie>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Houlong Wei <houlong.wei@mediatek.com>,
	HS Liao <hs.liao@mediatek.com>,
	"moderated list:ARM/Mediatek SoC support"
	<linux-mediatek@lists.infradead.org>,
	DRI Development <dri-devel@lists.freedesktop.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v2 8/8] soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api
Date: Tue, 7 Jul 2020 08:46:40 +0800	[thread overview]
Message-ID: <1594082800.24876.0.camel@mtkswgap22> (raw)
In-Reply-To: <CAAOTY_-5um+X=cS3rkuN7YHycK2AyJsovumCQ4t+dbwXw62uAQ@mail.gmail.com>

Hi CK,

Thanks for your comment.

On Tue, 2020-07-07 at 07:46 +0800, Chun-Kuang Hu wrote:
> Hi, Dennis:
> 
> Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com> 於 2020年7月6日 週一 下午3:20寫道:
> >
> > Add clear parameter to let client decide if
> > event should be clear to 0 after GCE receive it.
> >
> > Fixes: 2f965be7f9008 ("drm/mediatek: apply CMDQ control flow")
> 
> I think this patch include two things, one is bug fix, another is
> changing interface.
> below is the bug fix part.
> 
> -#define CMDQ_WFE_OPTION                        (CMDQ_WFE_UPDATE |
> CMDQ_WFE_WAIT | \
> -                                       CMDQ_WFE_WAIT_VALUE)
> +#define CMDQ_WFE_OPTION                        (CMDQ_WFE_WAIT |
> CMDQ_WFE_WAIT_VALUE)
> 
> the other is changing interface part. So this patch should be broken
> into two patches.

ok I'll break into two patches


Regards,
Dennis

> 
> Regards,
> Chun-Kuang.
> 
> > Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com>
> > Reviewed-by: CK Hu <ck.hu@mediatek.com>
> > ---
> >  drivers/gpu/drm/mediatek/mtk_drm_crtc.c  |    2 +-
> >  drivers/soc/mediatek/mtk-cmdq-helper.c   |    5 +++--
> >  include/linux/mailbox/mtk-cmdq-mailbox.h |    3 +--
> >  include/linux/soc/mediatek/mtk-cmdq.h    |    5 +++--
> >  4 files changed, 8 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > index ec6c9ffbf35e..ba6cf956b239 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > @@ -490,7 +490,7 @@ static void mtk_drm_crtc_hw_config(struct mtk_drm_crtc *mtk_crtc)
> >                 mbox_flush(mtk_crtc->cmdq_client->chan, 2000);
> >                 cmdq_handle = cmdq_pkt_create(mtk_crtc->cmdq_client, PAGE_SIZE);
> >                 cmdq_pkt_clear_event(cmdq_handle, mtk_crtc->cmdq_event);
> > -               cmdq_pkt_wfe(cmdq_handle, mtk_crtc->cmdq_event);
> > +               cmdq_pkt_wfe(cmdq_handle, mtk_crtc->cmdq_event, false);
> >                 mtk_crtc_ddp_config(crtc, cmdq_handle);
> >                 cmdq_pkt_finalize(cmdq_handle);
> >                 cmdq_pkt_flush_async(cmdq_handle, ddp_cmdq_cb, cmdq_handle);
> > diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c
> > index d55dc3296105..505651b0d715 100644
> > --- a/drivers/soc/mediatek/mtk-cmdq-helper.c
> > +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c
> > @@ -316,15 +316,16 @@ int cmdq_pkt_write_s_mask_value(struct cmdq_pkt *pkt, u8 high_addr_reg_idx,
> >  }
> >  EXPORT_SYMBOL(cmdq_pkt_write_s_mask_value);
> >
> > -int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event)
> > +int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event, bool clear)
> >  {
> >         struct cmdq_instruction inst = { {0} };
> > +       u32 clear_option = clear ? CMDQ_WFE_UPDATE : 0;
> >
> >         if (event >= CMDQ_MAX_EVENT)
> >                 return -EINVAL;
> >
> >         inst.op = CMDQ_CODE_WFE;
> > -       inst.value = CMDQ_WFE_OPTION;
> > +       inst.value = CMDQ_WFE_OPTION | clear_option;
> >         inst.event = event;
> >
> >         return cmdq_pkt_append_command(pkt, inst);
> > diff --git a/include/linux/mailbox/mtk-cmdq-mailbox.h b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > index efbd8a9eb2d1..d5a983d65f05 100644
> > --- a/include/linux/mailbox/mtk-cmdq-mailbox.h
> > +++ b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > @@ -28,8 +28,7 @@
> >   * bit 16-27: update value
> >   * bit 31: 1 - update, 0 - no update
> >   */
> > -#define CMDQ_WFE_OPTION                        (CMDQ_WFE_UPDATE | CMDQ_WFE_WAIT | \
> > -                                       CMDQ_WFE_WAIT_VALUE)
> > +#define CMDQ_WFE_OPTION                        (CMDQ_WFE_WAIT | CMDQ_WFE_WAIT_VALUE)
> >
> >  /** cmdq event maximum */
> >  #define CMDQ_MAX_EVENT                 0x3ff
> > diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
> > index 34354e952f60..960704d75994 100644
> > --- a/include/linux/soc/mediatek/mtk-cmdq.h
> > +++ b/include/linux/soc/mediatek/mtk-cmdq.h
> > @@ -182,11 +182,12 @@ int cmdq_pkt_write_s_mask_value(struct cmdq_pkt *pkt, u8 high_addr_reg_idx,
> >  /**
> >   * cmdq_pkt_wfe() - append wait for event command to the CMDQ packet
> >   * @pkt:       the CMDQ packet
> > - * @event:     the desired event type to "wait and CLEAR"
> > + * @event:     the desired event type to wait
> > + * @clear:     clear event or not after event arrive
> >   *
> >   * Return: 0 for success; else the error code is returned
> >   */
> > -int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event);
> > +int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event, bool clear);
> >
> >  /**
> >   * cmdq_pkt_clear_event() - append clear event command to the CMDQ packet
> > --
> > 1.7.9.5
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://urldefense.com/v3/__https://lists.freedesktop.org/mailman/listinfo/dri-devel__;!!CTRNKA9wMg0ARbw!wn0KPiYaGJxfZ3Os2LeavuvBXth3HUejn1sNhi8_WnVgR_jTyfmLgo_kBbGHpTF0UqoDQQ$ 

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2020-07-07  0:46 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-05  6:48 Subject: [PATCH v1 0/8] support cmdq helper function on mt6779 platform Dennis YC Hsieh
2020-07-05  6:48 ` Dennis YC Hsieh
2020-07-05  6:48 ` Dennis YC Hsieh
2020-07-05  6:48 ` Dennis YC Hsieh
2020-07-05  6:48 ` [PATCH v2 1/8] soc: mediatek: cmdq: add address shift in jump Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-06 14:03   ` Matthias Brugger
2020-07-06 14:03     ` Matthias Brugger
2020-07-06 14:03     ` Matthias Brugger
2020-07-06 14:03     ` Matthias Brugger
2020-07-06 14:21     ` Dennis-YC Hsieh
2020-07-06 14:21       ` Dennis-YC Hsieh
2020-07-06 14:21       ` Dennis-YC Hsieh
2020-07-06 14:21       ` Dennis-YC Hsieh
2020-07-05  6:48 ` [PATCH v2 2/8] soc: mediatek: cmdq: add write_s function Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48 ` [PATCH v2 3/8] soc: mediatek: cmdq: add write_s_mask function Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48 ` [PATCH v2 4/8] soc: mediatek: cmdq: add read_s function Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48 ` [PATCH v2 5/8] soc: mediatek: cmdq: add write_s value function Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48 ` [PATCH v2 6/8] soc: mediatek: cmdq: add write_s_mask " Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48 ` [PATCH v2 7/8] soc: mediatek: cmdq: add jump function Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48 ` [PATCH v2 8/8] soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-05  6:48   ` Dennis YC Hsieh
2020-07-06 23:46   ` Chun-Kuang Hu
2020-07-06 23:46     ` Chun-Kuang Hu
2020-07-06 23:46     ` Chun-Kuang Hu
2020-07-06 23:46     ` Chun-Kuang Hu
2020-07-07  0:46     ` Dennis-YC Hsieh [this message]
2020-07-07  0:46       ` Dennis-YC Hsieh
2020-07-07  0:46       ` Dennis-YC Hsieh
2020-07-07  0:46       ` Dennis-YC Hsieh

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=1594082800.24876.0.camel@mtkswgap22 \
    --to=dennis-yc.hsieh@mediatek.com \
    --cc=airlied@linux.ie \
    --cc=bibby.hsieh@mediatek.com \
    --cc=chunkuang.hu@kernel.org \
    --cc=ck.hu@mediatek.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=houlong.wei@mediatek.com \
    --cc=hs.liao@mediatek.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=matthias.bgg@gmail.com \
    --cc=p.zabel@pengutronix.de \
    --cc=wsd_upstream@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.