aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mvebu/patches-5.4/409-phy-marvell-comphy-Convert-internal-SMCC-firmware-re.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/mvebu/patches-5.4/409-phy-marvell-comphy-Convert-internal-SMCC-firmware-re.patch')
-rw-r--r--target/linux/mvebu/patches-5.4/409-phy-marvell-comphy-Convert-internal-SMCC-firmware-re.patch106
1 files changed, 0 insertions, 106 deletions
diff --git a/target/linux/mvebu/patches-5.4/409-phy-marvell-comphy-Convert-internal-SMCC-firmware-re.patch b/target/linux/mvebu/patches-5.4/409-phy-marvell-comphy-Convert-internal-SMCC-firmware-re.patch
deleted file mode 100644
index d496d672e5..0000000000
--- a/target/linux/mvebu/patches-5.4/409-phy-marvell-comphy-Convert-internal-SMCC-firmware-re.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From ea17a0f153af2cd890e4ce517130dcccaa428c13 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>
-Date: Wed, 2 Sep 2020 16:43:43 +0200
-Subject: [PATCH] phy: marvell: comphy: Convert internal SMCC firmware return
- codes to errno
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Driver ->power_on and ->power_off callbacks leaks internal SMCC firmware
-return codes to phy caller. This patch converts SMCC error codes to
-standard linux errno codes. Include file linux/arm-smccc.h already provides
-defines for SMCC error codes, so use them instead of custom driver defines.
-Note that return value is signed 32bit, but stored in unsigned long type
-with zero padding.
-
-Tested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
-Link: https://lore.kernel.org/r/20200902144344.16684-2-pali@kernel.org
-Signed-off-by: Pali Rohár <pali@kernel.org>
-Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
-Reviewed-by: Rob Herring <robh@kernel.org>
----
- drivers/phy/marvell/phy-mvebu-a3700-comphy.c | 14 +++++++++++---
- drivers/phy/marvell/phy-mvebu-cp110-comphy.c | 14 +++++++++++---
- 2 files changed, 22 insertions(+), 6 deletions(-)
-
---- a/drivers/phy/marvell/phy-mvebu-a3700-comphy.c
-+++ b/drivers/phy/marvell/phy-mvebu-a3700-comphy.c
-@@ -26,7 +26,6 @@
- #define COMPHY_SIP_POWER_ON 0x82000001
- #define COMPHY_SIP_POWER_OFF 0x82000002
- #define COMPHY_SIP_PLL_LOCK 0x82000003
--#define COMPHY_FW_NOT_SUPPORTED (-1)
-
- #define COMPHY_FW_MODE_SATA 0x1
- #define COMPHY_FW_MODE_SGMII 0x2
-@@ -112,10 +111,19 @@ static int mvebu_a3700_comphy_smc(unsign
- unsigned long mode)
- {
- struct arm_smccc_res res;
-+ s32 ret;
-
- arm_smccc_smc(function, lane, mode, 0, 0, 0, 0, 0, &res);
-+ ret = res.a0;
-
-- return res.a0;
-+ switch (ret) {
-+ case SMCCC_RET_SUCCESS:
-+ return 0;
-+ case SMCCC_RET_NOT_SUPPORTED:
-+ return -EOPNOTSUPP;
-+ default:
-+ return -EINVAL;
-+ }
- }
-
- static int mvebu_a3700_comphy_get_fw_mode(int lane, int port,
-@@ -220,7 +228,7 @@ static int mvebu_a3700_comphy_power_on(s
- }
-
- ret = mvebu_a3700_comphy_smc(COMPHY_SIP_POWER_ON, lane->id, fw_param);
-- if (ret == COMPHY_FW_NOT_SUPPORTED)
-+ if (ret == -EOPNOTSUPP)
- dev_err(lane->dev,
- "unsupported SMC call, try updating your firmware\n");
-
---- a/drivers/phy/marvell/phy-mvebu-cp110-comphy.c
-+++ b/drivers/phy/marvell/phy-mvebu-cp110-comphy.c
-@@ -123,7 +123,6 @@
-
- #define COMPHY_SIP_POWER_ON 0x82000001
- #define COMPHY_SIP_POWER_OFF 0x82000002
--#define COMPHY_FW_NOT_SUPPORTED (-1)
-
- /*
- * A lane is described by the following bitfields:
-@@ -273,10 +272,19 @@ static int mvebu_comphy_smc(unsigned lon
- unsigned long lane, unsigned long mode)
- {
- struct arm_smccc_res res;
-+ s32 ret;
-
- arm_smccc_smc(function, phys, lane, mode, 0, 0, 0, 0, &res);
-+ ret = res.a0;
-
-- return res.a0;
-+ switch (ret) {
-+ case SMCCC_RET_SUCCESS:
-+ return 0;
-+ case SMCCC_RET_NOT_SUPPORTED:
-+ return -EOPNOTSUPP;
-+ default:
-+ return -EINVAL;
-+ }
- }
-
- static int mvebu_comphy_get_mode(bool fw_mode, int lane, int port,
-@@ -819,7 +827,7 @@ static int mvebu_comphy_power_on(struct
- if (!ret)
- return ret;
-
-- if (ret == COMPHY_FW_NOT_SUPPORTED)
-+ if (ret == -EOPNOTSUPP)
- dev_err(priv->dev,
- "unsupported SMC call, try updating your firmware\n");
-