[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] Decouple SandyBridge quirk from VTd timeout
Currently the quirk code for SandyBridge uses the VTd timeout value when writing to an IGD register. Since the IGD is not part of the VTd engine this is the wrong timeout value to use. Change this code to use a timeout value that is unique to the quirk code. Signed-off-by: Don Dugger <donald.d.dugger@xxxxxxxxx> Reviewed-by: Allen Kay <allen.m.kay@xxxxxxxxx> Reviewed-by: Eddie Dong <eddie.dong@xxxxxxxxx> Reviewed-by: Will Auld <will.auld@xxxxxxxxx> -- diff -r cf06cdd94296 xen/drivers/passthrough/vtd/quirks.c --- a/xen/drivers/passthrough/vtd/quirks.c Mon Sep 22 17:02:48 2014 +0100 +++ b/xen/drivers/passthrough/vtd/quirks.c Mon Oct 06 17:55:54 2014 -0600 @@ -50,6 +50,8 @@ #define IS_ILK(id) (id == 0x00408086 || id == 0x00448086 || id== 0x00628086 || id == 0x006A8086) #define IS_CPT(id) (id == 0x01008086 || id == 0x01048086) +#define SNB_IGD_TIMEOUT MILLISECS(1000) + static u32 __read_mostly ioh_id; static u32 __initdata igd_id; bool_t __read_mostly rwbf_quirk; @@ -177,7 +179,7 @@ start_time = NOW(); while ( (*(volatile u32 *)(igd_reg_va + 0x22AC) & 0xF) != 0 ) { - if ( NOW() > start_time + DMAR_OPERATION_TIMEOUT ) + if ( NOW() > start_time + SNB_IGD_TIMEOUT ) { dprintk(XENLOG_INFO VTDPREFIX, "snb_vtd_ops_preamble: failed to disable idle handshake\n"); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |