Re: [PATCH v3 1/3] Kconfig : Remove HAS_IOMEM dependency for Graphics support

From: Cornelia Huck
Date: Wed Feb 21 2018 - 07:08:06 EST


On Wed, 21 Feb 2018 12:49:35 +0100
Christian Borntraeger <borntraeger@xxxxxxxxxx> wrote:

> On 02/21/2018 12:29 PM, Thomas Huth wrote:
> > On 21.02.2018 12:22, Christian Borntraeger wrote:
> >>
> >>
> >> On 02/21/2018 12:14 PM, Thomas Huth wrote:
> >>> On 21.02.2018 12:09, Christian Borntraeger wrote:
> >>>>
> >>>>
> >>>> On 02/21/2018 11:32 AM, Cornelia Huck wrote:
> >>>>> On Wed, 21 Feb 2018 11:22:38 +0100
> >>>>> Christian Borntraeger <borntraeger@xxxxxxxxxx> wrote:
> >>>>>
> >>>>>> On 02/21/2018 11:05 AM, Christian Borntraeger wrote:
> >>>>>>>
> >>>>>>>
> >>>>>>> On 02/19/2018 05:38 PM, Farhan Ali wrote:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> On 02/19/2018 11:25 AM, Thomas Huth wrote:
> >>>>>>>>> On 19.02.2018 16:47, Farhan Ali wrote:
> >>>>>>>>>> The 'commit e25df1205f37 ("[S390] Kconfig: menus with depends on HAS_IOMEM.")'
> >>>>>>>>>> added the HAS_IOMEM dependecy for "Graphics support". This disabled the
> >>>>>>>>>> "Graphics support" menu for S390. But if we enable VT layer for S390,
> >>>>>>>>>> we would also need to enable the dummy console. So let's remove the
> >>>>>>>>>> HAS_IOMEM dependency.
> >>>>>>>>>>
> >>>>>>>>>> Move this dependency to sub menu items and console drivers that use
> >>>>>>>>>> io memory.
> >>>>>>>>>>
> >>>>>>>>>> Signed-off-by: Farhan Ali <alifm@xxxxxxxxxxxxxxxxxx>
> >>>>>>>>>> ---
> >>>>>>>>>> Â drivers/video/KconfigÂÂÂÂÂÂÂÂ | 21 +++++++++++----------
> >>>>>>>>>> Â drivers/video/console/Kconfig |Â 4 ++--
> >>>>>>>>>> Â 2 files changed, 13 insertions(+), 12 deletions(-)
> >>>>>>>>>>
> >>>>>>>>>> diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
> >>>>>>>>>> index 3c20af9..8f10915 100644
> >>>>>>>>>> --- a/drivers/video/Kconfig
> >>>>>>>>>> +++ b/drivers/video/Kconfig
> >>>>>>>>>> @@ -3,7 +3,6 @@
> >>>>>>>>>> Â #
> >>>>>>>>>> Â Â menu "Graphics support"
> >>>>>>>>>> -ÂÂÂ depends on HAS_IOMEM
> >>>>>>>>>> Â Â config HAVE_FB_ATMEL
> >>>>>>>>>> ÂÂÂÂÂ bool
> >>>>>>>>>> @@ -11,20 +10,22 @@ config HAVE_FB_ATMEL
> >>>>>>>>>> Â config SH_LCD_MIPI_DSI
> >>>>>>>>>> ÂÂÂÂÂ bool
> >>>>>>>>>> Â -source "drivers/char/agp/Kconfig"
> >>>>>>>>>> +if HAS_IOMEM
> >>>>>>>>>> +ÂÂÂ source "drivers/char/agp/Kconfig"
> >>>>>>>>>> Â -source "drivers/gpu/vga/Kconfig"
> >>>>>>>>>> +ÂÂÂ source "drivers/gpu/vga/Kconfig"
> >>>>>>>>>> Â -source "drivers/gpu/host1x/Kconfig"
> >>>>>>>>>> -source "drivers/gpu/ipu-v3/Kconfig"
> >>>>>>>>>> +ÂÂÂ source "drivers/gpu/host1x/Kconfig"
> >>>>>>>>>> +ÂÂÂ source "drivers/gpu/ipu-v3/Kconfig"
> >>>>>>>>>> Â -source "drivers/gpu/drm/Kconfig"
> >>>>>>>>>> +ÂÂÂ source "drivers/gpu/drm/Kconfig"
> >>>>>>>
> >>>>>>>
> >>>>>>> Hmmm, looks like that this makes it impossible to select VIRTIO_GPU - need still more
> >>>>>>> work.
> >>>>>>>
> >>>>>> Sorry my fault. I had CONFIG_PCI disabled.
> >>>>>
> >>>>> That smells like the s390 HAS_IOMEM stuff needs more work -- I guess
> >>>>> that you want to enable a ccw virtio-gpu device, not a pci one, right?
> >>>>
> >>>> It is a ccw virtio-gpu. But s390 has no IOMEM without CONFIG_PCI, so you cannot
> >>>> select VIRTIO_GPU, which needs DRM, which need IOMEM.
> >>>
> >>> So the 'source "drivers/gpu/drm/Kconfig"' should maybe rather reside
> >>> outside of the "if HAS_IOMEM" path? Or does it not compile anymore that way?
> >>
> >> virtio-gpu depends on drm. So in essence it boils down to if you want virtio-gpu
> >> you also need to enable PCI, even if the actual channel is ccw.
> >
> > But if you need to enable PCI to get IOMEM, I wonder why this patch here
> > is needed at all? The Graphics menu / VT dummy console should be
> > available in the config if IOMEM is enabled anyway?
>
> That is a good question. With CONFIG_PCI=y I can select virtio-gpu and dummy-console.
> IIRC the issue was that with patch 3 we can have the situation where we have
> CONFIG_VT = y and CONFIG_DUMMY_CONSOLE=n and this will crash early during boot as
> conswitchp is NULL.

So in practice, CONFIG_VT depends on "there's a console available, even
if it's only the dummy one"?

> This patches goal was to always enable dummy console even without
> PCI, but it obviously fails to do so.

OTOH, the dummy console really should not depend on anything, as it is
only doing dummy things.

>
> So what about allowing CONFIG_VT on s390 only if we have PCI?
>
>
> diff --git a/drivers/tty/Kconfig b/drivers/tty/Kconfig
> index 84810075a6a0..1c7fe09d6f90 100644
> --- a/drivers/tty/Kconfig
> +++ b/drivers/tty/Kconfig
> @@ -11,7 +11,7 @@ if TTY
>
> config VT
> bool "Virtual terminal" if EXPERT
> - depends on !UML
> + depends on !UML && (!S390 || PCI)
> select INPUT
> default y
> ---help---
>

Would cover your use case, but feels wrong to me... config dependencies
aren't fun :/