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
|
* qdf_invalidate_range() - invalidate virtual address range
|
||||||
* start and end addresses.
|
* @start: start address of the address range
|
||||||
* Note: This does not write back the cache entries.
|
* @end: end address of the address range
|
||||||
|
*
|
||||||
|
* Note that this function does not write back the cache entries.
|
||||||
*
|
*
|
||||||
* Return: none
|
* Return: none
|
||||||
*/
|
*/
|
||||||
#ifdef MSM_PLATFORM
|
|
||||||
static inline void qdf_invalidate_range(void *start, void *end)
|
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
|
* qdf_nbuf_reset_num_frags() - decrement the number of fragments
|
||||||
* @buf: Network buffer
|
* @buf: Network buffer
|
||||||
|
@@ -78,6 +78,7 @@
|
|||||||
* @QDF_STATUS_FT_PREAUTH_KEY_FAILED: ft preauth key failed
|
* @QDF_STATUS_FT_PREAUTH_KEY_FAILED: ft preauth key failed
|
||||||
* @QDF_STATUS_CMD_NOT_QUEUED: command not queued
|
* @QDF_STATUS_CMD_NOT_QUEUED: command not queued
|
||||||
* @QDF_STATUS_FW_MSG_TIMEDOUT: target message timeout
|
* @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
|
* @QDF_STATUS_MAX: not a realy value just a place holder for max
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
@@ -123,6 +124,7 @@ typedef enum {
|
|||||||
QDF_STATUS_FT_PREAUTH_KEY_FAILED,
|
QDF_STATUS_FT_PREAUTH_KEY_FAILED,
|
||||||
QDF_STATUS_CMD_NOT_QUEUED,
|
QDF_STATUS_CMD_NOT_QUEUED,
|
||||||
QDF_STATUS_FW_MSG_TIMEDOUT,
|
QDF_STATUS_FW_MSG_TIMEDOUT,
|
||||||
|
QDF_STATUS_E_USB_ERROR,
|
||||||
QDF_STATUS_MAX
|
QDF_STATUS_MAX
|
||||||
} QDF_STATUS;
|
} QDF_STATUS;
|
||||||
|
|
||||||
|
@@ -1608,4 +1608,30 @@ __qdf_nbuf_get_priv_ptr(struct sk_buff *skb)
|
|||||||
return &skb->cb[8];
|
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 */
|
#endif /*_I_QDF_NET_BUF_H */
|
||||||
|
@@ -35,7 +35,11 @@
|
|||||||
|
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
|
#ifdef MSM_PLATFORM
|
||||||
#include <asm/arch_timer.h>
|
#include <asm/arch_timer.h>
|
||||||
|
#else
|
||||||
|
#include <linux/ktime.h>
|
||||||
|
#endif
|
||||||
#ifdef CONFIG_CNSS
|
#ifdef CONFIG_CNSS
|
||||||
#include <net/cnss.h>
|
#include <net/cnss.h>
|
||||||
#endif
|
#endif
|
||||||
|
@@ -154,6 +154,7 @@ struct __qdf_mempool_ctxt;
|
|||||||
* @QDF_BUS_TYPE_AHB: AHB Bus
|
* @QDF_BUS_TYPE_AHB: AHB Bus
|
||||||
* @QDF_BUS_TYPE_SNOC: SNOC Bus
|
* @QDF_BUS_TYPE_SNOC: SNOC Bus
|
||||||
* @QDF_BUS_TYPE_SIM: Simulator
|
* @QDF_BUS_TYPE_SIM: Simulator
|
||||||
|
* @QDF_BUS_TYPE_USB: USB Bus
|
||||||
*/
|
*/
|
||||||
enum qdf_bus_type {
|
enum qdf_bus_type {
|
||||||
QDF_BUS_TYPE_NONE = -1,
|
QDF_BUS_TYPE_NONE = -1,
|
||||||
@@ -161,7 +162,8 @@ enum qdf_bus_type {
|
|||||||
QDF_BUS_TYPE_AHB,
|
QDF_BUS_TYPE_AHB,
|
||||||
QDF_BUS_TYPE_SNOC,
|
QDF_BUS_TYPE_SNOC,
|
||||||
QDF_BUS_TYPE_SIM,
|
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);
|
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
|
* qdf_mem_alloc_consistent() - allocates consistent qdf memory
|
||||||
* @osdev: OS device handle
|
* @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;
|
void *vaddr;
|
||||||
|
|
||||||
vaddr = qdf_mem_malloc(size);
|
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;
|
return vaddr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -985,7 +989,7 @@ void *qdf_mem_alloc_consistent(qdf_device_t osdev, void *dev, qdf_size_t size,
|
|||||||
#endif
|
#endif
|
||||||
EXPORT_SYMBOL(qdf_mem_alloc_consistent);
|
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
|
* qdf_mem_free_consistent() - free consistent qdf memory
|
||||||
* @osdev: OS device handle
|
* @osdev: OS device handle
|
||||||
|
@@ -311,13 +311,15 @@ EXPORT_SYMBOL(__qdf_nbuf_unmap);
|
|||||||
*
|
*
|
||||||
* Return: QDF_STATUS
|
* Return: QDF_STATUS
|
||||||
*/
|
*/
|
||||||
#ifdef A_SIMOS_DEVHOST
|
#if defined(A_SIMOS_DEVHOST) || defined (HIF_USB)
|
||||||
QDF_STATUS
|
QDF_STATUS
|
||||||
__qdf_nbuf_map_single(qdf_device_t osdev, qdf_nbuf_t buf, qdf_dma_dir_t dir)
|
__qdf_nbuf_map_single(qdf_device_t osdev, qdf_nbuf_t buf, qdf_dma_dir_t dir)
|
||||||
{
|
{
|
||||||
qdf_dma_addr_t paddr;
|
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;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(__qdf_nbuf_map_single);
|
EXPORT_SYMBOL(__qdf_nbuf_map_single);
|
||||||
@@ -345,7 +347,7 @@ EXPORT_SYMBOL(__qdf_nbuf_map_single);
|
|||||||
*
|
*
|
||||||
* Return: none
|
* 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,
|
void __qdf_nbuf_unmap_single(qdf_device_t osdev, qdf_nbuf_t buf,
|
||||||
qdf_dma_dir_t dir)
|
qdf_dma_dir_t dir)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user