Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e4291e0 authored by Ben Widawsky's avatar Ben Widawsky Committed by Daniel Vetter
Browse files

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: default avatarBen Widawsky <ben@bwidawsk.net>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent f047e395
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -112,6 +112,9 @@ 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);
		if (IS_HASWELL(dev))
			ret = HSW_CXT_TOTAL_SIZE(reg) * 64;
		else
			ret = GEN7_CXT_TOTAL_SIZE(reg) * 64;
			ret = GEN7_CXT_TOTAL_SIZE(reg) * 64;
		break;
		break;
	default:
	default:
+8 −0
Original line number Original line Diff line number Diff line
@@ -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