diff options
Diffstat (limited to 'drivers/net/ethernet/freescale/ucc_geth.c')
| -rw-r--r-- | drivers/net/ethernet/freescale/ucc_geth.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index 4e3cd2f8debb..9ac14f804851 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c | |||
| @@ -116,10 +116,10 @@ static struct ucc_geth_info ugeth_primary_info = { | |||
| 116 | .maxGroupAddrInHash = 4, | 116 | .maxGroupAddrInHash = 4, |
| 117 | .maxIndAddrInHash = 4, | 117 | .maxIndAddrInHash = 4, |
| 118 | .prel = 7, | 118 | .prel = 7, |
| 119 | .maxFrameLength = 1518, | 119 | .maxFrameLength = 1518+16, /* Add extra bytes for VLANs etc. */ |
| 120 | .minFrameLength = 64, | 120 | .minFrameLength = 64, |
| 121 | .maxD1Length = 1520, | 121 | .maxD1Length = 1520+16, /* Add extra bytes for VLANs etc. */ |
| 122 | .maxD2Length = 1520, | 122 | .maxD2Length = 1520+16, /* Add extra bytes for VLANs etc. */ |
| 123 | .vlantype = 0x8100, | 123 | .vlantype = 0x8100, |
| 124 | .ecamptr = ((uint32_t) NULL), | 124 | .ecamptr = ((uint32_t) NULL), |
| 125 | .eventRegMask = UCCE_OTHER, | 125 | .eventRegMask = UCCE_OTHER, |
| @@ -3945,6 +3945,8 @@ static int ucc_geth_probe(struct platform_device* ofdev) | |||
| 3945 | } | 3945 | } |
| 3946 | 3946 | ||
| 3947 | if (max_speed == SPEED_1000) { | 3947 | if (max_speed == SPEED_1000) { |
| 3948 | unsigned int snums = qe_get_num_of_snums(); | ||
| 3949 | |||
| 3948 | /* configure muram FIFOs for gigabit operation */ | 3950 | /* configure muram FIFOs for gigabit operation */ |
| 3949 | ug_info->uf_info.urfs = UCC_GETH_URFS_GIGA_INIT; | 3951 | ug_info->uf_info.urfs = UCC_GETH_URFS_GIGA_INIT; |
| 3950 | ug_info->uf_info.urfet = UCC_GETH_URFET_GIGA_INIT; | 3952 | ug_info->uf_info.urfet = UCC_GETH_URFET_GIGA_INIT; |
| @@ -3954,11 +3956,11 @@ static int ucc_geth_probe(struct platform_device* ofdev) | |||
| 3954 | ug_info->uf_info.utftt = UCC_GETH_UTFTT_GIGA_INIT; | 3956 | ug_info->uf_info.utftt = UCC_GETH_UTFTT_GIGA_INIT; |
| 3955 | ug_info->numThreadsTx = UCC_GETH_NUM_OF_THREADS_4; | 3957 | ug_info->numThreadsTx = UCC_GETH_NUM_OF_THREADS_4; |
| 3956 | 3958 | ||
| 3957 | /* If QE's snum number is 46 which means we need to support | 3959 | /* If QE's snum number is 46/76 which means we need to support |
| 3958 | * 4 UECs at 1000Base-T simultaneously, we need to allocate | 3960 | * 4 UECs at 1000Base-T simultaneously, we need to allocate |
| 3959 | * more Threads to Rx. | 3961 | * more Threads to Rx. |
| 3960 | */ | 3962 | */ |
| 3961 | if (qe_get_num_of_snums() == 46) | 3963 | if ((snums == 76) || (snums == 46)) |
| 3962 | ug_info->numThreadsRx = UCC_GETH_NUM_OF_THREADS_6; | 3964 | ug_info->numThreadsRx = UCC_GETH_NUM_OF_THREADS_6; |
| 3963 | else | 3965 | else |
| 3964 | ug_info->numThreadsRx = UCC_GETH_NUM_OF_THREADS_4; | 3966 | ug_info->numThreadsRx = UCC_GETH_NUM_OF_THREADS_4; |
