From c09b5df3383e9a19a8a5b011c1bd7b902795b561 Mon Sep 17 00:00:00 2001 From: Yicong Yang Date: Thu, 8 Dec 2022 21:45:24 +0800 Subject: [PATCH 35/39] spi: hisi-sfc-v3xx: extend version checking compatibility mainline inclusion from mainline-v5.12-rc1 commit 566c6120f095be74862bed35f557f797478abade category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8CSBP CVE: NA Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=566c6120f095be74862bed35f557f797478abade -------------------------------------------------------------------------- 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 Signed-off-by: Zheng Zengkai Signed-off-by: YunYi Yang --- 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 3e695784abf4..e679321c7e23 100644 --- a/drivers/spi/spi-hisi-sfc-v3xx.c +++ b/drivers/spi/spi-hisi-sfc-v3xx.c @@ -476,14 +476,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) -- 2.27.0