[PATCH 4/5] drm/msm/dpu: Initialize supported modifiers
Sean Paul
sean at poorly.run
Wed Dec 12 20:35:47 UTC 2018
On Wed, Dec 12, 2018 at 10:02:26AM -0800, Fritz Koenig wrote:
> 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
> */
Ah cool, that's good enough for me. I'll pick these into dpu-staging.
Sean
>
> > 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
--
Sean Paul, Software Engineer, Google / Chromium OS
More information about the dri-devel
mailing list