xref: /openbmc/linux/include/drm/drm_aperture.h (revision c4c3c32d)
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 drm_driver;
10 struct pci_dev;
11 
12 int devm_aperture_acquire_from_firmware(struct drm_device *dev, resource_size_t base,
13 					resource_size_t size);
14 
15 int drm_aperture_remove_conflicting_framebuffers(resource_size_t base, resource_size_t size,
16 						 const struct drm_driver *req_driver);
17 
18 int drm_aperture_remove_conflicting_pci_framebuffers(struct pci_dev *pdev,
19 						     const struct drm_driver *req_driver);
20 
21 /**
22  * drm_aperture_remove_framebuffers - remove all existing framebuffers
23  * @req_driver: requesting DRM driver
24  *
25  * This function removes all graphics device drivers. Use this function on systems
26  * that can have their framebuffer located anywhere in memory.
27  *
28  * Returns:
29  * 0 on success, or a negative errno code otherwise
30  */
31 static inline int
32 drm_aperture_remove_framebuffers(const struct drm_driver *req_driver)
33 {
34 	return drm_aperture_remove_conflicting_framebuffers(0, (resource_size_t)-1,
35 							    req_driver);
36 }
37 
38 #endif
39