public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch 1/3] x86: apic,io-apic - generalize lapic_get_version helper
       [not found] <20080924164618.588609232@gmail.com>
@ 2008-09-24 16:46 ` Cyrill Gorcunov
  2008-09-24 16:46 ` [patch 2/3] x86: apic - simplify lapic_get_maxlvt Cyrill Gorcunov
  2008-09-24 16:46 ` [patch 3/3] x86: apic - remove dead ifdef from lapic_is_integrated Cyrill Gorcunov
  2 siblings, 0 replies; 7+ messages in thread
From: Cyrill Gorcunov @ 2008-09-24 16:46 UTC (permalink / raw)
  To: mingo, macro, yhlu.kernel; +Cc: linux-kernel, Cyrill Gorcunov

[-- Attachment #1: x86-apic-get-version --]
[-- Type: text/plain, Size: 1913 bytes --]

By doing so we are able to not duplicate code in
io_apic.c at least in one case.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---

Index: linux-2.6.git/arch/x86/kernel/apic.c
===================================================================
--- linux-2.6.git.orig/arch/x86/kernel/apic.c	2008-09-24 16:57:54.000000000 +0400
+++ linux-2.6.git/arch/x86/kernel/apic.c	2008-09-24 19:17:20.000000000 +0400
@@ -163,14 +163,6 @@ static DEFINE_PER_CPU(struct clock_event
 static unsigned long apic_phys;
 
 /*
- * Get the LAPIC version
- */
-static inline int lapic_get_version(void)
-{
-	return GET_APIC_VERSION(apic_read(APIC_LVR));
-}
-
-/*
  * Check, if the APIC is integrated or a separate chip
  */
 static inline int lapic_is_integrated(void)
Index: linux-2.6.git/arch/x86/kernel/io_apic.c
===================================================================
--- linux-2.6.git.orig/arch/x86/kernel/io_apic.c	2008-09-24 19:08:14.000000000 +0400
+++ linux-2.6.git/arch/x86/kernel/io_apic.c	2008-09-24 19:19:03.000000000 +0400
@@ -2759,8 +2759,7 @@ static inline void __init check_timer(vo
 
 	local_irq_save(flags);
 
-        ver = apic_read(APIC_LVR);
-        ver = GET_APIC_VERSION(ver);
+	ver = lapic_get_version();
 
 	/*
 	 * get/set the timer IRQ vector:
Index: linux-2.6.git/include/asm-x86/apic.h
===================================================================
--- linux-2.6.git.orig/include/asm-x86/apic.h	2008-09-22 17:42:35.000000000 +0400
+++ linux-2.6.git/include/asm-x86/apic.h	2008-09-24 19:16:58.000000000 +0400
@@ -132,6 +132,12 @@ extern struct apic_ops *apic_ops;
 #define apic_wait_icr_idle (apic_ops->wait_icr_idle)
 #define safe_apic_wait_icr_idle (apic_ops->safe_wait_icr_idle)
 
+/* Get the LAPIC version */
+static inline int lapic_get_version(void)
+{
+	return GET_APIC_VERSION(apic_read(APIC_LVR));
+}
+
 extern int get_physical_broadcast(void);
 
 #ifdef CONFIG_X86_64

-- 

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

* [patch 2/3] x86: apic - simplify lapic_get_maxlvt
       [not found] <20080924164618.588609232@gmail.com>
  2008-09-24 16:46 ` [patch 1/3] x86: apic,io-apic - generalize lapic_get_version helper Cyrill Gorcunov
@ 2008-09-24 16:46 ` Cyrill Gorcunov
  2008-09-24 18:58   ` Hiroshi Shimamoto
  2008-09-24 16:46 ` [patch 3/3] x86: apic - remove dead ifdef from lapic_is_integrated Cyrill Gorcunov
  2 siblings, 1 reply; 7+ messages in thread
From: Cyrill Gorcunov @ 2008-09-24 16:46 UTC (permalink / raw)
  To: mingo, macro, yhlu.kernel; +Cc: linux-kernel, Cyrill Gorcunov

[-- Attachment #1: x86-apic-lapic_get_maxlvt-cleanup --]
[-- Type: text/plain, Size: 879 bytes --]

Lets use lapic_get_version helper and hide
register being read. Also it allow us to
make code a bit tighter.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---

Index: linux-2.6.git/arch/x86/kernel/apic.c
===================================================================
--- linux-2.6.git.orig/arch/x86/kernel/apic.c	2008-09-24 19:17:20.000000000 +0400
+++ linux-2.6.git/arch/x86/kernel/apic.c	2008-09-24 19:33:31.000000000 +0400
@@ -309,14 +309,14 @@ int get_physical_broadcast(void)
  */
 int lapic_get_maxlvt(void)
 {
-	unsigned int v;
+	unsigned int ver;
 
-	v = apic_read(APIC_LVR);
+	ver = lapic_get_version();
 	/*
 	 * - we always have APIC integrated on 64bit mode
 	 * - 82489DXs do not report # of LVT entries
 	 */
-	return APIC_INTEGRATED(GET_APIC_VERSION(v)) ? GET_APIC_MAXLVT(v) : 2;
+	return APIC_INTEGRATED(ver) ? GET_APIC_MAXLVT(ver) : 2;
 }
 
 /*

-- 

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

* [patch 3/3] x86: apic - remove dead ifdef from lapic_is_integrated
       [not found] <20080924164618.588609232@gmail.com>
  2008-09-24 16:46 ` [patch 1/3] x86: apic,io-apic - generalize lapic_get_version helper Cyrill Gorcunov
  2008-09-24 16:46 ` [patch 2/3] x86: apic - simplify lapic_get_maxlvt Cyrill Gorcunov
@ 2008-09-24 16:46 ` Cyrill Gorcunov
  2 siblings, 0 replies; 7+ messages in thread
From: Cyrill Gorcunov @ 2008-09-24 16:46 UTC (permalink / raw)
  To: mingo, macro, yhlu.kernel; +Cc: linux-kernel, Cyrill Gorcunov

[-- Attachment #1: x86-apic-lapic_is_integrated-cleanup --]
[-- Type: text/plain, Size: 638 bytes --]

We already have #ifdef in apicdef.h which depends
on cpu type so no need to re-introduce it.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---

Index: linux-2.6.git/arch/x86/kernel/apic.c
===================================================================
--- linux-2.6.git.orig/arch/x86/kernel/apic.c	2008-09-24 19:33:31.000000000 +0400
+++ linux-2.6.git/arch/x86/kernel/apic.c	2008-09-24 20:25:05.000000000 +0400
@@ -167,11 +167,7 @@ static unsigned long apic_phys;
  */
 static inline int lapic_is_integrated(void)
 {
-#ifdef CONFIG_X86_64
-	return 1;
-#else
 	return APIC_INTEGRATED(lapic_get_version());
-#endif
 }
 
 /*

-- 

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

* Re: [patch 2/3] x86: apic - simplify lapic_get_maxlvt
  2008-09-24 16:46 ` [patch 2/3] x86: apic - simplify lapic_get_maxlvt Cyrill Gorcunov
@ 2008-09-24 18:58   ` Hiroshi Shimamoto
  2008-09-24 19:17     ` Yinghai Lu
                       ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Hiroshi Shimamoto @ 2008-09-24 18:58 UTC (permalink / raw)
  To: Cyrill Gorcunov; +Cc: mingo, macro, yhlu.kernel, linux-kernel

Cyrill Gorcunov wrote:
> Lets use lapic_get_version helper and hide
> register being read. Also it allow us to
> make code a bit tighter.
> 
> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
> ---
> 
> Index: linux-2.6.git/arch/x86/kernel/apic.c
> ===================================================================
> --- linux-2.6.git.orig/arch/x86/kernel/apic.c	2008-09-24 19:17:20.000000000 +0400
> +++ linux-2.6.git/arch/x86/kernel/apic.c	2008-09-24 19:33:31.000000000 +0400
> @@ -309,14 +309,14 @@ int get_physical_broadcast(void)
>   */
>  int lapic_get_maxlvt(void)
>  {
> -	unsigned int v;
> +	unsigned int ver;
>  
> -	v = apic_read(APIC_LVR);
> +	ver = lapic_get_version();
>  	/*
>  	 * - we always have APIC integrated on 64bit mode
>  	 * - 82489DXs do not report # of LVT entries
>  	 */
> -	return APIC_INTEGRATED(GET_APIC_VERSION(v)) ? GET_APIC_MAXLVT(v) : 2;
> +	return APIC_INTEGRATED(ver) ? GET_APIC_MAXLVT(ver) : 2;
                                                      ^^^
Hi, is this correct?
Does ver have the full content of apic_read(APIC_LVR)?

thanks,
Hiroshi Shimamoto

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

* Re: [patch 2/3] x86: apic - simplify lapic_get_maxlvt
  2008-09-24 18:58   ` Hiroshi Shimamoto
@ 2008-09-24 19:17     ` Yinghai Lu
  2008-09-24 19:18     ` Cyrill Gorcunov
  2008-09-24 19:24     ` Cyrill Gorcunov
  2 siblings, 0 replies; 7+ messages in thread
From: Yinghai Lu @ 2008-09-24 19:17 UTC (permalink / raw)
  To: Hiroshi Shimamoto; +Cc: Cyrill Gorcunov, mingo, macro, linux-kernel

On Wed, Sep 24, 2008 at 11:58 AM, Hiroshi Shimamoto
<h-shimamoto@ct.jp.nec.com> wrote:
> Cyrill Gorcunov wrote:
>> Lets use lapic_get_version helper and hide
>> register being read. Also it allow us to
>> make code a bit tighter.
>>
>> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
>> ---
>>
>> Index: linux-2.6.git/arch/x86/kernel/apic.c
>> ===================================================================
>> --- linux-2.6.git.orig/arch/x86/kernel/apic.c 2008-09-24 19:17:20.000000000 +0400
>> +++ linux-2.6.git/arch/x86/kernel/apic.c      2008-09-24 19:33:31.000000000 +0400
>> @@ -309,14 +309,14 @@ int get_physical_broadcast(void)
>>   */
>>  int lapic_get_maxlvt(void)
>>  {
>> -     unsigned int v;
>> +     unsigned int ver;
>>
>> -     v = apic_read(APIC_LVR);
>> +     ver = lapic_get_version();
>>       /*
>>        * - we always have APIC integrated on 64bit mode
>>        * - 82489DXs do not report # of LVT entries
>>        */
>> -     return APIC_INTEGRATED(GET_APIC_VERSION(v)) ? GET_APIC_MAXLVT(v) : 2;
>> +     return APIC_INTEGRATED(ver) ? GET_APIC_MAXLVT(ver) : 2;
>                                                      ^^^
> Hi, is this correct?
> Does ver have the full content of apic_read(APIC_LVR)?


good catch..

YH

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

* Re: [patch 2/3] x86: apic - simplify lapic_get_maxlvt
  2008-09-24 18:58   ` Hiroshi Shimamoto
  2008-09-24 19:17     ` Yinghai Lu
@ 2008-09-24 19:18     ` Cyrill Gorcunov
  2008-09-24 19:24     ` Cyrill Gorcunov
  2 siblings, 0 replies; 7+ messages in thread
From: Cyrill Gorcunov @ 2008-09-24 19:18 UTC (permalink / raw)
  To: Hiroshi Shimamoto; +Cc: mingo, macro, yhlu.kernel, linux-kernel

[Hiroshi Shimamoto - Wed, Sep 24, 2008 at 11:58:12AM -0700]
| Cyrill Gorcunov wrote:
| > Lets use lapic_get_version helper and hide
| > register being read. Also it allow us to
| > make code a bit tighter.
| > 
| > Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| > ---
| > 
| > Index: linux-2.6.git/arch/x86/kernel/apic.c
| > ===================================================================
| > --- linux-2.6.git.orig/arch/x86/kernel/apic.c	2008-09-24 19:17:20.000000000 +0400
| > +++ linux-2.6.git/arch/x86/kernel/apic.c	2008-09-24 19:33:31.000000000 +0400
| > @@ -309,14 +309,14 @@ int get_physical_broadcast(void)
| >   */
| >  int lapic_get_maxlvt(void)
| >  {
| > -	unsigned int v;
| > +	unsigned int ver;
| >  
| > -	v = apic_read(APIC_LVR);
| > +	ver = lapic_get_version();
| >  	/*
| >  	 * - we always have APIC integrated on 64bit mode
| >  	 * - 82489DXs do not report # of LVT entries
| >  	 */
| > -	return APIC_INTEGRATED(GET_APIC_VERSION(v)) ? GET_APIC_MAXLVT(v) : 2;
| > +	return APIC_INTEGRATED(ver) ? GET_APIC_MAXLVT(ver) : 2;
|                                                       ^^^
| Hi, is this correct?
| Does ver have the full content of apic_read(APIC_LVR)?
| 
| thanks,
| Hiroshi Shimamoto
| 

Hi Hiroshi,

damn, it seems I made a mistake again!
Thanks a lot, Hiroshi! Checking now!
Somehow missed this.

		- Cyrill -

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

* Re: [patch 2/3] x86: apic - simplify lapic_get_maxlvt
  2008-09-24 18:58   ` Hiroshi Shimamoto
  2008-09-24 19:17     ` Yinghai Lu
  2008-09-24 19:18     ` Cyrill Gorcunov
@ 2008-09-24 19:24     ` Cyrill Gorcunov
  2 siblings, 0 replies; 7+ messages in thread
From: Cyrill Gorcunov @ 2008-09-24 19:24 UTC (permalink / raw)
  To: Hiroshi Shimamoto; +Cc: mingo, macro, yhlu.kernel, linux-kernel

[Hiroshi Shimamoto - Wed, Sep 24, 2008 at 11:58:12AM -0700]
| Cyrill Gorcunov wrote:
| > Lets use lapic_get_version helper and hide
| > register being read. Also it allow us to
| > make code a bit tighter.
| > 
| > Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| > ---
| > 
| > Index: linux-2.6.git/arch/x86/kernel/apic.c
| > ===================================================================
| > --- linux-2.6.git.orig/arch/x86/kernel/apic.c	2008-09-24 19:17:20.000000000 +0400
| > +++ linux-2.6.git/arch/x86/kernel/apic.c	2008-09-24 19:33:31.000000000 +0400
| > @@ -309,14 +309,14 @@ int get_physical_broadcast(void)
| >   */
| >  int lapic_get_maxlvt(void)
| >  {
| > -	unsigned int v;
| > +	unsigned int ver;
| >  
| > -	v = apic_read(APIC_LVR);
| > +	ver = lapic_get_version();
| >  	/*
| >  	 * - we always have APIC integrated on 64bit mode
| >  	 * - 82489DXs do not report # of LVT entries
| >  	 */
| > -	return APIC_INTEGRATED(GET_APIC_VERSION(v)) ? GET_APIC_MAXLVT(v) : 2;
| > +	return APIC_INTEGRATED(ver) ? GET_APIC_MAXLVT(ver) : 2;
|                                                       ^^^
| Hi, is this correct?
| Does ver have the full content of apic_read(APIC_LVR)?
| 
| thanks,
| Hiroshi Shimamoto
| 

Thanks a lot Hiroshi, I just cutted a half of
register (what a shame) :( Sorry.

Ingo, don't apply this series please!

		- Cyrill -

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

end of thread, other threads:[~2008-09-24 19:24 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20080924164618.588609232@gmail.com>
2008-09-24 16:46 ` [patch 1/3] x86: apic,io-apic - generalize lapic_get_version helper Cyrill Gorcunov
2008-09-24 16:46 ` [patch 2/3] x86: apic - simplify lapic_get_maxlvt Cyrill Gorcunov
2008-09-24 18:58   ` Hiroshi Shimamoto
2008-09-24 19:17     ` Yinghai Lu
2008-09-24 19:18     ` Cyrill Gorcunov
2008-09-24 19:24     ` Cyrill Gorcunov
2008-09-24 16:46 ` [patch 3/3] x86: apic - remove dead ifdef from lapic_is_integrated Cyrill Gorcunov

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