diff mbox series

[-next] drm/solomon: Make DRM_SSD130X depends on MMU

Message ID 20220312063437.19160-1-yuehaibing@huawei.com (mailing list archive)
State New, archived
Headers show
Series [-next] drm/solomon: Make DRM_SSD130X depends on MMU | expand

Commit Message

Yue Haibing March 12, 2022, 6:34 a.m. UTC
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>
---
 drivers/gpu/drm/solomon/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Javier Martinez Canillas March 15, 2022, 9:18 a.m. UTC | #1
Hello YueHaibing,

Thanks for the patch.

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.

Acked-by: Javier Martinez Canillas <javierm@redhat.com>
Javier Martinez Canillas March 16, 2022, 3:18 p.m. UTC | #2
On 3/15/22 10:18, Javier Martinez Canillas wrote:
> Hello YueHaibing,
> 
> Thanks for the patch.
> 
> 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.
> 
> Acked-by: Javier Martinez Canillas <javierm@redhat.com>
> 

Pushed to drm-misc (drm-misc-next). Thanks!
Geert Uytterhoeven April 11, 2022, 1:49 p.m. UTC | #3
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.

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 April 13, 2022, 7:57 a.m. UTC | #4
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
diff mbox series

Patch

diff --git a/drivers/gpu/drm/solomon/Kconfig b/drivers/gpu/drm/solomon/Kconfig
index 5861c3ab7c45..6230369505c9 100644
--- a/drivers/gpu/drm/solomon/Kconfig
+++ b/drivers/gpu/drm/solomon/Kconfig
@@ -1,6 +1,6 @@ 
 config DRM_SSD130X
 	tristate "DRM support for Solomon SSD130x OLED displays"
-	depends on DRM
+	depends on DRM && MMU
 	select BACKLIGHT_CLASS_DEVICE
 	select DRM_GEM_SHMEM_HELPER
 	select DRM_KMS_HELPER