diff options
Diffstat (limited to 'target/linux/mvebu')
-rw-r--r-- | target/linux/mvebu/patches-5.4/409-phy-marvell-comphy-Convert-internal-SMCC-firmware-re.patch | 106 |
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"); - |