[PATCH 2/5] drm/i915: preserve swizzle settings if necessary v3
Daniel Vetter
daniel at ffwll.ch
Tue Jun 10 12:33:27 PDT 2014
On Tue, Jun 10, 2014 at 7:27 PM, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
> Yes, that's what I do below... I even added it to the changelog:
> http://patchwork.freedesktop.org/patch/27223/
>
> Did you miss the later hunk in intel_display.c?
>
> What we try to do here is enable swizzling if possible, which we can do
> if no inherited fbs are tiled.
>
> So I think I've done exactly what you repeated above, and documented
> it. So you're going to need to repeat it with different words so I can
> understand, if I'm still missing something.
In swizzle_detect:
...
if (GEN6+) {
if (preserve_bios_swizzle) {
if (I915_READ(DISP_ARB_CTL) & DISP_TILE_SURFACE_SWIZZLING) {
swizzle_x = I915_BIT_6_SWIZZLE_9_10;
...
} else {
swizzle_x = I915_BIT_6_SWIZZLE_NONE;
...
}
} else {
/* existing/old logic to decide about swizzling */
}
}
...
Plus no shortcut in i915_gem_init_swizzling. Personally I'd also just use
a small helper function to compute preserve_bios_swizzle instead of
storing it in dev_priv (since we will only use it at exactly one place),
but that's a pure style preference.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the dri-devel
mailing list