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

From: Christian Borntraeger
Date: Wed Feb 21 2018 - 06:49:50 EST




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. This patches goal was to always enable dummy console even without
PCI, but it obviously fails to do so.

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---