Attention is currently required from: shkim, Paul Menzel, SH Kim, Yu-Ping Wu, Karthik Ramasubramanian. Julius Werner has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/57327 )
Change subject: lib/edid_fill_fb: Make framebuffer orientation to be configurable ......................................................................
Patch Set 4:
(1 comment)
Patchset:
PS2:
I just followed Kconfig option is better than c code for the static return for orientation, but I al […]
Well... I mean I guess we can do this but I still think the existing API was better. This weak function callback thing makes the control flow very complicated and requires mainboard code to be able to respond with the panel properties on demand. For the Kukui board you're now calling get_active_panel() twice, which is not a function that was designed to be called twice and will waste time on doing the same CBFS lookup twice now. I guess you could rewrite it to cache the result and support that, but... why make this so complicated? The previous flow made perfect sense for those boards.
I think the real problem here is that the FSP graphics driver is too far removed from the mainboard and doesn't allow to directly pass anything in or out. The cleanest solution for that would be to fix it so that the mainboard init code actually calls something to trigger display initialization and then gets something back (e.g. a struct fb_info pointer). If we don't want to do that, because it's a bit too big of a change maybe, you could also do something like have the FSP graphics driver store the fb_info pointer in a global and provide a function for the mainboard code to retrieve it and add additional info to it.