diff options
| author | Luca Weiss <[email protected]> | 2026-04-08 14:04:28 +0200 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2026-05-30 07:44:08 -0600 |
| commit | 1c8b592611fc7b6bacf10226cfada6620ca19011 (patch) | |
| tree | 99b7b86675d5e3ffb042fadd59110c23ab95e1f2 /drivers | |
| parent | df08b27590d5c4bdc1bd644a6bcb8c0dc964780f (diff) | |
video: simplefb: Map framebuffer region on probe on ARM64
The framebuffer buffer might not be mapped on some devices.
This is #ifdef'ed for ARM64 since mmu_map_region() is not defined for
any other architecture.
Signed-off-by: Luca Weiss <[email protected]>
Acked-by: Sumit Garg <[email protected]>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/video/simplefb.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/video/simplefb.c b/drivers/video/simplefb.c index 8d0772d4e51..4d238b936ac 100644 --- a/drivers/video/simplefb.c +++ b/drivers/video/simplefb.c @@ -9,6 +9,8 @@ #include <log.h> #include <video.h> #include <asm/global_data.h> +#include <asm/system.h> +#include <linux/sizes.h> static int simple_video_probe(struct udevice *dev) { @@ -37,6 +39,13 @@ static int simple_video_probe(struct udevice *dev) plat->base = base; plat->size = size; +#ifdef CONFIG_ARM64 + /* The framebuffer buffer might not be mapped on some devices */ + if (plat->base % SZ_4K) + log_warning("Framebuffer base %lx is not 4k aligned!\n", plat->base); + mmu_map_region((phys_addr_t)plat->base, (phys_addr_t)ALIGN(plat->size, SZ_4K), false); +#endif + video_set_flush_dcache(dev, true); debug("%s: Query resolution...\n", __func__); |
