public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] imx27: pinctrl: fix wrong offset to ICONFB
@ 2014-01-16  1:18 Chris Ruehl
  2014-01-21 10:24 ` Markus Pargmann
  0 siblings, 1 reply; 3+ messages in thread
From: Chris Ruehl @ 2014-01-16  1:18 UTC (permalink / raw)
  To: linus.walleij; +Cc: mpa, linux-kernel, linux-arm, Chris Ruehl

The offset to ICONFB was incorrect, this patch set the correct value 0x14.
dev_dbg in function imx1_write_2bit print the wrong address and had been
moved after address calculation.

Signed-off-by: Chris Ruehl <chris.ruehl@gtsys.com.hk>
---
 drivers/pinctrl/pinctrl-imx1-core.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-imx1-core.c b/drivers/pinctrl/pinctrl-imx1-core.c
index f77914a..8dfc3dc 100644
--- a/drivers/pinctrl/pinctrl-imx1-core.c
+++ b/drivers/pinctrl/pinctrl-imx1-core.c
@@ -45,7 +45,7 @@ struct imx1_pinctrl {
 #define MX1_DDIR 0x00
 #define MX1_OCR 0x04
 #define MX1_ICONFA 0x0c
-#define MX1_ICONFB 0x10
+#define MX1_ICONFB 0x14
 #define MX1_GIUS 0x20
 #define MX1_GPR 0x38
 #define MX1_PUEN 0x40
@@ -97,13 +97,13 @@ static void imx1_write_2bit(struct imx1_pinctrl *ipctl, unsigned int pin_id,
 	u32 old_val;
 	u32 new_val;
 
-	dev_dbg(ipctl->dev, "write: register 0x%p offset %d value 0x%x\n",
-			reg, offset, value);
-
 	/* Use the next register if the pin's port pin number is >=16 */
 	if (pin_id % 32 >= 16)
 		reg += 0x04;
 
+	dev_dbg(ipctl->dev, "write: register 0x%p offset %d value 0x%x\n",
+			reg, offset, value);
+
 	/* Get current state of pins */
 	old_val = readl(reg);
 	old_val &= mask;
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] imx27: pinctrl: fix wrong offset to ICONFB
  2014-01-16  1:18 [PATCH] imx27: pinctrl: fix wrong offset to ICONFB Chris Ruehl
@ 2014-01-21 10:24 ` Markus Pargmann
  2014-01-22  2:13   ` Chris Ruehl
  0 siblings, 1 reply; 3+ messages in thread
From: Markus Pargmann @ 2014-01-21 10:24 UTC (permalink / raw)
  To: Chris Ruehl; +Cc: linus.walleij, linux-kernel, linux-arm

Hi,

On Thu, Jan 16, 2014 at 09:18:23AM +0800, Chris Ruehl wrote:
> The offset to ICONFB was incorrect, this patch set the correct value 0x14.
> dev_dbg in function imx1_write_2bit print the wrong address and had been
> moved after address calculation.
> 
> Signed-off-by: Chris Ruehl <chris.ruehl@gtsys.com.hk>

Reviewed-by: Markus Pargmann <mpa@pengutronix.de>

Perhaps this should go to the stable tree too for 3.13 and 3.14?

Regards,

Markus

> ---
>  drivers/pinctrl/pinctrl-imx1-core.c |    8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/pinctrl/pinctrl-imx1-core.c b/drivers/pinctrl/pinctrl-imx1-core.c
> index f77914a..8dfc3dc 100644
> --- a/drivers/pinctrl/pinctrl-imx1-core.c
> +++ b/drivers/pinctrl/pinctrl-imx1-core.c
> @@ -45,7 +45,7 @@ struct imx1_pinctrl {
>  #define MX1_DDIR 0x00
>  #define MX1_OCR 0x04
>  #define MX1_ICONFA 0x0c
> -#define MX1_ICONFB 0x10
> +#define MX1_ICONFB 0x14
>  #define MX1_GIUS 0x20
>  #define MX1_GPR 0x38
>  #define MX1_PUEN 0x40
> @@ -97,13 +97,13 @@ static void imx1_write_2bit(struct imx1_pinctrl *ipctl, unsigned int pin_id,
>  	u32 old_val;
>  	u32 new_val;
>  
> -	dev_dbg(ipctl->dev, "write: register 0x%p offset %d value 0x%x\n",
> -			reg, offset, value);
> -
>  	/* Use the next register if the pin's port pin number is >=16 */
>  	if (pin_id % 32 >= 16)
>  		reg += 0x04;
>  
> +	dev_dbg(ipctl->dev, "write: register 0x%p offset %d value 0x%x\n",
> +			reg, offset, value);
> +
>  	/* Get current state of pins */
>  	old_val = readl(reg);
>  	old_val &= mask;
> -- 
> 1.7.10.4
> 
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] imx27: pinctrl: fix wrong offset to ICONFB
  2014-01-21 10:24 ` Markus Pargmann
@ 2014-01-22  2:13   ` Chris Ruehl
  0 siblings, 0 replies; 3+ messages in thread
From: Chris Ruehl @ 2014-01-22  2:13 UTC (permalink / raw)
  To: Markus Pargmann; +Cc: linus.walleij, linux-kernel, linux-arm

Hi Markus,

On Tuesday, January 21, 2014 06:24 PM, Markus Pargmann wrote:
> Hi,
>
> On Thu, Jan 16, 2014 at 09:18:23AM +0800, Chris Ruehl wrote:
>> The offset to ICONFB was incorrect, this patch set the correct value 0x14.
>> dev_dbg in function imx1_write_2bit print the wrong address and had been
>> moved after address calculation.
>>
>> Signed-off-by: Chris Ruehl <chris.ruehl@gtsys.com.hk>
>
> Reviewed-by: Markus Pargmann <mpa@pengutronix.de>
>
> Perhaps this should go to the stable tree too for 3.13 and 3.14?

Yes of cause, and I have one more, the offset in

@@ -139,7 +139,7 @@ static int imx1_read_2bit(struct imx1_pinctrl *ipctl, 
unsigned int pin_id,
                 u32 reg_offset)
  {
         void __iomem *reg = imx1_mem(ipctl, pin_id) + reg_offset;
-       int offset = pin_id % 16;
+       int offset = (pin_id % 16) * 2;

         /* Use the next register if the pin's port pin number is >=16 */
         if (pin_id % 32 >= 16)

should fixed, otherwise the printout of 
/sys/kernel/debug/pinctrl/10015000.iomuxc/pins show prints the wrong confo / 
iconfa / iconfb

I prepare a patch.

With kind regards,
Chris

>
> Regards,
>
> Markus
>
>> ---
>>   drivers/pinctrl/pinctrl-imx1-core.c |    8 ++++----
>>   1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/pinctrl/pinctrl-imx1-core.c b/drivers/pinctrl/pinctrl-imx1-core.c
>> index f77914a..8dfc3dc 100644
>> --- a/drivers/pinctrl/pinctrl-imx1-core.c
>> +++ b/drivers/pinctrl/pinctrl-imx1-core.c
>> @@ -45,7 +45,7 @@ struct imx1_pinctrl {
>>   #define MX1_DDIR 0x00
>>   #define MX1_OCR 0x04
>>   #define MX1_ICONFA 0x0c
>> -#define MX1_ICONFB 0x10
>> +#define MX1_ICONFB 0x14
>>   #define MX1_GIUS 0x20
>>   #define MX1_GPR 0x38
>>   #define MX1_PUEN 0x40
>> @@ -97,13 +97,13 @@ static void imx1_write_2bit(struct imx1_pinctrl *ipctl, unsigned int pin_id,
>>   	u32 old_val;
>>   	u32 new_val;
>>
>> -	dev_dbg(ipctl->dev, "write: register 0x%p offset %d value 0x%x\n",
>> -			reg, offset, value);
>> -
>>   	/* Use the next register if the pin's port pin number is >=16 */
>>   	if (pin_id % 32 >= 16)
>>   		reg += 0x04;
>>
>> +	dev_dbg(ipctl->dev, "write: register 0x%p offset %d value 0x%x\n",
>> +			reg, offset, value);
>> +
>>   	/* Get current state of pins */
>>   	old_val = readl(reg);
>>   	old_val &= mask;
>> --
>> 1.7.10.4
>>
>>
>

-- 
GTSYS Limited RFID Technology
A01 24/F Gold King Industrial Bld
35-41 Tai Lin Pai Road, Kwai Chung, Hong Kong
Fax (852) 8167 4060 - Tel (852) 3598 9488

Disclaimer: http://www.gtsys.com.hk/email/classified.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-01-22  2:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-16  1:18 [PATCH] imx27: pinctrl: fix wrong offset to ICONFB Chris Ruehl
2014-01-21 10:24 ` Markus Pargmann
2014-01-22  2:13   ` Chris Ruehl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox