Thread (6 messages) 6 messages, 3 authors, 2023-05-08

Re: [PATCH v3 35/38] video: handle HAS_IOPORT dependencies

From: Niklas Schnelle <schnelle@linux.ibm.com>
Date: 2023-05-08 17:09:37
Also in: dri-devel, linux-arch, linux-pci, lkml

On Thu, 2023-03-23 at 18:08 +0200, Ville Syrjälä wrote:
On Thu, Mar 23, 2023 at 03:17:38PM +0100, Niklas Schnelle wrote:
quoted
On Wed, 2023-03-15 at 12:19 +0200, Ville Syrjälä wrote:
quoted
On Wed, Mar 15, 2023 at 09:16:50AM +0100, Geert Uytterhoeven wrote:
quoted
Hi Niklas,

On Tue, Mar 14, 2023 at 1:13 PM Niklas Schnelle [off-list ref] wrote:
quoted
In a future patch HAS_IOPORT=n will result in inb()/outb() and friends
not being declared. We thus need to add HAS_IOPORT as dependency for
those drivers using them and guard inline code in headers.

Co-developed-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
Thanks for your patch!
quoted
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
quoted
@@ -1284,7 +1285,7 @@ config FB_ATY128_BACKLIGHT

 config FB_ATY
        tristate "ATI Mach64 display support" if PCI || ATARI
-       depends on FB && !SPARC32
+       depends on FB && HAS_IOPORT && !SPARC32
On Atari, this works without ATARI_ROM_ISA, hence it must not depend
on HAS_IOPORT.
The only call to inb() is inside a section protected by #ifdef
CONFIG_PCI. So:
That piece of code is a nop anyway. We immediately overwrite
clk_wr_offset with a hardcoded selection after the register reads.
So if you nuke that nop code then no IOPORT dependency required
at all.
I agree this "looks" like a nop but are we sure the inb() doesn't have
side effects? 
Yes. It's just trying to check which PLL dividers/etc. are currently
used. In VGA mode it gets it from a the GENMO and in non-VGA mode from
CLOCK_CNTL. And then it says "screw that" and just uses index 3 instead.
Ok, I've added a patch to remove this part of the code and with that
the driver actually builds on s390 (no HAS_IOPORT) so I also removed
the HAS_IOPORT dependency. Both will be in my v4.

Thanks,
Niklas

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help