mirror of https://gitee.com/openkylin/linux.git
drm/i915: Add contexts for HSW
Basic context support on HSW is no different than previous generations. The size of the context object changes, but that's about it. Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
f047e395dd
commit
2e4291e0bc
|
@ -112,7 +112,10 @@ static int get_context_size(struct drm_device *dev)
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
reg = I915_READ(GEN7_CXT_SIZE);
|
reg = I915_READ(GEN7_CXT_SIZE);
|
||||||
ret = GEN7_CXT_TOTAL_SIZE(reg) * 64;
|
if (IS_HASWELL(dev))
|
||||||
|
ret = HSW_CXT_TOTAL_SIZE(reg) * 64;
|
||||||
|
else
|
||||||
|
ret = GEN7_CXT_TOTAL_SIZE(reg) * 64;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
BUG();
|
BUG();
|
||||||
|
|
|
@ -1498,6 +1498,14 @@
|
||||||
GEN7_CXT_EXTENDED_SIZE(ctx_reg) + \
|
GEN7_CXT_EXTENDED_SIZE(ctx_reg) + \
|
||||||
GEN7_CXT_GT1_SIZE(ctx_reg) + \
|
GEN7_CXT_GT1_SIZE(ctx_reg) + \
|
||||||
GEN7_CXT_VFSTATE_SIZE(ctx_reg))
|
GEN7_CXT_VFSTATE_SIZE(ctx_reg))
|
||||||
|
#define HSW_CXT_POWER_SIZE(ctx_reg) ((ctx_reg >> 26) & 0x3f)
|
||||||
|
#define HSW_CXT_RING_SIZE(ctx_reg) ((ctx_reg >> 23) & 0x7)
|
||||||
|
#define HSW_CXT_RENDER_SIZE(ctx_reg) ((ctx_reg >> 15) & 0xff)
|
||||||
|
#define HSW_CXT_TOTAL_SIZE(ctx_reg) (HSW_CXT_POWER_SIZE(ctx_reg) + \
|
||||||
|
HSW_CXT_RING_SIZE(ctx_reg) + \
|
||||||
|
HSW_CXT_RENDER_SIZE(ctx_reg) + \
|
||||||
|
GEN7_CXT_VFSTATE_SIZE(ctx_reg))
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Overlay regs
|
* Overlay regs
|
||||||
|
|
Loading…
Reference in New Issue