[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] VT-d: use msi_compose_msg()
# HG changeset patch # User Jan Beulich <jbeulich@xxxxxxxx> # Date 1347625208 -7200 # Node ID 7f507c5e3a5c9a514286266837749e65704a4447 # Parent 5e4a00b4114c1c391b3d91d578d7fc2ac47600cb VT-d: use msi_compose_msg() ... instead of open coding it. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Acked-by: Xiantao Zhang <xiantao.zhang@xxxxxxxxx> Acked-by: Keir Fraser <keir@xxxxxxx> --- diff -r 5e4a00b4114c -r 7f507c5e3a5c xen/drivers/passthrough/vtd/iommu.c --- a/xen/drivers/passthrough/vtd/iommu.c Fri Sep 14 14:17:26 2012 +0200 +++ b/xen/drivers/passthrough/vtd/iommu.c Fri Sep 14 14:20:08 2012 +0200 @@ -1074,22 +1074,11 @@ static void dma_msi_set_affinity(struct return; } - memset(&msg, 0, sizeof(msg)); - msg.data = MSI_DATA_VECTOR(desc->arch.vector) & 0xff; - msg.data |= 1 << 14; - msg.data |= (INT_DELIVERY_MODE != dest_LowestPrio) ? - MSI_DATA_DELIVERY_FIXED: - MSI_DATA_DELIVERY_LOWPRI; - - /* Follow MSI setting */ + msi_compose_msg(desc, &msg); + /* Are these overrides really needed? */ if (x2apic_enabled) msg.address_hi = dest & 0xFFFFFF00; - msg.address_lo = (MSI_ADDRESS_HEADER << (MSI_ADDRESS_HEADER_SHIFT + 8)); - msg.address_lo |= INT_DEST_MODE ? MSI_ADDR_DESTMODE_LOGIC: - MSI_ADDR_DESTMODE_PHYS; - msg.address_lo |= (INT_DELIVERY_MODE != dest_LowestPrio) ? - MSI_ADDR_REDIRECTION_CPU: - MSI_ADDR_REDIRECTION_LOWPRI; + msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK; msg.address_lo |= MSI_ADDR_DEST_ID(dest & 0xff); spin_lock_irqsave(&iommu->register_lock, flags); diff -r 5e4a00b4114c -r 7f507c5e3a5c xen/include/asm-x86/msi.h --- a/xen/include/asm-x86/msi.h Fri Sep 14 14:17:26 2012 +0200 +++ b/xen/include/asm-x86/msi.h Fri Sep 14 14:20:08 2012 +0200 @@ -149,18 +149,6 @@ int msi_free_irq(struct msi_desc *entry) /* * MSI Defined Data Structures */ -#define MSI_ADDRESS_HEADER 0xfee -#define MSI_ADDRESS_HEADER_SHIFT 12 -#define MSI_ADDRESS_HEADER_MASK 0xfff000 -#define MSI_ADDRESS_DEST_ID_MASK 0xfff0000f -#define MSI_TARGET_CPU_MASK 0xff -#define MSI_TARGET_CPU_SHIFT 12 -#define MSI_DELIVERY_MODE 0 -#define MSI_LEVEL_MODE 1 /* Edge always assert */ -#define MSI_TRIGGER_MODE 0 /* MSI is edge sensitive */ -#define MSI_PHYSICAL_MODE 0 -#define MSI_LOGICAL_MODE 1 -#define MSI_REDIRECTION_HINT_MODE 0 struct msg_data { #if defined(__LITTLE_ENDIAN_BITFIELD) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |