Re: [PATCH v3 0/3] Add generic framebuffer support to EFI earlycon driver

From: Andy Shevchenko
Date: Wed Dec 28 2022 - 09:04:34 EST


On Fri, Dec 23, 2022 at 03:42:33PM +0100, Ard Biesheuvel wrote:
> (cc Andy)

I believe there are two reasons I'm Cc'ed now:
- the Cc was forgotten. because I remember reviewing some parts
of this contribution
- this conflicts (to some extent) with my patch that speeds up
the scrolling

For the first it's obvious what to do, I think Markuss can include me
in his v4.

For the second I don't see the functional clash. The scrolling in this
series is not anyhow optimized. I think my patch should go first as
- it is less intrusive
- it has been tested, or can be tested easily

Tell me if I'm missing something here.

> On Wed, 21 Dec 2022 at 11:54, Markuss Broks <markuss.broks@xxxxxxxxx> wrote:
> >
> > Make the EFI earlycon driver be suitable for any linear framebuffers.
> > This should be helpful for early porting of boards with no other means of
> > output, like smartphones/tablets. There seems to be an issue with early_ioremap
> > function on ARM32, but I am unable to find the exact cause. It appears the mappings
> > returned by it are somehow incorrect, thus the driver is disabled on ARM.
>
> The reason that this driver is disabled on ARM is because the struct
> screen_info is not populated early enough, as it is retrieved from a
> UEFI configuration table.
>
> early_ioremap() works fine on ARM as long as they mapping is torn down
> before paging_init()
>
> > EFI early
> > console was disabled on IA64 previously because of missing early_memremap_prot,
> > and this is inherited to this driver.
> >
> > This patch also changes
>
> "This patch also changes ..." is usually a strong hint to self that
> the patches need to be split up.
>
> > behavior on EFI systems, by selecting the mapping type
> > based on if the framebuffer region intersects with system RAM. If it does, it's
> > common sense that it should be in RAM as a whole, and so the system RAM mapping is
> > used. It was tested to be working on my PC (Intel Z490 platform), as well as several
> > ARM64 boards (Samsung Galaxy S9 (Exynos), iPad Air 2, Xiaomi Mi Pad 4, ...).

--
With Best Regards,
Andy Shevchenko