All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dennis-YC Hsieh <dennis-yc.hsieh@mediatek.com>
To: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Jassi Brar <jassisinghbrar@gmail.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	<linux-kernel@vger.kernel.org>,
	<linux-mediatek@lists.infradead.org>,
	<devicetree@vger.kernel.org>, <wsd_upstream@mediatek.com>,
	<dri-devel@lists.freedesktop.org>,
	Bibby Hsieh <bibby.hsieh@mediatek.com>,
	CK Hu <ck.hu@mediatek.com>,
	Houlong Wei <houlong.wei@mediatek.com>,
	<linux-arm-kernel@lists.infradead.org>,
	HS Liao <hs.liao@mediatek.com>
Subject: Re: [PATCH v5 06/13] soc: mediatek: cmdq: add assign function
Date: Mon, 25 May 2020 01:01:35 +0800	[thread overview]
Message-ID: <1590339695.31286.4.camel@mtkswgap22> (raw)
In-Reply-To: <c671ea8a-07fa-a050-4679-c7aa15d19a9d@gmail.com>

Hi Matthias,

Thanks for your comment.

On Sat, 2020-05-16 at 19:59 +0200, Matthias Brugger wrote:
> 
> On 08/03/2020 11:52, Dennis YC Hsieh wrote:
> > Add assign function in cmdq helper which assign constant value into
> > internal register by index.
> > 
> > Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com>
> > Reviewed-by: CK Hu <ck.hu@mediatek.com>
> > ---
> >  drivers/soc/mediatek/mtk-cmdq-helper.c   | 24 +++++++++++++++++++++++-
> >  include/linux/mailbox/mtk-cmdq-mailbox.h |  1 +
> >  include/linux/soc/mediatek/mtk-cmdq.h    | 14 ++++++++++++++
> >  3 files changed, 38 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c
> > index 98f23ba3ba47..33153d17c9d9 100644
> > --- a/drivers/soc/mediatek/mtk-cmdq-helper.c
> > +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c
> > @@ -12,6 +12,7 @@
> >  #define CMDQ_WRITE_ENABLE_MASK	BIT(0)
> >  #define CMDQ_POLL_ENABLE_MASK	BIT(0)
> >  #define CMDQ_EOC_IRQ_EN		BIT(0)
> > +#define CMDQ_REG_TYPE		1
> >  
> >  struct cmdq_instruction {
> >  	union {
> > @@ -21,8 +22,17 @@ struct cmdq_instruction {
> >  	union {
> >  		u16 offset;
> >  		u16 event;
> > +		u16 reg_dst;
> > +	};
> > +	union {
> > +		u8 subsys;
> > +		struct {
> > +			u8 sop:5;
> > +			u8 arg_c_t:1;
> > +			u8 arg_b_t:1;
> > +			u8 dst_t:1;
> > +		};
> 
> This union seems without context in this patch. Please drop.
> 

The dst_t use in cmdq_pkt_assign function so how about merge other
variables to reserved and leave dst_t ?

struct {
	u8 reserved_t:7;
	u8 dst_t:1;
};


Regards,
Dennis


> Regards,
> Matthias
> 
> >  	};
> > -	u8 subsys;
> >  	u8 op;
> >  };
> >  
> > @@ -277,6 +287,18 @@ int cmdq_pkt_poll_mask(struct cmdq_pkt *pkt, u8 subsys,
> >  }
> >  EXPORT_SYMBOL(cmdq_pkt_poll_mask);
> >  
> > +int cmdq_pkt_assign(struct cmdq_pkt *pkt, u16 reg_idx, u32 value)
> > +{
> > +	struct cmdq_instruction inst = { {0} };
> > +
> > +	inst.op = CMDQ_CODE_LOGIC;
> > +	inst.dst_t = CMDQ_REG_TYPE;
> > +	inst.reg_dst = reg_idx;
> > +	inst.value = value;
> > +	return cmdq_pkt_append_command(pkt, inst);
> > +}
> > +EXPORT_SYMBOL(cmdq_pkt_assign);
> > +
> >  static int cmdq_pkt_finalize(struct cmdq_pkt *pkt)
> >  {
> >  	struct cmdq_instruction inst = { {0} };
> > diff --git a/include/linux/mailbox/mtk-cmdq-mailbox.h b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > index dfe5b2eb85cc..121c3bb6d3de 100644
> > --- a/include/linux/mailbox/mtk-cmdq-mailbox.h
> > +++ b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > @@ -59,6 +59,7 @@ enum cmdq_code {
> >  	CMDQ_CODE_JUMP = 0x10,
> >  	CMDQ_CODE_WFE = 0x20,
> >  	CMDQ_CODE_EOC = 0x40,
> > +	CMDQ_CODE_LOGIC = 0xa0,
> >  };
> >  
> >  enum cmdq_cb_status {
> > diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
> > index a74c1d5acdf3..83340211e1d3 100644
> > --- a/include/linux/soc/mediatek/mtk-cmdq.h
> > +++ b/include/linux/soc/mediatek/mtk-cmdq.h
> > @@ -152,6 +152,20 @@ int cmdq_pkt_poll(struct cmdq_pkt *pkt, u8 subsys,
> >   */
> >  int cmdq_pkt_poll_mask(struct cmdq_pkt *pkt, u8 subsys,
> >  		       u16 offset, u32 value, u32 mask);
> > +
> > +/**
> > + * cmdq_pkt_assign() - Append logic assign command to the CMDQ packet, ask GCE
> > + *		       to execute an instruction that set a constant value into
> > + *		       internal register and use as value, mask or address in
> > + *		       read/write instruction.
> > + * @pkt:	the CMDQ packet
> > + * @reg_idx:	the CMDQ internal register ID
> > + * @value:	the specified value
> > + *
> > + * Return: 0 for success; else the error code is returned
> > + */
> > +int cmdq_pkt_assign(struct cmdq_pkt *pkt, u16 reg_idx, u32 value);
> > +
> >  /**
> >   * cmdq_pkt_flush_async() - trigger CMDQ to asynchronously execute the CMDQ
> >   *                          packet and call back at the end of done packet
> > 


WARNING: multiple messages have this Message-ID (diff)
From: Dennis-YC Hsieh <dennis-yc.hsieh@mediatek.com>
To: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org,
	Philipp Zabel <p.zabel@pengutronix.de>,
	wsd_upstream@mediatek.com, David Airlie <airlied@linux.ie>,
	Jassi Brar <jassisinghbrar@gmail.com>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	HS Liao <hs.liao@mediatek.com>, Rob Herring <robh+dt@kernel.org>,
	linux-mediatek@lists.infradead.org,
	Houlong Wei <houlong.wei@mediatek.com>,
	Daniel Vetter <daniel@ffwll.ch>, CK Hu <ck.hu@mediatek.com>,
	Bibby Hsieh <bibby.hsieh@mediatek.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v5 06/13] soc: mediatek: cmdq: add assign function
Date: Mon, 25 May 2020 01:01:35 +0800	[thread overview]
Message-ID: <1590339695.31286.4.camel@mtkswgap22> (raw)
In-Reply-To: <c671ea8a-07fa-a050-4679-c7aa15d19a9d@gmail.com>

Hi Matthias,

Thanks for your comment.

On Sat, 2020-05-16 at 19:59 +0200, Matthias Brugger wrote:
> 
> On 08/03/2020 11:52, Dennis YC Hsieh wrote:
> > Add assign function in cmdq helper which assign constant value into
> > internal register by index.
> > 
> > Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com>
> > Reviewed-by: CK Hu <ck.hu@mediatek.com>
> > ---
> >  drivers/soc/mediatek/mtk-cmdq-helper.c   | 24 +++++++++++++++++++++++-
> >  include/linux/mailbox/mtk-cmdq-mailbox.h |  1 +
> >  include/linux/soc/mediatek/mtk-cmdq.h    | 14 ++++++++++++++
> >  3 files changed, 38 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c
> > index 98f23ba3ba47..33153d17c9d9 100644
> > --- a/drivers/soc/mediatek/mtk-cmdq-helper.c
> > +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c
> > @@ -12,6 +12,7 @@
> >  #define CMDQ_WRITE_ENABLE_MASK	BIT(0)
> >  #define CMDQ_POLL_ENABLE_MASK	BIT(0)
> >  #define CMDQ_EOC_IRQ_EN		BIT(0)
> > +#define CMDQ_REG_TYPE		1
> >  
> >  struct cmdq_instruction {
> >  	union {
> > @@ -21,8 +22,17 @@ struct cmdq_instruction {
> >  	union {
> >  		u16 offset;
> >  		u16 event;
> > +		u16 reg_dst;
> > +	};
> > +	union {
> > +		u8 subsys;
> > +		struct {
> > +			u8 sop:5;
> > +			u8 arg_c_t:1;
> > +			u8 arg_b_t:1;
> > +			u8 dst_t:1;
> > +		};
> 
> This union seems without context in this patch. Please drop.
> 

The dst_t use in cmdq_pkt_assign function so how about merge other
variables to reserved and leave dst_t ?

struct {
	u8 reserved_t:7;
	u8 dst_t:1;
};


Regards,
Dennis


> Regards,
> Matthias
> 
> >  	};
> > -	u8 subsys;
> >  	u8 op;
> >  };
> >  
> > @@ -277,6 +287,18 @@ int cmdq_pkt_poll_mask(struct cmdq_pkt *pkt, u8 subsys,
> >  }
> >  EXPORT_SYMBOL(cmdq_pkt_poll_mask);
> >  
> > +int cmdq_pkt_assign(struct cmdq_pkt *pkt, u16 reg_idx, u32 value)
> > +{
> > +	struct cmdq_instruction inst = { {0} };
> > +
> > +	inst.op = CMDQ_CODE_LOGIC;
> > +	inst.dst_t = CMDQ_REG_TYPE;
> > +	inst.reg_dst = reg_idx;
> > +	inst.value = value;
> > +	return cmdq_pkt_append_command(pkt, inst);
> > +}
> > +EXPORT_SYMBOL(cmdq_pkt_assign);
> > +
> >  static int cmdq_pkt_finalize(struct cmdq_pkt *pkt)
> >  {
> >  	struct cmdq_instruction inst = { {0} };
> > diff --git a/include/linux/mailbox/mtk-cmdq-mailbox.h b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > index dfe5b2eb85cc..121c3bb6d3de 100644
> > --- a/include/linux/mailbox/mtk-cmdq-mailbox.h
> > +++ b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > @@ -59,6 +59,7 @@ enum cmdq_code {
> >  	CMDQ_CODE_JUMP = 0x10,
> >  	CMDQ_CODE_WFE = 0x20,
> >  	CMDQ_CODE_EOC = 0x40,
> > +	CMDQ_CODE_LOGIC = 0xa0,
> >  };
> >  
> >  enum cmdq_cb_status {
> > diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
> > index a74c1d5acdf3..83340211e1d3 100644
> > --- a/include/linux/soc/mediatek/mtk-cmdq.h
> > +++ b/include/linux/soc/mediatek/mtk-cmdq.h
> > @@ -152,6 +152,20 @@ int cmdq_pkt_poll(struct cmdq_pkt *pkt, u8 subsys,
> >   */
> >  int cmdq_pkt_poll_mask(struct cmdq_pkt *pkt, u8 subsys,
> >  		       u16 offset, u32 value, u32 mask);
> > +
> > +/**
> > + * cmdq_pkt_assign() - Append logic assign command to the CMDQ packet, ask GCE
> > + *		       to execute an instruction that set a constant value into
> > + *		       internal register and use as value, mask or address in
> > + *		       read/write instruction.
> > + * @pkt:	the CMDQ packet
> > + * @reg_idx:	the CMDQ internal register ID
> > + * @value:	the specified value
> > + *
> > + * Return: 0 for success; else the error code is returned
> > + */
> > +int cmdq_pkt_assign(struct cmdq_pkt *pkt, u16 reg_idx, u32 value);
> > +
> >  /**
> >   * cmdq_pkt_flush_async() - trigger CMDQ to asynchronously execute the CMDQ
> >   *                          packet and call back at the end of done packet
> > 

_______________________________________________
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: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org,
	Philipp Zabel <p.zabel@pengutronix.de>,
	wsd_upstream@mediatek.com, David Airlie <airlied@linux.ie>,
	Jassi Brar <jassisinghbrar@gmail.com>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	HS Liao <hs.liao@mediatek.com>, Rob Herring <robh+dt@kernel.org>,
	linux-mediatek@lists.infradead.org,
	Houlong Wei <houlong.wei@mediatek.com>,
	Daniel Vetter <daniel@ffwll.ch>, CK Hu <ck.hu@mediatek.com>,
	Bibby Hsieh <bibby.hsieh@mediatek.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v5 06/13] soc: mediatek: cmdq: add assign function
Date: Mon, 25 May 2020 01:01:35 +0800	[thread overview]
Message-ID: <1590339695.31286.4.camel@mtkswgap22> (raw)
In-Reply-To: <c671ea8a-07fa-a050-4679-c7aa15d19a9d@gmail.com>

Hi Matthias,

Thanks for your comment.

On Sat, 2020-05-16 at 19:59 +0200, Matthias Brugger wrote:
> 
> On 08/03/2020 11:52, Dennis YC Hsieh wrote:
> > Add assign function in cmdq helper which assign constant value into
> > internal register by index.
> > 
> > Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com>
> > Reviewed-by: CK Hu <ck.hu@mediatek.com>
> > ---
> >  drivers/soc/mediatek/mtk-cmdq-helper.c   | 24 +++++++++++++++++++++++-
> >  include/linux/mailbox/mtk-cmdq-mailbox.h |  1 +
> >  include/linux/soc/mediatek/mtk-cmdq.h    | 14 ++++++++++++++
> >  3 files changed, 38 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c
> > index 98f23ba3ba47..33153d17c9d9 100644
> > --- a/drivers/soc/mediatek/mtk-cmdq-helper.c
> > +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c
> > @@ -12,6 +12,7 @@
> >  #define CMDQ_WRITE_ENABLE_MASK	BIT(0)
> >  #define CMDQ_POLL_ENABLE_MASK	BIT(0)
> >  #define CMDQ_EOC_IRQ_EN		BIT(0)
> > +#define CMDQ_REG_TYPE		1
> >  
> >  struct cmdq_instruction {
> >  	union {
> > @@ -21,8 +22,17 @@ struct cmdq_instruction {
> >  	union {
> >  		u16 offset;
> >  		u16 event;
> > +		u16 reg_dst;
> > +	};
> > +	union {
> > +		u8 subsys;
> > +		struct {
> > +			u8 sop:5;
> > +			u8 arg_c_t:1;
> > +			u8 arg_b_t:1;
> > +			u8 dst_t:1;
> > +		};
> 
> This union seems without context in this patch. Please drop.
> 

The dst_t use in cmdq_pkt_assign function so how about merge other
variables to reserved and leave dst_t ?

struct {
	u8 reserved_t:7;
	u8 dst_t:1;
};


Regards,
Dennis


> Regards,
> Matthias
> 
> >  	};
> > -	u8 subsys;
> >  	u8 op;
> >  };
> >  
> > @@ -277,6 +287,18 @@ int cmdq_pkt_poll_mask(struct cmdq_pkt *pkt, u8 subsys,
> >  }
> >  EXPORT_SYMBOL(cmdq_pkt_poll_mask);
> >  
> > +int cmdq_pkt_assign(struct cmdq_pkt *pkt, u16 reg_idx, u32 value)
> > +{
> > +	struct cmdq_instruction inst = { {0} };
> > +
> > +	inst.op = CMDQ_CODE_LOGIC;
> > +	inst.dst_t = CMDQ_REG_TYPE;
> > +	inst.reg_dst = reg_idx;
> > +	inst.value = value;
> > +	return cmdq_pkt_append_command(pkt, inst);
> > +}
> > +EXPORT_SYMBOL(cmdq_pkt_assign);
> > +
> >  static int cmdq_pkt_finalize(struct cmdq_pkt *pkt)
> >  {
> >  	struct cmdq_instruction inst = { {0} };
> > diff --git a/include/linux/mailbox/mtk-cmdq-mailbox.h b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > index dfe5b2eb85cc..121c3bb6d3de 100644
> > --- a/include/linux/mailbox/mtk-cmdq-mailbox.h
> > +++ b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > @@ -59,6 +59,7 @@ enum cmdq_code {
> >  	CMDQ_CODE_JUMP = 0x10,
> >  	CMDQ_CODE_WFE = 0x20,
> >  	CMDQ_CODE_EOC = 0x40,
> > +	CMDQ_CODE_LOGIC = 0xa0,
> >  };
> >  
> >  enum cmdq_cb_status {
> > diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
> > index a74c1d5acdf3..83340211e1d3 100644
> > --- a/include/linux/soc/mediatek/mtk-cmdq.h
> > +++ b/include/linux/soc/mediatek/mtk-cmdq.h
> > @@ -152,6 +152,20 @@ int cmdq_pkt_poll(struct cmdq_pkt *pkt, u8 subsys,
> >   */
> >  int cmdq_pkt_poll_mask(struct cmdq_pkt *pkt, u8 subsys,
> >  		       u16 offset, u32 value, u32 mask);
> > +
> > +/**
> > + * cmdq_pkt_assign() - Append logic assign command to the CMDQ packet, ask GCE
> > + *		       to execute an instruction that set a constant value into
> > + *		       internal register and use as value, mask or address in
> > + *		       read/write instruction.
> > + * @pkt:	the CMDQ packet
> > + * @reg_idx:	the CMDQ internal register ID
> > + * @value:	the specified value
> > + *
> > + * Return: 0 for success; else the error code is returned
> > + */
> > +int cmdq_pkt_assign(struct cmdq_pkt *pkt, u16 reg_idx, u32 value);
> > +
> >  /**
> >   * cmdq_pkt_flush_async() - trigger CMDQ to asynchronously execute the CMDQ
> >   *                          packet and call back at the end of done packet
> > 

_______________________________________________
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: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org, wsd_upstream@mediatek.com,
	David Airlie <airlied@linux.ie>,
	Jassi Brar <jassisinghbrar@gmail.com>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	HS Liao <hs.liao@mediatek.com>, Rob Herring <robh+dt@kernel.org>,
	linux-mediatek@lists.infradead.org,
	Houlong Wei <houlong.wei@mediatek.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v5 06/13] soc: mediatek: cmdq: add assign function
Date: Mon, 25 May 2020 01:01:35 +0800	[thread overview]
Message-ID: <1590339695.31286.4.camel@mtkswgap22> (raw)
In-Reply-To: <c671ea8a-07fa-a050-4679-c7aa15d19a9d@gmail.com>

Hi Matthias,

Thanks for your comment.

On Sat, 2020-05-16 at 19:59 +0200, Matthias Brugger wrote:
> 
> On 08/03/2020 11:52, Dennis YC Hsieh wrote:
> > Add assign function in cmdq helper which assign constant value into
> > internal register by index.
> > 
> > Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com>
> > Reviewed-by: CK Hu <ck.hu@mediatek.com>
> > ---
> >  drivers/soc/mediatek/mtk-cmdq-helper.c   | 24 +++++++++++++++++++++++-
> >  include/linux/mailbox/mtk-cmdq-mailbox.h |  1 +
> >  include/linux/soc/mediatek/mtk-cmdq.h    | 14 ++++++++++++++
> >  3 files changed, 38 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c
> > index 98f23ba3ba47..33153d17c9d9 100644
> > --- a/drivers/soc/mediatek/mtk-cmdq-helper.c
> > +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c
> > @@ -12,6 +12,7 @@
> >  #define CMDQ_WRITE_ENABLE_MASK	BIT(0)
> >  #define CMDQ_POLL_ENABLE_MASK	BIT(0)
> >  #define CMDQ_EOC_IRQ_EN		BIT(0)
> > +#define CMDQ_REG_TYPE		1
> >  
> >  struct cmdq_instruction {
> >  	union {
> > @@ -21,8 +22,17 @@ struct cmdq_instruction {
> >  	union {
> >  		u16 offset;
> >  		u16 event;
> > +		u16 reg_dst;
> > +	};
> > +	union {
> > +		u8 subsys;
> > +		struct {
> > +			u8 sop:5;
> > +			u8 arg_c_t:1;
> > +			u8 arg_b_t:1;
> > +			u8 dst_t:1;
> > +		};
> 
> This union seems without context in this patch. Please drop.
> 

The dst_t use in cmdq_pkt_assign function so how about merge other
variables to reserved and leave dst_t ?

struct {
	u8 reserved_t:7;
	u8 dst_t:1;
};


Regards,
Dennis


> Regards,
> Matthias
> 
> >  	};
> > -	u8 subsys;
> >  	u8 op;
> >  };
> >  
> > @@ -277,6 +287,18 @@ int cmdq_pkt_poll_mask(struct cmdq_pkt *pkt, u8 subsys,
> >  }
> >  EXPORT_SYMBOL(cmdq_pkt_poll_mask);
> >  
> > +int cmdq_pkt_assign(struct cmdq_pkt *pkt, u16 reg_idx, u32 value)
> > +{
> > +	struct cmdq_instruction inst = { {0} };
> > +
> > +	inst.op = CMDQ_CODE_LOGIC;
> > +	inst.dst_t = CMDQ_REG_TYPE;
> > +	inst.reg_dst = reg_idx;
> > +	inst.value = value;
> > +	return cmdq_pkt_append_command(pkt, inst);
> > +}
> > +EXPORT_SYMBOL(cmdq_pkt_assign);
> > +
> >  static int cmdq_pkt_finalize(struct cmdq_pkt *pkt)
> >  {
> >  	struct cmdq_instruction inst = { {0} };
> > diff --git a/include/linux/mailbox/mtk-cmdq-mailbox.h b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > index dfe5b2eb85cc..121c3bb6d3de 100644
> > --- a/include/linux/mailbox/mtk-cmdq-mailbox.h
> > +++ b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > @@ -59,6 +59,7 @@ enum cmdq_code {
> >  	CMDQ_CODE_JUMP = 0x10,
> >  	CMDQ_CODE_WFE = 0x20,
> >  	CMDQ_CODE_EOC = 0x40,
> > +	CMDQ_CODE_LOGIC = 0xa0,
> >  };
> >  
> >  enum cmdq_cb_status {
> > diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
> > index a74c1d5acdf3..83340211e1d3 100644
> > --- a/include/linux/soc/mediatek/mtk-cmdq.h
> > +++ b/include/linux/soc/mediatek/mtk-cmdq.h
> > @@ -152,6 +152,20 @@ int cmdq_pkt_poll(struct cmdq_pkt *pkt, u8 subsys,
> >   */
> >  int cmdq_pkt_poll_mask(struct cmdq_pkt *pkt, u8 subsys,
> >  		       u16 offset, u32 value, u32 mask);
> > +
> > +/**
> > + * cmdq_pkt_assign() - Append logic assign command to the CMDQ packet, ask GCE
> > + *		       to execute an instruction that set a constant value into
> > + *		       internal register and use as value, mask or address in
> > + *		       read/write instruction.
> > + * @pkt:	the CMDQ packet
> > + * @reg_idx:	the CMDQ internal register ID
> > + * @value:	the specified value
> > + *
> > + * Return: 0 for success; else the error code is returned
> > + */
> > +int cmdq_pkt_assign(struct cmdq_pkt *pkt, u16 reg_idx, u32 value);
> > +
> >  /**
> >   * cmdq_pkt_flush_async() - trigger CMDQ to asynchronously execute the CMDQ
> >   *                          packet and call back at the end of done packet
> > 

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

  reply	other threads:[~2020-05-24 17:01 UTC|newest]

Thread overview: 172+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-08 10:52 [PATCH v5 00/13] support gce on mt6779 platform Dennis YC Hsieh
2020-03-08 10:52 ` Dennis YC Hsieh
2020-03-08 10:52 ` Dennis YC Hsieh
2020-03-08 10:52 ` Dennis YC Hsieh
2020-03-08 10:52 ` [PATCH v5 01/13] dt-binding: gce: add gce header file for mt6779 Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52 ` [PATCH v5 02/13] mailbox: cmdq: variablize address shift in platform Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-20  1:05   ` Jassi Brar
2020-03-20  1:05     ` Jassi Brar
2020-03-20  1:05     ` Jassi Brar
2020-03-20  1:05     ` Jassi Brar
2020-03-23  1:11     ` Dennis-YC Hsieh
2020-03-23  1:11       ` Dennis-YC Hsieh
2020-03-23  1:11       ` Dennis-YC Hsieh
2020-03-23  1:11       ` Dennis-YC Hsieh
2020-03-08 10:52 ` [PATCH v5 03/13] mailbox: cmdq: support mt6779 gce platform definition Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-05-16 16:10   ` Matthias Brugger
2020-05-16 16:10     ` Matthias Brugger
2020-05-16 16:10     ` Matthias Brugger
2020-05-16 16:10     ` Matthias Brugger
2020-03-08 10:52 ` [PATCH v5 04/13] mailbox: mediatek: cmdq: clear task in channel before shutdown Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52 ` [PATCH v5 05/13] soc: mediatek: cmdq: return send msg error code Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-05-16 17:56   ` Matthias Brugger
2020-05-16 17:56     ` Matthias Brugger
2020-05-16 17:56     ` Matthias Brugger
2020-05-16 17:56     ` Matthias Brugger
2020-03-08 10:52 ` [PATCH v5 06/13] soc: mediatek: cmdq: add assign function Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-05-16 17:59   ` Matthias Brugger
2020-05-16 17:59     ` Matthias Brugger
2020-05-16 17:59     ` Matthias Brugger
2020-05-16 17:59     ` Matthias Brugger
2020-05-24 17:01     ` Dennis-YC Hsieh [this message]
2020-05-24 17:01       ` Dennis-YC Hsieh
2020-05-24 17:01       ` Dennis-YC Hsieh
2020-05-24 17:01       ` Dennis-YC Hsieh
2020-05-24 18:09       ` Matthias Brugger
2020-05-24 18:09         ` Matthias Brugger
2020-05-24 18:09         ` Matthias Brugger
2020-05-24 18:09         ` Matthias Brugger
2020-03-08 10:52 ` [PATCH v5 07/13] soc: mediatek: cmdq: add write_s function Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-05-16 18:14   ` Matthias Brugger
2020-05-16 18:14     ` Matthias Brugger
2020-05-16 18:14     ` Matthias Brugger
2020-05-16 18:14     ` Matthias Brugger
2020-05-24 17:26     ` Dennis-YC Hsieh
2020-05-24 17:26       ` Dennis-YC Hsieh
2020-05-24 17:26       ` Dennis-YC Hsieh
2020-05-24 17:26       ` Dennis-YC Hsieh
2020-05-24 18:12       ` Matthias Brugger
2020-05-24 18:12         ` Matthias Brugger
2020-05-24 18:12         ` Matthias Brugger
2020-05-24 18:12         ` Matthias Brugger
2020-03-08 10:52 ` [PATCH v5 08/13] soc: mediatek: cmdq: add read_s function Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52 ` [PATCH v5 09/13] soc: mediatek: cmdq: add write_s value function Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-05-16 18:20   ` Matthias Brugger
2020-05-16 18:20     ` Matthias Brugger
2020-05-16 18:20     ` Matthias Brugger
2020-05-16 18:20     ` Matthias Brugger
2020-05-24 17:31     ` Dennis-YC Hsieh
2020-05-24 17:31       ` Dennis-YC Hsieh
2020-05-24 17:31       ` Dennis-YC Hsieh
2020-05-24 17:31       ` Dennis-YC Hsieh
2020-05-24 18:13       ` Matthias Brugger
2020-05-24 18:13         ` Matthias Brugger
2020-05-24 18:13         ` Matthias Brugger
2020-05-24 18:13         ` Matthias Brugger
2020-05-25  2:27         ` Dennis-YC Hsieh
2020-05-25  2:27           ` Dennis-YC Hsieh
2020-05-25  2:27           ` Dennis-YC Hsieh
2020-05-25  2:27           ` Dennis-YC Hsieh
2020-05-25  8:39           ` Matthias Brugger
2020-05-25  8:39             ` Matthias Brugger
2020-05-25  8:39             ` Matthias Brugger
2020-05-25  8:39             ` Matthias Brugger
2020-05-25 10:38             ` Dennis-YC Hsieh
2020-05-25 10:38               ` Dennis-YC Hsieh
2020-05-25 10:38               ` Dennis-YC Hsieh
2020-05-25 10:38               ` Dennis-YC Hsieh
2020-05-25 13:59               ` Matthias Brugger
2020-05-25 13:59                 ` Matthias Brugger
2020-05-25 13:59                 ` Matthias Brugger
2020-05-25 13:59                 ` Matthias Brugger
2020-03-08 10:52 ` [PATCH v5 10/13] soc: mediatek: cmdq: export finalize function Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-05-16 18:22   ` Matthias Brugger
2020-05-16 18:22     ` Matthias Brugger
2020-05-16 18:22     ` Matthias Brugger
2020-05-16 18:22     ` Matthias Brugger
2020-05-24 17:32     ` Dennis-YC Hsieh
2020-05-24 17:32       ` Dennis-YC Hsieh
2020-05-24 17:32       ` Dennis-YC Hsieh
2020-05-24 17:32       ` Dennis-YC Hsieh
2020-05-25  0:23     ` Chun-Kuang Hu
2020-05-25  0:23       ` Chun-Kuang Hu
2020-05-25  0:23       ` Chun-Kuang Hu
2020-05-25  0:23       ` Chun-Kuang Hu
2020-05-25  8:38       ` Matthias Brugger
2020-05-25  8:38         ` Matthias Brugger
2020-05-25  8:38         ` Matthias Brugger
2020-05-25  8:38         ` Matthias Brugger
2020-05-25 10:48         ` Chun-Kuang Hu
2020-05-25 10:48           ` Chun-Kuang Hu
2020-05-25 10:48           ` Chun-Kuang Hu
2020-05-25 10:48           ` Chun-Kuang Hu
2020-03-08 10:52 ` [PATCH v5 11/13] soc: mediatek: cmdq: add jump function Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-09  1:48   ` CK Hu
2020-03-09  1:48     ` CK Hu
2020-03-09  1:48     ` CK Hu
2020-03-09  1:48     ` CK Hu
2020-03-08 10:52 ` [PATCH v5 12/13] soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-09  2:07   ` CK Hu
2020-03-09  2:07     ` CK Hu
2020-03-09  2:07     ` CK Hu
2020-03-09  2:07     ` CK Hu
2020-05-16 18:30   ` Matthias Brugger
2020-05-16 18:30     ` Matthias Brugger
2020-05-16 18:30     ` Matthias Brugger
2020-05-16 18:30     ` Matthias Brugger
2020-05-24 17:32     ` Dennis-YC Hsieh
2020-05-24 17:32       ` Dennis-YC Hsieh
2020-05-24 17:32       ` Dennis-YC Hsieh
2020-05-24 17:32       ` Dennis-YC Hsieh
2020-03-08 10:52 ` [PATCH v5 13/13] soc: mediatek: cmdq: add set event function Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-03-08 10:52   ` Dennis YC Hsieh
2020-05-16 18:32   ` Matthias Brugger
2020-05-16 18:32     ` Matthias Brugger
2020-05-16 18:32     ` Matthias Brugger
2020-05-16 18:32     ` Matthias Brugger
2020-05-24 17:39     ` Dennis-YC Hsieh
2020-05-24 17:39       ` Dennis-YC Hsieh
2020-05-24 17:39       ` Dennis-YC Hsieh
2020-05-24 17:39       ` Dennis-YC Hsieh
2020-05-24 18:15       ` Matthias Brugger
2020-05-24 18:15         ` Matthias Brugger
2020-05-24 18:15         ` Matthias Brugger
2020-05-24 18:15         ` Matthias Brugger

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=1590339695.31286.4.camel@mtkswgap22 \
    --to=dennis-yc.hsieh@mediatek.com \
    --cc=airlied@linux.ie \
    --cc=bibby.hsieh@mediatek.com \
    --cc=ck.hu@mediatek.com \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=houlong.wei@mediatek.com \
    --cc=hs.liao@mediatek.com \
    --cc=jassisinghbrar@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=matthias.bgg@gmail.com \
    --cc=p.zabel@pengutronix.de \
    --cc=robh+dt@kernel.org \
    --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.