spi: hisi-sfc-v3xx: extend version checking compatibility
authorYicong Yang <yangyicong@hisilicon.com>
Wed, 13 Jan 2021 08:31:56 +0000 (16:31 +0800)
committerMark Brown <broonie@kernel.org>
Wed, 13 Jan 2021 12:19:49 +0000 (12:19 +0000)
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>
drivers/spi/spi-hisi-sfc-v3xx.c

index 4650b48..832b80e 100644 (file)
@@ -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)