On Tue, Jul 14, 2015 at 06:08:06PM +0530, Kumar, Mahesh wrote: > GEN >= 9 supports YUV format for all planes, but it's not exported in > Capability list of primary plane. Add YUV formats in skl_primary_formats > list. > Don't rely on fb->bits_per_pixel as intel_framebuffer_init is not > filling bits_per_pixel field of fb-struct for YUV pixel format. > This leads to divide by zero error during watermark calculation. > > Signed-off-by: Kumar, Mahesh <mahesh1.kumar@xxxxxxxxx> > Cc: Konduru, Chandra <chandra.konduru@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_display.c | 4 ++++ > drivers/gpu/drm/i915/intel_pm.c | 4 ++-- > 2 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index bb58cb6..f4b27af 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -72,6 +72,10 @@ static const uint32_t skl_primary_formats[] = { > DRM_FORMAT_ABGR8888, > DRM_FORMAT_XRGB2101010, > DRM_FORMAT_XBGR2101010, > + DRM_FORMAT_YUYV, > + DRM_FORMAT_YVYU, > + DRM_FORMAT_UYVY, > + DRM_FORMAT_VYUY, Needs testcase (or reworking an existing testcase to also test the primary plane). Also we should really aim to unify all the skl plane functions ... -Daniel > }; > > /* Cursor formats */ > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index f2be1ce..1d13b7e 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -3156,8 +3156,8 @@ static void skl_compute_wm_pipe_parameters(struct drm_crtc *crtc, > /* For planar: Bpp is for uv plane, y_Bpp is for y plane */ > if (fb) { > p->plane[0].enabled = true; > - p->plane[0].bytes_per_pixel = fb->pixel_format == DRM_FORMAT_NV12 ? > - drm_format_plane_cpp(fb->pixel_format, 1) : fb->bits_per_pixel / 8; > + p->plane[0].bytes_per_pixel = > + drm_format_plane_cpp(fb->pixel_format, 1); > p->plane[0].y_bytes_per_pixel = fb->pixel_format == DRM_FORMAT_NV12 ? > drm_format_plane_cpp(fb->pixel_format, 0) : 0; > p->plane[0].tiling = fb->modifier[0]; > -- > 1.9.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx