[PATCH 4/5] drm/msm/dpu: Initialize supported modifiers

Fritz Koenig frkoenig at google.com
Wed Dec 12 18:02:26 UTC 2018


On Wed, Dec 12, 2018 at 8:12 AM Sean Paul <sean at poorly.run> wrote:
>
> On Tue, Dec 11, 2018 at 10:42:23AM -0800, Fritz Koenig wrote:
> > Pass list of supported modifiers to plane init.
> >
> > Signed-off-by: Fritz Koenig <frkoenig at google.com>
> > ---
> >  drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
> > index 9381c8af76d7..d2d4720f6f8c 100644
> > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
> > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
> > @@ -119,6 +119,12 @@ struct dpu_plane {
> >       bool debugfs_default_scale;
> >  };
> >
> > +static const uint64_t supported_format_modifiers[] = {
> > +     DRM_FORMAT_MOD_QCOM_COMPRESSED,
>
> Did you confirm that all the planes support this?
>

I have not confirmed that all planes support this.  My testing has
been mostly with null_platform_test.  There are a few comments on in
the code that seem to indicate to me that the same modifier must be
used on all planes.

from dpu_formats.c
/*
* Currently only support exactly zero or one modifier.
* All planes use the same modifier.
*/

from dpu_hw_catalog.h
/**
 * struct dpu_format_extended - define dpu specific pixel format+modifier
 * @fourcc_format: Base FOURCC pixel format code
 * @modifier: 64-bit drm format modifier, same modifier must be applied to all
 *            framebuffer planes
 */

> Change is
>
> Reviewed-by: Sean Paul <sean at poorly.run>
>
>
> > +     DRM_FORMAT_MOD_LINEAR,
> > +     DRM_FORMAT_MOD_INVALID
> > +};
> > +
> >  #define to_dpu_plane(x) container_of(x, struct dpu_plane, base)
> >
> >  static struct dpu_kms *_dpu_plane_get_kms(struct drm_plane *plane)
> > @@ -1521,7 +1527,7 @@ struct drm_plane *dpu_plane_init(struct drm_device *dev,
> >
> >       ret = drm_universal_plane_init(dev, plane, 0xff, &dpu_plane_funcs,
> >                               format_list, num_formats,
> > -                             NULL, type, NULL);
> > +                             supported_format_modifiers, type, NULL);
> >       if (ret)
> >               goto clean_sspp;
> >
> > --
> > 2.20.0.rc2.403.gdbc3b29805-goog
> >
>
> --
> Sean Paul, Software Engineer, Google / Chromium OS


More information about the dri-devel mailing list