This patch adds the RSS indirection table support, allowing to use the ethtool -x and -X options to dump and set this table. Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com> [Maxime: Small warning fixes, use one table per port] Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com> Signed-off-by: David S. Miller <davem@davemloft.net>
46 lines
1011 B
C
46 lines
1011 B
C
/*
|
|
* RSS and Classifier definitions for Marvell PPv2 Network Controller
|
|
*
|
|
* Copyright (C) 2014 Marvell
|
|
*
|
|
* Marcin Wojtas <mw@semihalf.com>
|
|
*
|
|
* This file is licensed under the terms of the GNU General Public
|
|
* License version 2. This program is licensed "as is" without any
|
|
* warranty of any kind, whether express or implied.
|
|
*/
|
|
|
|
#ifndef _MVPP2_CLS_H_
|
|
#define _MVPP2_CLS_H_
|
|
|
|
#include "mvpp2.h"
|
|
|
|
/* Classifier constants */
|
|
#define MVPP2_CLS_FLOWS_TBL_SIZE 512
|
|
#define MVPP2_CLS_FLOWS_TBL_DATA_WORDS 3
|
|
#define MVPP2_CLS_LKP_TBL_SIZE 64
|
|
#define MVPP2_CLS_RX_QUEUES 256
|
|
|
|
struct mvpp2_cls_flow_entry {
|
|
u32 index;
|
|
u32 data[MVPP2_CLS_FLOWS_TBL_DATA_WORDS];
|
|
};
|
|
|
|
struct mvpp2_cls_lookup_entry {
|
|
u32 lkpid;
|
|
u32 way;
|
|
u32 data;
|
|
};
|
|
|
|
void mvpp22_rss_fill_table(struct mvpp2_port *port, u32 table);
|
|
|
|
void mvpp22_init_rss(struct mvpp2_port *port);
|
|
|
|
void mvpp2_cls_init(struct mvpp2 *priv);
|
|
|
|
void mvpp2_cls_port_config(struct mvpp2_port *port);
|
|
|
|
void mvpp2_cls_oversize_rxq_set(struct mvpp2_port *port);
|
|
|
|
#endif
|