CTX_SHIFT
(readl((base) + (reg) + ((ctx) << CTX_SHIFT)))
writel((val), ((base) + (reg) + ((ctx) << CTX_SHIFT)))
GET_FIELD(((b) + (r) + ((c) << CTX_SHIFT)), F##_MASK, F##_SHIFT)
SET_FIELD(((b) + (r) + ((c) << CTX_SHIFT)), F##_MASK, F##_SHIFT, (v))
#define CTX_SIZE (1 << CTX_SHIFT)
#define GET_CID_ADDR(_cid) ((_cid) << CTX_SHIFT)
#define GET_CID(_cid_addr) ((_cid_addr) >> CTX_SHIFT)
#define GET_CID_NUM(cid_addr) ((cid_addr) >> CTX_SHIFT)