2020-03-23 14:53:55

by Guido Günther

[permalink] [raw]
Subject: [PATCH] drm/mxsfb: Make supported modifiers explicit

In contrast to other display controllers on imx like DCSS and ipuv3
lcdif/mxsfb does not support detiling e.g. vivante tiled layouts.
Since mesa might assume otherwise make it explicit that only
DRM_FORMAT_MOD_LINEAR is supported.

Signed-off-by: Guido Günther <[email protected]>
---
drivers/gpu/drm/mxsfb/mxsfb_drv.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
index 762379530928..fc71e7a7a02e 100644
--- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c
+++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
@@ -73,6 +73,11 @@ static const uint32_t mxsfb_formats[] = {
DRM_FORMAT_RGB565
};

+static const uint64_t mxsfb_modifiers[] = {
+ DRM_FORMAT_MOD_LINEAR,
+ DRM_FORMAT_MOD_INVALID
+};
+
static struct mxsfb_drm_private *
drm_pipe_to_mxsfb_drm_private(struct drm_simple_display_pipe *pipe)
{
@@ -334,8 +339,8 @@ static int mxsfb_load(struct drm_device *drm, unsigned long flags)
}

ret = drm_simple_display_pipe_init(drm, &mxsfb->pipe, &mxsfb_funcs,
- mxsfb_formats, ARRAY_SIZE(mxsfb_formats), NULL,
- mxsfb->connector);
+ mxsfb_formats, ARRAY_SIZE(mxsfb_formats),
+ mxsfb_modifiers, mxsfb->connector);
if (ret < 0) {
dev_err(drm->dev, "Cannot setup simple display pipe\n");
goto err_vblank;
--
2.23.0


2020-03-23 15:51:48

by Lucas Stach

[permalink] [raw]
Subject: Re: [PATCH] drm/mxsfb: Make supported modifiers explicit

Am Montag, den 23.03.2020, 15:52 +0100 schrieb Guido Günther:
> In contrast to other display controllers on imx like DCSS and ipuv3
> lcdif/mxsfb does not support detiling e.g. vivante tiled layouts.
> Since mesa might assume otherwise make it explicit that only
> DRM_FORMAT_MOD_LINEAR is supported.
>
> Signed-off-by: Guido Günther <[email protected]>

Reviewed-by: Lucas Stach <[email protected]>

> ---
> drivers/gpu/drm/mxsfb/mxsfb_drv.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> index 762379530928..fc71e7a7a02e 100644
> --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> @@ -73,6 +73,11 @@ static const uint32_t mxsfb_formats[] = {
> DRM_FORMAT_RGB565
> };
>
> +static const uint64_t mxsfb_modifiers[] = {
> + DRM_FORMAT_MOD_LINEAR,
> + DRM_FORMAT_MOD_INVALID
> +};
> +
> static struct mxsfb_drm_private *
> drm_pipe_to_mxsfb_drm_private(struct drm_simple_display_pipe *pipe)
> {
> @@ -334,8 +339,8 @@ static int mxsfb_load(struct drm_device *drm, unsigned long flags)
> }
>
> ret = drm_simple_display_pipe_init(drm, &mxsfb->pipe, &mxsfb_funcs,
> - mxsfb_formats, ARRAY_SIZE(mxsfb_formats), NULL,
> - mxsfb->connector);
> + mxsfb_formats, ARRAY_SIZE(mxsfb_formats),
> + mxsfb_modifiers, mxsfb->connector);
> if (ret < 0) {
> dev_err(drm->dev, "Cannot setup simple display pipe\n");
> goto err_vblank;

2020-07-18 17:36:06

by Guido Günther

[permalink] [raw]
Subject: Re: [PATCH] drm/mxsfb: Make supported modifiers explicit

Hi,
On Mon, Mar 23, 2020 at 04:51:05PM +0100, Lucas Stach wrote:
> Am Montag, den 23.03.2020, 15:52 +0100 schrieb Guido G?nther:
> > In contrast to other display controllers on imx like DCSS and ipuv3
> > lcdif/mxsfb does not support detiling e.g. vivante tiled layouts.
> > Since mesa might assume otherwise make it explicit that only
> > DRM_FORMAT_MOD_LINEAR is supported.
> >
> > Signed-off-by: Guido G?nther <[email protected]>
>
> Reviewed-by: Lucas Stach <[email protected]>

Can i do anything to get this applied?
Cheers,
-- Guido

>
> > ---
> > drivers/gpu/drm/mxsfb/mxsfb_drv.c | 9 +++++++--
> > 1 file changed, 7 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> > index 762379530928..fc71e7a7a02e 100644
> > --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> > +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> > @@ -73,6 +73,11 @@ static const uint32_t mxsfb_formats[] = {
> > DRM_FORMAT_RGB565
> > };
> >
> > +static const uint64_t mxsfb_modifiers[] = {
> > + DRM_FORMAT_MOD_LINEAR,
> > + DRM_FORMAT_MOD_INVALID
> > +};
> > +
> > static struct mxsfb_drm_private *
> > drm_pipe_to_mxsfb_drm_private(struct drm_simple_display_pipe *pipe)
> > {
> > @@ -334,8 +339,8 @@ static int mxsfb_load(struct drm_device *drm, unsigned long flags)
> > }
> >
> > ret = drm_simple_display_pipe_init(drm, &mxsfb->pipe, &mxsfb_funcs,
> > - mxsfb_formats, ARRAY_SIZE(mxsfb_formats), NULL,
> > - mxsfb->connector);
> > + mxsfb_formats, ARRAY_SIZE(mxsfb_formats),
> > + mxsfb_modifiers, mxsfb->connector);
> > if (ret < 0) {
> > dev_err(drm->dev, "Cannot setup simple display pipe\n");
> > goto err_vblank;
>

2020-07-20 07:32:53

by Daniel Vetter

[permalink] [raw]
Subject: Re: [PATCH] drm/mxsfb: Make supported modifiers explicit

On Sat, Jul 18, 2020 at 07:14:07PM +0200, Guido G?nther wrote:
> Hi,
> On Mon, Mar 23, 2020 at 04:51:05PM +0100, Lucas Stach wrote:
> > Am Montag, den 23.03.2020, 15:52 +0100 schrieb Guido G?nther:
> > > In contrast to other display controllers on imx like DCSS and ipuv3
> > > lcdif/mxsfb does not support detiling e.g. vivante tiled layouts.
> > > Since mesa might assume otherwise make it explicit that only
> > > DRM_FORMAT_MOD_LINEAR is supported.
> > >
> > > Signed-off-by: Guido G?nther <[email protected]>
> >
> > Reviewed-by: Lucas Stach <[email protected]>
>
> Can i do anything to get this applied?
> Cheers,

Lucas has drm-misc commit rights, I expect him to push.
-Daniel

> -- Guido
>
> >
> > > ---
> > > drivers/gpu/drm/mxsfb/mxsfb_drv.c | 9 +++++++--
> > > 1 file changed, 7 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> > > index 762379530928..fc71e7a7a02e 100644
> > > --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> > > +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> > > @@ -73,6 +73,11 @@ static const uint32_t mxsfb_formats[] = {
> > > DRM_FORMAT_RGB565
> > > };
> > >
> > > +static const uint64_t mxsfb_modifiers[] = {
> > > + DRM_FORMAT_MOD_LINEAR,
> > > + DRM_FORMAT_MOD_INVALID
> > > +};
> > > +
> > > static struct mxsfb_drm_private *
> > > drm_pipe_to_mxsfb_drm_private(struct drm_simple_display_pipe *pipe)
> > > {
> > > @@ -334,8 +339,8 @@ static int mxsfb_load(struct drm_device *drm, unsigned long flags)
> > > }
> > >
> > > ret = drm_simple_display_pipe_init(drm, &mxsfb->pipe, &mxsfb_funcs,
> > > - mxsfb_formats, ARRAY_SIZE(mxsfb_formats), NULL,
> > > - mxsfb->connector);
> > > + mxsfb_formats, ARRAY_SIZE(mxsfb_formats),
> > > + mxsfb_modifiers, mxsfb->connector);
> > > if (ret < 0) {
> > > dev_err(drm->dev, "Cannot setup simple display pipe\n");
> > > goto err_vblank;
> >

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

2020-07-20 09:03:59

by Stefan Agner

[permalink] [raw]
Subject: Re: [PATCH] drm/mxsfb: Make supported modifiers explicit

On 2020-07-18 19:14, Guido Günther wrote:
> Hi,
> On Mon, Mar 23, 2020 at 04:51:05PM +0100, Lucas Stach wrote:
>> Am Montag, den 23.03.2020, 15:52 +0100 schrieb Guido Günther:
>> > In contrast to other display controllers on imx like DCSS and ipuv3
>> > lcdif/mxsfb does not support detiling e.g. vivante tiled layouts.
>> > Since mesa might assume otherwise make it explicit that only
>> > DRM_FORMAT_MOD_LINEAR is supported.
>> >
>> > Signed-off-by: Guido Günther <[email protected]>
>>
>> Reviewed-by: Lucas Stach <[email protected]>
>
> Can i do anything to get this applied?
> Cheers,
> -- Guido

Sorry about the delay, I was thinking to apply it with another patchset
which is not ready though.

Pushed this patch to drm-misc-next just now.

--
Stefan

>
>>
>> > ---
>> > drivers/gpu/drm/mxsfb/mxsfb_drv.c | 9 +++++++--
>> > 1 file changed, 7 insertions(+), 2 deletions(-)
>> >
>> > diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
>> > index 762379530928..fc71e7a7a02e 100644
>> > --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c
>> > +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
>> > @@ -73,6 +73,11 @@ static const uint32_t mxsfb_formats[] = {
>> > DRM_FORMAT_RGB565
>> > };
>> >
>> > +static const uint64_t mxsfb_modifiers[] = {
>> > + DRM_FORMAT_MOD_LINEAR,
>> > + DRM_FORMAT_MOD_INVALID
>> > +};
>> > +
>> > static struct mxsfb_drm_private *
>> > drm_pipe_to_mxsfb_drm_private(struct drm_simple_display_pipe *pipe)
>> > {
>> > @@ -334,8 +339,8 @@ static int mxsfb_load(struct drm_device *drm, unsigned long flags)
>> > }
>> >
>> > ret = drm_simple_display_pipe_init(drm, &mxsfb->pipe, &mxsfb_funcs,
>> > - mxsfb_formats, ARRAY_SIZE(mxsfb_formats), NULL,
>> > - mxsfb->connector);
>> > + mxsfb_formats, ARRAY_SIZE(mxsfb_formats),
>> > + mxsfb_modifiers, mxsfb->connector);
>> > if (ret < 0) {
>> > dev_err(drm->dev, "Cannot setup simple display pipe\n");
>> > goto err_vblank;
>>

2020-07-20 10:07:12

by Guido Günther

[permalink] [raw]
Subject: Re: [PATCH] drm/mxsfb: Make supported modifiers explicit

Hi,
On Mon, Jul 20, 2020 at 11:03:04AM +0200, Stefan Agner wrote:
> On 2020-07-18 19:14, Guido G?nther wrote:
> > Hi,
> > On Mon, Mar 23, 2020 at 04:51:05PM +0100, Lucas Stach wrote:
> >> Am Montag, den 23.03.2020, 15:52 +0100 schrieb Guido G?nther:
> >> > In contrast to other display controllers on imx like DCSS and ipuv3
> >> > lcdif/mxsfb does not support detiling e.g. vivante tiled layouts.
> >> > Since mesa might assume otherwise make it explicit that only
> >> > DRM_FORMAT_MOD_LINEAR is supported.
> >> >
> >> > Signed-off-by: Guido G?nther <[email protected]>
> >>
> >> Reviewed-by: Lucas Stach <[email protected]>
> >
> > Can i do anything to get this applied?
> > Cheers,
> > -- Guido
>
> Sorry about the delay, I was thinking to apply it with another patchset
> which is not ready though.
>
> Pushed this patch to drm-misc-next just now.

Thanks!
-- Guido

>
> --
> Stefan
>
> >
> >>
> >> > ---
> >> > drivers/gpu/drm/mxsfb/mxsfb_drv.c | 9 +++++++--
> >> > 1 file changed, 7 insertions(+), 2 deletions(-)
> >> >
> >> > diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> >> > index 762379530928..fc71e7a7a02e 100644
> >> > --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> >> > +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> >> > @@ -73,6 +73,11 @@ static const uint32_t mxsfb_formats[] = {
> >> > DRM_FORMAT_RGB565
> >> > };
> >> >
> >> > +static const uint64_t mxsfb_modifiers[] = {
> >> > + DRM_FORMAT_MOD_LINEAR,
> >> > + DRM_FORMAT_MOD_INVALID
> >> > +};
> >> > +
> >> > static struct mxsfb_drm_private *
> >> > drm_pipe_to_mxsfb_drm_private(struct drm_simple_display_pipe *pipe)
> >> > {
> >> > @@ -334,8 +339,8 @@ static int mxsfb_load(struct drm_device *drm, unsigned long flags)
> >> > }
> >> >
> >> > ret = drm_simple_display_pipe_init(drm, &mxsfb->pipe, &mxsfb_funcs,
> >> > - mxsfb_formats, ARRAY_SIZE(mxsfb_formats), NULL,
> >> > - mxsfb->connector);
> >> > + mxsfb_formats, ARRAY_SIZE(mxsfb_formats),
> >> > + mxsfb_modifiers, mxsfb->connector);
> >> > if (ret < 0) {
> >> > dev_err(drm->dev, "Cannot setup simple display pipe\n");
> >> > goto err_vblank;
> >>
>