@@ -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;
}
This patch fixes mtl queue and dma channel value and adds mtl qsize for FIFO setting. Signed-off-by: Byungho An <bh74.an@samsung.com> --- drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)