diff options
Diffstat (limited to 'drivers/net/chelsio/espi.c')
-rw-r--r-- | drivers/net/chelsio/espi.c | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/drivers/net/chelsio/espi.c b/drivers/net/chelsio/espi.c index 44d2603bb010..d7c5406a6c3f 100644 --- a/drivers/net/chelsio/espi.c +++ b/drivers/net/chelsio/espi.c | |||
@@ -202,9 +202,9 @@ static void espi_setup_for_pm3393(adapter_t *adapter) | |||
202 | 202 | ||
203 | static void espi_setup_for_vsc7321(adapter_t *adapter) | 203 | static void espi_setup_for_vsc7321(adapter_t *adapter) |
204 | { | 204 | { |
205 | writel(0x1f4, adapter->regs + A_ESPI_SCH_TOKEN0); | 205 | writel(0x1f4, adapter->regs + A_ESPI_SCH_TOKEN0); |
206 | writel(0x1f401f4, adapter->regs + A_ESPI_SCH_TOKEN1); | 206 | writel(0x1f401f4, adapter->regs + A_ESPI_SCH_TOKEN1); |
207 | writel(0x1f4, adapter->regs + A_ESPI_SCH_TOKEN2); | 207 | writel(0x1f4, adapter->regs + A_ESPI_SCH_TOKEN2); |
208 | writel(0xa00, adapter->regs + A_ESPI_RX_FIFO_ALMOST_FULL_WATERMARK); | 208 | writel(0xa00, adapter->regs + A_ESPI_RX_FIFO_ALMOST_FULL_WATERMARK); |
209 | writel(0x1ff, adapter->regs + A_ESPI_RX_FIFO_ALMOST_EMPTY_WATERMARK); | 209 | writel(0x1ff, adapter->regs + A_ESPI_RX_FIFO_ALMOST_EMPTY_WATERMARK); |
210 | writel(1, adapter->regs + A_ESPI_CALENDAR_LENGTH); | 210 | writel(1, adapter->regs + A_ESPI_CALENDAR_LENGTH); |
@@ -247,10 +247,10 @@ int t1_espi_init(struct peespi *espi, int mac_type, int nports) | |||
247 | writel(V_OUT_OF_SYNC_COUNT(4) | | 247 | writel(V_OUT_OF_SYNC_COUNT(4) | |
248 | V_DIP2_PARITY_ERR_THRES(3) | | 248 | V_DIP2_PARITY_ERR_THRES(3) | |
249 | V_DIP4_THRES(1), adapter->regs + A_ESPI_MISC_CONTROL); | 249 | V_DIP4_THRES(1), adapter->regs + A_ESPI_MISC_CONTROL); |
250 | writel(nports == 4 ? 0x200040 : 0x1000080, | 250 | writel(nports == 4 ? 0x200040 : 0x1000080, |
251 | adapter->regs + A_ESPI_MAXBURST1_MAXBURST2); | 251 | adapter->regs + A_ESPI_MAXBURST1_MAXBURST2); |
252 | } else | 252 | } else |
253 | writel(0x800100, adapter->regs + A_ESPI_MAXBURST1_MAXBURST2); | 253 | writel(0x800100, adapter->regs + A_ESPI_MAXBURST1_MAXBURST2); |
254 | 254 | ||
255 | if (mac_type == CHBT_MAC_PM3393) | 255 | if (mac_type == CHBT_MAC_PM3393) |
256 | espi_setup_for_pm3393(adapter); | 256 | espi_setup_for_pm3393(adapter); |
@@ -341,32 +341,31 @@ u32 t1_espi_get_mon(adapter_t *adapter, u32 addr, u8 wait) | |||
341 | * compare with t1_espi_get_mon(), it reads espiInTxSop[0 ~ 3] in | 341 | * compare with t1_espi_get_mon(), it reads espiInTxSop[0 ~ 3] in |
342 | * one shot, since there is no per port counter on the out side. | 342 | * one shot, since there is no per port counter on the out side. |
343 | */ | 343 | */ |
344 | int | 344 | int t1_espi_get_mon_t204(adapter_t *adapter, u32 *valp, u8 wait) |
345 | t1_espi_get_mon_t204(adapter_t *adapter, u32 *valp, u8 wait) | ||
346 | { | 345 | { |
347 | struct peespi *espi = adapter->espi; | 346 | struct peespi *espi = adapter->espi; |
348 | u8 i, nport = (u8)adapter->params.nports; | 347 | u8 i, nport = (u8)adapter->params.nports; |
349 | 348 | ||
350 | if (!wait) { | 349 | if (!wait) { |
351 | if (!spin_trylock(&espi->lock)) | 350 | if (!spin_trylock(&espi->lock)) |
352 | return -1; | 351 | return -1; |
353 | } else | 352 | } else |
354 | spin_lock(&espi->lock); | 353 | spin_lock(&espi->lock); |
355 | 354 | ||
356 | if ( (espi->misc_ctrl & MON_MASK) != F_MONITORED_DIRECTION ) { | 355 | if ((espi->misc_ctrl & MON_MASK) != F_MONITORED_DIRECTION) { |
357 | espi->misc_ctrl = (espi->misc_ctrl & ~MON_MASK) | | 356 | espi->misc_ctrl = (espi->misc_ctrl & ~MON_MASK) | |
358 | F_MONITORED_DIRECTION; | 357 | F_MONITORED_DIRECTION; |
359 | writel(espi->misc_ctrl, adapter->regs + A_ESPI_MISC_CONTROL); | 358 | writel(espi->misc_ctrl, adapter->regs + A_ESPI_MISC_CONTROL); |
360 | } | 359 | } |
361 | for (i = 0 ; i < nport; i++, valp++) { | 360 | for (i = 0 ; i < nport; i++, valp++) { |
362 | if (i) { | 361 | if (i) { |
363 | writel(espi->misc_ctrl | V_MONITORED_PORT_NUM(i), | 362 | writel(espi->misc_ctrl | V_MONITORED_PORT_NUM(i), |
364 | adapter->regs + A_ESPI_MISC_CONTROL); | 363 | adapter->regs + A_ESPI_MISC_CONTROL); |
365 | } | 364 | } |
366 | *valp = readl(adapter->regs + A_ESPI_SCH_TOKEN3); | 365 | *valp = readl(adapter->regs + A_ESPI_SCH_TOKEN3); |
367 | } | 366 | } |
368 | 367 | ||
369 | writel(espi->misc_ctrl, adapter->regs + A_ESPI_MISC_CONTROL); | 368 | writel(espi->misc_ctrl, adapter->regs + A_ESPI_MISC_CONTROL); |
370 | spin_unlock(&espi->lock); | 369 | spin_unlock(&espi->lock); |
371 | return 0; | 370 | return 0; |
372 | } | 371 | } |