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

Commit bf1f0a1a authored by Alagu Sankar's avatar Alagu Sankar Committed by Kalle Valo
Browse files

ath10k: sdio: set hi_acs_flags



The SDIO firmware does not allow transmitting packets with the
reduced tx completion HI_ACS option. SDIO firmware uses 1544 as
alternate credit size, which is not big enough for the maximum sized
mac80211 frames. Disable both these HI_ACS flags for SDIO.

Co-developed-by: default avatarWen Gong <wgong@codeaurora.org>
Signed-off-by: default avatarAlagu Sankar <alagusankar@silex-india.com>
Signed-off-by: default avatarWen Gong <wgong@codeaurora.org>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent d961284d
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -637,10 +637,16 @@ static void ath10k_init_sdio(struct ath10k *ar)
	ath10k_bmi_write32(ar, hi_mbox_isr_yield_limit, 99);
	ath10k_bmi_read32(ar, hi_acs_flags, &param);

	param |= (HI_ACS_FLAGS_SDIO_SWAP_MAILBOX_SET |
		  HI_ACS_FLAGS_SDIO_REDUCE_TX_COMPL_SET |
		  HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE);
	/* Data transfer is not initiated, when reduced Tx completion
	 * is used for SDIO. disable it until fixed
	 */
	param &= ~HI_ACS_FLAGS_SDIO_REDUCE_TX_COMPL_SET;

	/* Alternate credit size of 1544 as used by SDIO firmware is
	 * not big enough for mac80211 / native wifi frames. disable it
	 */
	param &= ~HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE;
	param |= HI_ACS_FLAGS_SDIO_SWAP_MAILBOX_SET;
	ath10k_bmi_write32(ar, hi_acs_flags, param);
}