qcacmn: Add USB bus support (QDF)
Add module specific changes for USB bus support. Change-Id: Idb9fe1232d451e4f88a001fbd6591ba13b0c859a CRs-Fixed: 1023663
This commit is contained in:

committed by
Vishwajith Upendra

parent
440c5295c2
commit
d8a881864c
@@ -1141,29 +1141,19 @@ bool qdf_nbuf_is_ipv4_arp_pkt(qdf_nbuf_t buf)
|
||||
}
|
||||
|
||||
/**
|
||||
* qdf_invalidate_range() - invalidate the virtual address range specified by
|
||||
* start and end addresses.
|
||||
* Note: This does not write back the cache entries.
|
||||
* qdf_invalidate_range() - invalidate virtual address range
|
||||
* @start: start address of the address range
|
||||
* @end: end address of the address range
|
||||
*
|
||||
* Note that this function does not write back the cache entries.
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
#ifdef MSM_PLATFORM
|
||||
static inline void qdf_invalidate_range(void *start, void *end)
|
||||
{
|
||||
dmac_inv_range(start, end);
|
||||
__qdf_invalidate_range(start, end);
|
||||
}
|
||||
|
||||
#else
|
||||
static inline void qdf_invalidate_range(void *start, void *end)
|
||||
{
|
||||
/* TODO figure out how to invalidate cache on x86 and other
|
||||
non-MSM platform */
|
||||
QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_FATAL,
|
||||
"Cache invalidate not yet implemneted for non-MSM platform");
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* qdf_nbuf_reset_num_frags() - decrement the number of fragments
|
||||
* @buf: Network buffer
|
||||
|
@@ -78,6 +78,7 @@
|
||||
* @QDF_STATUS_FT_PREAUTH_KEY_FAILED: ft preauth key failed
|
||||
* @QDF_STATUS_CMD_NOT_QUEUED: command not queued
|
||||
* @QDF_STATUS_FW_MSG_TIMEDOUT: target message timeout
|
||||
* @QDF_STATUS_E_USB_ERROR: USB transaction error
|
||||
* @QDF_STATUS_MAX: not a realy value just a place holder for max
|
||||
*/
|
||||
typedef enum {
|
||||
@@ -123,6 +124,7 @@ typedef enum {
|
||||
QDF_STATUS_FT_PREAUTH_KEY_FAILED,
|
||||
QDF_STATUS_CMD_NOT_QUEUED,
|
||||
QDF_STATUS_FW_MSG_TIMEDOUT,
|
||||
QDF_STATUS_E_USB_ERROR,
|
||||
QDF_STATUS_MAX
|
||||
} QDF_STATUS;
|
||||
|
||||
|
@@ -1608,4 +1608,30 @@ __qdf_nbuf_get_priv_ptr(struct sk_buff *skb)
|
||||
return &skb->cb[8];
|
||||
}
|
||||
|
||||
/**
|
||||
* __qdf_invalidate_range() - invalidate virtual address range
|
||||
* @start: start address of the address range
|
||||
* @end: end address of the address range
|
||||
*
|
||||
* Note that this function does not write back the cache entries.
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
#ifdef MSM_PLATFORM
|
||||
static inline void __qdf_invalidate_range(void *start, void *end)
|
||||
{
|
||||
dmac_inv_range(start, end);
|
||||
}
|
||||
|
||||
#else
|
||||
static inline void __qdf_invalidate_range(void *start, void *end)
|
||||
{
|
||||
/* TODO figure out how to invalidate cache on x86 and other
|
||||
non-MSM platform */
|
||||
pr_err("Cache invalidate not yet implemneted for non-MSM platforms\n");
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif /*_I_QDF_NET_BUF_H */
|
||||
|
@@ -35,7 +35,11 @@
|
||||
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/delay.h>
|
||||
#ifdef MSM_PLATFORM
|
||||
#include <asm/arch_timer.h>
|
||||
#else
|
||||
#include <linux/ktime.h>
|
||||
#endif
|
||||
#ifdef CONFIG_CNSS
|
||||
#include <net/cnss.h>
|
||||
#endif
|
||||
|
@@ -154,6 +154,7 @@ struct __qdf_mempool_ctxt;
|
||||
* @QDF_BUS_TYPE_AHB: AHB Bus
|
||||
* @QDF_BUS_TYPE_SNOC: SNOC Bus
|
||||
* @QDF_BUS_TYPE_SIM: Simulator
|
||||
* @QDF_BUS_TYPE_USB: USB Bus
|
||||
*/
|
||||
enum qdf_bus_type {
|
||||
QDF_BUS_TYPE_NONE = -1,
|
||||
@@ -161,7 +162,8 @@ enum qdf_bus_type {
|
||||
QDF_BUS_TYPE_AHB,
|
||||
QDF_BUS_TYPE_SNOC,
|
||||
QDF_BUS_TYPE_SIM,
|
||||
QDF_BUS_TYPE_SDIO
|
||||
QDF_BUS_TYPE_SDIO,
|
||||
QDF_BUS_TYPE_USB
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -945,7 +945,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)
|
||||
#if defined(A_SIMOS_DEVHOST) || defined(HIF_SDIO) || defined(HIF_USB)
|
||||
/**
|
||||
* qdf_mem_alloc_consistent() - allocates consistent qdf memory
|
||||
* @osdev: OS device handle
|
||||
@@ -961,7 +961,11 @@ void *qdf_mem_alloc_consistent(qdf_device_t osdev, void *dev, qdf_size_t size,
|
||||
void *vaddr;
|
||||
|
||||
vaddr = qdf_mem_malloc(size);
|
||||
*phy_addr = ((qdf_dma_addr_t) vaddr);
|
||||
*phy_addr = ((uintptr_t) vaddr);
|
||||
/* using this type conversion to suppress "cast from pointer to integer
|
||||
* of different size" warning on some platforms
|
||||
*/
|
||||
BUILD_BUG_ON(sizeof(*phy_addr) < sizeof(vaddr));
|
||||
return vaddr;
|
||||
}
|
||||
|
||||
@@ -985,7 +989,7 @@ void *qdf_mem_alloc_consistent(qdf_device_t osdev, void *dev, qdf_size_t size,
|
||||
#endif
|
||||
EXPORT_SYMBOL(qdf_mem_alloc_consistent);
|
||||
|
||||
#if defined(A_SIMOS_DEVHOST) || defined(HIF_SDIO)
|
||||
#if defined(A_SIMOS_DEVHOST) || defined(HIF_SDIO) || defined(HIF_USB)
|
||||
/**
|
||||
* qdf_mem_free_consistent() - free consistent qdf memory
|
||||
* @osdev: OS device handle
|
||||
|
@@ -311,13 +311,15 @@ EXPORT_SYMBOL(__qdf_nbuf_unmap);
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
#ifdef A_SIMOS_DEVHOST
|
||||
#if defined(A_SIMOS_DEVHOST) || defined (HIF_USB)
|
||||
QDF_STATUS
|
||||
__qdf_nbuf_map_single(qdf_device_t osdev, qdf_nbuf_t buf, qdf_dma_dir_t dir)
|
||||
{
|
||||
qdf_dma_addr_t paddr;
|
||||
|
||||
QDF_NBUF_CB_PADDR(buf) = paddr = buf->data;
|
||||
QDF_NBUF_CB_PADDR(buf) = paddr = (uintptr_t)buf->data;
|
||||
BUILD_BUG_ON(sizeof(paddr) < sizeof(buf->data));
|
||||
BUILD_BUG_ON(sizeof(QDF_NBUF_CB_PADDR(buf)) < sizeof(buf->data));
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
EXPORT_SYMBOL(__qdf_nbuf_map_single);
|
||||
@@ -345,7 +347,7 @@ EXPORT_SYMBOL(__qdf_nbuf_map_single);
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
#if defined(A_SIMOS_DEVHOST)
|
||||
#if defined(A_SIMOS_DEVHOST) || defined (HIF_USB)
|
||||
void __qdf_nbuf_unmap_single(qdf_device_t osdev, qdf_nbuf_t buf,
|
||||
qdf_dma_dir_t dir)
|
||||
{
|
||||
|
Reference in New Issue
Block a user