On Mon, Sep 24, 2018 at 05:19:11PM -0700, Paulo Zanoni wrote: > Function intel_framebuffer_init() checks for the possibilities during > framebuffer creation (addfb ioctl time). It is missing the fact that > the indexed format is not supported with Yf tiling. > > It is worth noticing that skl_plane_format_mod_supported() correctly > handles for the C8/Yf combination, but this function runs during > modeset time, so we only reject the combination later. > > Ville recently proposed a new IGT test that only uses addfb to assert > supported formats, so that IGT was failing. Add the check so we get > green squares right from the start after Ville merges his test. I have two of three (possibly) nicer ways to solve this: https://patchwork.freedesktop.org/series/39700/ https://patchwork.freedesktop.org/series/39383/ https://patchwork.freedesktop.org/series/39813/ Would be nice if someone could figure out a solution (one of those or perhaps some other solution I didn't think of) that enough people are willing to accept. > > Also drive-by fix the missing /* fall through */ in the chunk we > modified by just turning it into a "break;" since IMHO breaks are > easier to read than fall-throughs. > > BSpec: 18565 > Testcase: igt/kms_addfb_basic/expected-formats (not merged yet) > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_display.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index eb25037d7b38..fdff1779f778 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -14473,13 +14473,19 @@ static int intel_framebuffer_init(struct intel_framebuffer *intel_fb, > goto err; > } > /* fall through */ > - case I915_FORMAT_MOD_Y_TILED: > case I915_FORMAT_MOD_Yf_TILED: > + if (mode_cmd->pixel_format == DRM_FORMAT_C8) { > + DRM_DEBUG_KMS("Indexed format does not support Yf tiling\n"); > + goto err; > + } > + /* fall through */ > + case I915_FORMAT_MOD_Y_TILED: > if (INTEL_GEN(dev_priv) < 9) { > DRM_DEBUG_KMS("Unsupported tiling 0x%llx!\n", > mode_cmd->modifier[0]); > goto err; > } > + break; > case DRM_FORMAT_MOD_LINEAR: > case I915_FORMAT_MOD_X_TILED: > break; > -- > 2.14.4 -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx