Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'pm-6.7-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull more power management updates from Rafael Wysocki:
"These add new hardware support to a cpufreq driver and fix cpupower
utility documentation:

- Add support for several Qualcomm SoC versions to the Qualcomm
cpufreq driver (Robert Marko, Varadarajan Narayanan)

- Fix a reference to a removed document in the cpupower utility
documentation (Vegard Nossum)"

* tag 'pm-6.7-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
cpufreq: qcom-nvmem: Introduce cpufreq for ipq95xx
cpufreq: qcom-nvmem: Enable cpufreq for ipq53xx
cpufreq: qcom-nvmem: add support for IPQ8074
cpupower: fix reference to nonexistent document

+64 -1
+3
drivers/cpufreq/cpufreq-dt-platdev.c
··· 180 180 { .compatible = "ti,am62a7", }, 181 181 { .compatible = "ti,am62p5", }, 182 182 183 + { .compatible = "qcom,ipq5332", }, 183 184 { .compatible = "qcom,ipq6018", }, 184 185 { .compatible = "qcom,ipq8064", }, 186 + { .compatible = "qcom,ipq8074", }, 187 + { .compatible = "qcom,ipq9574", }, 185 188 { .compatible = "qcom,apq8064", }, 186 189 { .compatible = "qcom,msm8974", }, 187 190 { .compatible = "qcom,msm8960", },
+60
drivers/cpufreq/qcom-cpufreq-nvmem.c
··· 38 38 39 39 #define IPQ6000_VERSION BIT(2) 40 40 41 + enum ipq8074_versions { 42 + IPQ8074_HAWKEYE_VERSION = 0, 43 + IPQ8074_ACORN_VERSION, 44 + }; 45 + 41 46 struct qcom_cpufreq_drv; 42 47 43 48 struct qcom_cpufreq_match_data { ··· 183 178 switch (msm_id) { 184 179 case QCOM_ID_MSM8996: 185 180 case QCOM_ID_APQ8096: 181 + case QCOM_ID_IPQ5332: 182 + case QCOM_ID_IPQ5322: 183 + case QCOM_ID_IPQ5312: 184 + case QCOM_ID_IPQ5302: 185 + case QCOM_ID_IPQ5300: 186 + case QCOM_ID_IPQ9514: 187 + case QCOM_ID_IPQ9550: 188 + case QCOM_ID_IPQ9554: 189 + case QCOM_ID_IPQ9570: 190 + case QCOM_ID_IPQ9574: 186 191 drv->versions = 1 << (unsigned int)(*speedbin); 187 192 break; 188 193 case QCOM_ID_MSM8996SG: ··· 353 338 return 0; 354 339 } 355 340 341 + static int qcom_cpufreq_ipq8074_name_version(struct device *cpu_dev, 342 + struct nvmem_cell *speedbin_nvmem, 343 + char **pvs_name, 344 + struct qcom_cpufreq_drv *drv) 345 + { 346 + u32 msm_id; 347 + int ret; 348 + *pvs_name = NULL; 349 + 350 + ret = qcom_smem_get_soc_id(&msm_id); 351 + if (ret) 352 + return ret; 353 + 354 + switch (msm_id) { 355 + case QCOM_ID_IPQ8070A: 356 + case QCOM_ID_IPQ8071A: 357 + case QCOM_ID_IPQ8172: 358 + case QCOM_ID_IPQ8173: 359 + case QCOM_ID_IPQ8174: 360 + drv->versions = BIT(IPQ8074_ACORN_VERSION); 361 + break; 362 + case QCOM_ID_IPQ8072A: 363 + case QCOM_ID_IPQ8074A: 364 + case QCOM_ID_IPQ8076A: 365 + case QCOM_ID_IPQ8078A: 366 + drv->versions = BIT(IPQ8074_HAWKEYE_VERSION); 367 + break; 368 + default: 369 + dev_err(cpu_dev, 370 + "SoC ID %u is not part of IPQ8074 family, limiting to 1.4GHz!\n", 371 + msm_id); 372 + drv->versions = BIT(IPQ8074_ACORN_VERSION); 373 + break; 374 + } 375 + 376 + return 0; 377 + } 378 + 356 379 static const char *generic_genpd_names[] = { "perf", NULL }; 357 380 358 381 static const struct qcom_cpufreq_match_data match_data_kryo = { ··· 418 365 419 366 static const struct qcom_cpufreq_match_data match_data_ipq8064 = { 420 367 .get_version = qcom_cpufreq_ipq8064_name_version, 368 + }; 369 + 370 + static const struct qcom_cpufreq_match_data match_data_ipq8074 = { 371 + .get_version = qcom_cpufreq_ipq8074_name_version, 421 372 }; 422 373 423 374 static int qcom_cpufreq_probe(struct platform_device *pdev) ··· 551 494 { .compatible = "qcom,msm8909", .data = &match_data_msm8909 }, 552 495 { .compatible = "qcom,msm8996", .data = &match_data_kryo }, 553 496 { .compatible = "qcom,qcs404", .data = &match_data_qcs404 }, 497 + { .compatible = "qcom,ipq5332", .data = &match_data_kryo }, 554 498 { .compatible = "qcom,ipq6018", .data = &match_data_ipq6018 }, 555 499 { .compatible = "qcom,ipq8064", .data = &match_data_ipq8064 }, 500 + { .compatible = "qcom,ipq8074", .data = &match_data_ipq8074 }, 556 501 { .compatible = "qcom,apq8064", .data = &match_data_krait }, 502 + { .compatible = "qcom,ipq9574", .data = &match_data_kryo }, 557 503 { .compatible = "qcom,msm8974", .data = &match_data_krait }, 558 504 { .compatible = "qcom,msm8960", .data = &match_data_krait }, 559 505 {},
+1 -1
tools/power/cpupower/man/cpupower-powercap-info.1
··· 17 17 .SH "DOCUMENTATION" 18 18 19 19 kernel sources: 20 - Documentation/power/powercap/powercap.txt 20 + Documentation/power/powercap/powercap.rst 21 21 22 22 23 23 .SH "SEE ALSO"