qcacmn: Big-endian mode changes for Beryllium Spectral

On Beryllium architecture, PHY DMA applies a 32-bit byte swap to assist
in efficient Host reads when connected to a big-endian Host.
This is done to avoid byte swapping at the Host.
So, if the Host reads this data 32-bit word at a time, the byte order
would be intact. Report headers are not a problem because as they are
composed of 32-bit words. For FFT bins, read each DWORD at a time and
extract FFT bins out of that DWORD. Make this change in a generic way to
keep the design uniform across different chipsets and endian modes.

CRs-Fixed: 3042188
Change-Id: Idff1ac7eb5e18c692c9ee8b19b9ae9e6b962d486
This commit is contained in:
Shiva Krishna Pittala
2021-09-29 14:41:47 +05:30
committed by Madan Koyyalamudi
parent b65b4ae703
commit d36115b849
6 changed files with 274 additions and 203 deletions

View File

@@ -17322,6 +17322,8 @@ static void populate_tlv_service(uint32_t *wmi_service)
WMI_SERVICE_HW_MODE_POLICY_OFFLOAD_SUPPORT;
wmi_service[wmi_service_mgmt_rx_reo_supported] =
WMI_SERVICE_MGMT_RX_REO_SUPPORTED;
wmi_service[wmi_service_phy_dma_byte_swap_support] =
WMI_SERVICE_UNAVAILABLE;
}
/**