VT-d: use msi_compose_msg()

... instead of open coding it.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Xiantao Zhang <xiantao.zhang@intel.com>
Acked-by: Keir Fraser <keir@xen.org>
This commit is contained in:
Jan Beulich committed 2012-09-14 14:20:08 +02:00
1 parent 15aa6c6748
commit 83cd2038fe
2 files changed
+3 -26

No files matched your search

+3 -14
View File
@@ -1074,22 +1074,11 @@ static void dma_msi_set_affinity(struct irq_desc *desc, const cpumask_t *mask)
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);
-12
View File
@@ -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)
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.