Commit 4ff2c4bd authored by Grygorii Strashko's avatar Grygorii Strashko Committed by David S. Miller

net: ethernet: ti: ale: use proper io apis

Switch to use writel_relaxed/readl_relaxed() IO API instead of raw version
as it is recommended.
Signed-off-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c6395f12
...@@ -150,11 +150,11 @@ static int cpsw_ale_read(struct cpsw_ale *ale, int idx, u32 *ale_entry) ...@@ -150,11 +150,11 @@ static int cpsw_ale_read(struct cpsw_ale *ale, int idx, u32 *ale_entry)
WARN_ON(idx > ale->params.ale_entries); WARN_ON(idx > ale->params.ale_entries);
__raw_writel(idx, ale->params.ale_regs + ALE_TABLE_CONTROL); writel_relaxed(idx, ale->params.ale_regs + ALE_TABLE_CONTROL);
for (i = 0; i < ALE_ENTRY_WORDS; i++) for (i = 0; i < ALE_ENTRY_WORDS; i++)
ale_entry[i] = __raw_readl(ale->params.ale_regs + ale_entry[i] = readl_relaxed(ale->params.ale_regs +
ALE_TABLE + 4 * i); ALE_TABLE + 4 * i);
return idx; return idx;
} }
...@@ -166,11 +166,11 @@ static int cpsw_ale_write(struct cpsw_ale *ale, int idx, u32 *ale_entry) ...@@ -166,11 +166,11 @@ static int cpsw_ale_write(struct cpsw_ale *ale, int idx, u32 *ale_entry)
WARN_ON(idx > ale->params.ale_entries); WARN_ON(idx > ale->params.ale_entries);
for (i = 0; i < ALE_ENTRY_WORDS; i++) for (i = 0; i < ALE_ENTRY_WORDS; i++)
__raw_writel(ale_entry[i], ale->params.ale_regs + writel_relaxed(ale_entry[i], ale->params.ale_regs +
ALE_TABLE + 4 * i); ALE_TABLE + 4 * i);
__raw_writel(idx | ALE_TABLE_WRITE, ale->params.ale_regs + writel_relaxed(idx | ALE_TABLE_WRITE, ale->params.ale_regs +
ALE_TABLE_CONTROL); ALE_TABLE_CONTROL);
return idx; return idx;
} }
...@@ -733,9 +733,9 @@ int cpsw_ale_control_set(struct cpsw_ale *ale, int port, int control, ...@@ -733,9 +733,9 @@ int cpsw_ale_control_set(struct cpsw_ale *ale, int port, int control,
offset = info->offset + (port * info->port_offset); offset = info->offset + (port * info->port_offset);
shift = info->shift + (port * info->port_shift); shift = info->shift + (port * info->port_shift);
tmp = __raw_readl(ale->params.ale_regs + offset); tmp = readl_relaxed(ale->params.ale_regs + offset);
tmp = (tmp & ~(mask << shift)) | (value << shift); tmp = (tmp & ~(mask << shift)) | (value << shift);
__raw_writel(tmp, ale->params.ale_regs + offset); writel_relaxed(tmp, ale->params.ale_regs + offset);
return 0; return 0;
} }
...@@ -760,7 +760,7 @@ int cpsw_ale_control_get(struct cpsw_ale *ale, int port, int control) ...@@ -760,7 +760,7 @@ int cpsw_ale_control_get(struct cpsw_ale *ale, int port, int control)
offset = info->offset + (port * info->port_offset); offset = info->offset + (port * info->port_offset);
shift = info->shift + (port * info->port_shift); shift = info->shift + (port * info->port_shift);
tmp = __raw_readl(ale->params.ale_regs + offset) >> shift; tmp = readl_relaxed(ale->params.ale_regs + offset) >> shift;
return tmp & BITMASK(info->bits); return tmp & BITMASK(info->bits);
} }
EXPORT_SYMBOL_GPL(cpsw_ale_control_get); EXPORT_SYMBOL_GPL(cpsw_ale_control_get);
...@@ -781,7 +781,7 @@ void cpsw_ale_start(struct cpsw_ale *ale) ...@@ -781,7 +781,7 @@ void cpsw_ale_start(struct cpsw_ale *ale)
{ {
u32 rev, ale_entries; u32 rev, ale_entries;
rev = __raw_readl(ale->params.ale_regs + ALE_IDVER); rev = readl_relaxed(ale->params.ale_regs + ALE_IDVER);
if (!ale->params.major_ver_mask) if (!ale->params.major_ver_mask)
ale->params.major_ver_mask = 0xff; ale->params.major_ver_mask = 0xff;
ale->version = ale->version =
...@@ -793,8 +793,8 @@ void cpsw_ale_start(struct cpsw_ale *ale) ...@@ -793,8 +793,8 @@ void cpsw_ale_start(struct cpsw_ale *ale)
if (!ale->params.ale_entries) { if (!ale->params.ale_entries) {
ale_entries = ale_entries =
__raw_readl(ale->params.ale_regs + ALE_STATUS) & readl_relaxed(ale->params.ale_regs + ALE_STATUS) &
ALE_STATUS_SIZE_MASK; ALE_STATUS_SIZE_MASK;
/* ALE available on newer NetCP switches has introduced /* ALE available on newer NetCP switches has introduced
* a register, ALE_STATUS, to indicate the size of ALE * a register, ALE_STATUS, to indicate the size of ALE
* table which shows the size as a multiple of 1024 entries. * table which shows the size as a multiple of 1024 entries.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment