qcacmn: Support multiple RX CEs for NAPI/LRO/FastPath
Make changes so that LRO and FastPath can check whether a given CE is a datapath RX CE. This is done through new flags in CE_state which indicate whether or not a given CE is a htt_[tr]rx CE. Also add support to enable multi-queue NAPI. Note that the paths are not yet parallel-execution protected, but this should be OK as all NAPI instances are processing the same interrupt now and as such as serialized. Acked-by: Orhan K AKYILDIZ <oka@qca.qualcomm.com> Change-Id: I57125b3e1fbad0345b6e1f4ed25e71babaf4f520 CRs-Fixed: 982728
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
a7a282f1e3
commit
c7d5429428
@@ -116,6 +116,7 @@ struct qca_napi_stat {
|
||||
* instances.
|
||||
*/
|
||||
struct qca_napi_info {
|
||||
struct net_device netdev; /* dummy net_dev */
|
||||
struct napi_struct napi; /* one NAPI Instance per CE in phase I */
|
||||
uint8_t scale; /* currently same on all instances */
|
||||
uint8_t id;
|
||||
@@ -138,7 +139,6 @@ struct qca_napi_data {
|
||||
instances, indexed by pipe_id,
|
||||
not used by clients (clients use an
|
||||
id returned by create) */
|
||||
struct net_device netdev; /* dummy net_dev */
|
||||
struct qca_napi_info napis[CE_COUNT_MAX];
|
||||
};
|
||||
|
||||
|
@@ -70,7 +70,6 @@ enum qca_napi_event {
|
||||
*/
|
||||
|
||||
int hif_napi_create(struct hif_opaque_softc *hif,
|
||||
uint8_t pipe_id,
|
||||
int (*poll)(struct napi_struct *, int),
|
||||
int budget,
|
||||
int scale);
|
||||
|
Reference in New Issue
Block a user