xref: /openbmc/linux/include/drm/drm_aperture.h (revision 1d7a0395)
1 /* SPDX-License-Identifier: MIT */
2 
3 #ifndef _DRM_APERTURE_H_
4 #define _DRM_APERTURE_H_
5 
6 #include <linux/types.h>
7 
8 struct drm_device;
9 struct pci_dev;
10 
11 int devm_aperture_acquire_from_firmware(struct drm_device *dev, resource_size_t base,
12 					resource_size_t size);
13 
14 int drm_aperture_remove_conflicting_framebuffers(resource_size_t base, resource_size_t size,
15 						 bool primary, const char *name);
16 
17 int drm_aperture_remove_conflicting_pci_framebuffers(struct pci_dev *pdev, const char *name);
18 
19 /**
20  * drm_aperture_remove_framebuffers - remove all existing framebuffers
21  * @primary: also kick vga16fb if present
22  * @name: requesting driver name
23  *
24  * This function removes all graphics device drivers. Use this function on systems
25  * that can have their framebuffer located anywhere in memory.
26  *
27  * Returns:
28  * 0 on success, or a negative errno code otherwise
29  */
30 static inline int drm_aperture_remove_framebuffers(bool primary, const char *name)
31 {
32 	return drm_aperture_remove_conflicting_framebuffers(0, (resource_size_t)-1, primary, name);
33 }
34 
35 #endif
36