Commit e3f38039 authored by Yoshihiro Shimoda's avatar Yoshihiro Shimoda Committed by Jakub Kicinski

net: renesas: rswitch: Move linkfix variables to rswitch_gwca

To improve readability, move linkfix related variables to
struct rswitch_gwca. Also, rename function names "desc" with "linkfix".
Signed-off-by: default avatarYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Reviewed-by: default avatarAlexander Duyck <alexanderduyck@fb.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 251eadcc
...@@ -386,7 +386,7 @@ static int rswitch_gwca_queue_format(struct net_device *ndev, ...@@ -386,7 +386,7 @@ static int rswitch_gwca_queue_format(struct net_device *ndev,
rswitch_desc_set_dptr(&desc->desc, gq->ring_dma); rswitch_desc_set_dptr(&desc->desc, gq->ring_dma);
desc->desc.die_dt = DT_LINKFIX; desc->desc.die_dt = DT_LINKFIX;
linkfix = &priv->linkfix_table[gq->index]; linkfix = &priv->gwca.linkfix_table[gq->index];
linkfix->die_dt = DT_LINKFIX; linkfix->die_dt = DT_LINKFIX;
rswitch_desc_set_dptr(linkfix, gq->ring_dma); rswitch_desc_set_dptr(linkfix, gq->ring_dma);
...@@ -470,7 +470,7 @@ static int rswitch_gwca_queue_ext_ts_format(struct net_device *ndev, ...@@ -470,7 +470,7 @@ static int rswitch_gwca_queue_ext_ts_format(struct net_device *ndev,
rswitch_desc_set_dptr(&desc->desc, gq->ring_dma); rswitch_desc_set_dptr(&desc->desc, gq->ring_dma);
desc->desc.die_dt = DT_LINKFIX; desc->desc.die_dt = DT_LINKFIX;
linkfix = &priv->linkfix_table[gq->index]; linkfix = &priv->gwca.linkfix_table[gq->index];
linkfix->die_dt = DT_LINKFIX; linkfix->die_dt = DT_LINKFIX;
rswitch_desc_set_dptr(linkfix, gq->ring_dma); rswitch_desc_set_dptr(linkfix, gq->ring_dma);
...@@ -480,28 +480,31 @@ static int rswitch_gwca_queue_ext_ts_format(struct net_device *ndev, ...@@ -480,28 +480,31 @@ static int rswitch_gwca_queue_ext_ts_format(struct net_device *ndev,
return 0; return 0;
} }
static int rswitch_gwca_desc_alloc(struct rswitch_private *priv) static int rswitch_gwca_linkfix_alloc(struct rswitch_private *priv)
{ {
int i, num_queues = priv->gwca.num_queues; int i, num_queues = priv->gwca.num_queues;
struct rswitch_gwca *gwca = &priv->gwca;
struct device *dev = &priv->pdev->dev; struct device *dev = &priv->pdev->dev;
priv->linkfix_table_size = sizeof(struct rswitch_desc) * num_queues; gwca->linkfix_table_size = sizeof(struct rswitch_desc) * num_queues;
priv->linkfix_table = dma_alloc_coherent(dev, priv->linkfix_table_size, gwca->linkfix_table = dma_alloc_coherent(dev, gwca->linkfix_table_size,
&priv->linkfix_table_dma, GFP_KERNEL); &gwca->linkfix_table_dma, GFP_KERNEL);
if (!priv->linkfix_table) if (!gwca->linkfix_table)
return -ENOMEM; return -ENOMEM;
for (i = 0; i < num_queues; i++) for (i = 0; i < num_queues; i++)
priv->linkfix_table[i].die_dt = DT_EOS; gwca->linkfix_table[i].die_dt = DT_EOS;
return 0; return 0;
} }
static void rswitch_gwca_desc_free(struct rswitch_private *priv) static void rswitch_gwca_linkfix_free(struct rswitch_private *priv)
{ {
if (priv->linkfix_table) struct rswitch_gwca *gwca = &priv->gwca;
dma_free_coherent(&priv->pdev->dev, priv->linkfix_table_size,
priv->linkfix_table, priv->linkfix_table_dma); if (gwca->linkfix_table)
priv->linkfix_table = NULL; dma_free_coherent(&priv->pdev->dev, gwca->linkfix_table_size,
gwca->linkfix_table, gwca->linkfix_table_dma);
gwca->linkfix_table = NULL;
} }
static struct rswitch_gwca_queue *rswitch_gwca_get(struct rswitch_private *priv) static struct rswitch_gwca_queue *rswitch_gwca_get(struct rswitch_private *priv)
...@@ -617,8 +620,8 @@ static int rswitch_gwca_hw_init(struct rswitch_private *priv) ...@@ -617,8 +620,8 @@ static int rswitch_gwca_hw_init(struct rswitch_private *priv)
iowrite32(GWVCC_VEM_SC_TAG, priv->addr + GWVCC); iowrite32(GWVCC_VEM_SC_TAG, priv->addr + GWVCC);
iowrite32(0, priv->addr + GWTTFC); iowrite32(0, priv->addr + GWTTFC);
iowrite32(lower_32_bits(priv->linkfix_table_dma), priv->addr + GWDCBAC1); iowrite32(lower_32_bits(priv->gwca.linkfix_table_dma), priv->addr + GWDCBAC1);
iowrite32(upper_32_bits(priv->linkfix_table_dma), priv->addr + GWDCBAC0); iowrite32(upper_32_bits(priv->gwca.linkfix_table_dma), priv->addr + GWDCBAC0);
rswitch_gwca_set_rate_limit(priv, priv->gwca.speed); rswitch_gwca_set_rate_limit(priv, priv->gwca.speed);
for (i = 0; i < RSWITCH_NUM_PORTS; i++) { for (i = 0; i < RSWITCH_NUM_PORTS; i++) {
...@@ -1650,7 +1653,7 @@ static int rswitch_init(struct rswitch_private *priv) ...@@ -1650,7 +1653,7 @@ static int rswitch_init(struct rswitch_private *priv)
if (err < 0) if (err < 0)
return err; return err;
err = rswitch_gwca_desc_alloc(priv); err = rswitch_gwca_linkfix_alloc(priv);
if (err < 0) if (err < 0)
return -ENOMEM; return -ENOMEM;
...@@ -1712,7 +1715,7 @@ static int rswitch_init(struct rswitch_private *priv) ...@@ -1712,7 +1715,7 @@ static int rswitch_init(struct rswitch_private *priv)
rswitch_device_free(priv, i); rswitch_device_free(priv, i);
err_device_alloc: err_device_alloc:
rswitch_gwca_desc_free(priv); rswitch_gwca_linkfix_free(priv);
return err; return err;
} }
...@@ -1791,7 +1794,7 @@ static void rswitch_deinit(struct rswitch_private *priv) ...@@ -1791,7 +1794,7 @@ static void rswitch_deinit(struct rswitch_private *priv)
rswitch_device_free(priv, i); rswitch_device_free(priv, i);
} }
rswitch_gwca_desc_free(priv); rswitch_gwca_linkfix_free(priv);
rswitch_clock_disable(priv); rswitch_clock_disable(priv);
} }
......
...@@ -930,6 +930,9 @@ struct rswitch_gwca_queue { ...@@ -930,6 +930,9 @@ struct rswitch_gwca_queue {
#define RSWITCH_NUM_IRQ_REGS (RSWITCH_MAX_NUM_QUEUES / BITS_PER_TYPE(u32)) #define RSWITCH_NUM_IRQ_REGS (RSWITCH_MAX_NUM_QUEUES / BITS_PER_TYPE(u32))
struct rswitch_gwca { struct rswitch_gwca {
int index; int index;
struct rswitch_desc *linkfix_table;
dma_addr_t linkfix_table_dma;
u32 linkfix_table_size;
struct rswitch_gwca_queue *queues; struct rswitch_gwca_queue *queues;
int num_queues; int num_queues;
DECLARE_BITMAP(used, RSWITCH_MAX_NUM_QUEUES); DECLARE_BITMAP(used, RSWITCH_MAX_NUM_QUEUES);
...@@ -969,9 +972,6 @@ struct rswitch_private { ...@@ -969,9 +972,6 @@ struct rswitch_private {
struct platform_device *pdev; struct platform_device *pdev;
void __iomem *addr; void __iomem *addr;
struct rcar_gen4_ptp_private *ptp_priv; struct rcar_gen4_ptp_private *ptp_priv;
struct rswitch_desc *linkfix_table;
dma_addr_t linkfix_table_dma;
u32 linkfix_table_size;
struct rswitch_device *rdev[RSWITCH_NUM_PORTS]; struct rswitch_device *rdev[RSWITCH_NUM_PORTS];
......
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