We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents 67553ee + fc06038 commit 8ddab0fCopy full SHA for 8ddab0f
zephyr/program/lotus/src/cypress_pd_common.c
@@ -1520,7 +1520,13 @@ static void poweroff_dp_check(void)
1520
cypd_read_reg8(PORT_TO_CONTROLLER(i),
1521
CCG_DP_ALT_MODE_CONFIG_REG(PORT_TO_CONTROLLER_PORT(i)),
1522
&alt_active);
1523
- if ((alt_active & BIT(1)) == 0) {
+ /* DP_ALT should be on bit 1 always, but there is a bug
1524
+ * in the PD stack that if a port does not have TBT mode
1525
+ * enabled, it will shift the DP alt mode enable bit to
1526
+ * bit 0. Since we only whitelist DP alt mode cards, just
1527
+ * mask on both as a workaround.
1528
+ */
1529
+ if ((alt_active & (BIT(1) + BIT(0))) == 0) {
1530
port_to_safe_mode(i);
1531
}
1532
pending_dp_poweroff[i] = 0;
0 commit comments