public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch 1/2] x86: io-apic - define names for redirection table entry fields
       [not found] <20080607155355.010786004@gmail.com>
@ 2008-06-07 15:53 ` Cyrill Gorcunov
  2008-06-10 10:36   ` Ingo Molnar
  2008-06-07 15:53 ` [patch 2/2] x86: io-apic - use predefined names instead of numeric constants Cyrill Gorcunov
  1 sibling, 1 reply; 4+ messages in thread
From: Cyrill Gorcunov @ 2008-06-07 15:53 UTC (permalink / raw)
  To: macro, mingo, hpa, tglx, linux-kernel; +Cc: Cyrill Gorcunov

[-- Attachment #1: x86-io-apic-defs --]
[-- Type: text/plain, Size: 942 bytes --]

Each I/O APIC redirection table entry has a number of fields.
Define names for them to eliminate reference by hard coded
numbers.

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

Index: linux-2.6.git/include/asm-x86/io_apic.h
====================================================================
--- linux-2.6.git.orig/include/asm-x86/io_apic.h	2008-06-07 17:09:10.000000000 +0400
+++ linux-2.6.git/include/asm-x86/io_apic.h	2008-06-07 17:55:22.000000000 +0400
@@ -11,6 +11,15 @@
  * Copyright (C) 1997, 1998, 1999, 2000 Ingo Molnar
  */
 
+/* I/O Unit Redirection Table */
+#define IO_APIC_REDIR_VECTOR_MASK	0x000FF
+#define IO_APIC_REDIR_DEST_LOGICAL	0x00800
+#define IO_APIC_REDIR_DEST_PHYSICAL	0x00000
+#define IO_APIC_REDIR_SEND_PENDING	(1 << 12)
+#define IO_APIC_REDIR_REMOTE_IRR	(1 << 14)
+#define IO_APIC_REDIR_LEVEL_TRIGGER	(1 << 15)
+#define IO_APIC_REDIR_MASKED		(1 << 16)
+
 /*
  * The structure of the IO-APIC:
  */

-- 

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

* [patch 2/2] x86: io-apic - use predefined names instead of numeric constants
       [not found] <20080607155355.010786004@gmail.com>
  2008-06-07 15:53 ` [patch 1/2] x86: io-apic - define names for redirection table entry fields Cyrill Gorcunov
@ 2008-06-07 15:53 ` Cyrill Gorcunov
  2008-06-10 10:36   ` Ingo Molnar
  1 sibling, 1 reply; 4+ messages in thread
From: Cyrill Gorcunov @ 2008-06-07 15:53 UTC (permalink / raw)
  To: macro, mingo, hpa, tglx, linux-kernel; +Cc: Cyrill Gorcunov

[-- Attachment #1: x86-io-apic-use-defs --]
[-- Type: text/plain, Size: 2875 bytes --]

This patch replaces some hard-coded numbers
with predefined names.

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

The patch was checked to _not_ introduce any finctional
change - compiled text sections remains the same.

Index: linux-2.6.git/arch/x86/kernel/io_apic_64.c
====================================================================
--- linux-2.6.git.orig/arch/x86/kernel/io_apic_64.c	2008-06-07 19:29:26.000000000 +0400
+++ linux-2.6.git/arch/x86/kernel/io_apic_64.c	2008-06-07 19:36:50.000000000 +0400
@@ -183,7 +183,7 @@ static bool io_apic_level_ack_pending(un
 			break;
 		reg = io_apic_read(entry->apic, 0x10 + pin*2);
 		/* Is the remote IRR bit set? */
-		if ((reg >> 14) & 1) {
+		if (reg & IO_APIC_REDIR_REMOTE_IRR) {
 			spin_unlock_irqrestore(&ioapic_lock, flags);
 			return true;
 		}
@@ -298,7 +298,7 @@ static void __target_IO_APIC_irq(unsigne
 			break;
 		io_apic_write(apic, 0x11 + pin*2, dest);
 		reg = io_apic_read(apic, 0x10 + pin*2);
-		reg &= ~0x000000ff;
+		reg &= ~IO_APIC_REDIR_VECTOR_MASK;
 		reg |= vector;
 		io_apic_modify(apic, reg);
 		if (!entry->next)
@@ -366,10 +366,11 @@ static void add_pin_to_irq(unsigned int 
 	static void name##_IO_APIC_irq (unsigned int irq)		\
 	__DO_ACTION(R, ACTION, FINAL)
 
-DO_ACTION( __mask,             0, |= 0x00010000, io_apic_sync(entry->apic) )
-						/* mask = 1 */
-DO_ACTION( __unmask,           0, &= 0xfffeffff, )
-						/* mask = 0 */
+/* mask = 1 */
+DO_ACTION(__mask,	0, |= IO_APIC_REDIR_MASKED, io_apic_sync(entry->apic))
+
+/* mask = 0 */
+DO_ACTION(__unmask,	0, &= ~IO_APIC_REDIR_MASKED, )
 
 static void mask_IO_APIC_irq (unsigned int irq)
 {
Index: linux-2.6.git/arch/x86/kernel/io_apic_32.c
====================================================================
--- linux-2.6.git.orig/arch/x86/kernel/io_apic_32.c	2008-06-07 19:29:26.000000000 +0400
+++ linux-2.6.git/arch/x86/kernel/io_apic_32.c	2008-06-07 19:35:21.000000000 +0400
@@ -261,25 +261,27 @@ static void __modify_IO_APIC_irq (unsign
 /* mask = 1 */
 static void __mask_IO_APIC_irq (unsigned int irq)
 {
-	__modify_IO_APIC_irq(irq, 0x00010000, 0);
+	__modify_IO_APIC_irq(irq, IO_APIC_REDIR_MASKED, 0);
 }
 
 /* mask = 0 */
 static void __unmask_IO_APIC_irq (unsigned int irq)
 {
-	__modify_IO_APIC_irq(irq, 0, 0x00010000);
+	__modify_IO_APIC_irq(irq, 0, IO_APIC_REDIR_MASKED);
 }
 
 /* mask = 1, trigger = 0 */
 static void __mask_and_edge_IO_APIC_irq (unsigned int irq)
 {
-	__modify_IO_APIC_irq(irq, 0x00010000, 0x00008000);
+	__modify_IO_APIC_irq(irq, IO_APIC_REDIR_MASKED,
+				IO_APIC_REDIR_LEVEL_TRIGGER);
 }
 
 /* mask = 0, trigger = 1 */
 static void __unmask_and_level_IO_APIC_irq (unsigned int irq)
 {
-	__modify_IO_APIC_irq(irq, 0x00008000, 0x00010000);
+	__modify_IO_APIC_irq(irq, IO_APIC_REDIR_LEVEL_TRIGGER,
+				IO_APIC_REDIR_MASKED);
 }
 
 static void mask_IO_APIC_irq (unsigned int irq)

-- 

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

* Re: [patch 1/2] x86: io-apic - define names for redirection table entry fields
  2008-06-07 15:53 ` [patch 1/2] x86: io-apic - define names for redirection table entry fields Cyrill Gorcunov
@ 2008-06-10 10:36   ` Ingo Molnar
  0 siblings, 0 replies; 4+ messages in thread
From: Ingo Molnar @ 2008-06-10 10:36 UTC (permalink / raw)
  To: Cyrill Gorcunov; +Cc: macro, mingo, hpa, tglx, linux-kernel


* Cyrill Gorcunov <gorcunov@gmail.com> wrote:

> Each I/O APIC redirection table entry has a number of fields. Define 
> names for them to eliminate reference by hard coded numbers.

applied to tip/x86/apic, thanks Cyrill.

	Ingo

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

* Re: [patch 2/2] x86: io-apic - use predefined names instead of numeric constants
  2008-06-07 15:53 ` [patch 2/2] x86: io-apic - use predefined names instead of numeric constants Cyrill Gorcunov
@ 2008-06-10 10:36   ` Ingo Molnar
  0 siblings, 0 replies; 4+ messages in thread
From: Ingo Molnar @ 2008-06-10 10:36 UTC (permalink / raw)
  To: Cyrill Gorcunov
  Cc: macro, mingo, hpa, tglx, linux-kernel, the arch/x86 maintainers


* Cyrill Gorcunov <gorcunov@gmail.com> wrote:

> This patch replaces some hard-coded numbers with predefined names.

applied to tip/x86/apic, thanks.

	Ingo

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

end of thread, other threads:[~2008-06-10 10:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20080607155355.010786004@gmail.com>
2008-06-07 15:53 ` [patch 1/2] x86: io-apic - define names for redirection table entry fields Cyrill Gorcunov
2008-06-10 10:36   ` Ingo Molnar
2008-06-07 15:53 ` [patch 2/2] x86: io-apic - use predefined names instead of numeric constants Cyrill Gorcunov
2008-06-10 10:36   ` Ingo Molnar

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