1 /* $NetBSD: nouveau_acpi.h,v 1.4 2024/04/16 14:34:02 riastradh Exp $ */
2
3 /* SPDX-License-Identifier: MIT */
4 #ifndef __NOUVEAU_ACPI_H__
5 #define __NOUVEAU_ACPI_H__
6
7 #include <linux/acpi.h>
8
9 #define ROM_BIOS_PAGE 4096
10
11 #if defined(CONFIG_ACPI) && defined(CONFIG_X86)
12 bool nouveau_is_optimus(void);
13 bool nouveau_is_v1_dsm(void);
14 void nouveau_register_dsm_handler(void);
15 void nouveau_unregister_dsm_handler(void);
16 void nouveau_switcheroo_optimus_dsm(void);
17 int nouveau_acpi_get_bios_chunk(uint8_t *bios, int offset, int len);
18 #ifdef __NetBSD__
19 bool nouveau_acpi_rom_supported(struct acpi_devnode *);
20 #else
21 bool nouveau_acpi_rom_supported(struct device *);
22 #endif
23 void *nouveau_acpi_edid(struct drm_device *, struct drm_connector *);
24 #else
nouveau_is_optimus(void)25 static inline bool nouveau_is_optimus(void) { return false; };
nouveau_is_v1_dsm(void)26 static inline bool nouveau_is_v1_dsm(void) { return false; };
nouveau_register_dsm_handler(void)27 static inline void nouveau_register_dsm_handler(void) {}
nouveau_unregister_dsm_handler(void)28 static inline void nouveau_unregister_dsm_handler(void) {}
nouveau_switcheroo_optimus_dsm(void)29 static inline void nouveau_switcheroo_optimus_dsm(void) {}
30 #ifdef __NetBSD__
nouveau_acpi_rom_supported(struct acpi_devnode * acpidev)31 static inline bool nouveau_acpi_rom_supported(struct acpi_devnode *acpidev) { return false; }
32 #else
nouveau_acpi_rom_supported(struct device * dev)33 static inline bool nouveau_acpi_rom_supported(struct device *dev) { return false; }
34 #endif
nouveau_acpi_get_bios_chunk(uint8_t * bios,int offset,int len)35 static inline int nouveau_acpi_get_bios_chunk(uint8_t *bios, int offset, int len) { return -EINVAL; }
nouveau_acpi_edid(struct drm_device * dev,struct drm_connector * connector)36 static inline void *nouveau_acpi_edid(struct drm_device *dev, struct drm_connector *connector) { return NULL; }
37 #endif
38
39 #endif
40