mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 16:46:15 -04:00
qcacmn: Add firmware download support for sdio bus (Part 5 - HIF SDIO)
Add BMI and firmware download support for sdio bus platform. Refactor fw and bmi download routines to get rid of compile time bus specific macro. Refactor allocation and free routines for high latency bus. CRs-Fixed: 969334 Change-Id: I2c217891d0ca4b503e7388b3ebe2f787e8325af5
This commit is contained in:
parent
416b70695e
commit
cdebcd5d1c
1 changed files with 18 additions and 16 deletions
|
|
@ -860,6 +860,7 @@ void qdf_mem_move(void *dst_addr, const void *src_addr, uint32_t num_bytes)
|
|||
}
|
||||
EXPORT_SYMBOL(qdf_mem_move);
|
||||
|
||||
#if defined(A_SIMOS_DEVHOST) || defined(HIF_SDIO)
|
||||
/**
|
||||
* qdf_mem_alloc_consistent() - allocates consistent qdf memory
|
||||
* @osdev: OS device handle
|
||||
|
|
@ -872,19 +873,17 @@ EXPORT_SYMBOL(qdf_mem_move);
|
|||
void *qdf_mem_alloc_consistent(qdf_device_t osdev, void *dev, qdf_size_t size,
|
||||
qdf_dma_addr_t *phy_addr)
|
||||
{
|
||||
#if defined(A_SIMOS_DEVHOST)
|
||||
static int first = 1;
|
||||
void *vaddr;
|
||||
|
||||
if (first) {
|
||||
first = 0;
|
||||
qdf_print("Warning: bypassing %s\n", __func__);
|
||||
}
|
||||
|
||||
vaddr = qdf_mem_malloc(size);
|
||||
*phy_addr = ((qdf_dma_addr_t) vaddr);
|
||||
return vaddr;
|
||||
}
|
||||
|
||||
#else
|
||||
void *qdf_mem_alloc_consistent(qdf_device_t osdev, void *dev, qdf_size_t size,
|
||||
qdf_dma_addr_t *phy_addr)
|
||||
{
|
||||
int flags = GFP_KERNEL;
|
||||
void *alloc_mem = NULL;
|
||||
|
||||
|
|
@ -896,10 +895,12 @@ void *qdf_mem_alloc_consistent(qdf_device_t osdev, void *dev, qdf_size_t size,
|
|||
qdf_print("%s Warning: unable to alloc consistent memory of size %zu!\n",
|
||||
__func__, size);
|
||||
return alloc_mem;
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
EXPORT_SYMBOL(qdf_mem_alloc_consistent);
|
||||
|
||||
#if defined(A_SIMOS_DEVHOST) || defined(HIF_SDIO)
|
||||
/**
|
||||
* qdf_mem_free_consistent() - free consistent qdf memory
|
||||
* @osdev: OS device handle
|
||||
|
|
@ -915,19 +916,20 @@ inline void qdf_mem_free_consistent(qdf_device_t osdev, void *dev,
|
|||
qdf_dma_addr_t phy_addr,
|
||||
qdf_dma_context_t memctx)
|
||||
{
|
||||
#if defined(A_SIMOS_DEVHOST)
|
||||
static int first = 1;
|
||||
|
||||
if (first) {
|
||||
first = 0;
|
||||
qdf_print("Warning: bypassing %s\n", __func__);
|
||||
}
|
||||
qdf_mem_free(vaddr);
|
||||
return;
|
||||
#else
|
||||
dma_free_coherent(dev, size, vaddr, phy_addr);
|
||||
#endif
|
||||
}
|
||||
|
||||
#else
|
||||
inline void qdf_mem_free_consistent(qdf_device_t osdev, void *dev,
|
||||
qdf_size_t size, void *vaddr,
|
||||
qdf_dma_addr_t phy_addr,
|
||||
qdf_dma_context_t memctx)
|
||||
{
|
||||
dma_free_coherent(dev, size, vaddr, phy_addr);
|
||||
}
|
||||
|
||||
#endif
|
||||
EXPORT_SYMBOL(qdf_mem_free_consistent);
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in a new issue