qcacmn: Add Lithium RX Core Processing Infrastructure
Add Lithium Rx basic packet processing path from REO. Implement the following in this patch: - Rx buffer replenishment directly to RxDMA rings (WIN) - Rx descriptor management - Rx Path Processing for non-error packets - RxDMA optimization (access on 128 byte boundary) Change-Id: I25aea3a79d5494a0447bc7ca919acb87b74f2760 CRs-Fixed: 1074199
This commit is contained in:

committad av
qcabuildsw

förälder
2ea98eb544
incheckning
c4c52dc1fd
44
dp/wifi3.0/dp_peer.h
Normal file
44
dp/wifi3.0/dp_peer.h
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
* above copyright notice and this permission notice appear in all
|
||||
* copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
||||
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
||||
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
||||
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
||||
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <qdf_types.h>
|
||||
#include <qdf_lock.h>
|
||||
#include "dp_types.h"
|
||||
|
||||
#define DP_INVALID_PEER_ID 0xffff
|
||||
|
||||
/**
|
||||
* dp_peer_find_by_id() - Returns peer object given the peer id
|
||||
*
|
||||
* @soc : core DP soc context
|
||||
* @peer_id : peer id from peer object can be retrieved
|
||||
*
|
||||
* Return: struct dp_peer*: Pointer to DP peer object
|
||||
*/
|
||||
static inline struct dp_peer *
|
||||
dp_peer_find_by_id(struct dp_soc *soc,
|
||||
uint16_t peer_id)
|
||||
{
|
||||
struct dp_peer *peer;
|
||||
|
||||
/* TODO: Hold lock */
|
||||
peer = (peer_id >= soc->max_peers) ? NULL :
|
||||
soc->peer_id_to_obj_map[peer_id];
|
||||
|
||||
return peer;
|
||||
}
|
Referens i nytt ärende
Block a user