nouveau_acpi.h revision 1.5
1/* $NetBSD: nouveau_acpi.h,v 1.5 2025/03/06 01:14:51 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) 12bool nouveau_is_optimus(void); 13bool nouveau_is_v1_dsm(void); 14void nouveau_register_dsm_handler(void); 15void nouveau_unregister_dsm_handler(void); 16void nouveau_switcheroo_optimus_dsm(void); 17int nouveau_acpi_get_bios_chunk(uint8_t *bios, int offset, int len); 18#ifdef __NetBSD__ 19bool nouveau_acpi_rom_supported(struct acpi_devnode *); 20#else 21bool nouveau_acpi_rom_supported(struct device *); 22#endif 23void *nouveau_acpi_edid(struct drm_device *, struct drm_connector *); 24#else 25static inline bool nouveau_is_optimus(void) { return false; }; 26static inline bool nouveau_is_v1_dsm(void) { return false; }; 27static inline void nouveau_register_dsm_handler(void) {} 28static inline void nouveau_unregister_dsm_handler(void) {} 29static inline void nouveau_switcheroo_optimus_dsm(void) {} 30#ifdef __NetBSD__ 31static inline bool nouveau_acpi_rom_supported(struct acpi_devnode *acpidev) { return false; } 32#else 33static inline bool nouveau_acpi_rom_supported(struct device *dev) { return false; } 34#endif 35static inline int nouveau_acpi_get_bios_chunk(uint8_t *bios, int offset, int len) { return -EINVAL; } 36static inline void *nouveau_acpi_edid(struct drm_device *dev, struct drm_connector *connector) { return NULL; } 37#endif 38 39#endif 40