[PATCH v2] video: simplefb: Map framebuffer region on probe on ARM64

Sumit Garg sumit.garg at kernel.org
Mon Apr 13 13:15:24 CEST 2026


On Wed, Apr 08, 2026 at 02:04:28PM +0200, Luca Weiss wrote:
> 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 <luca.weiss at fairphone.com>
> ---
> Changes in v2:
> - Use ALIGN(plat->size, SZ_4K) instead of + 0x1000 (Casey)
> - Add log_warning in case framebuffer base is not 4k aligned (Casey)
> - Link to v1: https://lore.kernel.org/r/20260318-simplefb-map-v1-1-edec1ee81df1@fairphone.com
> ---
>  drivers/video/simplefb.c | 9 +++++++++
>  1 file changed, 9 insertions(+)

Acked-by: Sumit Garg <sumit.garg at oss.qualcomm.com>

-Sumit

> 
> 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__);
> 
> ---
> base-commit: 88dc2788777babfd6322fa655df549a019aa1e69
> change-id: 20260318-simplefb-map-abb9dba0eed1
> 
> Best regards,
> --  
> Luca Weiss <luca.weiss at fairphone.com>
> 


More information about the U-Boot mailing list