Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/loongarch/include/asm/acpi.h
26488 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
/*
3
* Author: Jianmin Lv <[email protected]>
4
* Huacai Chen <[email protected]>
5
* Copyright (C) 2020-2022 Loongson Technology Corporation Limited
6
*/
7
8
#ifndef _ASM_LOONGARCH_ACPI_H
9
#define _ASM_LOONGARCH_ACPI_H
10
11
#include <asm/smp.h>
12
#include <asm/suspend.h>
13
14
#ifdef CONFIG_ACPI
15
extern int acpi_strict;
16
extern int acpi_disabled;
17
extern int acpi_pci_disabled;
18
extern int acpi_noirq;
19
extern int pptt_enabled;
20
21
#define acpi_os_ioremap acpi_os_ioremap
22
void __iomem *acpi_os_ioremap(acpi_physical_address phys, acpi_size size);
23
24
static inline void disable_acpi(void)
25
{
26
acpi_disabled = 1;
27
acpi_pci_disabled = 1;
28
acpi_noirq = 1;
29
}
30
31
static inline bool acpi_has_cpu_in_madt(void)
32
{
33
return true;
34
}
35
36
#define MAX_CORE_PIC 2048
37
38
extern struct list_head acpi_wakeup_device_list;
39
extern struct acpi_madt_core_pic acpi_core_pic[MAX_CORE_PIC];
40
41
extern int __init parse_acpi_topology(void);
42
43
static inline u32 get_acpi_id_for_cpu(unsigned int cpu)
44
{
45
return acpi_core_pic[cpu_logical_map(cpu)].processor_id;
46
}
47
48
#endif /* !CONFIG_ACPI */
49
50
#define ACPI_TABLE_UPGRADE_MAX_PHYS ARCH_LOW_ADDRESS_LIMIT
51
52
extern int loongarch_acpi_suspend(void);
53
extern int (*acpi_suspend_lowlevel)(void);
54
55
static inline unsigned long acpi_get_wakeup_address(void)
56
{
57
#ifdef CONFIG_SUSPEND
58
return (unsigned long)loongarch_wakeup_start;
59
#endif
60
return 0UL;
61
}
62
63
#endif /* _ASM_LOONGARCH_ACPI_H */
64
65