summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYicong Yang <yangyicong@hisilicon.com>2021-01-13 09:31:56 +0100
committerMark Brown <broonie@kernel.org>2021-01-13 13:19:49 +0100
commit566c6120f095be74862bed35f557f797478abade (patch)
treea5dc3d73632481608ac5fbf0164c84d4e8ac308f
parentspi: rpc-if: Gaurd .pm assignment with CONFIG_PM_SLEEP #ifdef check (diff)
downloadlinux-566c6120f095be74862bed35f557f797478abade.tar.xz
linux-566c6120f095be74862bed35f557f797478abade.zip
spi: hisi-sfc-v3xx: extend version checking compatibility
Currently we use concrete version to determine the max_cmd_dword. New entries should be added for compatible hardwares of new version or on new platform, otherwise the device will use 16 dwords instead of 64 even if it supports, which will degrade the performance. This will decrease the compatibility and the maintainability. Drop the switch-case statement of the version checking. Only version less than 0x351 supports maximum 16 command dwords. Signed-off-by: Yicong Yang <yangyicong@hisilicon.com> Acked-by: John Garry <john.garry@huawei.com> Link: https://lore.kernel.org/r/1610526716-14882-1-git-send-email-yangyicong@hisilicon.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--drivers/spi/spi-hisi-sfc-v3xx.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/spi/spi-hisi-sfc-v3xx.c b/drivers/spi/spi-hisi-sfc-v3xx.c
index 4650b483a33d..832b80e7ef67 100644
--- a/drivers/spi/spi-hisi-sfc-v3xx.c
+++ b/drivers/spi/spi-hisi-sfc-v3xx.c
@@ -465,14 +465,10 @@ static int hisi_sfc_v3xx_probe(struct platform_device *pdev)
version = readl(host->regbase + HISI_SFC_V3XX_VERSION);
- switch (version) {
- case 0x351:
+ if (version >= 0x351)
host->max_cmd_dword = 64;
- break;
- default:
+ else
host->max_cmd_dword = 16;
- break;
- }
ret = devm_spi_register_controller(dev, ctlr);
if (ret)