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 'pwrseq-updates-for-v6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull power sequencing updates from Bartosz Golaszewski:
"We added support for another Qualcomm WCN model and a FIXME comment
that explains why we still need to keep a GPIO workaround for now
despite having merged a set of changes to the PCI code that seemingly
fixed the underlying problem:

- support a new model in the qcom-wcn pwrseq driver

- explain the need to keep the WLAN_EN GPIO workaround for now with a
FIXME comment"

* tag 'pwrseq-updates-for-v6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
power: sequencing: qcom-wcn: explain why we need the WLAN_EN GPIO hack
power: sequencing: qcom-wcn: add support for the WCN6750 PMU

+29
+29
drivers/power/sequencing/pwrseq-qcom-wcn.c
··· 272 272 .targets = pwrseq_qcom_wcn_targets, 273 273 }; 274 274 275 + static const char *const pwrseq_wcn6750_vregs[] = { 276 + "vddaon", 277 + "vddasd", 278 + "vddpmu", 279 + "vddrfa0p8", 280 + "vddrfa1p2", 281 + "vddrfa1p7", 282 + "vddrfa2p2", 283 + }; 284 + 285 + static const struct pwrseq_qcom_wcn_pdata pwrseq_wcn6750_of_data = { 286 + .vregs = pwrseq_wcn6750_vregs, 287 + .num_vregs = ARRAY_SIZE(pwrseq_wcn6750_vregs), 288 + .pwup_delay_ms = 50, 289 + .gpio_enable_delay_ms = 5, 290 + .targets = pwrseq_qcom_wcn_targets, 291 + }; 292 + 275 293 static const char *const pwrseq_wcn6855_vregs[] = { 276 294 "vddio", 277 295 "vddaon", ··· 396 378 return dev_err_probe(dev, PTR_ERR(ctx->bt_gpio), 397 379 "Failed to get the Bluetooth enable GPIO\n"); 398 380 381 + /* 382 + * FIXME: This should actually be GPIOD_OUT_LOW, but doing so would 383 + * cause the WLAN power to be toggled, resulting in PCIe link down. 384 + * Since the PCIe controller driver is not handling link down currently, 385 + * the device becomes unusable. So we need to keep this workaround until 386 + * the link down handling is implemented in the controller driver. 387 + */ 399 388 ctx->wlan_gpio = devm_gpiod_get_optional(dev, "wlan-enable", 400 389 GPIOD_ASIS); 401 390 if (IS_ERR(ctx->wlan_gpio)) ··· 455 430 { 456 431 .compatible = "qcom,wcn7850-pmu", 457 432 .data = &pwrseq_wcn7850_of_data, 433 + }, 434 + { 435 + .compatible = "qcom,wcn6750-pmu", 436 + .data = &pwrseq_wcn6750_of_data, 458 437 }, 459 438 { } 460 439 };