Pārlūkot izejas kodu

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 gadi atpakaļ
vecāks
revīzija
cdebcd5d1c
1 mainītis faili ar 18 papildinājumiem un 16 dzēšanām
  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);
 EXPORT_SYMBOL(qdf_mem_move);
 
 
+#if defined(A_SIMOS_DEVHOST) || defined(HIF_SDIO)
 /**
 /**
  * qdf_mem_alloc_consistent() - allocates consistent qdf memory
  * qdf_mem_alloc_consistent() - allocates consistent qdf memory
  * @osdev: OS device handle
  * @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,
 void *qdf_mem_alloc_consistent(qdf_device_t osdev, void *dev, qdf_size_t size,
 			       qdf_dma_addr_t *phy_addr)
 			       qdf_dma_addr_t *phy_addr)
 {
 {
-#if defined(A_SIMOS_DEVHOST)
-	static int first = 1;
 	void *vaddr;
 	void *vaddr;
 
 
-	if (first) {
-		first = 0;
-		qdf_print("Warning: bypassing %s\n", __func__);
-	}
-
 	vaddr = qdf_mem_malloc(size);
 	vaddr = qdf_mem_malloc(size);
 	*phy_addr = ((qdf_dma_addr_t) vaddr);
 	*phy_addr = ((qdf_dma_addr_t) vaddr);
 	return vaddr;
 	return vaddr;
+}
+
 #else
 #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;
 	int flags = GFP_KERNEL;
 	void *alloc_mem = NULL;
 	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",
 		qdf_print("%s Warning: unable to alloc consistent memory of size %zu!\n",
 			__func__, size);
 			__func__, size);
 	return alloc_mem;
 	return alloc_mem;
-#endif
 }
 }
+
+#endif
 EXPORT_SYMBOL(qdf_mem_alloc_consistent);
 EXPORT_SYMBOL(qdf_mem_alloc_consistent);
 
 
+#if defined(A_SIMOS_DEVHOST) ||  defined(HIF_SDIO)
 /**
 /**
  * qdf_mem_free_consistent() - free consistent qdf memory
  * qdf_mem_free_consistent() - free consistent qdf memory
  * @osdev: OS device handle
  * @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_addr_t phy_addr,
 				    qdf_dma_context_t memctx)
 				    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);
 	qdf_mem_free(vaddr);
 	return;
 	return;
+}
+
 #else
 #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);
 	dma_free_coherent(dev, size, vaddr, phy_addr);
-#endif
 }
 }
+
+#endif
 EXPORT_SYMBOL(qdf_mem_free_consistent);
 EXPORT_SYMBOL(qdf_mem_free_consistent);
 
 
 /**
 /**