If the pixel format is not known to the core helpers, it fills in the fb->bits_per_pixel field as 0. This causes a fatal divide-by-zero OOPS when we then try to calculate the tiled offset. This would not be a problem, but that the core helpers do not know about the YUV planar formats we use for sprites. Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk> --- drivers/gpu/drm/i915/intel_display.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 8986172..de09f47 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -2019,6 +2019,9 @@ unsigned long intel_gen4_compute_offset_xtiled(int *x, int *y, { int tile_rows, tiles; + if (bpp == 0) /* XXX unknown pixel format! */ + return 0; + tile_rows = *y / 8; *y %= 8; tiles = *x / (512/bpp); -- 1.7.10.4