ChanServ changed the topic of #armlinux to: ARM kernel talk [Upstream kernel, find your vendor forums for questions about their kernels] |
apritzel has quit [Ping timeout: 240 seconds]
jclsn has quit [Ping timeout: 245 seconds]
jclsn has joined #armlinux
_sfo has quit [Server closed connection]
_sfo has joined #armlinux
hanetzer has quit [Ping timeout: 246 seconds]
hanetzer has joined #armlinux
kristinam has quit [Server closed connection]
kristinam has joined #armlinux
cleger has joined #armlinux
sszy has joined #armlinux
nsaenz has joined #armlinux
m5zs7k has quit [Ping timeout: 250 seconds]
m5zs7k has joined #armlinux
nsaenz has quit [Ping timeout: 246 seconds]
<javierm> arnd, geertu: thanks a lot for your feedback on the FB_CORE series. I'm much more happy with the end result now
nsaenz has joined #armlinux
<arnd> javierm: I still want to check what the 'menuconfig menus look like with CONFIG_FB disabled, I suspect the fbdev submenu is messed up now but I have not looked at it
nsaenz has quit [Remote host closed the connection]
nsaenz has joined #armlinux
<arnd> javierm: the way the submenus work is really odd, I think you need to ensure that every option below a 'menuconfig' entry has a dependency on the Kconfig option name
apritzel has joined #armlinux
<arnd> for some reason, drivers/video/fbdev/Kconfig has individual 'depends on FB' in every single line, rather than the usual 'if FB // endif' block around them.
<javierm> arnd: I haven't used menuconfig in more than a decade (I used to do that when it was feasible to actually configure stuff way), let me take a look
<javierm> *that way
<arnd> javierm: I think what you need to do to get it right is to move every option that no longer depends on FB ahead of the 'menuconfig FB' block
<arnd> it would be nice to also clean up the Kconfig file by changing the individual FB dependencies into a large block if/endif, but that is only cosmetic and doesn't cause a functional difference
jpanisbl has joined #armlinux
cleger has quit [Remote host closed the connection]
cleger has joined #armlinux
jpanisbl has quit [Client Quit]
<javierm> arnd: I've just checked with `make menuconfig`. The only user visible symbol that depends on FB_CORE is FB_DEVICE now after your suggested changes
apritzel has quit [Ping timeout: 246 seconds]
<javierm> and I can still toggle that one from the menuconfig ncurses UI after FB is disabled
<javierm> arnd: so I think that removing the individual depends on FB and moving all that in an if/endif block would be a nice cleanup but IMO can be done as a follow-up
<arnd> javierm: what happens if you turn on FB in menuconfig now? If FB_DEVICE comes after FB but does not depend on it, I think all the drivers show up in the same level as FB rather than in the submenu
<arnd> Maybe you can move FB_DEVICE all the way to the end of the Kconfig file
<arnd> In theory we could have separate toggles for FB_DEVICE (device nodes for old style fbdev drivers) and DRM_FB_DEVICE (/dev/fb* nodes for drm-style drivers), that would fix the menuconfig listing but I'm not sure if that ends up more confusing to the user
<arnd> right, that's broken
<javierm> even when it says "*** Frame buffer hardware drivers ***" before the drivers?
<javierm> it should be a new level under CONFIG_FB ?
<javierm> arnd: I struggle every time that I need to make some non-trivial change to a Kconfig :)
<arnd> javierm: what I mean is that you shouldn't inadvertently change the hierarchy. Before your patch, you have a "Graphics support" menu, inside of that there is a "Frame buffer Devices" menu, and inside of that there is a "Support for frame buffer devices", which contains all the fbdev driver options
<arnd> it looks like the "Support for frame buffer devices" is now an empty submenu, with everything from it moved up one level
<arnd> The current structure is of course a mess already, and it would be nice to clean that up as a side-effect, but anything that changes should be intentional and described in the changelog text
<arnd> I see that CONFIG_MMP_DISP is the only thing in the second menu that is not inside of the third menu, that is probably a bug, and it's only visible if CPU_PXA910 or CPU_MMP2 are enabled
<arnd> oh, or COMPILE_TEST
<javierm> arnd: I see what you mean now
<javierm> arnd: we need a if FB and endif # FB and put all the fbdev drivers inside that
<arnd> Maybe we can move all the core options including FB_DEVICE into a new drivers/video/fbdev/core/Kconfig file and include that one before drivers/video/fbdev/Kconfig
<arnd> the "if FB" is just syntactical sure, that part should not be required, though you could do that as a first step in order to make it clearer what is going on
<arnd> s/sure/sugar/
<javierm> arnd: so you don't want that in the end result then? And just do it as a preparatory step to move the core into drivers/video/fbdev/core/Kconfig ?
<javierm> I was thinking about doing both
<javierm> that is, move all the core Kconfig options to drivers/video/fbdev/core/Kconfig and put all the drivers inside an if/endif block
<arnd> javierm: I don't care much about the if/endif block, it seems like a nice cleanup but it might be a bit of a distraction since it's technically unrelated to the other changes
<arnd> the way that "make menuconfig" parses this is to put everything after a "menuconfig FB" that depends on FB into the submenu, and everything starting from the first option that does not depend on it after the submenu on the same level.
<arnd> It does not care about file hiearchy or whether the dependency comes from an if/endif block or a 'depends on' line
<javierm> arnd: got it. Then a workaround until we do the proper core / fbdev Kconfig symbol split in a new file is to just move `config FB` to the end of the core options and just before the start of the fbdev drivers
Perflosopher has quit [Ping timeout: 260 seconds]
<arnd> right, that should work, we just need to decide whether we want the FB_DEVICE option before or after the FB menu
<geertu> I think most logical is after the FB menu
<arnd> javierm: I still wouldn't mind just leaving the FB_DEVICE option inside of the CONFIG_FB submenu as I suggested earlier. I think your objection was that this would make it harder to use /dev/fb* with DRM while leaving fbdev drivers out of the kernel, but I don't think that's a huge issue
<arnd> if anyone wants this configuration, they are still able to enable CONFIG_FB and CONFIG_FB_DEVICE but leave the individual drivers turned off
LeSpocky has joined #armlinux
<LeSpocky> hello
<geertu> arnd: the drm people do not want to enable CONFIG_FB for that
<LeSpocky> after upgrading kernel from v6.3 to v6.4 at91 sama5d2-som1-ek1 board can not access the SPI-NOR on the SoM anymore, kernel log says this:
<LeSpocky> [ 2.159196] spi-nor spi1.0: unrecognized JEDEC id bytes: ff ff ff ff ff ff
<LeSpocky> is that a known issue?
<javierm> arnd: yeah, that's an uncommon case so I wouldn't mind either. i.e: needing /dev/fb* but only with DRM fbdev emulation will require to explicitly disable all the fbdev drivers
<javierm> arnd: that would solve the broken menuconfig too right ?
<arnd> geertu: who in particular? I though it was just javierm that mentioned this, while the idea for splitting out FB_DEVICE was that "modern" systems should really disable both FB and FB_DEVICE
<arnd> javierm: I think to solve the menuconfig issue, you'd still need to move the hidden options that you change out of the block
<geertu> arnd: right
<geertu> arnd: Disabling FB allows distros to have a "clean" DRM-only kernel
<geertu> Enabling FB_DEVICE provides backwards compatibility with fbdev apps for people who need it.
<arnd> exactly. I think we can do either way, it's a question of semantics
<geertu> Making both independent makes it easier to enforce a "DRM-only" rule
<arnd> either CONFIG_FB controls all the legacy support including both /dev/fb and the fbdev drivers, or we have two sepearate top-level options
<javierm> arnd: agreed with geertu that it would be good to have it independently. Because you could disable all the fbdev drivers but still have /dev/fb* for backward compat but only using DRM fbdev emulation
<geertu> As DRM still uses fbdev emulation for the console, still extending that to userspace makes sense, IMHO.
<javierm> geertu: yup
<geertu> arnd: BTW, you managed to skip EOSS?
<javierm> arnd: I think that will pause with this series and instead do the fbdev Kconfig cleanup first
<javierm> once we agree on the structure for the options then adding the FB_CORE symbol should be easier
<geertu> javierm: makes sense
<arnd> ok
<javierm> geertu, arnd: and thanks for your comments. I learned more about Kconfig :)
<arnd> geertu: yes, I had too much other travel recently so I did not go. For some reason I completely forgot about virtual attendance, I should totally have done that
<bjdooks> I got there and got covid :/
<geertu> bjdooks: oops
<bjdooks> the closest i got was 500M
<geertu> bjdooks: That's why I didn't meet you there?
<geertu> bjdooks: take care, recover well!
<bjdooks> i tested negative on fri morning, but decided not to risk going in. managed to get home sunday despite ryanair's best efforts
<milkylainen> Tested positive in april. Got worse and worse. Luckily there are antivirals for the infection these days. Got better pretty quick.
<bjdooks> I thought it was just bad hayfever
<geertu> I suffer less from hayfever in PRG than at home ;-)
luispm has quit [Remote host closed the connection]
luispm has joined #armlinux
<javierm> geertu: what do you think of patch #1 in v3. That's an unrelated cleanup that you asked so doesn't need to wait for the other changes
<geertu> javierm: I guess it's fine. I didn't comment, as I think this is something for the real DRM experts.
<geertu> I got triggered by the "XFree86 4.1.0" ;-)
<javierm> geertu: haha, yeah. I noticed that the comment is there from the initial import so really deserved a refresh :)
cleger has quit [Quit: Leaving]
Perflosopher has joined #armlinux
apritzel has joined #armlinux
headless has joined #armlinux
pivi has joined #armlinux
amitk_ has joined #armlinux
geertu has quit [Ping timeout: 250 seconds]
geertu has joined #armlinux
apritzel has quit [Ping timeout: 246 seconds]
headless has quit [Quit: Konversation terminated!]
prabhakarlad has quit [Quit: Client closed]
apritzel has joined #armlinux
Crofton has quit [Server closed connection]
Crofton has joined #armlinux
prabhakarlad has joined #armlinux
sakman has joined #armlinux
marshmallow has quit [Changing host]
marshmallow has joined #armlinux
ajb-lina- has joined #armlinux
sszy has quit [Quit: - Chat comfortably. Anywhere.]
vireshk- has joined #armlinux
vkoul- has joined #armlinux
headless has joined #armlinux
pivi has quit [Quit: see you]
apritzel has quit [Ping timeout: 252 seconds]
amitk_ has quit [Ping timeout: 246 seconds]
apritzel has joined #armlinux
apritzel has quit [Ping timeout: 246 seconds]
Fridtjof_ has quit [Server closed connection]
Fridtjof has joined #armlinux
headless has quit [Quit: Konversation terminated!]
apritzel has joined #armlinux