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 bool primary, 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 * @primary: also kick vga16fb if present 24 * @req_driver: requesting DRM driver 25 * 26 * This function removes all graphics device drivers. Use this function on systems 27 * that can have their framebuffer located anywhere in memory. 28 * 29 * Returns: 30 * 0 on success, or a negative errno code otherwise 31 */ 32 static inline int 33 drm_aperture_remove_framebuffers(bool primary, const struct drm_driver *req_driver) 34 { 35 return drm_aperture_remove_conflicting_framebuffers(0, (resource_size_t)-1, primary, 36 req_driver); 37 } 38 39 #endif 40