Prechádzať zdrojové kódy

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
Poddar, Siddarth 9 rokov pred
rodič
commit
cdebcd5d1c
1 zmenil súbory, kde vykonal 18 pridanie a 16 odobranie
  1. 18 16
      qdf/linux/src/qdf_mem.c

+ 18 - 16
qdf/linux/src/qdf_mem.c

@@ -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
+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
 }
+
+#endif
 EXPORT_SYMBOL(qdf_mem_free_consistent);
 
 /**