Commit 67538eb5 authored by David S. Miller's avatar David S. Miller

Merge branch 'mvpp2-per-cpu-buffers'

Matteo Croce says:

====================
mvpp2: per-cpu buffers

This patchset workarounds an PP2 HW limitation which prevents to use
per-cpu rx buffers.
The first patch is just a refactor to prepare for the second one.
The second one allocates percpu buffers if the following conditions are met:
- CPU number is less or equal 4
- no port is using jumbo frames

If the following conditions are not met at load time, of jumbo frame is enabled
later on, the shared allocation is reverted.
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 4ba0ebbc 7d04b0b1
...@@ -683,6 +683,7 @@ enum mvpp2_prs_l3_cast { ...@@ -683,6 +683,7 @@ enum mvpp2_prs_l3_cast {
#define MVPP2_BM_SHORT_BUF_NUM 2048 #define MVPP2_BM_SHORT_BUF_NUM 2048
#define MVPP2_BM_POOL_SIZE_MAX (16*1024 - MVPP2_BM_POOL_PTR_ALIGN/4) #define MVPP2_BM_POOL_SIZE_MAX (16*1024 - MVPP2_BM_POOL_PTR_ALIGN/4)
#define MVPP2_BM_POOL_PTR_ALIGN 128 #define MVPP2_BM_POOL_PTR_ALIGN 128
#define MVPP2_BM_MAX_POOLS 8
/* BM cookie (32 bits) definition */ /* BM cookie (32 bits) definition */
#define MVPP2_BM_COOKIE_POOL_OFFS 8 #define MVPP2_BM_COOKIE_POOL_OFFS 8
...@@ -787,6 +788,9 @@ struct mvpp2 { ...@@ -787,6 +788,9 @@ struct mvpp2 {
/* Aggregated TXQs */ /* Aggregated TXQs */
struct mvpp2_tx_queue *aggr_txqs; struct mvpp2_tx_queue *aggr_txqs;
/* Are we using page_pool with per-cpu pools? */
int percpu_pools;
/* BM pools */ /* BM pools */
struct mvpp2_bm_pool *bm_pools; struct mvpp2_bm_pool *bm_pools;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment