Loading drivers/net/wireless/cnss2/debug.c +2 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ static int cnss_pin_connect_show(struct seq_file *s, void *data) cnss_priv->pin_result.fw_phy_io_pin_result); seq_printf(s, "FW RF pin result: %04x\n", cnss_priv->pin_result.fw_rf_pin_result); seq_printf(s, "Host pin result: %04x\n", cnss_priv->pin_result.host_pin_result); seq_puts(s, "\n"); return 0; Loading drivers/net/wireless/cnss2/main.c +1 −0 Original line number Diff line number Diff line Loading @@ -1013,6 +1013,7 @@ static int cnss_qca6290_powerup(struct cnss_plat_data *plat_priv) cnss_pr_err("Failed to start MHI, err = %d\n", ret); goto suspend_link; } cnss_set_pin_connect_status(plat_priv); bypass_fbc: if (qmi_bypass) Loading drivers/net/wireless/cnss2/main.h +14 −0 Original line number Diff line number Diff line Loading @@ -114,10 +114,23 @@ struct cnss_recovery_work_t { enum cnss_recovery_reason reason; }; enum cnss_pins { CNSS_WLAN_EN, CNSS_PCIE_TXP, CNSS_PCIE_TXN, CNSS_PCIE_RXP, CNSS_PCIE_RXN, CNSS_PCIE_REFCLKP, CNSS_PCIE_REFCLKN, CNSS_PCIE_RST, CNSS_PCIE_WAKE, }; struct cnss_pin_connect_result { u32 fw_pwr_pin_result; u32 fw_phy_io_pin_result; u32 fw_rf_pin_result; u32 host_pin_result; }; struct cnss_plat_data { Loading Loading @@ -170,5 +183,6 @@ int cnss_register_subsys(struct cnss_plat_data *plat_priv); void cnss_unregister_subsys(struct cnss_plat_data *plat_priv); int cnss_register_ramdump(struct cnss_plat_data *plat_priv); void cnss_unregister_ramdump(struct cnss_plat_data *plat_priv); void cnss_set_pin_connect_status(struct cnss_plat_data *plat_priv); #endif /* _CNSS_MAIN_H */ drivers/net/wireless/cnss2/power.c +16 −0 Original line number Diff line number Diff line Loading @@ -368,3 +368,19 @@ void cnss_power_off_device(struct cnss_plat_data *plat_priv) cnss_select_pinctrl_state(plat_priv, false); cnss_vreg_off(plat_priv); } void cnss_set_pin_connect_status(struct cnss_plat_data *plat_priv) { unsigned long pin_status = 0; set_bit(CNSS_WLAN_EN, &pin_status); set_bit(CNSS_PCIE_TXN, &pin_status); set_bit(CNSS_PCIE_TXP, &pin_status); set_bit(CNSS_PCIE_RXN, &pin_status); set_bit(CNSS_PCIE_RXP, &pin_status); set_bit(CNSS_PCIE_REFCLKN, &pin_status); set_bit(CNSS_PCIE_REFCLKP, &pin_status); set_bit(CNSS_PCIE_RST, &pin_status); plat_priv->pin_result.host_pin_result = pin_status; } Loading
drivers/net/wireless/cnss2/debug.c +2 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ static int cnss_pin_connect_show(struct seq_file *s, void *data) cnss_priv->pin_result.fw_phy_io_pin_result); seq_printf(s, "FW RF pin result: %04x\n", cnss_priv->pin_result.fw_rf_pin_result); seq_printf(s, "Host pin result: %04x\n", cnss_priv->pin_result.host_pin_result); seq_puts(s, "\n"); return 0; Loading
drivers/net/wireless/cnss2/main.c +1 −0 Original line number Diff line number Diff line Loading @@ -1013,6 +1013,7 @@ static int cnss_qca6290_powerup(struct cnss_plat_data *plat_priv) cnss_pr_err("Failed to start MHI, err = %d\n", ret); goto suspend_link; } cnss_set_pin_connect_status(plat_priv); bypass_fbc: if (qmi_bypass) Loading
drivers/net/wireless/cnss2/main.h +14 −0 Original line number Diff line number Diff line Loading @@ -114,10 +114,23 @@ struct cnss_recovery_work_t { enum cnss_recovery_reason reason; }; enum cnss_pins { CNSS_WLAN_EN, CNSS_PCIE_TXP, CNSS_PCIE_TXN, CNSS_PCIE_RXP, CNSS_PCIE_RXN, CNSS_PCIE_REFCLKP, CNSS_PCIE_REFCLKN, CNSS_PCIE_RST, CNSS_PCIE_WAKE, }; struct cnss_pin_connect_result { u32 fw_pwr_pin_result; u32 fw_phy_io_pin_result; u32 fw_rf_pin_result; u32 host_pin_result; }; struct cnss_plat_data { Loading Loading @@ -170,5 +183,6 @@ int cnss_register_subsys(struct cnss_plat_data *plat_priv); void cnss_unregister_subsys(struct cnss_plat_data *plat_priv); int cnss_register_ramdump(struct cnss_plat_data *plat_priv); void cnss_unregister_ramdump(struct cnss_plat_data *plat_priv); void cnss_set_pin_connect_status(struct cnss_plat_data *plat_priv); #endif /* _CNSS_MAIN_H */
drivers/net/wireless/cnss2/power.c +16 −0 Original line number Diff line number Diff line Loading @@ -368,3 +368,19 @@ void cnss_power_off_device(struct cnss_plat_data *plat_priv) cnss_select_pinctrl_state(plat_priv, false); cnss_vreg_off(plat_priv); } void cnss_set_pin_connect_status(struct cnss_plat_data *plat_priv) { unsigned long pin_status = 0; set_bit(CNSS_WLAN_EN, &pin_status); set_bit(CNSS_PCIE_TXN, &pin_status); set_bit(CNSS_PCIE_TXP, &pin_status); set_bit(CNSS_PCIE_RXN, &pin_status); set_bit(CNSS_PCIE_RXP, &pin_status); set_bit(CNSS_PCIE_REFCLKN, &pin_status); set_bit(CNSS_PCIE_REFCLKP, &pin_status); set_bit(CNSS_PCIE_RST, &pin_status); plat_priv->pin_result.host_pin_result = pin_status; }