mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 08:36:12 -04:00
qcacmn: Make _qdf_nbuf_unmap_nbytes_single API inline
Make _qdf_nbuf_unmap_nbytes_single to use in dp_rx_process. Non-inline version takes more CPU. Change-Id: Iaf5e9f5f734d81b6d2c234bd8e579cf2a81c7e2c CRs-Fixed: 2634679
This commit is contained in:
parent
4de3f492b0
commit
1fb9b10ac1
2 changed files with 65 additions and 71 deletions
|
|
@ -764,10 +764,6 @@ void __qdf_nbuf_unmap_nbytes(qdf_device_t osdev, struct sk_buff *skb,
|
|||
void __qdf_nbuf_sync_for_cpu(qdf_device_t osdev, struct sk_buff *skb,
|
||||
qdf_dma_dir_t dir);
|
||||
|
||||
QDF_STATUS __qdf_nbuf_map_nbytes_single(
|
||||
qdf_device_t osdev, struct sk_buff *buf, qdf_dma_dir_t dir, int nbytes);
|
||||
void __qdf_nbuf_unmap_nbytes_single(
|
||||
qdf_device_t osdev, struct sk_buff *buf, qdf_dma_dir_t dir, int nbytes);
|
||||
void __qdf_nbuf_dma_map_info(__qdf_dma_map_t bmap, qdf_dmamap_info_t *sg);
|
||||
uint32_t __qdf_nbuf_get_frag_size(__qdf_nbuf_t nbuf, uint32_t cur_frag);
|
||||
void __qdf_nbuf_frag_info(struct sk_buff *skb, qdf_sglist_t *sg);
|
||||
|
|
@ -2219,6 +2215,71 @@ static inline void __qdf_nbuf_orphan(struct sk_buff *skb)
|
|||
return skb_orphan(skb);
|
||||
}
|
||||
|
||||
/**
|
||||
* __qdf_nbuf_map_nbytes_single() - map nbytes
|
||||
* @osdev: os device
|
||||
* @buf: buffer
|
||||
* @dir: direction
|
||||
* @nbytes: number of bytes
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
#ifdef A_SIMOS_DEVHOST
|
||||
static inline QDF_STATUS __qdf_nbuf_map_nbytes_single(
|
||||
qdf_device_t osdev, struct sk_buff *buf,
|
||||
qdf_dma_dir_t dir, int nbytes)
|
||||
{
|
||||
qdf_dma_addr_t paddr;
|
||||
|
||||
QDF_NBUF_CB_PADDR(buf) = paddr = buf->data;
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#else
|
||||
static inline QDF_STATUS __qdf_nbuf_map_nbytes_single(
|
||||
qdf_device_t osdev, struct sk_buff *buf,
|
||||
qdf_dma_dir_t dir, int nbytes)
|
||||
{
|
||||
qdf_dma_addr_t paddr;
|
||||
|
||||
/* assume that the OS only provides a single fragment */
|
||||
QDF_NBUF_CB_PADDR(buf) = paddr =
|
||||
dma_map_single(osdev->dev, buf->data,
|
||||
nbytes, __qdf_dma_dir_to_os(dir));
|
||||
return dma_mapping_error(osdev->dev, paddr) ?
|
||||
QDF_STATUS_E_FAULT : QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#endif
|
||||
/**
|
||||
* __qdf_nbuf_unmap_nbytes_single() - unmap nbytes
|
||||
* @osdev: os device
|
||||
* @buf: buffer
|
||||
* @dir: direction
|
||||
* @nbytes: number of bytes
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
#if defined(A_SIMOS_DEVHOST)
|
||||
static inline void
|
||||
__qdf_nbuf_unmap_nbytes_single(qdf_device_t osdev, struct sk_buff *buf,
|
||||
qdf_dma_dir_t dir, int nbytes)
|
||||
{
|
||||
}
|
||||
|
||||
#else
|
||||
static inline void
|
||||
__qdf_nbuf_unmap_nbytes_single(qdf_device_t osdev, struct sk_buff *buf,
|
||||
qdf_dma_dir_t dir, int nbytes)
|
||||
{
|
||||
qdf_dma_addr_t paddr = QDF_NBUF_CB_PADDR(buf);
|
||||
|
||||
if (qdf_likely(paddr)) {
|
||||
dma_unmap_single(osdev->dev, paddr, nbytes,
|
||||
__qdf_dma_dir_to_os(dir));
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline struct sk_buff *
|
||||
__qdf_nbuf_queue_head_dequeue(struct sk_buff_head *skb_queue_head)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3588,73 +3588,6 @@ __qdf_nbuf_dmamap_destroy(qdf_device_t osdev, __qdf_dma_map_t dmap)
|
|||
}
|
||||
qdf_export_symbol(__qdf_nbuf_dmamap_destroy);
|
||||
|
||||
/**
|
||||
* __qdf_nbuf_map_nbytes_single() - map nbytes
|
||||
* @osdev: os device
|
||||
* @buf: buffer
|
||||
* @dir: direction
|
||||
* @nbytes: number of bytes
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
#ifdef A_SIMOS_DEVHOST
|
||||
QDF_STATUS __qdf_nbuf_map_nbytes_single(
|
||||
qdf_device_t osdev, struct sk_buff *buf,
|
||||
qdf_dma_dir_t dir, int nbytes)
|
||||
{
|
||||
qdf_dma_addr_t paddr;
|
||||
|
||||
QDF_NBUF_CB_PADDR(buf) = paddr = buf->data;
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
qdf_export_symbol(__qdf_nbuf_map_nbytes_single);
|
||||
#else
|
||||
QDF_STATUS __qdf_nbuf_map_nbytes_single(
|
||||
qdf_device_t osdev, struct sk_buff *buf,
|
||||
qdf_dma_dir_t dir, int nbytes)
|
||||
{
|
||||
qdf_dma_addr_t paddr;
|
||||
|
||||
/* assume that the OS only provides a single fragment */
|
||||
QDF_NBUF_CB_PADDR(buf) = paddr =
|
||||
dma_map_single(osdev->dev, buf->data,
|
||||
nbytes, __qdf_dma_dir_to_os(dir));
|
||||
return dma_mapping_error(osdev->dev, paddr) ?
|
||||
QDF_STATUS_E_FAULT : QDF_STATUS_SUCCESS;
|
||||
}
|
||||
qdf_export_symbol(__qdf_nbuf_map_nbytes_single);
|
||||
#endif
|
||||
/**
|
||||
* __qdf_nbuf_unmap_nbytes_single() - unmap nbytes
|
||||
* @osdev: os device
|
||||
* @buf: buffer
|
||||
* @dir: direction
|
||||
* @nbytes: number of bytes
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
#if defined(A_SIMOS_DEVHOST)
|
||||
void
|
||||
__qdf_nbuf_unmap_nbytes_single(
|
||||
qdf_device_t osdev, struct sk_buff *buf, qdf_dma_dir_t dir, int nbytes)
|
||||
{
|
||||
}
|
||||
qdf_export_symbol(__qdf_nbuf_unmap_nbytes_single);
|
||||
|
||||
#else
|
||||
void
|
||||
__qdf_nbuf_unmap_nbytes_single(
|
||||
qdf_device_t osdev, struct sk_buff *buf, qdf_dma_dir_t dir, int nbytes)
|
||||
{
|
||||
if (0 == QDF_NBUF_CB_PADDR(buf)) {
|
||||
qdf_err("ERROR: NBUF mapped physical address is NULL");
|
||||
return;
|
||||
}
|
||||
dma_unmap_single(osdev->dev, QDF_NBUF_CB_PADDR(buf),
|
||||
nbytes, __qdf_dma_dir_to_os(dir));
|
||||
}
|
||||
qdf_export_symbol(__qdf_nbuf_unmap_nbytes_single);
|
||||
#endif
|
||||
/**
|
||||
* __qdf_nbuf_map_nbytes() - get the dma map of the nbuf
|
||||
* @osdev: os device
|
||||
|
|
|
|||
Loading…
Reference in a new issue