Skip to content

Commit e3f4440

Browse files
committed
Merge branches 'acpi-scan' and 'acpi-processor'
Merge ACPI device enumeration updates and ACPI processor driver updates for 6.8-rc1: - Add CSI-2 and DisCo for Imaging support to the ACPI device enumeration code (Sakari Ailus, Rafael J. Wysocki). - Adjust the cpufreq thermal reduction algorithm in the ACPI processor driver for Tegra241 (Srikar Srimath Tirumala, Arnd Bergmann). - Make acpi_proc_quirk_mwait_check() x86-specific (Rafael J. Wysocki). * acpi-scan: ACPI: scan: Fix an error message in DisCo for Imaging support ACPI: property: Replicate DT-aligned u32 properties from DisCo for Imaging ACPI: property: Dig "rotation" property for devices with CSI2 _CRS ACPI: scan: Extract MIPI DisCo for Imaging data into swnodes device property: Add SOFTWARE_NODE() macro for defining software nodes ACPI: scan: Extract _CRS CSI-2 connection information into swnodes ACPI: scan: Extract CSI-2 connection graph from _CRS ACPI: property: Support using strings in reference properties * acpi-processor: ACPI: arm64: export acpi_arch_thermal_cpufreq_pctg() ACPI: processor: reduce CPUFREQ thermal reduction pctg for Tegra241 ACPI: processor: Provide empty stub of acpi_proc_quirk_mwait_check()
3 parents 16f70fe + cb21746 + ccb45b3 commit e3f4440

File tree

10 files changed

+1040
-40
lines changed

10 files changed

+1040
-40
lines changed

drivers/acpi/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ acpi-$(CONFIG_ACPI_SLEEP) += proc.o
3737
# ACPI Bus and Device Drivers
3838
#
3939
acpi-y += bus.o glue.o
40-
acpi-y += scan.o
40+
acpi-y += scan.o mipi-disco-img.o
4141
acpi-y += resource.o
4242
acpi-y += acpi_processor.o
4343
acpi-y += processor_core.o

drivers/acpi/arm64/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ obj-$(CONFIG_ACPI_GTDT) += gtdt.o
55
obj-$(CONFIG_ACPI_APMT) += apmt.o
66
obj-$(CONFIG_ARM_AMBA) += amba.o
77
obj-y += dma.o init.o
8+
obj-y += thermal_cpufreq.o

drivers/acpi/arm64/thermal_cpufreq.c

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
2+
#include <linux/acpi.h>
3+
#include <linux/export.h>
4+
5+
#include "../internal.h"
6+
7+
#define SMCCC_SOC_ID_T241 0x036b0241
8+
9+
int acpi_arch_thermal_cpufreq_pctg(void)
10+
{
11+
s32 soc_id = arm_smccc_get_soc_id_version();
12+
13+
/*
14+
* Check JEP106 code for NVIDIA Tegra241 chip (036b:0241) and
15+
* reduce the CPUFREQ Thermal reduction percentage to 5%.
16+
*/
17+
if (soc_id == SMCCC_SOC_ID_T241)
18+
return 5;
19+
20+
return 0;
21+
}
22+
EXPORT_SYMBOL_GPL(acpi_arch_thermal_cpufreq_pctg);

drivers/acpi/internal.h

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,15 @@ bool acpi_scan_is_offline(struct acpi_device *adev, bool uevent);
8585
acpi_status acpi_sysfs_table_handler(u32 event, void *table, void *context);
8686
void acpi_scan_table_notify(void);
8787

88+
#ifdef CONFIG_ARM64
89+
int acpi_arch_thermal_cpufreq_pctg(void);
90+
#else
91+
static inline int acpi_arch_thermal_cpufreq_pctg(void)
92+
{
93+
return 0;
94+
}
95+
#endif
96+
8897
/* --------------------------------------------------------------------------
8998
Device Node Initialization / Removal
9099
-------------------------------------------------------------------------- */
@@ -148,8 +157,11 @@ int acpi_wakeup_device_init(void);
148157
#ifdef CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC
149158
void acpi_early_processor_control_setup(void);
150159
void acpi_early_processor_set_pdc(void);
151-
160+
#ifdef CONFIG_X86
152161
void acpi_proc_quirk_mwait_check(void);
162+
#else
163+
static inline void acpi_proc_quirk_mwait_check(void) {}
164+
#endif
153165
bool processor_physically_present(acpi_handle handle);
154166
#else
155167
static inline void acpi_early_processor_control_setup(void) {}
@@ -276,4 +288,13 @@ void acpi_init_lpit(void);
276288
static inline void acpi_init_lpit(void) { }
277289
#endif
278290

291+
/*--------------------------------------------------------------------------
292+
ACPI _CRS CSI-2 and MIPI DisCo for Imaging
293+
-------------------------------------------------------------------------- */
294+
295+
void acpi_mipi_check_crs_csi2(acpi_handle handle);
296+
void acpi_mipi_scan_crs_csi2(void);
297+
void acpi_mipi_init_crs_csi2_swnodes(void);
298+
void acpi_mipi_crs_csi2_cleanup(void);
299+
279300
#endif /* _ACPI_INTERNAL_H_ */

0 commit comments

Comments
 (0)