All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Javier Martinez Canillas <javierm@redhat.com>,
	YueHaibing <yuehaibing@huawei.com>,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	Maxime Ripard <maxime@cerno.tech>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	DRI Development <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH -next] drm/solomon: Make DRM_SSD130X depends on MMU
Date: Wed, 13 Apr 2022 09:57:57 +0200	[thread overview]
Message-ID: <YlaChZAd66pNPMEF@phenom.ffwll.local> (raw)
In-Reply-To: <CAMuHMdVYtV9KHYqjcXS05XM+QqbCgPKB_uZCCAN0eAqHUmoeTg@mail.gmail.com>

On Mon, Apr 11, 2022 at 03:49:38PM +0200, Geert Uytterhoeven wrote:
> Hi Javier,
> 
> On Tue, Mar 15, 2022 at 12:28 PM Javier Martinez Canillas
> <javierm@redhat.com> wrote:
> > On 3/12/22 07:34, YueHaibing wrote:
> > > WARNING: unmet direct dependencies detected for DRM_GEM_SHMEM_HELPER
> > >   Depends on [n]: HAS_IOMEM [=y] && DRM [=m] && MMU [=n]
> > >   Selected by [m]:
> > >   - DRM_SSD130X [=m] && HAS_IOMEM [=y] && DRM [=m]
> > >
> > > DRM_GEM_SHMEM_HELPER depends on MMU, DRM_SSD130X should also depends on MMU.
> > >
> > > Fixes: a61732e80867 ("drm: Add driver for Solomon SSD130x OLED displays")
> > > Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> > > ---
> >
> > Indeed. All the DRM drivers that select DRM_GEM_SHMEM_HELPER depend on MMU.
> 
> That's very unfortunate. Is there no way around this?
> 
> Else fbdev can never be deprecated in favor of DRM.

I guess we could transparently replace shmem helpers by cma helpers on
!MMU platforms - like if you have CONFIG_MMU you get the current shmem
helpers, but if you don't have that, we do a dummy shmem helper
implementation which uses cma helpers internally. The problem is that the
interfaces have co-evolved and aren't a perfect match, so some surgery is
probably required. Also we embed the structs into driver buffer object
sturcts generally, and I'm not sure how to best solve that.

Maybe the simplest approach would be to add a pointer to cma_gem_object to
shmem_gem_object for the !MMU case and do a bit of forwarding as
necessary.

It might also be possible to wire through !MMU mmap support for shmem, but
I'm not sure how well that will work in practice since that path would go
to page_alloc and not through CMA (or maybe I'm just wrong about how mmap
works on !MMU, definitely not my area of expertise).

Anyway should be fixable.
-Daniel

> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds

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

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel@ffwll.ch>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: David Airlie <airlied@linux.ie>,
	YueHaibing <yuehaibing@huawei.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	DRI Development <dri-devel@lists.freedesktop.org>,
	Javier Martinez Canillas <javierm@redhat.com>,
	Maxime Ripard <maxime@cerno.tech>
Subject: Re: [PATCH -next] drm/solomon: Make DRM_SSD130X depends on MMU
Date: Wed, 13 Apr 2022 09:57:57 +0200	[thread overview]
Message-ID: <YlaChZAd66pNPMEF@phenom.ffwll.local> (raw)
In-Reply-To: <CAMuHMdVYtV9KHYqjcXS05XM+QqbCgPKB_uZCCAN0eAqHUmoeTg@mail.gmail.com>

On Mon, Apr 11, 2022 at 03:49:38PM +0200, Geert Uytterhoeven wrote:
> Hi Javier,
> 
> On Tue, Mar 15, 2022 at 12:28 PM Javier Martinez Canillas
> <javierm@redhat.com> wrote:
> > On 3/12/22 07:34, YueHaibing wrote:
> > > WARNING: unmet direct dependencies detected for DRM_GEM_SHMEM_HELPER
> > >   Depends on [n]: HAS_IOMEM [=y] && DRM [=m] && MMU [=n]
> > >   Selected by [m]:
> > >   - DRM_SSD130X [=m] && HAS_IOMEM [=y] && DRM [=m]
> > >
> > > DRM_GEM_SHMEM_HELPER depends on MMU, DRM_SSD130X should also depends on MMU.
> > >
> > > Fixes: a61732e80867 ("drm: Add driver for Solomon SSD130x OLED displays")
> > > Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> > > ---
> >
> > Indeed. All the DRM drivers that select DRM_GEM_SHMEM_HELPER depend on MMU.
> 
> That's very unfortunate. Is there no way around this?
> 
> Else fbdev can never be deprecated in favor of DRM.

I guess we could transparently replace shmem helpers by cma helpers on
!MMU platforms - like if you have CONFIG_MMU you get the current shmem
helpers, but if you don't have that, we do a dummy shmem helper
implementation which uses cma helpers internally. The problem is that the
interfaces have co-evolved and aren't a perfect match, so some surgery is
probably required. Also we embed the structs into driver buffer object
sturcts generally, and I'm not sure how to best solve that.

Maybe the simplest approach would be to add a pointer to cma_gem_object to
shmem_gem_object for the !MMU case and do a bit of forwarding as
necessary.

It might also be possible to wire through !MMU mmap support for shmem, but
I'm not sure how well that will work in practice since that path would go
to page_alloc and not through CMA (or maybe I'm just wrong about how mmap
works on !MMU, definitely not my area of expertise).

Anyway should be fixable.
-Daniel

> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds

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

  reply	other threads:[~2022-04-13  7:58 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-12  6:34 [PATCH -next] drm/solomon: Make DRM_SSD130X depends on MMU YueHaibing
2022-03-12  6:34 ` YueHaibing
2022-03-15  9:18 ` Javier Martinez Canillas
2022-03-16 15:18   ` Javier Martinez Canillas
2022-04-11 13:49   ` Geert Uytterhoeven
2022-04-11 13:49     ` Geert Uytterhoeven
2022-04-13  7:57     ` Daniel Vetter [this message]
2022-04-13  7:57       ` Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YlaChZAd66pNPMEF@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=airlied@linux.ie \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=geert@linux-m68k.org \
    --cc=javierm@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maxime@cerno.tech \
    --cc=yuehaibing@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.