summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorVille Syrjälä2017-03-07 20:42:08 +0100
committerVille Syrjälä2017-03-08 15:44:03 +0100
commit1b500535c513ac57fff89e917bda5863739636ad (patch)
tree66084772c722077d13247eb8c5c9961a584583f3 /drivers/gpu/drm/i915/intel_display.c
parentdrm/i915: Move nv12 chroma plane handling into intel_surf_alignment() (diff)
downloadkernel-qcow2-linux-1b500535c513ac57fff89e917bda5863739636ad.tar.gz
kernel-qcow2-linux-1b500535c513ac57fff89e917bda5863739636ad.tar.xz
kernel-qcow2-linux-1b500535c513ac57fff89e917bda5863739636ad.zip
drm/i915: Avoid div-by-zero when computing aux_stride w/o an aux plane
To make life easier let's allow skl_plane_stride() to be called for the AUX surface even when there is no AUX surface. Avoids special cases in the callers. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Imre Deak <imre.deak@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170307194210.13400-4-ville.syrjala@linux.intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index e4474efe84f2..2f60b929acf5 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3218,7 +3218,12 @@ static void skl_detach_scalers(struct intel_crtc *intel_crtc)
u32 skl_plane_stride(const struct drm_framebuffer *fb, int plane,
unsigned int rotation)
{
- u32 stride = intel_fb_pitch(fb, plane, rotation);
+ u32 stride;
+
+ if (plane >= fb->format->num_planes)
+ return 0;
+
+ stride = intel_fb_pitch(fb, plane, rotation);
/*
* The stride is either expressed as a multiple of 64 bytes chunks for