mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-09-22 09:34:56 +02:00
net: stmmac: qcom-ethqos: use u32 for rgmii read/write/update
readl() returns a u32, and writel() takes a "u32" for the value. These are used in rgmii_readl()() and rgmii_writel(), but the value and return are "int". As these are 32-bit register values which are not signed, use "u32". These changes do not cause generated code changes. Update rgmii_updatel() to use u32 for mask and val. Changing "mask" to "u32" also does not cause generated code changes. However, changing "val" causes the generated assembly to be re-ordered for aarch64. Update the temporary variables used with the rgmii functions to use u32. Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://patch.msgid.link/E1vM2mq-0000000FRTi-3y5F@rmk-PC.armlinux.org.uk Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
501253b61d
commit
f54bbd390f
@@ -116,21 +116,21 @@ struct qcom_ethqos {
|
||||
bool needs_sgmii_loopback;
|
||||
};
|
||||
|
||||
static int rgmii_readl(struct qcom_ethqos *ethqos, unsigned int offset)
|
||||
static u32 rgmii_readl(struct qcom_ethqos *ethqos, unsigned int offset)
|
||||
{
|
||||
return readl(ethqos->rgmii_base + offset);
|
||||
}
|
||||
|
||||
static void rgmii_writel(struct qcom_ethqos *ethqos,
|
||||
int value, unsigned int offset)
|
||||
static void rgmii_writel(struct qcom_ethqos *ethqos, u32 value,
|
||||
unsigned int offset)
|
||||
{
|
||||
writel(value, ethqos->rgmii_base + offset);
|
||||
}
|
||||
|
||||
static void rgmii_updatel(struct qcom_ethqos *ethqos,
|
||||
int mask, int val, unsigned int offset)
|
||||
static void rgmii_updatel(struct qcom_ethqos *ethqos, u32 mask, u32 val,
|
||||
unsigned int offset)
|
||||
{
|
||||
unsigned int temp;
|
||||
u32 temp;
|
||||
|
||||
temp = rgmii_readl(ethqos, offset);
|
||||
temp = (temp & ~(mask)) | val;
|
||||
@@ -300,8 +300,8 @@ static const struct ethqos_emac_driver_data emac_v4_0_0_data = {
|
||||
static int ethqos_dll_configure(struct qcom_ethqos *ethqos)
|
||||
{
|
||||
struct device *dev = ðqos->pdev->dev;
|
||||
unsigned int val;
|
||||
int retry = 1000;
|
||||
u32 val;
|
||||
|
||||
/* Set CDR_EN */
|
||||
rgmii_updatel(ethqos, SDCC_DLL_CONFIG_CDR_EN,
|
||||
@@ -535,7 +535,7 @@ static int ethqos_rgmii_macro_init(struct qcom_ethqos *ethqos, int speed)
|
||||
static int ethqos_configure_rgmii(struct qcom_ethqos *ethqos, int speed)
|
||||
{
|
||||
struct device *dev = ðqos->pdev->dev;
|
||||
volatile unsigned int dll_lock;
|
||||
volatile u32 dll_lock;
|
||||
unsigned int i, retry = 1000;
|
||||
|
||||
/* Reset to POR values and enable clk */
|
||||
|
||||
Reference in New Issue
Block a user