@@ -351,7 +351,7 @@ static void ravb_rx_ring_format_gbeth(struct net_device *ndev, int q)
351351 for (i = 0 ; i < priv -> num_rx_ring [q ]; i ++ ) {
352352 /* RX descriptor */
353353 rx_desc = & priv -> rx_ring [q ].desc [i ];
354- rx_desc -> ds_cc = cpu_to_le16 (GBETH_RX_DESC_DATA_SIZE );
354+ rx_desc -> ds_cc = cpu_to_le16 (priv -> info -> rx_max_desc_use );
355355 dma_addr = dma_map_single (ndev -> dev .parent , priv -> rx_skb [q ][i ]-> data ,
356356 priv -> info -> rx_max_frame_size ,
357357 DMA_FROM_DEVICE );
@@ -381,7 +381,7 @@ static void ravb_rx_ring_format_rcar(struct net_device *ndev, int q)
381381 for (i = 0 ; i < priv -> num_rx_ring [q ]; i ++ ) {
382382 /* RX descriptor */
383383 rx_desc = & priv -> rx_ring [q ].ex_desc [i ];
384- rx_desc -> ds_cc = cpu_to_le16 (RX_BUF_SZ );
384+ rx_desc -> ds_cc = cpu_to_le16 (priv -> info -> rx_max_desc_use );
385385 dma_addr = dma_map_single (ndev -> dev .parent , priv -> rx_skb [q ][i ]-> data ,
386386 priv -> info -> rx_max_frame_size ,
387387 DMA_FROM_DEVICE );
@@ -921,7 +921,7 @@ static bool ravb_rx_gbeth(struct net_device *ndev, int *quota, int q)
921921 for (; priv -> cur_rx [q ] - priv -> dirty_rx [q ] > 0 ; priv -> dirty_rx [q ]++ ) {
922922 entry = priv -> dirty_rx [q ] % priv -> num_rx_ring [q ];
923923 desc = & priv -> rx_ring [q ].desc [entry ];
924- desc -> ds_cc = cpu_to_le16 (GBETH_RX_DESC_DATA_SIZE );
924+ desc -> ds_cc = cpu_to_le16 (priv -> info -> rx_max_desc_use );
925925
926926 if (!priv -> rx_skb [q ][entry ]) {
927927 skb = ravb_alloc_skb (ndev , info , GFP_ATOMIC );
@@ -1036,7 +1036,7 @@ static bool ravb_rx_rcar(struct net_device *ndev, int *quota, int q)
10361036 for (; priv -> cur_rx [q ] - priv -> dirty_rx [q ] > 0 ; priv -> dirty_rx [q ]++ ) {
10371037 entry = priv -> dirty_rx [q ] % priv -> num_rx_ring [q ];
10381038 desc = & priv -> rx_ring [q ].ex_desc [entry ];
1039- desc -> ds_cc = cpu_to_le16 (RX_BUF_SZ );
1039+ desc -> ds_cc = cpu_to_le16 (priv -> info -> rx_max_desc_use );
10401040
10411041 if (!priv -> rx_skb [q ][entry ]) {
10421042 skb = ravb_alloc_skb (ndev , info , GFP_ATOMIC );
@@ -2694,6 +2694,7 @@ static const struct ravb_hw_info ravb_gen3_hw_info = {
26942694 .stats_len = ARRAY_SIZE (ravb_gstrings_stats ),
26952695 .tccr_mask = TCCR_TSRQ0 | TCCR_TSRQ1 | TCCR_TSRQ2 | TCCR_TSRQ3 ,
26962696 .rx_max_frame_size = SZ_2K ,
2697+ .rx_max_desc_use = SZ_2K - ETH_FCS_LEN + sizeof (__sum16 ),
26972698 .internal_delay = 1 ,
26982699 .tx_counters = 1 ,
26992700 .multi_irqs = 1 ,
@@ -2719,6 +2720,7 @@ static const struct ravb_hw_info ravb_gen2_hw_info = {
27192720 .stats_len = ARRAY_SIZE (ravb_gstrings_stats ),
27202721 .tccr_mask = TCCR_TSRQ0 | TCCR_TSRQ1 | TCCR_TSRQ2 | TCCR_TSRQ3 ,
27212722 .rx_max_frame_size = SZ_2K ,
2723+ .rx_max_desc_use = SZ_2K - ETH_FCS_LEN + sizeof (__sum16 ),
27222724 .aligned_tx = 1 ,
27232725 .gptp = 1 ,
27242726 .nc_queues = 1 ,
@@ -2741,6 +2743,7 @@ static const struct ravb_hw_info ravb_rzv2m_hw_info = {
27412743 .stats_len = ARRAY_SIZE (ravb_gstrings_stats ),
27422744 .tccr_mask = TCCR_TSRQ0 | TCCR_TSRQ1 | TCCR_TSRQ2 | TCCR_TSRQ3 ,
27432745 .rx_max_frame_size = SZ_2K ,
2746+ .rx_max_desc_use = SZ_2K - ETH_FCS_LEN + sizeof (__sum16 ),
27442747 .multi_irqs = 1 ,
27452748 .err_mgmt_irqs = 1 ,
27462749 .gptp = 1 ,
@@ -2765,6 +2768,7 @@ static const struct ravb_hw_info gbeth_hw_info = {
27652768 .stats_len = ARRAY_SIZE (ravb_gstrings_stats_gbeth ),
27662769 .tccr_mask = TCCR_TSRQ0 ,
27672770 .rx_max_frame_size = SZ_8K ,
2771+ .rx_max_desc_use = 4080 ,
27682772 .aligned_tx = 1 ,
27692773 .tx_counters = 1 ,
27702774 .carrier_counters = 1 ,
0 commit comments