Commit 3201fce0 authored by Dave Mitchell's avatar Dave Mitchell Committed by David S. Miller

ibm_newemac: Added 16K Tx FIFO size support for EMAC4

Some of the EMAC V4 implementations support 16K Tx FIFOs. This
patch adds support for this functionality and fixes typos in the
Tx FIFO size error messages.
Signed-off-by: default avatarDave Mitchell <dmitchell@appliedmicro.com>
Acked-by: default avatarProdyut Hazarika <phazarika@appliedmicro.com>
Acked-by: default avatarVictor Gallardo <vgallardo@appliedmicro.com>
Acked-by: default avatarLoc Ho <lho@appliedmicro.com>
Acked-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent efd7d261
...@@ -443,7 +443,7 @@ static u32 __emac_calc_base_mr1(struct emac_instance *dev, int tx_size, int rx_s ...@@ -443,7 +443,7 @@ static u32 __emac_calc_base_mr1(struct emac_instance *dev, int tx_size, int rx_s
ret |= EMAC_MR1_TFS_2K; ret |= EMAC_MR1_TFS_2K;
break; break;
default: default:
printk(KERN_WARNING "%s: Unknown Rx FIFO size %d\n", printk(KERN_WARNING "%s: Unknown Tx FIFO size %d\n",
dev->ndev->name, tx_size); dev->ndev->name, tx_size);
} }
...@@ -470,6 +470,9 @@ static u32 __emac4_calc_base_mr1(struct emac_instance *dev, int tx_size, int rx_ ...@@ -470,6 +470,9 @@ static u32 __emac4_calc_base_mr1(struct emac_instance *dev, int tx_size, int rx_
DBG2(dev, "__emac4_calc_base_mr1" NL); DBG2(dev, "__emac4_calc_base_mr1" NL);
switch(tx_size) { switch(tx_size) {
case 16384:
ret |= EMAC4_MR1_TFS_16K;
break;
case 4096: case 4096:
ret |= EMAC4_MR1_TFS_4K; ret |= EMAC4_MR1_TFS_4K;
break; break;
...@@ -477,7 +480,7 @@ static u32 __emac4_calc_base_mr1(struct emac_instance *dev, int tx_size, int rx_ ...@@ -477,7 +480,7 @@ static u32 __emac4_calc_base_mr1(struct emac_instance *dev, int tx_size, int rx_
ret |= EMAC4_MR1_TFS_2K; ret |= EMAC4_MR1_TFS_2K;
break; break;
default: default:
printk(KERN_WARNING "%s: Unknown Rx FIFO size %d\n", printk(KERN_WARNING "%s: Unknown Tx FIFO size %d\n",
dev->ndev->name, tx_size); dev->ndev->name, tx_size);
} }
......
...@@ -153,6 +153,7 @@ struct emac_regs { ...@@ -153,6 +153,7 @@ struct emac_regs {
#define EMAC4_MR1_RFS_16K 0x00280000 #define EMAC4_MR1_RFS_16K 0x00280000
#define EMAC4_MR1_TFS_2K 0x00020000 #define EMAC4_MR1_TFS_2K 0x00020000
#define EMAC4_MR1_TFS_4K 0x00030000 #define EMAC4_MR1_TFS_4K 0x00030000
#define EMAC4_MR1_TFS_16K 0x00050000
#define EMAC4_MR1_TR 0x00008000 #define EMAC4_MR1_TR 0x00008000
#define EMAC4_MR1_MWSW_001 0x00001000 #define EMAC4_MR1_MWSW_001 0x00001000
#define EMAC4_MR1_JPSM 0x00000800 #define EMAC4_MR1_JPSM 0x00000800
......
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