1 /* SPDX-License-Identifier: MIT */
2 #ifndef __NOUVEAU_ACPI_H__
3 #define __NOUVEAU_ACPI_H__
4 
5 #define ROM_BIOS_PAGE 4096
6 
7 #if defined(CONFIG_ACPI) && defined(CONFIG_X86)
8 bool nouveau_is_optimus(void);
9 bool nouveau_is_v1_dsm(void);
10 void nouveau_register_dsm_handler(void);
11 void nouveau_unregister_dsm_handler(void);
12 void nouveau_switcheroo_optimus_dsm(void);
13 int nouveau_acpi_get_bios_chunk(uint8_t *bios, int offset, int len);
14 bool nouveau_acpi_rom_supported(struct device *);
15 void *nouveau_acpi_edid(struct drm_device *, struct drm_connector *);
16 #else
17 static inline bool nouveau_is_optimus(void) { return false; };
18 static inline bool nouveau_is_v1_dsm(void) { return false; };
19 static inline void nouveau_register_dsm_handler(void) {}
20 static inline void nouveau_unregister_dsm_handler(void) {}
21 static inline void nouveau_switcheroo_optimus_dsm(void) {}
22 static inline bool nouveau_acpi_rom_supported(struct device *dev) { return false; }
23 static inline int nouveau_acpi_get_bios_chunk(uint8_t *bios, int offset, int len) { return -EINVAL; }
24 static inline void *nouveau_acpi_edid(struct drm_device *dev, struct drm_connector *connector) { return NULL; }
25 #endif
26 
27 #endif
28