diff options
author | Dave Airlie <airlied@redhat.com> | 2023-05-19 03:37:52 +0200 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2023-05-19 03:37:59 +0200 |
commit | 33a86170888b7e4aa0cea94ebb9c67180139cea9 (patch) | |
tree | bd0d939e4d803a2db28bcbd73a5f28acb720146b /arch/x86 | |
parent | Linux 6.4-rc2 (diff) | |
parent | drm: sun4i: calculate proper DCLK rate for DSI (diff) | |
download | linux-33a86170888b7e4aa0cea94ebb9c67180139cea9.tar.xz linux-33a86170888b7e4aa0cea94ebb9c67180139cea9.zip |
Merge tag 'drm-misc-next-2023-05-11' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for 6.5:
UAPI Changes:
Cross-subsystem Changes:
- arch: Consolidate <asm/fb.h>
Core Changes:
- aperture: Ignore firmware framebuffers with non-primary devices
- fbdev: Use fbdev's I/O helpers
- sysfs: Expose DRM connector ID
- tests: More tests for drm_rect
Driver Changes:
- armada: Implement fbdev emulation as a client
- bridge:
- fsl-ldb: Support i.MX6SX
- lt9211: Remove blanking packets
- lt9611: Remove blanking packets
- tc358768: Implement input bus formats reporting, fix various
timings and clocks settings
- ti-sn65dsi86: Implement wait_hpd_asserted
- nouveau: Improve NULL pointer checks before dereference
- panel:
- nt36523: Support Lenovo J606F
- st7703: Support Anbernic RG353V-V2
- new panels: InnoLux G070ACE-L01
- sun4i: Fix MIPI-DSI dotclock
- vc4: RGB Range toggle property, BT601 and BT2020 support for HDMI
- vkms: Convert to drmm helpers, Add reflection and rotation support
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/2pxmxdzsk2ekjy6xvbpj67zrhtwvkkhfspuvdm5pfm5i54hed6@sooct7yq6z4w
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/include/asm/fb.h | 21 | ||||
-rw-r--r-- | arch/x86/video/fbdev.c | 30 |
2 files changed, 25 insertions, 26 deletions
diff --git a/arch/x86/include/asm/fb.h b/arch/x86/include/asm/fb.h index ab4c960146e3..23873da8fb77 100644 --- a/arch/x86/include/asm/fb.h +++ b/arch/x86/include/asm/fb.h @@ -2,21 +2,16 @@ #ifndef _ASM_X86_FB_H #define _ASM_X86_FB_H -#include <linux/fb.h> -#include <linux/fs.h> -#include <asm/page.h> +struct fb_info; +struct file; +struct vm_area_struct; -static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma, - unsigned long off) -{ - unsigned long prot; +void fb_pgprotect(struct file *file, struct vm_area_struct *vma, unsigned long off); +#define fb_pgprotect fb_pgprotect - prot = pgprot_val(vma->vm_page_prot) & ~_PAGE_CACHE_MASK; - if (boot_cpu_data.x86 > 3) - pgprot_val(vma->vm_page_prot) = - prot | cachemode2protval(_PAGE_CACHE_MODE_UC_MINUS); -} +int fb_is_primary_device(struct fb_info *info); +#define fb_is_primary_device fb_is_primary_device -extern int fb_is_primary_device(struct fb_info *info); +#include <asm-generic/fb.h> #endif /* _ASM_X86_FB_H */ diff --git a/arch/x86/video/fbdev.c b/arch/x86/video/fbdev.c index 9fd24846d094..57ee3c158f97 100644 --- a/arch/x86/video/fbdev.c +++ b/arch/x86/video/fbdev.c @@ -6,35 +6,39 @@ * for more details. * */ + +#include <asm/fb.h> + #include <linux/fb.h> -#include <linux/pci.h> #include <linux/module.h> +#include <linux/pci.h> #include <linux/vgaarb.h> +void fb_pgprotect(struct file *file, struct vm_area_struct *vma, unsigned long off) +{ + unsigned long prot; + + prot = pgprot_val(vma->vm_page_prot) & ~_PAGE_CACHE_MASK; + if (boot_cpu_data.x86 > 3) + pgprot_val(vma->vm_page_prot) = + prot | cachemode2protval(_PAGE_CACHE_MODE_UC_MINUS); +} +EXPORT_SYMBOL(fb_pgprotect); + int fb_is_primary_device(struct fb_info *info) { struct device *device = info->device; - struct pci_dev *default_device = vga_default_device(); struct pci_dev *pci_dev; - struct resource *res; if (!device || !dev_is_pci(device)) return 0; pci_dev = to_pci_dev(device); - if (default_device) { - if (pci_dev == default_device) - return 1; - return 0; - } - - res = pci_dev->resource + PCI_ROM_RESOURCE; - - if (res->flags & IORESOURCE_ROM_SHADOW) + if (pci_dev == vga_default_device()) return 1; - return 0; } EXPORT_SYMBOL(fb_is_primary_device); + MODULE_LICENSE("GPL"); |