Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed501769 authored by Sarada Prasanna Garnayak's avatar Sarada Prasanna Garnayak Committed by Gerrit - the friendly Code Review server
Browse files

ath10k: Define wlan hardware param for pdev suspend option



The pdev suspend configuration in the WLAN firmware is specific
to the hardware version and bus interface. Add hardware param
for each wlan hardware version and use the hardware param value
during wlan pdev suspend to avoid the power leakage during
system suspend.

CRs-Fixed: 2164529
Change-Id: I020eaa43977d5726765dda1616715f519ad6e443
Signed-off-by: default avatarSarada Prasanna Garnayak <sgarna@codeaurora.org>
parent 55cc722e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2088,7 +2088,7 @@ void ath10k_core_stop(struct ath10k *ar)
	/* try to suspend target */
	if (ar->state != ATH10K_STATE_RESTARTING &&
	    ar->state != ATH10K_STATE_UTF)
		ath10k_wait_for_suspend(ar, WMI_PDEV_SUSPEND_AND_DISABLE_INTR);
		ath10k_wait_for_suspend(ar, ar->hw_values->pdev_suspend_option);

	ath10k_hif_stop(ar);
	ath10k_htt_tx_free(&ar->htt);
+10 −4
Original line number Diff line number Diff line
@@ -460,6 +460,7 @@ struct ath10k_hw_ce_regs qcax_ce_regs = {
};

const struct ath10k_hw_values qca988x_values = {
	.pdev_suspend_option		= WMI_PDEV_SUSPEND_AND_DISABLE_INTR,
	.rtc_state_val_on		= 3,
	.ce_count			= 8,
	.msi_assign_ce_max		= 7,
@@ -469,6 +470,7 @@ const struct ath10k_hw_values qca988x_values = {
};

const struct ath10k_hw_values qca6174_values = {
	.pdev_suspend_option		= WMI_PDEV_SUSPEND_AND_DISABLE_INTR,
	.rtc_state_val_on		= 3,
	.ce_count			= 8,
	.msi_assign_ce_max		= 7,
@@ -478,6 +480,7 @@ const struct ath10k_hw_values qca6174_values = {
};

const struct ath10k_hw_values qca99x0_values = {
	.pdev_suspend_option		= WMI_PDEV_SUSPEND_AND_DISABLE_INTR,
	.rtc_state_val_on		= 5,
	.ce_count			= 12,
	.msi_assign_ce_max		= 12,
@@ -487,6 +490,7 @@ const struct ath10k_hw_values qca99x0_values = {
};

const struct ath10k_hw_values qca9888_values = {
	.pdev_suspend_option		= WMI_PDEV_SUSPEND_AND_DISABLE_INTR,
	.rtc_state_val_on		= 3,
	.ce_count			= 12,
	.msi_assign_ce_max		= 12,
@@ -496,6 +500,7 @@ const struct ath10k_hw_values qca9888_values = {
};

const struct ath10k_hw_values qca4019_values = {
	.pdev_suspend_option		= WMI_PDEV_SUSPEND_AND_DISABLE_INTR,
	.ce_count			= 12,
	.num_target_ce_config_wlan	= 10,
	.ce_desc_meta_data_mask		= 0xFFF0,
@@ -503,6 +508,7 @@ const struct ath10k_hw_values qca4019_values = {
};

const struct ath10k_hw_values wcn3990_values = {
	.pdev_suspend_option		= WMI_PDEV_SUSPEND,
	.rtc_state_val_on		= 5,
	.ce_count			= 12,
	.msi_assign_ce_max		= 12,
+1 −0
Original line number Diff line number Diff line
@@ -363,6 +363,7 @@ extern struct ath10k_hw_ce_regs qcax_ce_regs;
extern struct fw_flag wcn3990_fw_flags;

struct ath10k_hw_values {
	u32 pdev_suspend_option;
	u32 rtc_state_val_on;
	u8 ce_count;
	u8 msi_assign_ce_max;