diff options
author | Dave Airlie <airlied@redhat.com> | 2023-05-26 06:23:28 +0200 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2023-05-26 06:23:29 +0200 |
commit | b8887e796e06b1de4db899f49d531d220f94f393 (patch) | |
tree | 93e4f443ecbc5379765bd26cfba7de4624ed6463 /arch | |
parent | Merge tag 'drm-misc-next-2023-05-11' of git://anongit.freedesktop.org/drm/drm... (diff) | |
parent | drm: shmobile: Make DRM_SHMOBILE visible on Renesas SoC platforms (diff) | |
download | linux-b8887e796e06b1de4db899f49d531d220f94f393.tar.xz linux-b8887e796e06b1de4db899f49d531d220f94f393.zip |
Merge tag 'drm-misc-next-2023-05-24' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for v6.5:
UAPI Changes:
Cross-subsystem Changes:
* fbdev: Move framebuffer I/O helpers to <asm/fb.h>, fix naming
* firmware: Init sysfb as early as possible
Core Changes:
* DRM scheduler: Rename interfaces
* ttm: Store ttm_device_funcs in .rodata
* Replace strlcpy() with strscpy() in various places
* Cleanups
Driver Changes:
* bridge: analogix: Fix endless probe loop; samsung-dsim: Support
swapping clock/data polarity; tc358767: Use devm_ Cleanups;
* gma500: Fix I/O-memory access
* panel: boe-tv101wum-nl6: Improve initialization; sharp-ls043t1le001:
Mode fixes; simple: Add BOE EV121WXM-N10-1850 plus DT bindings;
AddS6D7AA0 plus DT bindings; Cleanups
* ssd1307x: Style fixes
* sun4i: Release clocks
* msm: Fix I/O-memory access
* nouveau: Cleanups
* shmobile: Support Renesas; Enable framebuffer console; Various fixes
* vkms: Fix RGB565 conversion
Signed-off-by: Dave Airlie <airlied@redhat.com>
# -----BEGIN PGP SIGNATURE-----
#
# iQEzBAABCAAdFiEEchf7rIzpz2NEoWjlaA3BHVMLeiMFAmRuBXEACgkQaA3BHVML
# eiPLkwgAqCa7IuSDQhFMWVOI0EJpPPEHtHM8SCT1Pp8aniXk23Ru+E16c5zck53O
# uf4tB+zoFrwD9npy60LIvX1OZmXS1KI4+ZO8itYFk6GSjxqbTWbjNFREBeWFdIpa
# OG54nEqjFQZzEXY+gJYDpu5zqLy3xLN07ZgQkcMyfW3O/Krj4LLzfQTDl+jP5wkO
# 7/v5Eu5CG5QjupMxIjb4e+ruUflp73pynur5bhZsfS1bPNGFTnxHlwg7NWnBXU7o
# Hg23UYfCuZZWPmuO26EeUDlN33rCoaycmVgtpdZft2eznca5Mg74Loz1Qc3GQfjw
# LLvKsAIlBcZvEIhElkzhtXitBoe7LQ==
# =/9zV
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 24 May 2023 22:39:13 AEST
# gpg: using RSA key 7217FBAC8CE9CF6344A168E5680DC11D530B7A23
# gpg: Can't check signature: No public key
# Conflicts:
# MAINTAINERS
From: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20230524124237.GA25416@linux-uq9g
Diffstat (limited to 'arch')
-rw-r--r-- | arch/ia64/include/asm/fb.h | 20 | ||||
-rw-r--r-- | arch/loongarch/include/asm/fb.h | 21 | ||||
-rw-r--r-- | arch/mips/include/asm/fb.h | 22 | ||||
-rw-r--r-- | arch/parisc/video/fbdev.c | 3 | ||||
-rw-r--r-- | arch/sparc/include/asm/fb.h | 20 | ||||
-rw-r--r-- | arch/sparc/video/fbdev.c | 1 | ||||
-rw-r--r-- | arch/x86/video/fbdev.c | 2 |
7 files changed, 84 insertions, 5 deletions
diff --git a/arch/ia64/include/asm/fb.h b/arch/ia64/include/asm/fb.h index 0208f64a0da0..1717b26fd423 100644 --- a/arch/ia64/include/asm/fb.h +++ b/arch/ia64/include/asm/fb.h @@ -2,7 +2,9 @@ #ifndef _ASM_FB_H_ #define _ASM_FB_H_ +#include <linux/compiler.h> #include <linux/efi.h> +#include <linux/string.h> #include <asm/page.h> @@ -18,6 +20,24 @@ static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma, } #define fb_pgprotect fb_pgprotect +static inline void fb_memcpy_fromio(void *to, const volatile void __iomem *from, size_t n) +{ + memcpy(to, (void __force *)from, n); +} +#define fb_memcpy_fromio fb_memcpy_fromio + +static inline void fb_memcpy_toio(volatile void __iomem *to, const void *from, size_t n) +{ + memcpy((void __force *)to, from, n); +} +#define fb_memcpy_toio fb_memcpy_toio + +static inline void fb_memset_io(volatile void __iomem *addr, int c, size_t n) +{ + memset((void __force *)addr, c, n); +} +#define fb_memset fb_memset_io + #include <asm-generic/fb.h> #endif /* _ASM_FB_H_ */ diff --git a/arch/loongarch/include/asm/fb.h b/arch/loongarch/include/asm/fb.h index ff82f20685c8..0b218b10a9ec 100644 --- a/arch/loongarch/include/asm/fb.h +++ b/arch/loongarch/include/asm/fb.h @@ -5,6 +5,27 @@ #ifndef _ASM_FB_H_ #define _ASM_FB_H_ +#include <linux/compiler.h> +#include <linux/string.h> + +static inline void fb_memcpy_fromio(void *to, const volatile void __iomem *from, size_t n) +{ + memcpy(to, (void __force *)from, n); +} +#define fb_memcpy_fromio fb_memcpy_fromio + +static inline void fb_memcpy_toio(volatile void __iomem *to, const void *from, size_t n) +{ + memcpy((void __force *)to, from, n); +} +#define fb_memcpy_toio fb_memcpy_toio + +static inline void fb_memset_io(volatile void __iomem *addr, int c, size_t n) +{ + memset((void __force *)addr, c, n); +} +#define fb_memset fb_memset_io + #include <asm-generic/fb.h> #endif /* _ASM_FB_H_ */ diff --git a/arch/mips/include/asm/fb.h b/arch/mips/include/asm/fb.h index 6bda0a81d8ca..18b7226403ba 100644 --- a/arch/mips/include/asm/fb.h +++ b/arch/mips/include/asm/fb.h @@ -12,6 +12,28 @@ static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma, } #define fb_pgprotect fb_pgprotect +/* + * MIPS doesn't define __raw_ I/O macros, so the helpers + * in <asm-generic/fb.h> don't generate fb_readq() and + * fb_write(). We have to provide them here. + * + * TODO: Convert MIPS to generic I/O. The helpers below can + * then be removed. + */ +#ifdef CONFIG_64BIT +static inline u64 fb_readq(const volatile void __iomem *addr) +{ + return __raw_readq(addr); +} +#define fb_readq fb_readq + +static inline void fb_writeq(u64 b, volatile void __iomem *addr) +{ + __raw_writeq(b, addr); +} +#define fb_writeq fb_writeq +#endif + #include <asm-generic/fb.h> #endif /* _ASM_FB_H_ */ diff --git a/arch/parisc/video/fbdev.c b/arch/parisc/video/fbdev.c index 4a0ae08fc75b..137561d98246 100644 --- a/arch/parisc/video/fbdev.c +++ b/arch/parisc/video/fbdev.c @@ -5,10 +5,9 @@ * Copyright (C) 2001-2002 Thomas Bogendoerfer <tsbogend@alpha.franken.de> */ +#include <linux/fb.h> #include <linux/module.h> -#include <asm/fb.h> - #include <video/sticore.h> int fb_is_primary_device(struct fb_info *info) diff --git a/arch/sparc/include/asm/fb.h b/arch/sparc/include/asm/fb.h index 689ee5c60054..572ecd3e1cc4 100644 --- a/arch/sparc/include/asm/fb.h +++ b/arch/sparc/include/asm/fb.h @@ -2,6 +2,8 @@ #ifndef _SPARC_FB_H_ #define _SPARC_FB_H_ +#include <linux/io.h> + struct fb_info; struct file; struct vm_area_struct; @@ -16,6 +18,24 @@ static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma, int fb_is_primary_device(struct fb_info *info); #define fb_is_primary_device fb_is_primary_device +static inline void fb_memcpy_fromio(void *to, const volatile void __iomem *from, size_t n) +{ + sbus_memcpy_fromio(to, from, n); +} +#define fb_memcpy_fromio fb_memcpy_fromio + +static inline void fb_memcpy_toio(volatile void __iomem *to, const void *from, size_t n) +{ + sbus_memcpy_toio(to, from, n); +} +#define fb_memcpy_toio fb_memcpy_toio + +static inline void fb_memset_io(volatile void __iomem *addr, int c, size_t n) +{ + sbus_memset_io(addr, c, n); +} +#define fb_memset fb_memset_io + #include <asm-generic/fb.h> #endif /* _SPARC_FB_H_ */ diff --git a/arch/sparc/video/fbdev.c b/arch/sparc/video/fbdev.c index dadd5799fbb3..25837f128132 100644 --- a/arch/sparc/video/fbdev.c +++ b/arch/sparc/video/fbdev.c @@ -4,7 +4,6 @@ #include <linux/fb.h> #include <linux/module.h> -#include <asm/fb.h> #include <asm/prom.h> int fb_is_primary_device(struct fb_info *info) diff --git a/arch/x86/video/fbdev.c b/arch/x86/video/fbdev.c index 57ee3c158f97..f41a17ebac48 100644 --- a/arch/x86/video/fbdev.c +++ b/arch/x86/video/fbdev.c @@ -7,8 +7,6 @@ * */ -#include <asm/fb.h> - #include <linux/fb.h> #include <linux/module.h> #include <linux/pci.h> |