diff mbox

[01/02] ia64: Move the macro definitions related to MSI to one header file.

Message ID 706158FABBBA044BAD4FE898A02E4BC2241A31DA@pdsmsx503.ccr.corp.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Zhang, Xiantao Feb. 16, 2009, 7:46 a.m. UTC
Hi, Tony
   For supporting kvm's MSI, we have to move some macros from ia64_msi.c out to avoide duplicate them. In addition, to keep them consistent with x86's , I also changed some macros' name.  How do you think of the patch ?  If you agree to the changes, could you add your Sign-off-by to the patch, and Avi may check-in it to kvm.git first to fix an emergent build issue for kvm/ia64.   Thanks!
Xiantao


From 73f06500b94b8d3111186548d81e999ad019d205 Mon Sep 17 00:00:00 2001
From: Xiantao Zhang <xiantao.zhang@intel.com>
Date: Mon, 16 Feb 2009 15:14:48 +0800
Subject: [PATCH] ia64: Move the macro definitions related to MSI to one header file.

For kvm's MSI support, it needs these macros defined in ia64_msi.c, and
to avoid duplicate them, move them to one header file and share with
kvm.

Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
---
 arch/ia64/include/asm/msidef.h |   42 ++++++++++++++++++++++++++++++
 arch/ia64/kernel/msi_ia64.c    |   55 ++++++---------------------------------
 2 files changed, 51 insertions(+), 46 deletions(-)
 create mode 100644 arch/ia64/include/asm/msidef.h

Comments

Luck, Tony Feb. 17, 2009, 6:04 p.m. UTC | #1
> For supporting kvm's MSI, we have to move some macros
> from ia64_msi.c out to avoide duplicate them. In addition,
> to keep them consistent with x86's , I also changed some
> macros' name.  How do you think of the patch ?  If you
> agree to the changes, could you add your Sign-off-by to
> the patch, and Avi may check-in it to kvm.git first to
> fix an emergent build issue for kvm/ia64.   Thanks!

Looks OK to me (I didn't test it, or even build it ... so I hope you did!).

Acked-by: Tony Luck <tony.luck@intel.com>
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Zhang, Xiantao Feb. 18, 2009, 2:17 a.m. UTC | #2
Thanks, Tony! It should not break anything due to no changes about code logic. :)

Avi, 
	Could you help to commit the patches with Tony's Ack ? Thanks!
Xiantao


Luck, Tony wrote:
>> For supporting kvm's MSI, we have to move some macros
>> from ia64_msi.c out to avoide duplicate them. In addition,
>> to keep them consistent with x86's , I also changed some
>> macros' name.  How do you think of the patch ?  If you
>> agree to the changes, could you add your Sign-off-by to
>> the patch, and Avi may check-in it to kvm.git first to
>> fix an emergent build issue for kvm/ia64.   Thanks!
> 
> Looks OK to me (I didn't test it, or even build it ... so I hope you
> did!). 
> 
> Acked-by: Tony Luck <tony.luck@intel.com>

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Marcelo Tosatti Feb. 18, 2009, 11:02 p.m. UTC | #3
Looks good, should go through Tony's tree I believe.

On Wed, Feb 18, 2009 at 10:17:56AM +0800, Zhang, Xiantao wrote:
> Thanks, Tony! It should not break anything due to no changes about code logic. :)
> 
> Avi, 
> 	Could you help to commit the patches with Tony's Ack ? Thanks!
> Xiantao
> 
> 
> Luck, Tony wrote:
> >> For supporting kvm's MSI, we have to move some macros
> >> from ia64_msi.c out to avoide duplicate them. In addition,
> >> to keep them consistent with x86's , I also changed some
> >> macros' name.  How do you think of the patch ?  If you
> >> agree to the changes, could you add your Sign-off-by to
> >> the patch, and Avi may check-in it to kvm.git first to
> >> fix an emergent build issue for kvm/ia64.   Thanks!
> > 
> > Looks OK to me (I didn't test it, or even build it ... so I hope you
> > did!). 
> > 
> > Acked-by: Tony Luck <tony.luck@intel.com>
> 
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Zhang, Xiantao Feb. 19, 2009, 1:17 a.m. UTC | #4
Agree, it should go to Tony's Tree in theory, but we have to push it into Avi's tree first to fix an build issue.  So please help to commit the patch to kvm.git with Tony's Ack, Thanks!
Xiantao

-----Original Message-----
From: Marcelo Tosatti [mailto:mtosatti@redhat.com] 
Sent: Thursday, February 19, 2009 7:03 AM
To: Zhang, Xiantao
Cc: Luck, Tony; linux-ia64@vger.kernel.org; Avi Kivity; kvm@vger.kernel.org; kvm-ia64@vger.kernel.org
Subject: Re: [PATCH 01/02] ia64: Move the macro definitions related to MSI to one header file.


Looks good, should go through Tony's tree I believe.

On Wed, Feb 18, 2009 at 10:17:56AM +0800, Zhang, Xiantao wrote:
> Thanks, Tony! It should not break anything due to no changes about code logic. :)
> 
> Avi, 
> 	Could you help to commit the patches with Tony's Ack ? Thanks!
> Xiantao
> 
> 
> Luck, Tony wrote:
> >> For supporting kvm's MSI, we have to move some macros
> >> from ia64_msi.c out to avoide duplicate them. In addition,
> >> to keep them consistent with x86's , I also changed some
> >> macros' name.  How do you think of the patch ?  If you
> >> agree to the changes, could you add your Sign-off-by to
> >> the patch, and Avi may check-in it to kvm.git first to
> >> fix an emergent build issue for kvm/ia64.   Thanks!
> > 
> > Looks OK to me (I didn't test it, or even build it ... so I hope you
> > did!). 
> > 
> > Acked-by: Tony Luck <tony.luck@intel.com>
> 
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Avi Kivity Feb. 24, 2009, 10:11 a.m. UTC | #5
Zhang, Xiantao wrote:
> Agree, it should go to Tony's Tree in theory, but we have to push it into Avi's tree first to fix an build issue.  So please help to commit the patch to kvm.git with Tony's Ack, Thanks!
>   

Applied both patches, thanks.
diff mbox

Patch

diff --git a/arch/ia64/include/asm/msidef.h b/arch/ia64/include/asm/msidef.h
new file mode 100644
index 0000000..b71b211
--- /dev/null
+++ b/arch/ia64/include/asm/msidef.h
@@ -0,0 +1,42 @@ 
+#ifndef _IA64_MSI_DEF_H
+#define _IA64_MSI_DEF_H
+
+/*
+ * Shifts for APIC-based data
+ */
+
+#define     MSI_DATA_VECTOR_SHIFT	0
+#define	    MSI_DATA_VECTOR(v)		(((u8)v) << MSI_DATA_VECTOR_SHIFT)
+#define     MSI_DATA_VECTOR_MASK	0xffffff00
+
+#define     MSI_DATA_DELIVERY_MODE_SHIFT	8
+#define     MSI_DATA_DELIVERY_FIXED	(0 << MSI_DATA_DELIVERY_MODE_SHIFT)
+#define     MSI_DATA_DELIVERY_LOWPRI	(1 << MSI_DATA_DELIVERY_MODE_SHIFT)
+
+#define     MSI_DATA_LEVEL_SHIFT	14
+#define     MSI_DATA_LEVEL_DEASSERT	(0 << MSI_DATA_LEVEL_SHIFT)
+#define     MSI_DATA_LEVEL_ASSERT	(1 << MSI_DATA_LEVEL_SHIFT)
+
+#define     MSI_DATA_TRIGGER_SHIFT	15
+#define     MSI_DATA_TRIGGER_EDGE	(0 << MSI_DATA_TRIGGER_SHIFT)
+#define     MSI_DATA_TRIGGER_LEVEL	(1 << MSI_DATA_TRIGGER_SHIFT)
+
+/*
+ * Shift/mask fields for APIC-based bus address
+ */
+
+#define     MSI_ADDR_DEST_ID_SHIFT	4
+#define     MSI_ADDR_HEADER		0xfee00000
+
+#define     MSI_ADDR_DEST_ID_MASK	0xfff0000f
+#define     MSI_ADDR_DEST_ID_CPU(cpu)	((cpu) << MSI_ADDR_DEST_ID_SHIFT)
+
+#define     MSI_ADDR_DEST_MODE_SHIFT	2
+#define     MSI_ADDR_DEST_MODE_PHYS	(0 << MSI_ADDR_DEST_MODE_SHIFT)
+#define	    MSI_ADDR_DEST_MODE_LOGIC	(1 << MSI_ADDR_DEST_MODE_SHIFT)
+
+#define     MSI_ADDR_REDIRECTION_SHIFT	3
+#define     MSI_ADDR_REDIRECTION_CPU	(0 << MSI_ADDR_REDIRECTION_SHIFT)
+#define     MSI_ADDR_REDIRECTION_LOWPRI	(1 << MSI_ADDR_REDIRECTION_SHIFT)
+
+#endif/* _IA64_MSI_DEF_H */
diff --git a/arch/ia64/kernel/msi_ia64.c b/arch/ia64/kernel/msi_ia64.c
index 8903393..368ee4e 100644
--- a/arch/ia64/kernel/msi_ia64.c
+++ b/arch/ia64/kernel/msi_ia64.c
@@ -7,44 +7,7 @@ 
 #include <linux/msi.h>
 #include <linux/dmar.h>
 #include <asm/smp.h>
-
-/*
- * Shifts for APIC-based data
- */
-
-#define MSI_DATA_VECTOR_SHIFT		0
-#define	    MSI_DATA_VECTOR(v)		(((u8)v) << MSI_DATA_VECTOR_SHIFT)
-#define MSI_DATA_VECTOR_MASK		0xffffff00
-
-#define MSI_DATA_DELIVERY_SHIFT		8
-#define     MSI_DATA_DELIVERY_FIXED	(0 << MSI_DATA_DELIVERY_SHIFT)
-#define     MSI_DATA_DELIVERY_LOWPRI	(1 << MSI_DATA_DELIVERY_SHIFT)
-
-#define MSI_DATA_LEVEL_SHIFT		14
-#define     MSI_DATA_LEVEL_DEASSERT	(0 << MSI_DATA_LEVEL_SHIFT)
-#define     MSI_DATA_LEVEL_ASSERT	(1 << MSI_DATA_LEVEL_SHIFT)
-
-#define MSI_DATA_TRIGGER_SHIFT		15
-#define     MSI_DATA_TRIGGER_EDGE	(0 << MSI_DATA_TRIGGER_SHIFT)
-#define     MSI_DATA_TRIGGER_LEVEL	(1 << MSI_DATA_TRIGGER_SHIFT)
-
-/*
- * Shift/mask fields for APIC-based bus address
- */
-
-#define MSI_TARGET_CPU_SHIFT		4
-#define MSI_ADDR_HEADER			0xfee00000
-
-#define MSI_ADDR_DESTID_MASK		0xfff0000f
-#define     MSI_ADDR_DESTID_CPU(cpu)	((cpu) << MSI_TARGET_CPU_SHIFT)
-
-#define MSI_ADDR_DESTMODE_SHIFT		2
-#define     MSI_ADDR_DESTMODE_PHYS	(0 << MSI_ADDR_DESTMODE_SHIFT)
-#define	    MSI_ADDR_DESTMODE_LOGIC	(1 << MSI_ADDR_DESTMODE_SHIFT)
-
-#define MSI_ADDR_REDIRECTION_SHIFT	3
-#define     MSI_ADDR_REDIRECTION_CPU	(0 << MSI_ADDR_REDIRECTION_SHIFT)
-#define     MSI_ADDR_REDIRECTION_LOWPRI	(1 << MSI_ADDR_REDIRECTION_SHIFT)
+#include <asm/msidef.h>
 
 static struct irq_chip	ia64_msi_chip;
 
@@ -65,8 +28,8 @@  static void ia64_set_msi_irq_affinity(unsigned int irq,
 	read_msi_msg(irq, &msg);
 
 	addr = msg.address_lo;
-	addr &= MSI_ADDR_DESTID_MASK;
-	addr |= MSI_ADDR_DESTID_CPU(cpu_physical_id(cpu));
+	addr &= MSI_ADDR_DEST_ID_MASK;
+	addr |= MSI_ADDR_DEST_ID_CPU(cpu_physical_id(cpu));
 	msg.address_lo = addr;
 
 	data = msg.data;
@@ -98,9 +61,9 @@  int ia64_setup_msi_irq(struct pci_dev *pdev, struct msi_desc *desc)
 	msg.address_hi = 0;
 	msg.address_lo =
 		MSI_ADDR_HEADER |
-		MSI_ADDR_DESTMODE_PHYS |
+		MSI_ADDR_DEST_MODE_PHYS |
 		MSI_ADDR_REDIRECTION_CPU |
-		MSI_ADDR_DESTID_CPU(dest_phys_id);
+		MSI_ADDR_DEST_ID_CPU(dest_phys_id);
 
 	msg.data =
 		MSI_DATA_TRIGGER_EDGE |
@@ -183,8 +146,8 @@  static void dmar_msi_set_affinity(unsigned int irq, const struct cpumask *mask)
 
 	msg.data &= ~MSI_DATA_VECTOR_MASK;
 	msg.data |= MSI_DATA_VECTOR(cfg->vector);
-	msg.address_lo &= ~MSI_ADDR_DESTID_MASK;
-	msg.address_lo |= MSI_ADDR_DESTID_CPU(cpu_physical_id(cpu));
+	msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
+	msg.address_lo |= MSI_ADDR_DEST_ID_CPU(cpu_physical_id(cpu));
 
 	dmar_msi_write(irq, &msg);
 	irq_desc[irq].affinity = *mask;
@@ -215,9 +178,9 @@  msi_compose_msg(struct pci_dev *pdev, unsigned int irq, struct msi_msg *msg)
 	msg->address_hi = 0;
 	msg->address_lo =
 		MSI_ADDR_HEADER |
-		MSI_ADDR_DESTMODE_PHYS |
+		MSI_ADDR_DEST_MODE_PHYS |
 		MSI_ADDR_REDIRECTION_CPU |
-		MSI_ADDR_DESTID_CPU(dest);
+		MSI_ADDR_DEST_ID_CPU(dest);
 
 	msg->data =
 		MSI_DATA_TRIGGER_EDGE |