From: Maxime Chevallier Date: Thu, 12 Jul 2018 11:54:12 +0000 (+0200) Subject: net: mvpp2: make sure we use single queue mode on PPv2.1 X-Git-Tag: v4.18.10~30 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=7961182ace132e1e7590a8a5fa5774c0e55917f8;p=users%2Fdwmw2%2Flinux.git net: mvpp2: make sure we use single queue mode on PPv2.1 [ Upstream commit 1e27a628e3f444f53ab8099dfb31c5156e38d112 ] The PPv2 driver defines 2 "queue_modes" : - QDIST_SINGLE_MODE, where each port share one rx queue vector between all CPUs - QDIST_MULTI_MODE, where each port has one rx queue vector per CPU. Multi queue mode isn't available on PPv2.1, make sure we fallback to single mode when running on this revision. Signed-off-by: Maxime Chevallier Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c index 0319ed9ef8b81..f7f08e3fa7615 100644 --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c @@ -5011,6 +5011,12 @@ static int mvpp2_probe(struct platform_device *pdev) (unsigned long)of_device_get_match_data(&pdev->dev); } + /* multi queue mode isn't supported on PPV2.1, fallback to single + * mode + */ + if (priv->hw_version == MVPP21) + queue_mode = MVPP2_QDIST_SINGLE_MODE; + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); base = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(base))