diff mbox

nvmem: uniphier: change access unit from 32bit to 8bit

Message ID 1511327699-26396-1-git-send-email-hayashi.kunihiko@socionext.com (mailing list archive)
State New, archived
Headers show

Commit Message

Kunihiko Hayashi Nov. 22, 2017, 5:14 a.m. UTC
The efuse on UniPhier allows 8bit access according to the specification.
Since bit offset of nvmem is limited to 0-7, it is desiable to change
access unit of nvmem to 8bit.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
---
 drivers/nvmem/uniphier-efuse.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Masahiro Yamada Nov. 22, 2017, 6:21 a.m. UTC | #1
2017-11-22 14:14 GMT+09:00 Kunihiko Hayashi <hayashi.kunihiko@socionext.com>:
> The efuse on UniPhier allows 8bit access according to the specification.
> Since bit offset of nvmem is limited to 0-7, it is desiable to change
> access unit of nvmem to 8bit.
>
> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>


Tested on LD4, sLD8, Pro4, PXs2, LD11, LD20, and PXs3.
All worked for me.

Tested-by: Masahiro Yamada <yamada.masahiro@socionext.com>

Thanks.
Keiji Hayashibara Nov. 22, 2017, 6:46 a.m. UTC | #2
Reviewed-by: Keiji Hayashibara <hayashibara.keiji@socionext.com>

Thanks.

-----
Best Regards,
Keiji Hayashibara

> -----Original Message-----
> From: Kunihiko Hayashi [mailto:hayashi.kunihiko@socionext.com]
> Sent: Wednesday, November 22, 2017 2:15 PM
> To: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> Cc: Yamada, Masahiro/山田 真弘 <yamada.masahiro@socionext.com>; Hayashibara, Keiji/林原 啓二
> <hayashibara.keiji@socionext.com>; masami.hiramatsu@linaro.org; jaswinder.singh@linaro.org;
> linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; Hayashi, Kunihiko/林 邦彦
> <hayashi.kunihiko@socionext.com>
> Subject: [PATCH] nvmem: uniphier: change access unit from 32bit to 8bit
> 
> The efuse on UniPhier allows 8bit access according to the specification.
> Since bit offset of nvmem is limited to 0-7, it is desiable to change access unit of nvmem to 8bit.
> 
> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
> ---
>  drivers/nvmem/uniphier-efuse.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/nvmem/uniphier-efuse.c b/drivers/nvmem/uniphier-efuse.c index 2bb45c4..fac3122 100644
> --- a/drivers/nvmem/uniphier-efuse.c
> +++ b/drivers/nvmem/uniphier-efuse.c
> @@ -27,11 +27,11 @@ static int uniphier_reg_read(void *context,
>  			     unsigned int reg, void *_val, size_t bytes)  {
>  	struct uniphier_efuse_priv *priv = context;
> -	u32 *val = _val;
> +	u8 *val = _val;
>  	int offs;
> 
> -	for (offs = 0; offs < bytes; offs += sizeof(u32))
> -		*val++ = readl(priv->base + reg + offs);
> +	for (offs = 0; offs < bytes; offs += sizeof(u8))
> +		*val++ = readb(priv->base + reg + offs);
> 
>  	return 0;
>  }
> @@ -53,8 +53,8 @@ static int uniphier_efuse_probe(struct platform_device *pdev)
>  	if (IS_ERR(priv->base))
>  		return PTR_ERR(priv->base);
> 
> -	econfig.stride = 4;
> -	econfig.word_size = 4;
> +	econfig.stride = 1;
> +	econfig.word_size = 1;
>  	econfig.read_only = true;
>  	econfig.reg_read = uniphier_reg_read;
>  	econfig.size = resource_size(res);
> --
> 2.7.4
Kunihiko Hayashi Dec. 13, 2017, 9:31 a.m. UTC | #3
Hello Srinivas,

This patch was already reviewed and tested for all UniPhier SoCs:
https://patchwork.kernel.org/patch/10069557/

Do you have any comments, or would you please pick it up?

Thank you,

On Wed, 22 Nov 2017 14:14:59 +0900 Kunihiko Hayashi <hayashi.kunihiko@socionext.com> wrote:

> The efuse on UniPhier allows 8bit access according to the specification.
> Since bit offset of nvmem is limited to 0-7, it is desiable to change
> access unit of nvmem to 8bit.
> 
> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
> ---
>  drivers/nvmem/uniphier-efuse.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/nvmem/uniphier-efuse.c b/drivers/nvmem/uniphier-efuse.c
> index 2bb45c4..fac3122 100644
> --- a/drivers/nvmem/uniphier-efuse.c
> +++ b/drivers/nvmem/uniphier-efuse.c
> @@ -27,11 +27,11 @@ static int uniphier_reg_read(void *context,
>  			     unsigned int reg, void *_val, size_t bytes)
>  {
>  	struct uniphier_efuse_priv *priv = context;
> -	u32 *val = _val;
> +	u8 *val = _val;
>  	int offs;
>  
> -	for (offs = 0; offs < bytes; offs += sizeof(u32))
> -		*val++ = readl(priv->base + reg + offs);
> +	for (offs = 0; offs < bytes; offs += sizeof(u8))
> +		*val++ = readb(priv->base + reg + offs);
>  
>  	return 0;
>  }
> @@ -53,8 +53,8 @@ static int uniphier_efuse_probe(struct platform_device *pdev)
>  	if (IS_ERR(priv->base))
>  		return PTR_ERR(priv->base);
>  
> -	econfig.stride = 4;
> -	econfig.word_size = 4;
> +	econfig.stride = 1;
> +	econfig.word_size = 1;
>  	econfig.read_only = true;
>  	econfig.reg_read = uniphier_reg_read;
>  	econfig.size = resource_size(res);
> -- 
> 2.7.4

---
Best Regards,
Kunihiko Hayashi
Srinivas Kandagatla Dec. 13, 2017, 9:36 a.m. UTC | #4
On 13/12/17 09:31, Kunihiko Hayashi wrote:
> Hello Srinivas,
> 
> This patch was already reviewed and tested for all UniPhier SoCs:
> https://patchwork.kernel.org/patch/10069557/
> 
> Do you have any comments, or would you please pick it up?

Thanks for your patience,

I will send it along with other fixes to Greg Sometime this week!

Rgrds,
Srini
> 
> Thank you,
> 
> On Wed, 22 Nov 2017 14:14:59 +0900 Kunihiko Hayashi <hayashi.kunihiko@socionext.com> wrote:
> 
>> The efuse on UniPhier allows 8bit access according to the specification.
>> Since bit offset of nvmem is limited to 0-7, it is desiable to change
>> access unit of nvmem to 8bit.
>>
>> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
>> ---
>>   drivers/nvmem/uniphier-efuse.c | 10 +++++-----
>>   1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/nvmem/uniphier-efuse.c b/drivers/nvmem/uniphier-efuse.c
>> index 2bb45c4..fac3122 100644
>> --- a/drivers/nvmem/uniphier-efuse.c
>> +++ b/drivers/nvmem/uniphier-efuse.c
>> @@ -27,11 +27,11 @@ static int uniphier_reg_read(void *context,
>>   			     unsigned int reg, void *_val, size_t bytes)
>>   {
>>   	struct uniphier_efuse_priv *priv = context;
>> -	u32 *val = _val;
>> +	u8 *val = _val;
>>   	int offs;
>>   
>> -	for (offs = 0; offs < bytes; offs += sizeof(u32))
>> -		*val++ = readl(priv->base + reg + offs);
>> +	for (offs = 0; offs < bytes; offs += sizeof(u8))
>> +		*val++ = readb(priv->base + reg + offs);
>>   
>>   	return 0;
>>   }
>> @@ -53,8 +53,8 @@ static int uniphier_efuse_probe(struct platform_device *pdev)
>>   	if (IS_ERR(priv->base))
>>   		return PTR_ERR(priv->base);
>>   
>> -	econfig.stride = 4;
>> -	econfig.word_size = 4;
>> +	econfig.stride = 1;
>> +	econfig.word_size = 1;
>>   	econfig.read_only = true;
>>   	econfig.reg_read = uniphier_reg_read;
>>   	econfig.size = resource_size(res);
>> -- 
>> 2.7.4
> 
> ---
> Best Regards,
> Kunihiko Hayashi
> 
>
diff mbox

Patch

diff --git a/drivers/nvmem/uniphier-efuse.c b/drivers/nvmem/uniphier-efuse.c
index 2bb45c4..fac3122 100644
--- a/drivers/nvmem/uniphier-efuse.c
+++ b/drivers/nvmem/uniphier-efuse.c
@@ -27,11 +27,11 @@  static int uniphier_reg_read(void *context,
 			     unsigned int reg, void *_val, size_t bytes)
 {
 	struct uniphier_efuse_priv *priv = context;
-	u32 *val = _val;
+	u8 *val = _val;
 	int offs;
 
-	for (offs = 0; offs < bytes; offs += sizeof(u32))
-		*val++ = readl(priv->base + reg + offs);
+	for (offs = 0; offs < bytes; offs += sizeof(u8))
+		*val++ = readb(priv->base + reg + offs);
 
 	return 0;
 }
@@ -53,8 +53,8 @@  static int uniphier_efuse_probe(struct platform_device *pdev)
 	if (IS_ERR(priv->base))
 		return PTR_ERR(priv->base);
 
-	econfig.stride = 4;
-	econfig.word_size = 4;
+	econfig.stride = 1;
+	econfig.word_size = 1;
 	econfig.read_only = true;
 	econfig.reg_read = uniphier_reg_read;
 	econfig.size = resource_size(res);