All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] ARM: S3C2443: introduce soc_is_s3c2443 macro
@ 2012-11-26  8:40 Alexander Varnin
  2012-11-26  8:40 ` [PATCH 2/2] ARM: S3C2443: Workaround for 2443 EXTINT error Alexander Varnin
  2012-11-26  9:02 ` [PATCH 1/2] ARM: S3C2443: introduce soc_is_s3c2443 macro Heiko Stübner
  0 siblings, 2 replies; 8+ messages in thread
From: Alexander Varnin @ 2012-11-26  8:40 UTC (permalink / raw)
  To: linux-samsung-soc, kgene, heiko; +Cc: Alexander Varnin

Signed-off-by: Alexander Varnin <fenixk19@mail.ru>
---
 arch/arm/plat-samsung/include/plat/cpu.h |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/arch/arm/plat-samsung/include/plat/cpu.h b/arch/arm/plat-samsung/include/plat/cpu.h
index ace4451..613f492 100644
--- a/arch/arm/plat-samsung/include/plat/cpu.h
+++ b/arch/arm/plat-samsung/include/plat/cpu.h
@@ -23,6 +23,9 @@ extern unsigned long samsung_cpu_id;
 #define S3C24XX_CPU_ID		0x32400000
 #define S3C24XX_CPU_MASK	0xFFF00000
 
+#define S3C2443_CPU_ID		0x32443001
+#define S3C2443_CPU_MASK	0xFFFFFFFF
+
 #define S3C6400_CPU_ID		0x36400000
 #define S3C6410_CPU_ID		0x36410000
 #define S3C64XX_CPU_MASK	0xFFFFF000
@@ -52,6 +55,7 @@ static inline int is_samsung_##name(void)	\
 }
 
 IS_SAMSUNG_CPU(s3c24xx, S3C24XX_CPU_ID, S3C24XX_CPU_MASK)
+IS_SAMSUNG_CPU(s3c2443, S3C2443_CPU_ID, S3C2443_CPU_MASK)
 IS_SAMSUNG_CPU(s3c6400, S3C6400_CPU_ID, S3C64XX_CPU_MASK)
 IS_SAMSUNG_CPU(s3c6410, S3C6410_CPU_ID, S3C64XX_CPU_MASK)
 IS_SAMSUNG_CPU(s5p6440, S5P6440_CPU_ID, S5P64XX_CPU_MASK)
@@ -72,6 +76,12 @@ IS_SAMSUNG_CPU(exynos5250, EXYNOS5250_SOC_ID, EXYNOS5_SOC_MASK)
 # define soc_is_s3c24xx()	0
 #endif
 
+#if defined(CONFIG_CPU_S3C2443)
+# define soc_is_s3c2443()	is_samsung_s3c2443()
+#else
+# define soc_is_s3c2443()	0
+#endif
+
 #if defined(CONFIG_CPU_S3C6400) || defined(CONFIG_CPU_S3C6410)
 # define soc_is_s3c64xx()	(is_samsung_s3c6400() || is_samsung_s3c6410())
 #else
-- 
1.7.2.5

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

* [PATCH 2/2] ARM: S3C2443: Workaround for 2443 EXTINT error
  2012-11-26  8:40 [PATCH 1/2] ARM: S3C2443: introduce soc_is_s3c2443 macro Alexander Varnin
@ 2012-11-26  8:40 ` Alexander Varnin
  2012-11-26  8:44   ` Alexander Varnin
  2012-11-26  9:02 ` [PATCH 1/2] ARM: S3C2443: introduce soc_is_s3c2443 macro Heiko Stübner
  1 sibling, 1 reply; 8+ messages in thread
From: Alexander Varnin @ 2012-11-26  8:40 UTC (permalink / raw)
  To: linux-samsung-soc, kgene, heiko; +Cc: Alexander Varnin

S3C2443 CPU has a problem with incorrect reading from EXTINTn
registers. So s3c_irqext_type function wrongly modifies them.
So add special check to s3c_irqext_type, to handle this case.

Signed-off-by: Alexander Varnin <fenixk19@mail.ru>
---
 arch/arm/plat-s3c24xx/irq.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/arch/arm/plat-s3c24xx/irq.c b/arch/arm/plat-s3c24xx/irq.c
index fe57bbb..bb36fc9 100644
--- a/arch/arm/plat-s3c24xx/irq.c
+++ b/arch/arm/plat-s3c24xx/irq.c
@@ -219,6 +219,21 @@ s3c_irqext_type(struct irq_data *data, unsigned int type)
 	}
 
 	value = __raw_readl(extint_reg);
+
+	if( (samsung_cpu_id & 0xfffff) == 0x43001) //Hack for 2443 error workaround
+	{
+	    int i;
+	    int fixed = 0;
+	    if(extint_reg == S3C24XX_EXTINT1 || extint_reg == S3C24XX_EXTINT2)
+		for(i=0; i<7;i++)
+		    fixed |= (((value >> ((7-i)*4+1)) & 7) | ((value >> ((7-i)*4-3)) & 8)) << i*4;
+	    else
+		for(i=0; i<7;i++)
+		    fixed |= ( (value >> (7-i)*4) & 0xf )  << i*4;
+	    fixed |= (((value>>1) & 7) | ((value<<3) & 8)) << 27;
+	    value = fixed;
+	}
+
 	value = (value & ~(7 << extint_offset)) | (newvalue << extint_offset);
 	__raw_writel(value, extint_reg);
 
-- 
1.7.2.5

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

* [PATCH 2/2] ARM: S3C2443: Workaround for 2443 EXTINT error
  2012-11-26  8:44 Alexander Varnin
@ 2012-11-26  8:44 ` Alexander Varnin
  2012-11-26  9:12   ` Heiko Stübner
  0 siblings, 1 reply; 8+ messages in thread
From: Alexander Varnin @ 2012-11-26  8:44 UTC (permalink / raw)
  To: linux-samsung-soc, kgene, heiko; +Cc: Alexander Varnin

S3C2443 CPU has a problem with incorrect reading from EXTINTn
registers. So s3c_irqext_type function wrongly modifies them.
So add special check to s3c_irqext_type, to handle this case.

Signed-off-by: Alexander Varnin <fenixk19@mail.ru>
---
 arch/arm/plat-s3c24xx/irq.c |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/arch/arm/plat-s3c24xx/irq.c b/arch/arm/plat-s3c24xx/irq.c
index fe57bbb..ed19996 100644
--- a/arch/arm/plat-s3c24xx/irq.c
+++ b/arch/arm/plat-s3c24xx/irq.c
@@ -219,6 +219,32 @@ s3c_irqext_type(struct irq_data *data, unsigned int type)
 	}
 
 	value = __raw_readl(extint_reg);
+
+	/*
+	* S3C2443 CPU has a problem with EXTINTn registers.
+	* Essentially register-reads returned transformed data, but the write 
+	* is done according to the datasheet.
+	*
+	* There is hack introduced for 2443 error workaround.
+	*
+	* For detais refer to the document "S3C2443 GUIDE TO EXTRA GPIO" found on the web.
+	*
+	* A. Varnin <fenixk19@mail.ru>
+	*/
+	if(soc_is_s3c2443()) 
+	{
+	    	int i;
+		int fixed = 0;
+		if(extint_reg == S3C24XX_EXTINT1 || extint_reg == S3C24XX_EXTINT2)
+			for(i=0; i<7;i++)
+		    		fixed |= (((value >> ((7-i)*4+1)) & 7) | ((value >> ((7-i)*4-3)) & 8)) << i*4;
+		else
+			for(i=0; i<7;i++)
+		    		fixed |= ( (value >> (7-i)*4) & 0xf )  << i*4;
+		fixed |= (((value>>1) & 7) | ((value<<3) & 8)) << 27;
+		value = fixed;
+	}
+
 	value = (value & ~(7 << extint_offset)) | (newvalue << extint_offset);
 	__raw_writel(value, extint_reg);
 
-- 
1.7.2.5

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

* Re: [PATCH 2/2] ARM: S3C2443: Workaround for 2443 EXTINT error
  2012-11-26  8:40 ` [PATCH 2/2] ARM: S3C2443: Workaround for 2443 EXTINT error Alexander Varnin
@ 2012-11-26  8:44   ` Alexander Varnin
  0 siblings, 0 replies; 8+ messages in thread
From: Alexander Varnin @ 2012-11-26  8:44 UTC (permalink / raw)
  To: Alexander Varnin; +Cc: linux-samsung-soc, kgene, heiko

Sorry, an old version.

26.11.2012 12:40, Alexander Varnin пишет:
> S3C2443 CPU has a problem with incorrect reading from EXTINTn
> registers. So s3c_irqext_type function wrongly modifies them.
> So add special check to s3c_irqext_type, to handle this case.
>
> Signed-off-by: Alexander Varnin <fenixk19@mail.ru>
> ---
>   arch/arm/plat-s3c24xx/irq.c |   15 +++++++++++++++
>   1 files changed, 15 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/plat-s3c24xx/irq.c b/arch/arm/plat-s3c24xx/irq.c
> index fe57bbb..bb36fc9 100644
> --- a/arch/arm/plat-s3c24xx/irq.c
> +++ b/arch/arm/plat-s3c24xx/irq.c
> @@ -219,6 +219,21 @@ s3c_irqext_type(struct irq_data *data, unsigned int type)
>   	}
>   
>   	value = __raw_readl(extint_reg);
> +
> +	if( (samsung_cpu_id & 0xfffff) == 0x43001) //Hack for 2443 error workaround
> +	{
> +	    int i;
> +	    int fixed = 0;
> +	    if(extint_reg == S3C24XX_EXTINT1 || extint_reg == S3C24XX_EXTINT2)
> +		for(i=0; i<7;i++)
> +		    fixed |= (((value >> ((7-i)*4+1)) & 7) | ((value >> ((7-i)*4-3)) & 8)) << i*4;
> +	    else
> +		for(i=0; i<7;i++)
> +		    fixed |= ( (value >> (7-i)*4) & 0xf )  << i*4;
> +	    fixed |= (((value>>1) & 7) | ((value<<3) & 8)) << 27;
> +	    value = fixed;
> +	}
> +
>   	value = (value & ~(7 << extint_offset)) | (newvalue << extint_offset);
>   	__raw_writel(value, extint_reg);
>   

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

* Re: [PATCH 1/2] ARM: S3C2443: introduce soc_is_s3c2443 macro
  2012-11-26  8:40 [PATCH 1/2] ARM: S3C2443: introduce soc_is_s3c2443 macro Alexander Varnin
  2012-11-26  8:40 ` [PATCH 2/2] ARM: S3C2443: Workaround for 2443 EXTINT error Alexander Varnin
@ 2012-11-26  9:02 ` Heiko Stübner
  1 sibling, 0 replies; 8+ messages in thread
From: Heiko Stübner @ 2012-11-26  9:02 UTC (permalink / raw)
  To: Alexander Varnin; +Cc: linux-samsung-soc, kgene

Am Montag, 26. November 2012, 09:40:02 schrieb Alexander Varnin:
> Signed-off-by: Alexander Varnin <fenixk19@mail.ru>

Acked-by: Heiko Stuebner <heiko@sntech.de>

> ---
>  arch/arm/plat-samsung/include/plat/cpu.h |   10 ++++++++++
>  1 files changed, 10 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/plat-samsung/include/plat/cpu.h
> b/arch/arm/plat-samsung/include/plat/cpu.h index ace4451..613f492 100644
> --- a/arch/arm/plat-samsung/include/plat/cpu.h
> +++ b/arch/arm/plat-samsung/include/plat/cpu.h
> @@ -23,6 +23,9 @@ extern unsigned long samsung_cpu_id;
>  #define S3C24XX_CPU_ID		0x32400000
>  #define S3C24XX_CPU_MASK	0xFFF00000
> 
> +#define S3C2443_CPU_ID		0x32443001
> +#define S3C2443_CPU_MASK	0xFFFFFFFF
> +
>  #define S3C6400_CPU_ID		0x36400000
>  #define S3C6410_CPU_ID		0x36410000
>  #define S3C64XX_CPU_MASK	0xFFFFF000
> @@ -52,6 +55,7 @@ static inline int is_samsung_##name(void)	\
>  }
> 
>  IS_SAMSUNG_CPU(s3c24xx, S3C24XX_CPU_ID, S3C24XX_CPU_MASK)
> +IS_SAMSUNG_CPU(s3c2443, S3C2443_CPU_ID, S3C2443_CPU_MASK)
>  IS_SAMSUNG_CPU(s3c6400, S3C6400_CPU_ID, S3C64XX_CPU_MASK)
>  IS_SAMSUNG_CPU(s3c6410, S3C6410_CPU_ID, S3C64XX_CPU_MASK)
>  IS_SAMSUNG_CPU(s5p6440, S5P6440_CPU_ID, S5P64XX_CPU_MASK)
> @@ -72,6 +76,12 @@ IS_SAMSUNG_CPU(exynos5250, EXYNOS5250_SOC_ID,
> EXYNOS5_SOC_MASK) # define soc_is_s3c24xx()	0
>  #endif
> 
> +#if defined(CONFIG_CPU_S3C2443)
> +# define soc_is_s3c2443()	is_samsung_s3c2443()
> +#else
> +# define soc_is_s3c2443()	0
> +#endif
> +
>  #if defined(CONFIG_CPU_S3C6400) || defined(CONFIG_CPU_S3C6410)
>  # define soc_is_s3c64xx()	(is_samsung_s3c6400() || is_samsung_s3c6410())
>  #else

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

* Re: [PATCH 2/2] ARM: S3C2443: Workaround for 2443 EXTINT error
  2012-11-26  8:44 ` [PATCH 2/2] ARM: S3C2443: Workaround for 2443 EXTINT error Alexander Varnin
@ 2012-11-26  9:12   ` Heiko Stübner
  2012-11-26  9:23     ` Alexander Varnin
  0 siblings, 1 reply; 8+ messages in thread
From: Heiko Stübner @ 2012-11-26  9:12 UTC (permalink / raw)
  To: Alexander Varnin; +Cc: linux-samsung-soc, kgene

Hi Alexander,

I think this patch needs a bit more love :-) .

Please run scripts/checkpatch.pl on it and fix all the reported problems.

And I'd change the comment to something like:

/*
 * S3C2443 CPU has a problem with EXTINTn registers.
 * Essentially register-reads return transformed data, but the write
 * is done according to the datasheet.
 *
 * Fix this by transforming the read data to the correct format.
 *
 * For details refer to the document "S3C2443 GUIDE TO EXTRA GPIO"
 */

Especially the mail address does not need to be in the code - the git history 
preserves the committer identity quite well.


Heiko 

Am Montag, 26. November 2012, 09:44:41 schrieb Alexander Varnin:
> S3C2443 CPU has a problem with incorrect reading from EXTINTn
> registers. So s3c_irqext_type function wrongly modifies them.
> So add special check to s3c_irqext_type, to handle this case.
> 
> Signed-off-by: Alexander Varnin <fenixk19@mail.ru>
> ---
>  arch/arm/plat-s3c24xx/irq.c |   26 ++++++++++++++++++++++++++
>  1 files changed, 26 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/plat-s3c24xx/irq.c b/arch/arm/plat-s3c24xx/irq.c
> index fe57bbb..ed19996 100644
> --- a/arch/arm/plat-s3c24xx/irq.c
> +++ b/arch/arm/plat-s3c24xx/irq.c
> @@ -219,6 +219,32 @@ s3c_irqext_type(struct irq_data *data, unsigned int
> type) }
> 
>  	value = __raw_readl(extint_reg);
> +
> +	/*
> +	* S3C2443 CPU has a problem with EXTINTn registers.
> +	* Essentially register-reads returned transformed data, but the write
> +	* is done according to the datasheet.
> +	*
> +	* There is hack introduced for 2443 error workaround.
> +	*
> +	* For detais refer to the document "S3C2443 GUIDE TO EXTRA GPIO" found on
> the web. +	*
> +	* A. Varnin <fenixk19@mail.ru>
> +	*/

> +	if(soc_is_s3c2443())
> +	{
> +	    	int i;
> +		int fixed = 0;
> +		if(extint_reg == S3C24XX_EXTINT1 || extint_reg == S3C24XX_EXTINT2)
> +			for(i=0; i<7;i++)
> +		    		fixed |= (((value >> ((7-i)*4+1)) & 7) | ((value >> ((7-
i)*4-3)) &
> 8)) << i*4; +		else
> +			for(i=0; i<7;i++)
> +		    		fixed |= ( (value >> (7-i)*4) & 0xf )  << i*4;
> +		fixed |= (((value>>1) & 7) | ((value<<3) & 8)) << 27;
> +		value = fixed;
> +	}
> +
>  	value = (value & ~(7 << extint_offset)) | (newvalue << extint_offset);
>  	__raw_writel(value, extint_reg);

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

* Re: [PATCH 2/2] ARM: S3C2443: Workaround for 2443 EXTINT error
  2012-11-26  9:12   ` Heiko Stübner
@ 2012-11-26  9:23     ` Alexander Varnin
  2012-11-26  9:35       ` Heiko Stübner
  0 siblings, 1 reply; 8+ messages in thread
From: Alexander Varnin @ 2012-11-26  9:23 UTC (permalink / raw)
  To: Heiko Stübner; +Cc: linux-samsung-soc

Is it ok, to send only one last patch after changes, without the one, 
who make macro?

26.11.2012 13:12, Heiko Stübner пишет:
> Hi Alexander,
>
> I think this patch needs a bit more love :-) .
>
> Please run scripts/checkpatch.pl on it and fix all the reported problems.
>
> And I'd change the comment to something like:
>
> /*
>   * S3C2443 CPU has a problem with EXTINTn registers.
>   * Essentially register-reads return transformed data, but the write
>   * is done according to the datasheet.
>   *
>   * Fix this by transforming the read data to the correct format.
>   *
>   * For details refer to the document "S3C2443 GUIDE TO EXTRA GPIO"
>   */
>
> Especially the mail address does not need to be in the code - the git history
> preserves the committer identity quite well.
>
>
> Heiko
>
> Am Montag, 26. November 2012, 09:44:41 schrieb Alexander Varnin:
>> S3C2443 CPU has a problem with incorrect reading from EXTINTn
>> registers. So s3c_irqext_type function wrongly modifies them.
>> So add special check to s3c_irqext_type, to handle this case.
>>
>> Signed-off-by: Alexander Varnin <fenixk19@mail.ru>
>> ---
>>   arch/arm/plat-s3c24xx/irq.c |   26 ++++++++++++++++++++++++++
>>   1 files changed, 26 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/plat-s3c24xx/irq.c b/arch/arm/plat-s3c24xx/irq.c
>> index fe57bbb..ed19996 100644
>> --- a/arch/arm/plat-s3c24xx/irq.c
>> +++ b/arch/arm/plat-s3c24xx/irq.c
>> @@ -219,6 +219,32 @@ s3c_irqext_type(struct irq_data *data, unsigned int
>> type) }
>>
>>   	value = __raw_readl(extint_reg);
>> +
>> +	/*
>> +	* S3C2443 CPU has a problem with EXTINTn registers.
>> +	* Essentially register-reads returned transformed data, but the write
>> +	* is done according to the datasheet.
>> +	*
>> +	* There is hack introduced for 2443 error workaround.
>> +	*
>> +	* For detais refer to the document "S3C2443 GUIDE TO EXTRA GPIO" found on
>> the web. +	*
>> +	* A. Varnin <fenixk19@mail.ru>
>> +	*/
>> +	if(soc_is_s3c2443())
>> +	{
>> +	    	int i;
>> +		int fixed = 0;
>> +		if(extint_reg == S3C24XX_EXTINT1 || extint_reg == S3C24XX_EXTINT2)
>> +			for(i=0; i<7;i++)
>> +		    		fixed |= (((value >> ((7-i)*4+1)) & 7) | ((value >> ((7-
> i)*4-3)) &
>> 8)) << i*4; +		else
>> +			for(i=0; i<7;i++)
>> +		    		fixed |= ( (value >> (7-i)*4) & 0xf )  << i*4;
>> +		fixed |= (((value>>1) & 7) | ((value<<3) & 8)) << 27;
>> +		value = fixed;
>> +	}
>> +
>>   	value = (value & ~(7 << extint_offset)) | (newvalue << extint_offset);
>>   	__raw_writel(value, extint_reg);

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

* Re: [PATCH 2/2] ARM: S3C2443: Workaround for 2443 EXTINT error
  2012-11-26  9:23     ` Alexander Varnin
@ 2012-11-26  9:35       ` Heiko Stübner
  0 siblings, 0 replies; 8+ messages in thread
From: Heiko Stübner @ 2012-11-26  9:35 UTC (permalink / raw)
  To: Alexander Varnin; +Cc: linux-samsung-soc

Am Montag, 26. November 2012, 10:23:17 schrieb Alexander Varnin:
> Is it ok, to send only one last patch after changes, without the one,
> who make macro?

I'd think so, as this series isn't this big. Just include a version into the 
patch subject, i.e.

	[PATCH v2 2/2] ARM: S3C2443: Workaround for 2443 EXTINT error

to denote the most recent version and include a short summary of the changes 
_after_ the "---" of the main commit message.


> 26.11.2012 13:12, Heiko Stübner пишет:
> > Hi Alexander,
> > 
> > I think this patch needs a bit more love :-) .
> > 
> > Please run scripts/checkpatch.pl on it and fix all the reported problems.
> > 
> > And I'd change the comment to something like:
> > 
> > /*
> > 
> >   * S3C2443 CPU has a problem with EXTINTn registers.
> >   * Essentially register-reads return transformed data, but the write
> >   * is done according to the datasheet.
> >   *
> >   * Fix this by transforming the read data to the correct format.
> >   *
> >   * For details refer to the document "S3C2443 GUIDE TO EXTRA GPIO"
> >   */
> > 
> > Especially the mail address does not need to be in the code - the git
> > history preserves the committer identity quite well.
> > 
> > 
> > Heiko
> > 
> > Am Montag, 26. November 2012, 09:44:41 schrieb Alexander Varnin:
> >> S3C2443 CPU has a problem with incorrect reading from EXTINTn
> >> registers. So s3c_irqext_type function wrongly modifies them.
> >> So add special check to s3c_irqext_type, to handle this case.
> >> 
> >> Signed-off-by: Alexander Varnin <fenixk19@mail.ru>
> >> ---
> >> 
> >>   arch/arm/plat-s3c24xx/irq.c |   26 ++++++++++++++++++++++++++
> >>   1 files changed, 26 insertions(+), 0 deletions(-)
> >> 
> >> diff --git a/arch/arm/plat-s3c24xx/irq.c b/arch/arm/plat-s3c24xx/irq.c
> >> index fe57bbb..ed19996 100644
> >> --- a/arch/arm/plat-s3c24xx/irq.c
> >> +++ b/arch/arm/plat-s3c24xx/irq.c
> >> @@ -219,6 +219,32 @@ s3c_irqext_type(struct irq_data *data, unsigned int
> >> type) }
> >> 
> >>   	value = __raw_readl(extint_reg);
> >> 
> >> +
> >> +	/*
> >> +	* S3C2443 CPU has a problem with EXTINTn registers.
> >> +	* Essentially register-reads returned transformed data, but the write
> >> +	* is done according to the datasheet.
> >> +	*
> >> +	* There is hack introduced for 2443 error workaround.
> >> +	*
> >> +	* For detais refer to the document "S3C2443 GUIDE TO EXTRA GPIO" 
found
> >> on the web. +	*
> >> +	* A. Varnin <fenixk19@mail.ru>
> >> +	*/
> >> +	if(soc_is_s3c2443())
> >> +	{
> >> +	    	int i;
> >> +		int fixed = 0;
> >> +		if(extint_reg == S3C24XX_EXTINT1 || extint_reg == 
S3C24XX_EXTINT2)
> >> +			for(i=0; i<7;i++)
> >> +		    		fixed |= (((value >> ((7-i)*4+1)) & 7) | ((value >> ((7-
> > 
> > i)*4-3)) &
> > 
> >> 8)) << i*4; +		else
> >> +			for(i=0; i<7;i++)
> >> +		    		fixed |= ( (value >> (7-i)*4) & 0xf )  << i*4;
> >> +		fixed |= (((value>>1) & 7) | ((value<<3) & 8)) << 27;
> >> +		value = fixed;
> >> +	}
> >> +
> >> 
> >>   	value = (value & ~(7 << extint_offset)) | (newvalue <<
> >>   	extint_offset); __raw_writel(value, extint_reg);

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

end of thread, other threads:[~2012-11-26  9:35 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-26  8:40 [PATCH 1/2] ARM: S3C2443: introduce soc_is_s3c2443 macro Alexander Varnin
2012-11-26  8:40 ` [PATCH 2/2] ARM: S3C2443: Workaround for 2443 EXTINT error Alexander Varnin
2012-11-26  8:44   ` Alexander Varnin
2012-11-26  9:02 ` [PATCH 1/2] ARM: S3C2443: introduce soc_is_s3c2443 macro Heiko Stübner
  -- strict thread matches above, loose matches on Subject: below --
2012-11-26  8:44 Alexander Varnin
2012-11-26  8:44 ` [PATCH 2/2] ARM: S3C2443: Workaround for 2443 EXTINT error Alexander Varnin
2012-11-26  9:12   ` Heiko Stübner
2012-11-26  9:23     ` Alexander Varnin
2012-11-26  9:35       ` Heiko Stübner

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.