Commit 3feafa02 authored by Petri Gynther's avatar Petri Gynther Committed by David S. Miller

net: bcmgenet: add GENET_Q16_RX_BD_CNT and hw_params->rx_bds_per_q

In preparation for supporting multiple Rx queues, add GENET_Q16_RX_BD_CNT
and hw_params->rx_bds_per_q.
Signed-off-by: default avatarPetri Gynther <pgynther@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3feafeed
...@@ -54,6 +54,8 @@ ...@@ -54,6 +54,8 @@
/* Default highest priority queue for multi queue support */ /* Default highest priority queue for multi queue support */
#define GENET_Q0_PRIORITY 0 #define GENET_Q0_PRIORITY 0
#define GENET_Q16_RX_BD_CNT \
(TOTAL_DESC - priv->hw_params->rx_queues * priv->hw_params->rx_bds_per_q)
#define GENET_Q16_TX_BD_CNT \ #define GENET_Q16_TX_BD_CNT \
(TOTAL_DESC - priv->hw_params->tx_queues * priv->hw_params->tx_bds_per_q) (TOTAL_DESC - priv->hw_params->tx_queues * priv->hw_params->tx_bds_per_q)
...@@ -2488,6 +2490,7 @@ static struct bcmgenet_hw_params bcmgenet_hw_params[] = { ...@@ -2488,6 +2490,7 @@ static struct bcmgenet_hw_params bcmgenet_hw_params[] = {
.tx_queues = 0, .tx_queues = 0,
.tx_bds_per_q = 0, .tx_bds_per_q = 0,
.rx_queues = 0, .rx_queues = 0,
.rx_bds_per_q = 0,
.bp_in_en_shift = 16, .bp_in_en_shift = 16,
.bp_in_mask = 0xffff, .bp_in_mask = 0xffff,
.hfb_filter_cnt = 16, .hfb_filter_cnt = 16,
...@@ -2501,6 +2504,7 @@ static struct bcmgenet_hw_params bcmgenet_hw_params[] = { ...@@ -2501,6 +2504,7 @@ static struct bcmgenet_hw_params bcmgenet_hw_params[] = {
.tx_queues = 4, .tx_queues = 4,
.tx_bds_per_q = 32, .tx_bds_per_q = 32,
.rx_queues = 0, .rx_queues = 0,
.rx_bds_per_q = 0,
.bp_in_en_shift = 16, .bp_in_en_shift = 16,
.bp_in_mask = 0xffff, .bp_in_mask = 0xffff,
.hfb_filter_cnt = 16, .hfb_filter_cnt = 16,
...@@ -2517,6 +2521,7 @@ static struct bcmgenet_hw_params bcmgenet_hw_params[] = { ...@@ -2517,6 +2521,7 @@ static struct bcmgenet_hw_params bcmgenet_hw_params[] = {
.tx_queues = 4, .tx_queues = 4,
.tx_bds_per_q = 32, .tx_bds_per_q = 32,
.rx_queues = 0, .rx_queues = 0,
.rx_bds_per_q = 0,
.bp_in_en_shift = 17, .bp_in_en_shift = 17,
.bp_in_mask = 0x1ffff, .bp_in_mask = 0x1ffff,
.hfb_filter_cnt = 48, .hfb_filter_cnt = 48,
...@@ -2533,6 +2538,7 @@ static struct bcmgenet_hw_params bcmgenet_hw_params[] = { ...@@ -2533,6 +2538,7 @@ static struct bcmgenet_hw_params bcmgenet_hw_params[] = {
.tx_queues = 4, .tx_queues = 4,
.tx_bds_per_q = 32, .tx_bds_per_q = 32,
.rx_queues = 0, .rx_queues = 0,
.rx_bds_per_q = 0,
.bp_in_en_shift = 17, .bp_in_en_shift = 17,
.bp_in_mask = 0x1ffff, .bp_in_mask = 0x1ffff,
.hfb_filter_cnt = 48, .hfb_filter_cnt = 48,
...@@ -2632,7 +2638,7 @@ static void bcmgenet_set_hw_params(struct bcmgenet_priv *priv) ...@@ -2632,7 +2638,7 @@ static void bcmgenet_set_hw_params(struct bcmgenet_priv *priv)
#endif #endif
pr_debug("Configuration for version: %d\n" pr_debug("Configuration for version: %d\n"
"TXq: %1d, TXqBDs: %1d, RXq: %1d\n" "TXq: %1d, TXqBDs: %1d, RXq: %1d, RXqBDs: %1d\n"
"BP << en: %2d, BP msk: 0x%05x\n" "BP << en: %2d, BP msk: 0x%05x\n"
"HFB count: %2d, QTAQ msk: 0x%05x\n" "HFB count: %2d, QTAQ msk: 0x%05x\n"
"TBUF: 0x%04x, HFB: 0x%04x, HFBreg: 0x%04x\n" "TBUF: 0x%04x, HFB: 0x%04x, HFBreg: 0x%04x\n"
...@@ -2640,7 +2646,7 @@ static void bcmgenet_set_hw_params(struct bcmgenet_priv *priv) ...@@ -2640,7 +2646,7 @@ static void bcmgenet_set_hw_params(struct bcmgenet_priv *priv)
"Words/BD: %d\n", "Words/BD: %d\n",
priv->version, priv->version,
params->tx_queues, params->tx_bds_per_q, params->tx_queues, params->tx_bds_per_q,
params->rx_queues, params->rx_queues, params->rx_bds_per_q,
params->bp_in_en_shift, params->bp_in_mask, params->bp_in_en_shift, params->bp_in_mask,
params->hfb_filter_cnt, params->qtag_mask, params->hfb_filter_cnt, params->qtag_mask,
params->tbuf_offset, params->hfb_offset, params->tbuf_offset, params->hfb_offset,
......
...@@ -505,6 +505,7 @@ struct bcmgenet_hw_params { ...@@ -505,6 +505,7 @@ struct bcmgenet_hw_params {
u8 tx_queues; u8 tx_queues;
u8 tx_bds_per_q; u8 tx_bds_per_q;
u8 rx_queues; u8 rx_queues;
u8 rx_bds_per_q;
u8 bp_in_en_shift; u8 bp_in_en_shift;
u32 bp_in_mask; u32 bp_in_mask;
u8 hfb_filter_cnt; u8 hfb_filter_cnt;
......
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