From 4dae9dd101d19da88e4d5d3fb5983c1aba460574 Mon Sep 17 00:00:00 2001 From: Yicong Yang Date: Tue, 27 Sep 2022 21:16:50 +0800 Subject: [PATCH] spi: hisi-sfc-v3xx: extend version checking compatibility mainline inclusion from mainline-v5.12-rc1 commit 566c6120f095 category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I5QUS6 CVE: NA Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=566c6120f095 -------------------------------------------------------------------------- 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 Acked-by: John Garry Link: https://lore.kernel.org/r/1610526716-14882-1-git-send-email-yangyicong@hisilicon.com Signed-off-by: Mark Brown Signed-off-by: Wangming Shao Reviewed-by: Yicong Yang Acked-by: Xie XiuQi Signed-off-by: Zheng Zengkai --- drivers/spi/spi-hisi-sfc-v3xx.c | 8 ++------ 1 file 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) -- GitLab