Pull altix-mmr into release branch
This commit is contained in:
@@ -35,6 +35,15 @@ extern void sn_dma_flush(unsigned long);
|
||||
#define __sn_readl_relaxed ___sn_readl_relaxed
|
||||
#define __sn_readq_relaxed ___sn_readq_relaxed
|
||||
|
||||
/*
|
||||
* Convenience macros for setting/clearing bits using the above accessors
|
||||
*/
|
||||
|
||||
#define __sn_setq_relaxed(addr, val) \
|
||||
writeq((__sn_readq_relaxed(addr) | (val)), (addr))
|
||||
#define __sn_clrq_relaxed(addr, val) \
|
||||
writeq((__sn_readq_relaxed(addr) & ~(val)), (addr))
|
||||
|
||||
/*
|
||||
* The following routines are SN Platform specific, called when
|
||||
* a reference is made to inX/outX set macros. SN Platform
|
||||
|
||||
@@ -182,11 +182,11 @@ tioca_tlbflush(struct tioca_kernel *tioca_kernel)
|
||||
* touch every CL aligned GART entry.
|
||||
*/
|
||||
|
||||
ca_base->ca_control2 &= ~(CA_GART_MEM_PARAM);
|
||||
ca_base->ca_control2 |= CA_GART_FLUSH_TLB;
|
||||
ca_base->ca_control2 |=
|
||||
(0x2ull << CA_GART_MEM_PARAM_SHFT);
|
||||
tmp = ca_base->ca_control2;
|
||||
__sn_clrq_relaxed(&ca_base->ca_control2, CA_GART_MEM_PARAM);
|
||||
__sn_setq_relaxed(&ca_base->ca_control2, CA_GART_FLUSH_TLB);
|
||||
__sn_setq_relaxed(&ca_base->ca_control2,
|
||||
(0x2ull << CA_GART_MEM_PARAM_SHFT));
|
||||
tmp = __sn_readq_relaxed(&ca_base->ca_control2);
|
||||
}
|
||||
|
||||
return;
|
||||
@@ -196,8 +196,8 @@ tioca_tlbflush(struct tioca_kernel *tioca_kernel)
|
||||
* Gart in uncached mode ... need an explicit flush.
|
||||
*/
|
||||
|
||||
ca_base->ca_control2 |= CA_GART_FLUSH_TLB;
|
||||
tmp = ca_base->ca_control2;
|
||||
__sn_setq_relaxed(&ca_base->ca_control2, CA_GART_FLUSH_TLB);
|
||||
tmp = __sn_readq_relaxed(&ca_base->ca_control2);
|
||||
}
|
||||
|
||||
extern uint32_t tioca_gart_found;
|
||||
|
||||
Reference in New Issue
Block a user