[rafael-pm:bleeding-edge] BUILD SUCCESS 2517a0ba026a90d717f7bd9ee51098c10e93904d
by kernel test robot
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
branch HEAD: 2517a0ba026a90d717f7bd9ee51098c10e93904d Merge branch 'acpi-osl' into linux-next
Unverified Warning (likely false positive, please contact us if interested):
kernel/reboot.c:554:43: warning: Parameter 'power_off' can be declared with const [constParameter]
Warning ids grouped by kconfigs:
gcc_recent_errors
|-- arc-randconfig-p002-20220530
| `-- kernel-reboot.c:warning:Parameter-power_off-can-be-declared-with-const-constParameter
`-- x86_64-randconfig-p001-20220530
`-- kernel-reboot.c:warning:Parameter-power_off-can-be-declared-with-const-constParameter
elapsed time: 722m
configs tested: 128
configs skipped: 3
The following configs have been built successfully.
More configs may be tested in the coming days.
gcc tested configs:
arm64 defconfig
arm64 allyesconfig
arm allmodconfig
arm defconfig
arm allyesconfig
mips allyesconfig
riscv allmodconfig
um i386_defconfig
mips allmodconfig
riscv allyesconfig
um x86_64_defconfig
i386 randconfig-c001-20220530
m68k m5249evb_defconfig
arm omap2plus_defconfig
mips capcella_defconfig
sh sh7770_generic_defconfig
m68k hp300_defconfig
h8300 alldefconfig
powerpc mgcoge_defconfig
arm nhk8815_defconfig
sh sh7763rdp_defconfig
mips loongson1b_defconfig
arm lart_defconfig
s390 zfcpdump_defconfig
powerpc64 defconfig
x86_64 randconfig-c001
i386 randconfig-c001
arm randconfig-c002-20220531
ia64 allmodconfig
ia64 allyesconfig
ia64 defconfig
m68k defconfig
m68k allyesconfig
m68k allmodconfig
nios2 defconfig
arc allyesconfig
csky defconfig
nios2 allyesconfig
alpha defconfig
alpha allyesconfig
h8300 allyesconfig
xtensa allyesconfig
arc defconfig
sh allmodconfig
s390 defconfig
s390 allmodconfig
parisc defconfig
parisc64 defconfig
parisc allyesconfig
s390 allyesconfig
sparc defconfig
i386 allyesconfig
sparc allyesconfig
i386 defconfig
i386 debian-10.3-kselftests
i386 debian-10.3
powerpc allyesconfig
powerpc allnoconfig
powerpc allmodconfig
x86_64 randconfig-a003-20220530
x86_64 randconfig-a006-20220530
x86_64 randconfig-a004-20220530
x86_64 randconfig-a001-20220530
x86_64 randconfig-a002-20220530
x86_64 randconfig-a005-20220530
x86_64 randconfig-a006
x86_64 randconfig-a004
x86_64 randconfig-a002
i386 randconfig-a002-20220530
i386 randconfig-a003-20220530
i386 randconfig-a004-20220530
i386 randconfig-a005-20220530
i386 randconfig-a001-20220530
i386 randconfig-a006-20220530
x86_64 randconfig-a011
x86_64 randconfig-a013
x86_64 randconfig-a015
i386 randconfig-a012
i386 randconfig-a014
i386 randconfig-a016
arc randconfig-r043-20220530
arc randconfig-r043-20220531
s390 randconfig-r044-20220531
riscv randconfig-r042-20220531
riscv allnoconfig
riscv nommu_k210_defconfig
riscv rv32_defconfig
riscv nommu_virt_defconfig
riscv defconfig
x86_64 kexec
x86_64 defconfig
x86_64 allyesconfig
x86_64 rhel-8.3
x86_64 rhel-8.3-func
x86_64 rhel-8.3-syz
x86_64 rhel-8.3-kselftests
x86_64 rhel-8.3-kunit
clang tested configs:
powerpc pseries_defconfig
mips lemote2f_defconfig
powerpc pmac32_defconfig
powerpc walnut_defconfig
mips tb0219_defconfig
powerpc kmeter1_defconfig
mips malta_qemu_32r6_defconfig
arm imx_v4_v5_defconfig
arm vt8500_v6_v7_defconfig
x86_64 randconfig-a005
x86_64 randconfig-a003
x86_64 randconfig-a001
i386 randconfig-a002
i386 randconfig-a006
i386 randconfig-a004
x86_64 randconfig-a011-20220530
x86_64 randconfig-a013-20220530
x86_64 randconfig-a012-20220530
x86_64 randconfig-a014-20220530
x86_64 randconfig-a015-20220530
x86_64 randconfig-a016-20220530
i386 randconfig-a012-20220530
i386 randconfig-a011-20220530
i386 randconfig-a014-20220530
i386 randconfig-a016-20220530
i386 randconfig-a013-20220530
i386 randconfig-a015-20220530
hexagon randconfig-r045-20220530
s390 randconfig-r044-20220530
hexagon randconfig-r041-20220530
riscv randconfig-r042-20220530
--
0-DAY CI Kernel Test Service
https://01.org/lkp
3 weeks, 5 days
[rafael-pm:bleeding-edge] BUILD SUCCESS 4eec359c469be110cdaa32c4a511930e9459fd8b
by kernel test robot
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
branch HEAD: 4eec359c469be110cdaa32c4a511930e9459fd8b Merge branch 'pm-docs' into linux-next
Unverified Warning (likely false positive, please contact us if interested):
kernel/reboot.c:554:43: warning: Parameter 'power_off' can be declared with const [constParameter]
Warning ids grouped by kconfigs:
gcc_recent_errors
|-- m68k-randconfig-p001-20220524
| `-- kernel-reboot.c:warning:Parameter-power_off-can-be-declared-with-const-constParameter
`-- microblaze-randconfig-p002-20220524
`-- kernel-reboot.c:warning:Parameter-power_off-can-be-declared-with-const-constParameter
elapsed time: 723m
configs tested: 142
configs skipped: 3
The following configs have been built successfully.
More configs may be tested in the coming days.
gcc tested configs:
arm64 allyesconfig
arm allmodconfig
arm defconfig
arm allyesconfig
arm64 defconfig
i386 randconfig-c001
powerpc allmodconfig
m68k allyesconfig
m68k allmodconfig
powerpc allyesconfig
s390 allmodconfig
s390 allyesconfig
arm mps2_defconfig
arm assabet_defconfig
sh polaris_defconfig
powerpc pcm030_defconfig
mips db1xxx_defconfig
arm imxrt_defconfig
parisc alldefconfig
arm vf610m4_defconfig
parisc64 defconfig
sh titan_defconfig
sh sh2007_defconfig
openrisc alldefconfig
sh se7712_defconfig
arm pxa3xx_defconfig
sh ecovec24-romimage_defconfig
mips bigsur_defconfig
powerpc ep88xc_defconfig
arc tb10x_defconfig
powerpc ps3_defconfig
sh sdk7786_defconfig
mips maltasmvp_eva_defconfig
powerpc motionpro_defconfig
nios2 10m50_defconfig
arm zeus_defconfig
um alldefconfig
sh se7619_defconfig
powerpc asp8347_defconfig
sparc sparc32_defconfig
arm pleb_defconfig
arm eseries_pxa_defconfig
sparc sparc64_defconfig
sh apsh4ad0a_defconfig
sh se7343_defconfig
s390 zfcpdump_defconfig
arm trizeps4_defconfig
sh hp6xx_defconfig
mips decstation_r4k_defconfig
riscv nommu_k210_defconfig
m68k m5407c3_defconfig
powerpc ep8248e_defconfig
arc hsdk_defconfig
arm randconfig-c002-20220526
arm randconfig-c002-20220524
x86_64 randconfig-c001
ia64 defconfig
ia64 allyesconfig
ia64 allmodconfig
m68k defconfig
nios2 defconfig
arc allyesconfig
csky defconfig
nios2 allyesconfig
alpha defconfig
alpha allyesconfig
h8300 allyesconfig
xtensa allyesconfig
arc defconfig
sh allmodconfig
s390 defconfig
parisc defconfig
parisc allyesconfig
sparc defconfig
i386 allyesconfig
sparc allyesconfig
i386 defconfig
i386 debian-10.3-kselftests
i386 debian-10.3
mips allyesconfig
mips allmodconfig
powerpc allnoconfig
x86_64 randconfig-a004
x86_64 randconfig-a002
x86_64 randconfig-a006
i386 randconfig-a001
i386 randconfig-a003
i386 randconfig-a005
x86_64 randconfig-a015
x86_64 randconfig-a013
x86_64 randconfig-a011
i386 randconfig-a012
i386 randconfig-a014
i386 randconfig-a016
arc randconfig-r043-20220524
s390 randconfig-r044-20220524
riscv randconfig-r042-20220524
arc randconfig-r043-20220526
riscv randconfig-r042-20220526
s390 randconfig-r044-20220526
riscv defconfig
riscv nommu_virt_defconfig
riscv rv32_defconfig
riscv allnoconfig
riscv allmodconfig
riscv allyesconfig
x86_64 rhel-8.3-kselftests
um x86_64_defconfig
um i386_defconfig
x86_64 defconfig
x86_64 kexec
x86_64 rhel-8.3
x86_64 allyesconfig
x86_64 rhel-8.3-func
x86_64 rhel-8.3-kunit
x86_64 rhel-8.3-syz
clang tested configs:
powerpc mpc885_ads_defconfig
mips workpad_defconfig
mips rbtx49xx_defconfig
powerpc walnut_defconfig
mips tb0287_defconfig
powerpc obs600_defconfig
arm mvebu_v5_defconfig
mips pic32mzda_defconfig
arm am200epdkit_defconfig
mips ip28_defconfig
x86_64 randconfig-a001
x86_64 randconfig-a003
x86_64 randconfig-a005
i386 randconfig-a002
i386 randconfig-a006
i386 randconfig-a004
x86_64 randconfig-a012
x86_64 randconfig-a014
x86_64 randconfig-a016
i386 randconfig-a013
i386 randconfig-a011
i386 randconfig-a015
hexagon randconfig-r045-20220524
hexagon randconfig-r045-20220526
hexagon randconfig-r041-20220526
hexagon randconfig-r041-20220524
--
0-DAY CI Kernel Test Service
https://01.org/lkp
1 month
[rafael-pm:bleeding-edge] BUILD SUCCESS ee80e69facff8b4c9c955b8e8c58949c50b4f6f3
by kernel test robot
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
branch HEAD: ee80e69facff8b4c9c955b8e8c58949c50b4f6f3 Merge branch 'pm-docs' into bleeding-edge
elapsed time: 722m
configs tested: 83
configs skipped: 3
The following configs have been built successfully.
More configs may be tested in the coming days.
gcc tested configs:
arm allmodconfig
arm allyesconfig
arm64 allyesconfig
arm defconfig
arm64 defconfig
ia64 defconfig
ia64 allmodconfig
ia64 allyesconfig
m68k allyesconfig
m68k allmodconfig
m68k defconfig
nios2 defconfig
arc allyesconfig
alpha defconfig
csky defconfig
nios2 allyesconfig
alpha allyesconfig
arc defconfig
sh allmodconfig
h8300 allyesconfig
xtensa allyesconfig
parisc defconfig
s390 allmodconfig
parisc allyesconfig
s390 defconfig
s390 allyesconfig
parisc64 defconfig
i386 debian-10.3-kselftests
i386 debian-10.3
i386 defconfig
i386 allyesconfig
sparc allyesconfig
sparc defconfig
mips allyesconfig
mips allmodconfig
powerpc allnoconfig
powerpc allmodconfig
powerpc allyesconfig
i386 randconfig-a001
i386 randconfig-a003
i386 randconfig-a005
x86_64 randconfig-a015
x86_64 randconfig-a013
x86_64 randconfig-a011
i386 randconfig-a014
i386 randconfig-a012
i386 randconfig-a016
x86_64 randconfig-a004
x86_64 randconfig-a002
x86_64 randconfig-a006
riscv randconfig-r042-20220524
arc randconfig-r043-20220524
s390 randconfig-r044-20220524
riscv allnoconfig
riscv allyesconfig
riscv allmodconfig
riscv nommu_k210_defconfig
riscv rv32_defconfig
riscv nommu_virt_defconfig
riscv defconfig
um x86_64_defconfig
um i386_defconfig
x86_64 defconfig
x86_64 kexec
x86_64 rhel-8.3
x86_64 allyesconfig
x86_64 rhel-8.3-func
x86_64 rhel-8.3-kunit
x86_64 rhel-8.3-kselftests
x86_64 rhel-8.3-syz
clang tested configs:
i386 randconfig-a002
i386 randconfig-a004
i386 randconfig-a006
x86_64 randconfig-a012
x86_64 randconfig-a014
x86_64 randconfig-a016
i386 randconfig-a013
i386 randconfig-a011
i386 randconfig-a015
x86_64 randconfig-a003
x86_64 randconfig-a005
hexagon randconfig-r045-20220524
hexagon randconfig-r041-20220524
--
0-DAY CI Kernel Test Service
https://01.org/lkp
1 month
[rafael-pm:bleeding-edge] BUILD SUCCESS 3d22e39d225d7adb6c670065f4ae016e759171ed
by kernel test robot
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
branch HEAD: 3d22e39d225d7adb6c670065f4ae016e759171ed Merge branch 'acpica' into linux-next
elapsed time: 829m
configs tested: 108
configs skipped: 3
The following configs have been built successfully.
More configs may be tested in the coming days.
gcc tested configs:
arm allmodconfig
arm defconfig
arm64 defconfig
arm allyesconfig
arm64 allyesconfig
mips allyesconfig
riscv allyesconfig
um x86_64_defconfig
riscv allmodconfig
um i386_defconfig
mips allmodconfig
arc allyesconfig
alpha allyesconfig
nios2 allyesconfig
arm imxrt_defconfig
arm imx_v6_v7_defconfig
mips loongson1b_defconfig
parisc alldefconfig
arm assabet_defconfig
xtensa generic_kc705_defconfig
s390 zfcpdump_defconfig
arm omap2plus_defconfig
powerpc64 defconfig
mips decstation_r4k_defconfig
arm qcom_defconfig
arm realview_defconfig
powerpc sequoia_defconfig
arm sama5_defconfig
arc tb10x_defconfig
h8300 edosk2674_defconfig
nios2 alldefconfig
arm h5000_defconfig
m68k multi_defconfig
arc axs101_defconfig
alpha defconfig
ia64 defconfig
sh microdev_defconfig
m68k defconfig
m68k allyesconfig
m68k allmodconfig
csky defconfig
h8300 allyesconfig
xtensa allyesconfig
arc defconfig
sh allmodconfig
s390 defconfig
s390 allmodconfig
parisc defconfig
parisc64 defconfig
parisc allyesconfig
s390 allyesconfig
i386 debian-10.3-kselftests
i386 debian-10.3
i386 defconfig
i386 allyesconfig
sparc allyesconfig
sparc defconfig
nios2 defconfig
powerpc allyesconfig
powerpc allnoconfig
powerpc allmodconfig
x86_64 randconfig-a006
x86_64 randconfig-a004
x86_64 randconfig-a002
i386 randconfig-a001
i386 randconfig-a003
i386 randconfig-a005
x86_64 randconfig-a013
x86_64 randconfig-a011
x86_64 randconfig-a015
i386 randconfig-a014
i386 randconfig-a012
i386 randconfig-a016
arc randconfig-r043-20220522
s390 randconfig-r044-20220522
riscv randconfig-r042-20220522
riscv defconfig
riscv nommu_virt_defconfig
riscv rv32_defconfig
riscv nommu_k210_defconfig
riscv allnoconfig
x86_64 kexec
x86_64 defconfig
x86_64 allyesconfig
x86_64 rhel-8.3
x86_64 rhel-8.3-func
x86_64 rhel-8.3-syz
x86_64 rhel-8.3-kselftests
x86_64 rhel-8.3-kunit
clang tested configs:
arm ep93xx_defconfig
powerpc mpc832x_rdb_defconfig
powerpc lite5200b_defconfig
powerpc mpc8560_ads_defconfig
arm omap1_defconfig
i386 randconfig-a002
i386 randconfig-a006
i386 randconfig-a004
x86_64 randconfig-a012
x86_64 randconfig-a014
x86_64 randconfig-a016
i386 randconfig-a013
i386 randconfig-a011
i386 randconfig-a015
x86_64 randconfig-a005
x86_64 randconfig-a003
x86_64 randconfig-a001
hexagon randconfig-r041-20220522
hexagon randconfig-r045-20220522
--
0-DAY CI Kernel Test Service
https://01.org/lkp
1 month
Re: [PATCH v2 1/5] ACPI: CPPC: Check _OSC for flexible address space
by Rafael J. Wysocki
On Wed, May 18, 2022 at 11:09 AM Pierre Gondois <pierre.gondois(a)arm.com> wrote:
>
> ACPI 6.2 Section 6.2.11.2 'Platform-Wide OSPM Capabilities':
> Starting with ACPI Specification 6.2, all _CPC registers can be in
> PCC, System Memory, System IO, or Functional Fixed Hardware address
> spaces. OSPM support for this more flexible register space scheme is
> indicated by the “Flexible Address Space for CPPC Registers” _OSC bit
>
> Otherwise (cf ACPI 6.1, s8.4.7.1.1.X), _CPC registers must be in:
> - PCC or Functional Fixed Hardware address space if defined
> - SystemMemory address space (NULL register) if not defined
>
> Add the corresponding _OSC bit and check it when parsing _CPC objects.
>
> Signed-off-by: Pierre Gondois <pierre.gondois(a)arm.com>
> Reviewed-by: Sudeep Holla <sudeep.holla(a)arm.com>
> ---
> drivers/acpi/bus.c | 18 ++++++++++++++++++
> drivers/acpi/cppc_acpi.c | 9 +++++++++
> include/linux/acpi.h | 2 ++
> 3 files changed, 29 insertions(+)
>
> diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
> index 3e58b613a2c4..9eca43d1d941 100644
> --- a/drivers/acpi/bus.c
> +++ b/drivers/acpi/bus.c
> @@ -278,6 +278,20 @@ bool osc_sb_apei_support_acked;
> bool osc_pc_lpi_support_confirmed;
> EXPORT_SYMBOL_GPL(osc_pc_lpi_support_confirmed);
>
> +/*
> + * ACPI 6.2 Section 6.2.11.2 'Platform-Wide OSPM Capabilities':
> + * Starting with ACPI Specification 6.2, all _CPC registers can be in
> + * PCC, System Memory, System IO, or Functional Fixed Hardware address
> + * spaces. OSPM support for this more flexible register space scheme is
> + * indicated by the “Flexible Address Space for CPPC Registers” _OSC bit.
> + *
> + * Otherwise (cf ACPI 6.1, s8.4.7.1.1.X), _CPC registers must be in:
> + * - PCC or Functional Fixed Hardware address space if defined
> + * - SystemMemory address space (NULL register) if not defined
> + */
> +bool osc_cpc_flexible_adr_space_confirmed;
> +EXPORT_SYMBOL_GPL(osc_cpc_flexible_adr_space_confirmed);
> +
> /*
> * ACPI 6.4 Operating System Capabilities for USB.
> */
> @@ -321,6 +335,8 @@ static void acpi_bus_osc_negotiate_platform_control(void)
> }
> #endif
>
> + capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_CPC_FLEXIBLE_ADR_SPACE;
> +
> if (IS_ENABLED(CONFIG_SCHED_MC_PRIO))
> capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_CPC_DIVERSE_HIGH_SUPPORT;
>
> @@ -366,6 +382,8 @@ static void acpi_bus_osc_negotiate_platform_control(void)
> capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_PCLPI_SUPPORT;
> osc_sb_native_usb4_support_confirmed =
> capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_NATIVE_USB4_SUPPORT;
> + osc_cpc_flexible_adr_space_confirmed =
> + capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_CPC_FLEXIBLE_ADR_SPACE;
> }
>
> kfree(context.ret.pointer);
> diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
> index bc1454789a06..6f09fe011544 100644
> --- a/drivers/acpi/cppc_acpi.c
> +++ b/drivers/acpi/cppc_acpi.c
> @@ -736,6 +736,11 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
> if (gas_t->address) {
> void __iomem *addr;
>
> + if (!osc_cpc_flexible_adr_space_confirmed) {
> + pr_debug("Flexible address space capability not supported\n");
> + goto out_free;
> + }
> +
> addr = ioremap(gas_t->address, gas_t->bit_width/8);
> if (!addr)
> goto out_free;
> @@ -758,6 +763,10 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
> gas_t->address);
> goto out_free;
> }
> + if (!osc_cpc_flexible_adr_space_confirmed) {
> + pr_debug("Flexible address space capability not supported\n");
> + goto out_free;
> + }
> } else {
> if (gas_t->space_id != ACPI_ADR_SPACE_FIXED_HARDWARE || !cpc_ffh_supported()) {
> /* Support only PCC, SystemMemory, SystemIO, and FFH type regs. */
> diff --git a/include/linux/acpi.h b/include/linux/acpi.h
> index d7136d13aa44..03465db16b68 100644
> --- a/include/linux/acpi.h
> +++ b/include/linux/acpi.h
> @@ -574,6 +574,7 @@ acpi_status acpi_run_osc(acpi_handle handle, struct acpi_osc_context *context);
> #define OSC_SB_OSLPI_SUPPORT 0x00000100
> #define OSC_SB_CPC_DIVERSE_HIGH_SUPPORT 0x00001000
> #define OSC_SB_GENERIC_INITIATOR_SUPPORT 0x00002000
> +#define OSC_SB_CPC_FLEXIBLE_ADR_SPACE 0x00004000
> #define OSC_SB_NATIVE_USB4_SUPPORT 0x00040000
> #define OSC_SB_PRM_SUPPORT 0x00200000
>
> @@ -581,6 +582,7 @@ extern bool osc_sb_apei_support_acked;
> extern bool osc_pc_lpi_support_confirmed;
> extern bool osc_sb_native_usb4_support_confirmed;
> extern bool osc_sb_cppc_not_supported;
> +extern bool osc_cpc_flexible_adr_space_confirmed;
>
> /* USB4 Capabilities */
> #define OSC_USB_USB3_TUNNELING 0x00000001
> --
Applied as 5.19 material along with the rest of the series, thanks!
1 month, 1 week
[rafael-pm:bleeding-edge] BUILD SUCCESS c0ba9ef9d454d6189164b92bbfdb12f6691e880c
by kernel test robot
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
branch HEAD: c0ba9ef9d454d6189164b92bbfdb12f6691e880c Merge branch 'pm-cpufreq' into bleeding-edge
elapsed time: 1046m
configs tested: 92
configs skipped: 3
The following configs have been built successfully.
More configs may be tested in the coming days.
gcc tested configs:
arm allmodconfig
arm allyesconfig
arm64 allyesconfig
arm defconfig
arm64 defconfig
i386 randconfig-c001-20220516
m68k m5407c3_defconfig
arm at91_dt_defconfig
powerpc mpc8540_ads_defconfig
m68k amiga_defconfig
arm pxa_defconfig
arm cm_x300_defconfig
sh sh7770_generic_defconfig
ia64 allmodconfig
ia64 defconfig
ia64 allyesconfig
m68k defconfig
m68k allmodconfig
m68k allyesconfig
nios2 defconfig
arc allyesconfig
alpha defconfig
csky defconfig
nios2 allyesconfig
alpha allyesconfig
arc defconfig
h8300 allyesconfig
xtensa allyesconfig
sh allmodconfig
parisc defconfig
s390 allmodconfig
parisc allyesconfig
s390 defconfig
parisc64 defconfig
s390 allyesconfig
i386 debian-10.3-kselftests
i386 debian-10.3
i386 defconfig
i386 allyesconfig
sparc allyesconfig
sparc defconfig
mips allmodconfig
mips allyesconfig
powerpc allnoconfig
powerpc allmodconfig
powerpc allyesconfig
x86_64 randconfig-a012-20220516
x86_64 randconfig-a011-20220516
x86_64 randconfig-a013-20220516
x86_64 randconfig-a014-20220516
x86_64 randconfig-a016-20220516
x86_64 randconfig-a015-20220516
i386 randconfig-a011-20220516
i386 randconfig-a013-20220516
i386 randconfig-a015-20220516
i386 randconfig-a012-20220516
i386 randconfig-a016-20220516
i386 randconfig-a014-20220516
arc randconfig-r043-20220516
riscv randconfig-r042-20220516
s390 randconfig-r044-20220516
riscv allnoconfig
riscv allyesconfig
riscv allmodconfig
riscv nommu_k210_defconfig
riscv rv32_defconfig
riscv nommu_virt_defconfig
riscv defconfig
um i386_defconfig
um x86_64_defconfig
x86_64 defconfig
x86_64 allyesconfig
x86_64 kexec
x86_64 rhel-8.3-func
x86_64 rhel-8.3
x86_64 rhel-8.3-kunit
x86_64 rhel-8.3-syz
x86_64 rhel-8.3-kselftests
clang tested configs:
x86_64 randconfig-a002-20220516
x86_64 randconfig-a001-20220516
x86_64 randconfig-a003-20220516
x86_64 randconfig-a005-20220516
x86_64 randconfig-a004-20220516
x86_64 randconfig-a006-20220516
i386 randconfig-a003-20220516
i386 randconfig-a001-20220516
i386 randconfig-a004-20220516
i386 randconfig-a002-20220516
i386 randconfig-a005-20220516
i386 randconfig-a006-20220516
hexagon randconfig-r041-20220516
hexagon randconfig-r045-20220516
--
0-DAY CI Kernel Test Service
https://01.org/lkp
1 month, 1 week
[rafael-pm:bleeding-edge] BUILD SUCCESS 6b601767c503e2488f8e4ce6ce06ad67573797dd
by kernel test robot
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
branch HEAD: 6b601767c503e2488f8e4ce6ce06ad67573797dd Merge branch 'thermal-int340x-fixes' into linux-next
elapsed time: 848m
configs tested: 93
configs skipped: 3
The following configs have been built successfully.
More configs may be tested in the coming days.
gcc tested configs:
arm allmodconfig
arm allyesconfig
arm64 allyesconfig
arm defconfig
arm64 defconfig
i386 randconfig-c001-20220516
sh se7780_defconfig
sh se7705_defconfig
powerpc sequoia_defconfig
ia64 allmodconfig
ia64 defconfig
ia64 allyesconfig
m68k defconfig
m68k allyesconfig
m68k allmodconfig
alpha defconfig
csky defconfig
alpha allyesconfig
nios2 allyesconfig
sh allmodconfig
arc defconfig
h8300 allyesconfig
xtensa allyesconfig
parisc defconfig
s390 allmodconfig
parisc allyesconfig
s390 defconfig
s390 allyesconfig
parisc64 defconfig
i386 debian-10.3-kselftests
i386 debian-10.3
i386 defconfig
i386 allyesconfig
sparc allyesconfig
sparc defconfig
nios2 defconfig
arc allyesconfig
mips allyesconfig
mips allmodconfig
powerpc allnoconfig
powerpc allmodconfig
powerpc allyesconfig
x86_64 randconfig-a012-20220516
x86_64 randconfig-a011-20220516
x86_64 randconfig-a013-20220516
x86_64 randconfig-a014-20220516
x86_64 randconfig-a016-20220516
x86_64 randconfig-a015-20220516
i386 randconfig-a014-20220516
i386 randconfig-a011-20220516
i386 randconfig-a013-20220516
i386 randconfig-a015-20220516
i386 randconfig-a012-20220516
i386 randconfig-a016-20220516
arc randconfig-r043-20220516
riscv randconfig-r042-20220516
s390 randconfig-r044-20220516
riscv allnoconfig
riscv allyesconfig
riscv allmodconfig
riscv nommu_k210_defconfig
riscv rv32_defconfig
riscv nommu_virt_defconfig
riscv defconfig
um i386_defconfig
um x86_64_defconfig
x86_64 defconfig
x86_64 allyesconfig
x86_64 kexec
x86_64 rhel-8.3-func
x86_64 rhel-8.3
x86_64 rhel-8.3-kunit
x86_64 rhel-8.3-kselftests
x86_64 rhel-8.3-syz
clang tested configs:
mips cavium_octeon_defconfig
powerpc mpc836x_mds_defconfig
powerpc microwatt_defconfig
powerpc akebono_defconfig
powerpc mvme5100_defconfig
i386 randconfig-a005-20220516
i386 randconfig-a003-20220516
i386 randconfig-a001-20220516
i386 randconfig-a004-20220516
i386 randconfig-a006-20220516
i386 randconfig-a002-20220516
hexagon randconfig-r045-20220516
hexagon randconfig-r041-20220516
x86_64 randconfig-a002-20220516
x86_64 randconfig-a001-20220516
x86_64 randconfig-a003-20220516
x86_64 randconfig-a005-20220516
x86_64 randconfig-a004-20220516
x86_64 randconfig-a006-20220516
--
0-DAY CI Kernel Test Service
https://01.org/lkp
1 month, 1 week
[rafael-pm:bleeding-edge] BUILD SUCCESS 60c4d1a7db661a73f444de5563a84e57ce78dc76
by kernel test robot
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
branch HEAD: 60c4d1a7db661a73f444de5563a84e57ce78dc76 Merge branch 'pm-cpufreq' into bleeding-edge
elapsed time: 4002m
configs tested: 110
configs skipped: 3
The following configs have been built successfully.
More configs may be tested in the coming days.
gcc tested configs:
arm allmodconfig
arm allyesconfig
arm defconfig
arm64 defconfig
arm64 allyesconfig
i386 randconfig-c001
mips bigsur_defconfig
powerpc mpc837x_mds_defconfig
arm trizeps4_defconfig
mips tb0226_defconfig
arm lpc18xx_defconfig
m68k atari_defconfig
ia64 bigsur_defconfig
arc haps_hs_smp_defconfig
arc nsim_700_defconfig
sh se7343_defconfig
parisc generic-32bit_defconfig
sh hp6xx_defconfig
sh se7751_defconfig
sh rsk7264_defconfig
x86_64 randconfig-c001
arm randconfig-c002-20220512
ia64 allmodconfig
ia64 defconfig
ia64 allyesconfig
m68k defconfig
m68k allyesconfig
m68k allmodconfig
alpha defconfig
csky defconfig
nios2 allyesconfig
alpha allyesconfig
arc defconfig
sh allmodconfig
h8300 allyesconfig
xtensa allyesconfig
parisc defconfig
s390 allmodconfig
parisc allyesconfig
s390 defconfig
parisc64 defconfig
s390 allyesconfig
i386 debian-10.3-kselftests
i386 debian-10.3
i386 defconfig
i386 allyesconfig
sparc defconfig
sparc allyesconfig
nios2 defconfig
arc allyesconfig
mips allmodconfig
mips allyesconfig
powerpc allnoconfig
powerpc allmodconfig
powerpc allyesconfig
x86_64 randconfig-a004
x86_64 randconfig-a002
x86_64 randconfig-a006
i386 randconfig-a001
i386 randconfig-a003
i386 randconfig-a005
x86_64 randconfig-a013
x86_64 randconfig-a011
x86_64 randconfig-a015
i386 randconfig-a014
i386 randconfig-a012
i386 randconfig-a016
arc randconfig-r043-20220512
s390 randconfig-r044-20220512
riscv randconfig-r042-20220512
riscv allnoconfig
riscv allmodconfig
riscv nommu_k210_defconfig
riscv rv32_defconfig
riscv nommu_virt_defconfig
riscv defconfig
riscv allyesconfig
um i386_defconfig
um x86_64_defconfig
x86_64 defconfig
x86_64 allyesconfig
x86_64 rhel-8.3-kselftests
x86_64 kexec
x86_64 rhel-8.3-syz
x86_64 rhel-8.3-func
x86_64 rhel-8.3
x86_64 rhel-8.3-kunit
clang tested configs:
x86_64 randconfig-c007
powerpc randconfig-c003-20220512
arm randconfig-c002-20220512
s390 randconfig-c005-20220512
i386 randconfig-c001
riscv randconfig-c006-20220512
mips randconfig-c004-20220512
arm orion5x_defconfig
powerpc ppc64e_defconfig
powerpc tqm5200_defconfig
x86_64 allyesconfig
powerpc allmodconfig
mips pic32mzda_defconfig
x86_64 randconfig-a005
x86_64 randconfig-a001
x86_64 randconfig-a003
i386 randconfig-a002
i386 randconfig-a004
i386 randconfig-a006
x86_64 randconfig-a012
x86_64 randconfig-a014
x86_64 randconfig-a016
i386 randconfig-a013
i386 randconfig-a011
i386 randconfig-a015
hexagon randconfig-r045-20220512
hexagon randconfig-r041-20220512
--
0-DAY CI Kernel Test Service
https://01.org/lkp
1 month, 1 week
Re: [PATCH v1 3/5] ACPI: CPPC: Assume no transition latency if no PCCT
by Sudeep Holla
On Wed, May 11, 2022 at 03:45:57PM +0200, Pierre Gondois wrote:
> From: Pierre Gondois <Pierre.Gondois(a)arm.com>
>
> The transition_delay_us (struct cpufreq_policy) is currently defined
> as:
> Preferred average time interval between consecutive invocations of
> the driver to set the frequency for this policy. To be set by the
> scaling driver (0, which is the default, means no preference).
> The transition_latency represents the amount of time necessary for a
> CPU to change its frequency.
>
> A PCCT table advertises mutliple values:
> - pcc_nominal: Expected latency to process a command, in microseconds
> - pcc_mpar: The maximum number of periodic requests that the subspace
> channel can support, reported in commands per minute. 0 indicates no
> limitation.
> - pcc_mrtt: The minimum amount of time that OSPM must wait after the
> completion of a command before issuing the next command,
> in microseconds.
> cppc_get_transition_latency() allows to get the max of them.
>
> commit d4f3388afd48 ("cpufreq / CPPC: Set platform specific
> transition_delay_us") allows to select transition_delay_us based on
> the platform, and fallbacks to cppc_get_transition_latency()
> otherwise.
>
> If _CPC objects are not using PCC channels (no PPCT table), the
> transition_delay_us is set to CPUFREQ_ETERNAL, leading to really long
> periods between frequency updates (~4s).
>
> If the desired_reg, where performance requests are written, is in
> SystemMemory or SystemIo ACPI address space, there is no delay
> in requests. So return 0 instead of CPUFREQ_ETERNAL, leading to
> transition_delay_us being set to LATENCY_MULTIPLIER us (1000 us).
>
> This patch also adds two macros to check the address spaces.
>
> Signed-off-by: Pierre Gondois <pierre.gondois(a)arm.com>
> ---
> drivers/acpi/cppc_acpi.c | 17 ++++++++++++++++-
> 1 file changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
> index 6f09fe011544..cc932ec1b613 100644
> --- a/drivers/acpi/cppc_acpi.c
> +++ b/drivers/acpi/cppc_acpi.c
> @@ -100,6 +100,16 @@ static DEFINE_PER_CPU(struct cpc_desc *, cpc_desc_ptr);
> (cpc)->cpc_entry.reg.space_id == \
> ACPI_ADR_SPACE_PLATFORM_COMM)
>
> +/* Check if a CPC register is in SystemMemory */
> +#define CPC_IN_SM(cpc) ((cpc)->type == ACPI_TYPE_BUFFER && \
> + (cpc)->cpc_entry.reg.space_id == \
> + ACPI_ADR_SPACE_SYSTEM_MEMORY)
> +
Again my taste or preference: s/SM/SYS_MEM or SYSTEM_MEM
> +/* Check if a CPC register is in SystemIo */
> +#define CPC_IN_SIO(cpc) ((cpc)->type == ACPI_TYPE_BUFFER && \
> + (cpc)->cpc_entry.reg.space_id == \
> + ACPI_ADR_SPACE_SYSTEM_IO)
> +
Ditto, s/SM/SYS_IO or SYSTEM_IO
I need not refer back to the macro when reading the code. SM/SIO is too
short and makes it hard to infer from the name in general.
> /* Evaluates to True if reg is a NULL register descriptor */
> #define IS_NULL_REG(reg) ((reg)->space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY && \
> (reg)->address == 0 && \
> @@ -1456,6 +1466,9 @@ EXPORT_SYMBOL_GPL(cppc_set_perf);
> * transition latency for performance change requests. The closest we have
> * is the timing information from the PCCT tables which provides the info
> * on the number and frequency of PCC commands the platform can handle.
> + *
> + * If desired_reg is in the SystemMemory or SystemIo ACPI address space,
> + * then assume there is no latency.
> */
> unsigned int cppc_get_transition_latency(int cpu_num)
> {
> @@ -1481,7 +1494,9 @@ unsigned int cppc_get_transition_latency(int cpu_num)
> return CPUFREQ_ETERNAL;
>
> desired_reg = &cpc_desc->cpc_regs[DESIRED_PERF];
> - if (!CPC_IN_PCC(desired_reg))
> + if (CPC_IN_SM(desired_reg) || CPC_IN_SIO(desired_reg))
> + return 0;
> + else if (!CPC_IN_PCC(desired_reg))
> return CPUFREQ_ETERNAL;
Apart from the above,
Reviewed-by: Sudeep Holla <sudeep.holla(a)arm.com>
--
Regards,
Sudeep
1 month, 2 weeks