summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2019-04-14 20:46:28 -0400
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>2019-05-01 06:35:47 -0400
commit3ca4133253a7ff37e56b3b00f1e03c3e7d20ea89 (patch)
tree55d58e0f5b7a412d3cf77875ac5c772ef47e97d4
parent276c76d7a15ada363b8efab7b50a52aeaf3b3fd5 (diff)
PCI: imx6: Simplify bit operations in PHY functions
Simplify the code by incorporating left shifts into constant definitions as well as using FIELD_PREP/GENMASK. No functional change intended. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Reviewed-by: Lucas Stach <l.stach@pengutronix.de> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: Chris Healy <cphealy@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: linux-kernel@vger.kernel.org Cc: linux-pci@vger.kernel.org
-rw-r--r--drivers/pci/controller/dwc/pci-imx6.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
index 5650642ab248..669e01353026 100644
--- a/drivers/pci/controller/dwc/pci-imx6.c
+++ b/drivers/pci/controller/dwc/pci-imx6.c
@@ -105,11 +105,11 @@ struct imx6_pcie {
105#define PL_OFFSET 0x700 105#define PL_OFFSET 0x700
106 106
107#define PCIE_PHY_CTRL (PL_OFFSET + 0x114) 107#define PCIE_PHY_CTRL (PL_OFFSET + 0x114)
108#define PCIE_PHY_CTRL_DATA_LOC 0 108#define PCIE_PHY_CTRL_DATA(x) FIELD_PREP(GENMASK(15, 0), (x))
109#define PCIE_PHY_CTRL_CAP_ADR_LOC 16 109#define PCIE_PHY_CTRL_CAP_ADR BIT(16)
110#define PCIE_PHY_CTRL_CAP_DAT_LOC 17 110#define PCIE_PHY_CTRL_CAP_DAT BIT(17)
111#define PCIE_PHY_CTRL_WR_LOC 18 111#define PCIE_PHY_CTRL_WR BIT(18)
112#define PCIE_PHY_CTRL_RD_LOC 19 112#define PCIE_PHY_CTRL_RD BIT(19)
113 113
114#define PCIE_PHY_STAT (PL_OFFSET + 0x110) 114#define PCIE_PHY_STAT (PL_OFFSET + 0x110)
115#define PCIE_PHY_STAT_ACK_LOC 16 115#define PCIE_PHY_STAT_ACK_LOC 16
@@ -178,17 +178,17 @@ static int pcie_phy_wait_ack(struct imx6_pcie *imx6_pcie, int addr)
178 u32 val; 178 u32 val;
179 int ret; 179 int ret;
180 180
181 val = addr << PCIE_PHY_CTRL_DATA_LOC; 181 val = PCIE_PHY_CTRL_DATA(addr);
182 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, val); 182 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, val);
183 183
184 val |= (0x1 << PCIE_PHY_CTRL_CAP_ADR_LOC); 184 val |= PCIE_PHY_CTRL_CAP_ADR;
185 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, val); 185 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, val);
186 186
187 ret = pcie_phy_poll_ack(imx6_pcie, 1); 187 ret = pcie_phy_poll_ack(imx6_pcie, 1);
188 if (ret) 188 if (ret)
189 return ret; 189 return ret;
190 190
191 val = addr << PCIE_PHY_CTRL_DATA_LOC; 191 val = PCIE_PHY_CTRL_DATA(addr);
192 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, val); 192 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, val);
193 193
194 return pcie_phy_poll_ack(imx6_pcie, 0); 194 return pcie_phy_poll_ack(imx6_pcie, 0);
@@ -206,7 +206,7 @@ static int pcie_phy_read(struct imx6_pcie *imx6_pcie, int addr, int *data)
206 return ret; 206 return ret;
207 207
208 /* assert Read signal */ 208 /* assert Read signal */
209 phy_ctl = 0x1 << PCIE_PHY_CTRL_RD_LOC; 209 phy_ctl = PCIE_PHY_CTRL_RD;
210 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, phy_ctl); 210 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, phy_ctl);
211 211
212 ret = pcie_phy_poll_ack(imx6_pcie, 1); 212 ret = pcie_phy_poll_ack(imx6_pcie, 1);
@@ -234,11 +234,11 @@ static int pcie_phy_write(struct imx6_pcie *imx6_pcie, int addr, int data)
234 if (ret) 234 if (ret)
235 return ret; 235 return ret;
236 236
237 var = data << PCIE_PHY_CTRL_DATA_LOC; 237 var = PCIE_PHY_CTRL_DATA(data);
238 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, var); 238 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, var);
239 239
240 /* capture data */ 240 /* capture data */
241 var |= (0x1 << PCIE_PHY_CTRL_CAP_DAT_LOC); 241 var |= PCIE_PHY_CTRL_CAP_DAT;
242 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, var); 242 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, var);
243 243
244 ret = pcie_phy_poll_ack(imx6_pcie, 1); 244 ret = pcie_phy_poll_ack(imx6_pcie, 1);
@@ -246,7 +246,7 @@ static int pcie_phy_write(struct imx6_pcie *imx6_pcie, int addr, int data)
246 return ret; 246 return ret;
247 247
248 /* deassert cap data */ 248 /* deassert cap data */
249 var = data << PCIE_PHY_CTRL_DATA_LOC; 249 var = PCIE_PHY_CTRL_DATA(data);
250 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, var); 250 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, var);
251 251
252 /* wait for ack de-assertion */ 252 /* wait for ack de-assertion */
@@ -255,7 +255,7 @@ static int pcie_phy_write(struct imx6_pcie *imx6_pcie, int addr, int data)
255 return ret; 255 return ret;
256 256
257 /* assert wr signal */ 257 /* assert wr signal */
258 var = 0x1 << PCIE_PHY_CTRL_WR_LOC; 258 var = PCIE_PHY_CTRL_WR;
259 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, var); 259 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, var);
260 260
261 /* wait for ack */ 261 /* wait for ack */
@@ -264,7 +264,7 @@ static int pcie_phy_write(struct imx6_pcie *imx6_pcie, int addr, int data)
264 return ret; 264 return ret;
265 265
266 /* deassert wr signal */ 266 /* deassert wr signal */
267 var = data << PCIE_PHY_CTRL_DATA_LOC; 267 var = PCIE_PHY_CTRL_DATA(data);
268 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, var); 268 dw_pcie_writel_dbi(pci, PCIE_PHY_CTRL, var);
269 269
270 /* wait for ack de-assertion */ 270 /* wait for ack de-assertion */