Browse Source

qcacmn: [QDF] Add support for QCA9379 on x86 platform

Add support for QCA9379 chip on x86 platform for
USB and SDIO attach.

Change-Id: I50353d069e3b2edfb73c5421b73e18273bc243af
CRs-Fixed: 2181012
Nirav Shah 7 years ago
parent
commit
b432e7c080

+ 14 - 0
qdf/inc/qdf_util.h

@@ -645,6 +645,20 @@ uint64_t qdf_do_div(uint64_t dividend, uint32_t divisor)
 	return __qdf_do_div(dividend, divisor);
 }
 
+/**
+ * qdf_do_div_rem() - wrapper function for kernel macro(do_div)
+ *                    to get remainder.
+ * @dividend: Dividend value
+ * @divisor : Divisor value
+ *
+ * Return: remainder
+ */
+static inline
+uint64_t qdf_do_div_rem(uint64_t dividend, uint32_t divisor)
+{
+	return __qdf_do_div_rem(dividend, divisor);
+}
+
 /**
  * qdf_get_random_bytes() - returns nbytes bytes of random
  * data

+ 5 - 2
qdf/linux/src/i_qdf_time.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2014-2018 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -35,14 +35,17 @@
 
 #include <linux/jiffies.h>
 #include <linux/delay.h>
+#include <linux/ktime.h>
+#include <linux/timekeeping.h>
 #ifdef MSM_PLATFORM
 #include <asm/arch_timer.h>
 #else
-#include <linux/ktime.h>
+#include <linux/hrtimer.h>
 #endif
 #ifdef CONFIG_CNSS
 #include <net/cnss.h>
 #endif
+#include <linux/version.h>
 
 typedef unsigned long __qdf_time_t;
 

+ 13 - 0
qdf/linux/src/i_qdf_util.h

@@ -451,4 +451,17 @@ uint64_t __qdf_do_div(uint64_t dividend, uint32_t divisor)
 	return dividend;
 }
 
+/**
+ * __qdf_do_div_rem() - wrapper function for kernel macro(do_div)
+ *                      to get remainder.
+ * @dividend: Dividend value
+ * @divisor : Divisor value
+ *
+ * Return: remainder
+ */
+static inline
+uint64_t __qdf_do_div_rem(uint64_t dividend, uint32_t divisor)
+{
+	return do_div(dividend, divisor);
+}
 #endif /*_I_QDF_UTIL_H*/

+ 2 - 2
qdf/linux/src/qdf_mem.c

@@ -1577,14 +1577,14 @@ static inline void *qdf_mem_dma_alloc(qdf_device_t osdev, void *dev,
 #endif
 
 #if defined(A_SIMOS_DEVHOST) || defined(HIF_SDIO) || defined(HIF_USB)
-inline void
+static inline void
 qdf_mem_dma_free(void *dev, qdf_size_t size, void *vaddr, qdf_dma_addr_t paddr)
 {
 	qdf_mem_free(vaddr);
 }
 #else
 
-inline void
+static inline void
 qdf_mem_dma_free(void *dev, qdf_size_t size, void *vaddr, qdf_dma_addr_t paddr)
 {
 	dma_free_coherent(dev, size, vaddr, paddr);

+ 2 - 2
qdf/linux/src/qdf_nbuf.c

@@ -889,7 +889,7 @@ EXPORT_SYMBOL(__qdf_nbuf_unmap);
  *
  * Return: QDF_STATUS
  */
-#if defined(A_SIMOS_DEVHOST) || defined(HIF_USB)
+#if defined(A_SIMOS_DEVHOST) || defined(HIF_USB) || defined(HIF_SDIO)
 QDF_STATUS
 __qdf_nbuf_map_single(qdf_device_t osdev, qdf_nbuf_t buf, qdf_dma_dir_t dir)
 {
@@ -926,7 +926,7 @@ EXPORT_SYMBOL(__qdf_nbuf_map_single);
  *
  * Return: none
  */
-#if defined(A_SIMOS_DEVHOST) || defined(HIF_USB)
+#if defined(A_SIMOS_DEVHOST) || defined(HIF_USB) || defined(HIF_SDIO)
 void __qdf_nbuf_unmap_single(qdf_device_t osdev, qdf_nbuf_t buf,
 				qdf_dma_dir_t dir)
 {

+ 13 - 16
utils/logging/inc/wlan_logging_sock_svc.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014-2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2014-2018 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -48,21 +48,19 @@ void wlan_logging_set_fw_flush_complete(void);
 void wlan_flush_host_logs_for_fatal(void);
 void wlan_logging_set_active(bool active);
 void wlan_logging_set_log_to_console(bool log_to_console);
+void wlan_deregister_txrx_packetdump(void);
+void wlan_register_txrx_packetdump(void);
 #else
-static inline void wlan_flush_host_logs_for_fatal(void)
-{
-}
-static inline void wlan_logging_set_per_pkt_stats(void)
-{
-}
-static inline void wlan_logging_set_fw_flush_complete(void)
-{
-}
-void wlan_logging_set_active(bool active) {}
-void wlan_logging_set_log_to_console(bool log_to_console) {}
+static inline void wlan_flush_host_logs_for_fatal(void) {}
+static inline void wlan_logging_set_per_pkt_stats(void) {}
+static inline void wlan_logging_set_fw_flush_complete(void) {}
+static inline void wlan_logging_set_active(bool active) {}
+static inline void wlan_logging_set_log_to_console(bool log_to_console) {}
+static inline void wlan_deregister_txrx_packetdump(void) {}
+static inline void wlan_register_txrx_packetdump(void) {}
 #endif /* WLAN_LOGGING_SOCK_SVC_ENABLE */
 
-#ifdef FEATURE_WLAN_DIAG_SUPPORT
+#if defined(WLAN_LOGGING_SOCK_SVC_ENABLE) && defined(FEATURE_WLAN_DIAG_SUPPORT)
 void wlan_report_log_completion(uint32_t is_fatal,
 		uint32_t indicator,
 		uint32_t reason_code,
@@ -70,7 +68,8 @@ void wlan_report_log_completion(uint32_t is_fatal,
 #else
 static inline void wlan_report_log_completion(uint32_t is_fatal,
 		uint32_t indicator,
-		uint32_t reason_code)
+		uint32_t reason_code,
+		uint8_t ring_id)
 {
 	return;
 }
@@ -79,7 +78,5 @@ static inline void wlan_report_log_completion(uint32_t is_fatal,
 
 void wlan_pkt_stats_to_logger_thread(void *pl_hdr, void *pkt_dump, void *data);
 
-void wlan_deregister_txrx_packetdump(void);
-void wlan_register_txrx_packetdump(void);
 
 #endif /* WLAN_LOGGING_SOCK_SVC_H */