All of lore.kernel.org
 help / color / mirror / Atom feed
From: houlong wei <houlong.wei@mediatek.com>
To: Bibby Hsieh <bibby.hsieh@mediatek.com>
Cc: "Jassi Brar" <jassisinghbrar@gmail.com>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"CK Hu (胡俊光)" <ck.hu@mediatek.com>,
	"Daniel Kurtz" <djkurtz@chromium.org>,
	"Sascha Hauer" <s.hauer@pengutronix.de>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-mediatek@lists.infradead.org"
	<linux-mediatek@lists.infradead.org>,
	srv_heupstream <srv_heupstream@mediatek.com>,
	"Sascha Hauer" <kernel@pengutronix.de>,
	"Philipp Zabel" <p.zabel@pengutronix.de>,
	"Nicolas Boichat" <drinkcat@chromium.org>,
	"YT Shen (沈岳霆)" <Yt.Shen@mediatek.com>,
	"Daoyuan Huang (黃道原)" <Daoyuan.Huang@mediatek.com>,
	"Jiaguang Zhang (张加广)" <Jiaguang.Zhang@mediatek.com>,
	"Dennis-YC Hsieh (謝宇哲)" <Dennis-YC.Hsieh@mediatek.com>,
	"Ginny Chen (陳治傑)" <ginny.chen@mediatek.com>,
	houlong.wei@mediatek.com
Subject: Re: [PATCH v11 11/12] soc: mediatek: cmdq: add cmdq_dev_get_client_reg function
Date: Sun, 11 Aug 2019 00:18:47 +0800	[thread overview]
Message-ID: <1565453927.19079.23.camel@mhfsdcap03> (raw)
In-Reply-To: <20190729070106.9332-12-bibby.hsieh@mediatek.com>

On Mon, 2019-07-29 at 15:01 +0800, Bibby Hsieh wrote:
> GCE cannot know the register base address, this function
> can help cmdq client to get the cmdq_client_reg structure.
> 
> Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com>
> ---
>  drivers/soc/mediatek/mtk-cmdq-helper.c | 29 ++++++++++++++++++++++++++
>  include/linux/soc/mediatek/mtk-cmdq.h  | 21 +++++++++++++++++++
>  2 files changed, 50 insertions(+)
> 
> diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c
> index 70ad4d806fac..9695b75cfc89 100644
> --- a/drivers/soc/mediatek/mtk-cmdq-helper.c
> +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c
> @@ -27,6 +27,35 @@ struct cmdq_instruction {
>  	u8 op;
>  };
>  
> +int cmdq_dev_get_client_reg(struct device *dev,
> +			    struct cmdq_client_reg *client_reg, int idx)
> +{
> +	struct of_phandle_args spec;
> +	int err;
> +
> +	if (!client_reg)
> +		return -ENOENT;
> +
> +	err = of_parse_phandle_with_fixed_args(dev->of_node,
> +					       "mediatek,gce-client-reg",
> +					       3, idx, &spec);
> +	if (err < 0) {
> +		dev_err(dev,
> +			"error %d can't parse gce-client-reg property (%d)",
> +			err, idx);
> +
> +		return err;
> +	}
> +
> +	client_reg->subsys = spec.args[0];
> +	client_reg->offset = spec.args[1];
> +	client_reg->size = spec.args[2];

Maybe we need add type conversion to avoid compiling warnings.
	client_reg->subsys = (u8)spec.args[0];
	client_reg->offset = (u16)spec.args[1];
	client_reg->size = (u16)spec.args[2];

> +	of_node_put(spec.np);
> +
> +	return 0;
> +}
> +EXPORT_SYMBOL(cmdq_dev_get_client_reg);
> +
>  static void cmdq_client_timeout(struct timer_list *t)
>  {
>  	struct cmdq_client *client = from_timer(client, t, timer);
> diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
> index a345870a6d10..be402c4c740e 100644
> --- a/include/linux/soc/mediatek/mtk-cmdq.h
> +++ b/include/linux/soc/mediatek/mtk-cmdq.h
> @@ -15,6 +15,12 @@
>  
>  struct cmdq_pkt;
>  
> +struct cmdq_client_reg {
> +	u8 subsys;
> +	u16 offset;
> +	u16 size;
> +};
> +
>  struct cmdq_client {
>  	spinlock_t lock;
>  	u32 pkt_cnt;
> @@ -142,4 +148,19 @@ int cmdq_pkt_flush_async(struct cmdq_pkt *pkt, cmdq_async_flush_cb cb,
>   */
>  int cmdq_pkt_flush(struct cmdq_pkt *pkt);
>  
> +/**
> + * cmdq_dev_get_client_reg() - parse cmdq client reg from the device
> + *			       node of CMDQ client
> + * @dev:	device of CMDQ mailbox clienti
> + * @client_reg: CMDQ client reg pointer
> + * @idx:	the index of desired reg
> + *
> + * Return: 0 for success; else the error code is returned
> + *
> + * Help CMDQ client pasing the cmdq client reg
> + * from the device node of CMDQ client.
> + */
> +int cmdq_dev_get_client_reg(struct device *dev,
> +			    struct cmdq_client_reg *client_reg, int idx);
> +

Could we keep the same order of function declaration and implementation?

>  #endif	/* __MTK_CMDQ_H__ */



WARNING: multiple messages have this Message-ID (diff)
From: houlong wei <houlong.wei@mediatek.com>
To: Bibby Hsieh <bibby.hsieh@mediatek.com>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"Nicolas Boichat" <drinkcat@chromium.org>,
	"Philipp Zabel" <p.zabel@pengutronix.de>,
	srv_heupstream <srv_heupstream@mediatek.com>,
	"Daoyuan Huang (黃道原)" <Daoyuan.Huang@mediatek.com>,
	"Sascha Hauer" <s.hauer@pengutronix.de>,
	"Jassi Brar" <jassisinghbrar@gmail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Daniel Kurtz" <djkurtz@chromium.org>,
	houlong.wei@mediatek.com, "YT Shen (沈岳霆)" <Yt.Shen@mediatek.com>,
	"CK Hu (胡俊光)" <ck.hu@mediatek.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"linux-mediatek@lists.infradead.org"
	<linux-mediatek@lists.infradead.org>,
	"Ginny Chen (陳治傑)" <ginny.chen@mediatek.com>,
	"Sascha Hauer" <kernel@pengutronix.de>
Subject: Re: [PATCH v11 11/12] soc: mediatek: cmdq: add cmdq_dev_get_client_reg function
Date: Sun, 11 Aug 2019 00:18:47 +0800	[thread overview]
Message-ID: <1565453927.19079.23.camel@mhfsdcap03> (raw)
In-Reply-To: <20190729070106.9332-12-bibby.hsieh@mediatek.com>

On Mon, 2019-07-29 at 15:01 +0800, Bibby Hsieh wrote:
> GCE cannot know the register base address, this function
> can help cmdq client to get the cmdq_client_reg structure.
> 
> Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com>
> ---
>  drivers/soc/mediatek/mtk-cmdq-helper.c | 29 ++++++++++++++++++++++++++
>  include/linux/soc/mediatek/mtk-cmdq.h  | 21 +++++++++++++++++++
>  2 files changed, 50 insertions(+)
> 
> diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c
> index 70ad4d806fac..9695b75cfc89 100644
> --- a/drivers/soc/mediatek/mtk-cmdq-helper.c
> +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c
> @@ -27,6 +27,35 @@ struct cmdq_instruction {
>  	u8 op;
>  };
>  
> +int cmdq_dev_get_client_reg(struct device *dev,
> +			    struct cmdq_client_reg *client_reg, int idx)
> +{
> +	struct of_phandle_args spec;
> +	int err;
> +
> +	if (!client_reg)
> +		return -ENOENT;
> +
> +	err = of_parse_phandle_with_fixed_args(dev->of_node,
> +					       "mediatek,gce-client-reg",
> +					       3, idx, &spec);
> +	if (err < 0) {
> +		dev_err(dev,
> +			"error %d can't parse gce-client-reg property (%d)",
> +			err, idx);
> +
> +		return err;
> +	}
> +
> +	client_reg->subsys = spec.args[0];
> +	client_reg->offset = spec.args[1];
> +	client_reg->size = spec.args[2];

Maybe we need add type conversion to avoid compiling warnings.
	client_reg->subsys = (u8)spec.args[0];
	client_reg->offset = (u16)spec.args[1];
	client_reg->size = (u16)spec.args[2];

> +	of_node_put(spec.np);
> +
> +	return 0;
> +}
> +EXPORT_SYMBOL(cmdq_dev_get_client_reg);
> +
>  static void cmdq_client_timeout(struct timer_list *t)
>  {
>  	struct cmdq_client *client = from_timer(client, t, timer);
> diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
> index a345870a6d10..be402c4c740e 100644
> --- a/include/linux/soc/mediatek/mtk-cmdq.h
> +++ b/include/linux/soc/mediatek/mtk-cmdq.h
> @@ -15,6 +15,12 @@
>  
>  struct cmdq_pkt;
>  
> +struct cmdq_client_reg {
> +	u8 subsys;
> +	u16 offset;
> +	u16 size;
> +};
> +
>  struct cmdq_client {
>  	spinlock_t lock;
>  	u32 pkt_cnt;
> @@ -142,4 +148,19 @@ int cmdq_pkt_flush_async(struct cmdq_pkt *pkt, cmdq_async_flush_cb cb,
>   */
>  int cmdq_pkt_flush(struct cmdq_pkt *pkt);
>  
> +/**
> + * cmdq_dev_get_client_reg() - parse cmdq client reg from the device
> + *			       node of CMDQ client
> + * @dev:	device of CMDQ mailbox clienti
> + * @client_reg: CMDQ client reg pointer
> + * @idx:	the index of desired reg
> + *
> + * Return: 0 for success; else the error code is returned
> + *
> + * Help CMDQ client pasing the cmdq client reg
> + * from the device node of CMDQ client.
> + */
> +int cmdq_dev_get_client_reg(struct device *dev,
> +			    struct cmdq_client_reg *client_reg, int idx);
> +

Could we keep the same order of function declaration and implementation?

>  #endif	/* __MTK_CMDQ_H__ */

WARNING: multiple messages have this Message-ID (diff)
From: houlong wei <houlong.wei@mediatek.com>
To: Bibby Hsieh <bibby.hsieh@mediatek.com>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"Nicolas Boichat" <drinkcat@chromium.org>,
	"Philipp Zabel" <p.zabel@pengutronix.de>,
	srv_heupstream <srv_heupstream@mediatek.com>,
	"Daoyuan Huang (黃道原)" <Daoyuan.Huang@mediatek.com>,
	"Sascha Hauer" <s.hauer@pengutronix.de>,
	"Jassi Brar" <jassisinghbrar@gmail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Daniel Kurtz" <djkurtz@chromium.org>,
	houlong.wei@mediatek.com, "YT Shen (沈岳霆)" <Yt.Shen@mediatek.com>,
	"CK Hu (胡俊光)" <ck.hu@mediatek.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"linux-mediatek@lists.infradead.org"
	<linux-mediatek@lists.infradead.org>,
	"Ginny Chen (陳治傑)" <ginny.chen@mediatek.com>,
	"Sascha Hauer" <kernel@pengutronix.de>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	"Jiaguang Zhang (张加广)" <Jiaguang.Zhang@mediatek.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"Dennis-YC Hsieh (謝宇哲)" <Dennis-YC.Hsieh@mediatek.com>
Subject: Re: [PATCH v11 11/12] soc: mediatek: cmdq: add cmdq_dev_get_client_reg function
Date: Sun, 11 Aug 2019 00:18:47 +0800	[thread overview]
Message-ID: <1565453927.19079.23.camel@mhfsdcap03> (raw)
In-Reply-To: <20190729070106.9332-12-bibby.hsieh@mediatek.com>

On Mon, 2019-07-29 at 15:01 +0800, Bibby Hsieh wrote:
> GCE cannot know the register base address, this function
> can help cmdq client to get the cmdq_client_reg structure.
> 
> Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com>
> ---
>  drivers/soc/mediatek/mtk-cmdq-helper.c | 29 ++++++++++++++++++++++++++
>  include/linux/soc/mediatek/mtk-cmdq.h  | 21 +++++++++++++++++++
>  2 files changed, 50 insertions(+)
> 
> diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c
> index 70ad4d806fac..9695b75cfc89 100644
> --- a/drivers/soc/mediatek/mtk-cmdq-helper.c
> +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c
> @@ -27,6 +27,35 @@ struct cmdq_instruction {
>  	u8 op;
>  };
>  
> +int cmdq_dev_get_client_reg(struct device *dev,
> +			    struct cmdq_client_reg *client_reg, int idx)
> +{
> +	struct of_phandle_args spec;
> +	int err;
> +
> +	if (!client_reg)
> +		return -ENOENT;
> +
> +	err = of_parse_phandle_with_fixed_args(dev->of_node,
> +					       "mediatek,gce-client-reg",
> +					       3, idx, &spec);
> +	if (err < 0) {
> +		dev_err(dev,
> +			"error %d can't parse gce-client-reg property (%d)",
> +			err, idx);
> +
> +		return err;
> +	}
> +
> +	client_reg->subsys = spec.args[0];
> +	client_reg->offset = spec.args[1];
> +	client_reg->size = spec.args[2];

Maybe we need add type conversion to avoid compiling warnings.
	client_reg->subsys = (u8)spec.args[0];
	client_reg->offset = (u16)spec.args[1];
	client_reg->size = (u16)spec.args[2];

> +	of_node_put(spec.np);
> +
> +	return 0;
> +}
> +EXPORT_SYMBOL(cmdq_dev_get_client_reg);
> +
>  static void cmdq_client_timeout(struct timer_list *t)
>  {
>  	struct cmdq_client *client = from_timer(client, t, timer);
> diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
> index a345870a6d10..be402c4c740e 100644
> --- a/include/linux/soc/mediatek/mtk-cmdq.h
> +++ b/include/linux/soc/mediatek/mtk-cmdq.h
> @@ -15,6 +15,12 @@
>  
>  struct cmdq_pkt;
>  
> +struct cmdq_client_reg {
> +	u8 subsys;
> +	u16 offset;
> +	u16 size;
> +};
> +
>  struct cmdq_client {
>  	spinlock_t lock;
>  	u32 pkt_cnt;
> @@ -142,4 +148,19 @@ int cmdq_pkt_flush_async(struct cmdq_pkt *pkt, cmdq_async_flush_cb cb,
>   */
>  int cmdq_pkt_flush(struct cmdq_pkt *pkt);
>  
> +/**
> + * cmdq_dev_get_client_reg() - parse cmdq client reg from the device
> + *			       node of CMDQ client
> + * @dev:	device of CMDQ mailbox clienti
> + * @client_reg: CMDQ client reg pointer
> + * @idx:	the index of desired reg
> + *
> + * Return: 0 for success; else the error code is returned
> + *
> + * Help CMDQ client pasing the cmdq client reg
> + * from the device node of CMDQ client.
> + */
> +int cmdq_dev_get_client_reg(struct device *dev,
> +			    struct cmdq_client_reg *client_reg, int idx);
> +

Could we keep the same order of function declaration and implementation?

>  #endif	/* __MTK_CMDQ_H__ */



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

  reply	other threads:[~2019-08-10 16:19 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-29  7:00 [PATCH v11 00/12] support gce on mt8183 platform Bibby Hsieh
2019-07-29  7:00 ` Bibby Hsieh
2019-07-29  7:00 ` Bibby Hsieh
2019-07-29  7:00 ` [PATCH v11 01/12] dt-binding: gce: remove thread-num property Bibby Hsieh
2019-07-29  7:00   ` Bibby Hsieh
2019-07-29  7:00   ` Bibby Hsieh
2019-07-29  7:00 ` [PATCH v11 02/12] dt-binding: gce: add gce header file for mt8183 Bibby Hsieh
2019-07-29  7:00   ` Bibby Hsieh
2019-07-29  7:00   ` Bibby Hsieh
2019-07-29  7:00 ` [PATCH v11 03/12] dt-binding: gce: add binding for gce client reg property Bibby Hsieh
2019-07-29  7:00   ` Bibby Hsieh
2019-07-29  7:00   ` Bibby Hsieh
2019-08-16 22:06   ` Rob Herring
2019-08-16 22:06     ` Rob Herring
2019-08-16 22:06     ` Rob Herring
2019-07-29  7:00 ` [PATCH v11 04/12] mailbox: mediatek: cmdq: move the CMDQ_IRQ_MASK into cmdq driver data Bibby Hsieh
2019-07-29  7:00   ` Bibby Hsieh
2019-07-29  7:00   ` Bibby Hsieh
2019-07-29  7:00 ` [PATCH v11 05/12] mailbox: mediatek: cmdq: support mt8183 gce function Bibby Hsieh
2019-07-29  7:00   ` Bibby Hsieh
2019-07-29  7:00   ` Bibby Hsieh
2019-07-29  7:01 ` [PATCH v11 06/12] soc: mediatek: cmdq: clear the event in cmdq initial flow Bibby Hsieh
2019-07-29  7:01   ` Bibby Hsieh
2019-07-29  7:01   ` Bibby Hsieh
2019-07-29  7:01 ` [PATCH v11 07/12] soc: mediatek: cmdq: reorder the parameter Bibby Hsieh
2019-07-29  7:01   ` Bibby Hsieh
2019-07-29  7:01   ` Bibby Hsieh
2019-07-29  7:01 ` [PATCH v11 08/12] soc: mediatek: cmdq: change the type of input parameter Bibby Hsieh
2019-07-29  7:01   ` Bibby Hsieh
2019-07-29  7:01   ` Bibby Hsieh
2019-07-29  7:01 ` [PATCH v11 09/12] soc: mediatek: cmdq: define the instruction struct Bibby Hsieh
2019-07-29  7:01   ` Bibby Hsieh
2019-07-29  7:01   ` Bibby Hsieh
2019-08-10 16:12   ` houlong wei
2019-08-10 16:12     ` houlong wei
2019-08-10 16:12     ` houlong wei
2019-08-10 16:38     ` houlong wei
2019-08-10 16:38       ` houlong wei
2019-08-10 16:38       ` houlong wei
2019-07-29  7:01 ` [PATCH v11 10/12] soc: mediatek: cmdq: add polling function Bibby Hsieh
2019-07-29  7:01   ` Bibby Hsieh
2019-07-29  7:01   ` Bibby Hsieh
2019-07-29  7:01 ` [PATCH v11 11/12] soc: mediatek: cmdq: add cmdq_dev_get_client_reg function Bibby Hsieh
2019-07-29  7:01   ` Bibby Hsieh
2019-07-29  7:01   ` Bibby Hsieh
2019-08-10 16:18   ` houlong wei [this message]
2019-08-10 16:18     ` houlong wei
2019-08-10 16:18     ` houlong wei
2019-07-29  7:01 ` [PATCH v11 12/12] arm64: dts: add gce node for mt8183 Bibby Hsieh
2019-07-29  7:01   ` Bibby Hsieh
2019-07-29  7:01   ` Bibby Hsieh
2019-08-10 16:25   ` houlong wei
2019-08-10 16:25     ` houlong wei
2019-08-10 16:25     ` houlong wei

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=1565453927.19079.23.camel@mhfsdcap03 \
    --to=houlong.wei@mediatek.com \
    --cc=Daoyuan.Huang@mediatek.com \
    --cc=Dennis-YC.Hsieh@mediatek.com \
    --cc=Jiaguang.Zhang@mediatek.com \
    --cc=Yt.Shen@mediatek.com \
    --cc=bibby.hsieh@mediatek.com \
    --cc=ck.hu@mediatek.com \
    --cc=devicetree@vger.kernel.org \
    --cc=djkurtz@chromium.org \
    --cc=drinkcat@chromium.org \
    --cc=ginny.chen@mediatek.com \
    --cc=jassisinghbrar@gmail.com \
    --cc=kernel@pengutronix.de \
    --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=robh+dt@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=srv_heupstream@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.