Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: MIT */
0002 
0003 #ifndef _DRM_APERTURE_H_
0004 #define _DRM_APERTURE_H_
0005 
0006 #include <linux/types.h>
0007 
0008 struct drm_device;
0009 struct drm_driver;
0010 struct pci_dev;
0011 
0012 int devm_aperture_acquire_from_firmware(struct drm_device *dev, resource_size_t base,
0013                     resource_size_t size);
0014 
0015 int drm_aperture_remove_conflicting_framebuffers(resource_size_t base, resource_size_t size,
0016                          bool primary, const struct drm_driver *req_driver);
0017 
0018 int drm_aperture_remove_conflicting_pci_framebuffers(struct pci_dev *pdev,
0019                              const struct drm_driver *req_driver);
0020 
0021 /**
0022  * drm_aperture_remove_framebuffers - remove all existing framebuffers
0023  * @primary: also kick vga16fb if present
0024  * @req_driver: requesting DRM driver
0025  *
0026  * This function removes all graphics device drivers. Use this function on systems
0027  * that can have their framebuffer located anywhere in memory.
0028  *
0029  * Returns:
0030  * 0 on success, or a negative errno code otherwise
0031  */
0032 static inline int
0033 drm_aperture_remove_framebuffers(bool primary, const struct drm_driver *req_driver)
0034 {
0035     return drm_aperture_remove_conflicting_framebuffers(0, (resource_size_t)-1, primary,
0036                                 req_driver);
0037 }
0038 
0039 #endif