[PATCH] net: sxgbe: fixed mtl and dma channel feature

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch fixes mtl queue and dma channel value
and adds mtl qsize for FIFO setting.

Signed-off-by: Byungho An <bh74.an@xxxxxxxxxxx>
---
 drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c |   13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c b/drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
index 7dc3449..bf4447a 100644
--- a/drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
+++ b/drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
@@ -889,14 +889,19 @@ static int sxgbe_get_hw_features(struct sxgbe_priv_data * const priv)
 	/* Read First Capability Register CAP[2] */
 	rval = priv->hw->mac->get_hw_feature(priv->ioaddr, 2);
 	if (rval) {
-		features->rx_mtl_queues = SXGBE_HW_FEAT_RX_MTL_QUEUES(rval);
-		features->tx_mtl_queues = SXGBE_HW_FEAT_TX_MTL_QUEUES(rval);
-		features->rx_dma_channels = SXGBE_HW_FEAT_RX_DMA_CHANNELS(rval);
-		features->tx_dma_channels = SXGBE_HW_FEAT_TX_DMA_CHANNELS(rval);
+		features->rx_mtl_queues = SXGBE_HW_FEAT_RX_MTL_QUEUES(rval) + 1;
+		features->tx_mtl_queues = SXGBE_HW_FEAT_TX_MTL_QUEUES(rval) + 1;
+		features->rx_dma_channels = SXGBE_HW_FEAT_RX_DMA_CHANNELS(rval) + 1;
+		features->tx_dma_channels = SXGBE_HW_FEAT_TX_DMA_CHANNELS(rval) + 1;
 		features->pps_output_count = SXGBE_HW_FEAT_PPS_OUTPUTS(rval);
 		features->aux_input_count = SXGBE_HW_FEAT_AUX_SNAPSHOTS(rval);
 	}
 
+	features->rx_mtl_qsize = (1 << (features->rxfifo_size + 7)) /
+				  features->rx_mtl_queues;
+	features->tx_mtl_qsize = (1 << (features->txfifo_size + 7)) /
+				  features->tx_mtl_queues;
+
 	return rval;
 }
 
-- 
1.7.10.4


--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  Powered by Linux