diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-16 14:53:32 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-16 14:53:32 -0400 |
commit | d19d5efd8c8840aa4f38a6dfbfe500d8cc27de46 (patch) | |
tree | 2e2f4f57de790c7de2ccd6d1afbec8695b2c7a46 /drivers/net/ethernet/apple | |
parent | 34c9a0ffc75ad25b6a60f61e27c4a4b1189b8085 (diff) | |
parent | 2fe0753d49402aee325cc39c476b46fd51a8afec (diff) |
Merge tag 'powerpc-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux
Pull powerpc updates from Michael Ellerman:
- Numerous minor fixes, cleanups etc.
- More EEH work from Gavin to remove its dependency on device_nodes.
- Memory hotplug implemented entirely in the kernel from Nathan
Fontenot.
- Removal of redundant CONFIG_PPC_OF by Kevin Hao.
- Rewrite of VPHN parsing logic & tests from Greg Kurz.
- A fix from Nish Aravamudan to reduce memory usage by clamping
nodes_possible_map.
- Support for pstore on powernv from Hari Bathini.
- Removal of old powerpc specific byte swap routines by David Gibson.
- Fix from Vasant Hegde to prevent the flash driver telling you it was
flashing your firmware when it wasn't.
- Patch from Ben Herrenschmidt to add an OPAL heartbeat driver.
- Fix for an oops causing get/put_cpu_var() imbalance in perf by Jan
Stancek.
- Some fixes for migration from Tyrel Datwyler.
- A new syscall to switch the cpu endian by Michael Ellerman.
- Large series from Wei Yang to implement SRIOV, reviewed and acked by
Bjorn.
- A fix for the OPAL sensor driver from Cédric Le Goater.
- Fixes to get STRICT_MM_TYPECHECKS building again by Michael Ellerman.
- Large series from Daniel Axtens to make our PCI hooks per PHB rather
than per machine.
- Small patch from Sam Bobroff to explicitly abort non-suspended
transactions on syscalls, plus a test to exercise it.
- Numerous reworks and fixes for the 24x7 PMU from Sukadev Bhattiprolu.
- Small patch to enable the hard lockup detector from Anton Blanchard.
- Fix from Dave Olson for missing L2 cache information on some CPUs.
- Some fixes from Michael Ellerman to get Cell machines booting again.
- Freescale updates from Scott: Highlights include BMan device tree
nodes, an MSI erratum workaround, a couple minor performance
improvements, config updates, and misc fixes/cleanup.
* tag 'powerpc-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (196 commits)
powerpc/powermac: Fix build error seen with powermac smp builds
powerpc/pseries: Fix compile of memory hotplug without CONFIG_MEMORY_HOTREMOVE
powerpc: Remove PPC32 code from pseries specific find_and_init_phbs()
powerpc/cell: Fix iommu breakage caused by controller_ops change
powerpc/eeh: Fix crash in eeh_add_device_early() on Cell
powerpc/perf: Cap 64bit userspace backtraces to PERF_MAX_STACK_DEPTH
powerpc/perf/hv-24x7: Fail 24x7 initcall if create_events_from_catalog() fails
powerpc/pseries: Correct memory hotplug locking
powerpc: Fix missing L2 cache size in /sys/devices/system/cpu
powerpc: Add ppc64 hard lockup detector support
oprofile: Disable oprofile NMI timer on ppc64
powerpc/perf/hv-24x7: Add missing put_cpu_var()
powerpc/perf/hv-24x7: Break up single_24x7_request
powerpc/perf/hv-24x7: Define update_event_count()
powerpc/perf/hv-24x7: Whitespace cleanup
powerpc/perf/hv-24x7: Define add_event_to_24x7_request()
powerpc/perf/hv-24x7: Rename hv_24x7_event_update
powerpc/perf/hv-24x7: Move debug prints to separate function
powerpc/perf/hv-24x7: Drop event_24x7_request()
powerpc/perf/hv-24x7: Use pr_devel() to log message
...
Conflicts:
tools/testing/selftests/powerpc/Makefile
tools/testing/selftests/powerpc/tm/Makefile
Diffstat (limited to 'drivers/net/ethernet/apple')
-rw-r--r-- | drivers/net/ethernet/apple/bmac.c | 30 | ||||
-rw-r--r-- | drivers/net/ethernet/apple/mace.c | 44 |
2 files changed, 37 insertions, 37 deletions
diff --git a/drivers/net/ethernet/apple/bmac.c b/drivers/net/ethernet/apple/bmac.c index 2f98846e2d89..a65d7a60f116 100644 --- a/drivers/net/ethernet/apple/bmac.c +++ b/drivers/net/ethernet/apple/bmac.c | |||
@@ -483,8 +483,8 @@ static int bmac_suspend(struct macio_dev *mdev, pm_message_t state) | |||
483 | bmwrite(dev, TXCFG, (config & ~TxMACEnable)); | 483 | bmwrite(dev, TXCFG, (config & ~TxMACEnable)); |
484 | bmwrite(dev, INTDISABLE, DisableAll); /* disable all intrs */ | 484 | bmwrite(dev, INTDISABLE, DisableAll); /* disable all intrs */ |
485 | /* disable rx and tx dma */ | 485 | /* disable rx and tx dma */ |
486 | st_le32(&rd->control, DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */ | 486 | rd->control = cpu_to_le32(DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */ |
487 | st_le32(&td->control, DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */ | 487 | td->control = cpu_to_le32(DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */ |
488 | /* free some skb's */ | 488 | /* free some skb's */ |
489 | for (i=0; i<N_RX_RING; i++) { | 489 | for (i=0; i<N_RX_RING; i++) { |
490 | if (bp->rx_bufs[i] != NULL) { | 490 | if (bp->rx_bufs[i] != NULL) { |
@@ -699,8 +699,8 @@ static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id) | |||
699 | 699 | ||
700 | while (1) { | 700 | while (1) { |
701 | cp = &bp->rx_cmds[i]; | 701 | cp = &bp->rx_cmds[i]; |
702 | stat = ld_le16(&cp->xfer_status); | 702 | stat = le16_to_cpu(cp->xfer_status); |
703 | residual = ld_le16(&cp->res_count); | 703 | residual = le16_to_cpu(cp->res_count); |
704 | if ((stat & ACTIVE) == 0) | 704 | if ((stat & ACTIVE) == 0) |
705 | break; | 705 | break; |
706 | nb = RX_BUFLEN - residual - 2; | 706 | nb = RX_BUFLEN - residual - 2; |
@@ -728,8 +728,8 @@ static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id) | |||
728 | skb_reserve(bp->rx_bufs[i], 2); | 728 | skb_reserve(bp->rx_bufs[i], 2); |
729 | } | 729 | } |
730 | bmac_construct_rxbuff(skb, &bp->rx_cmds[i]); | 730 | bmac_construct_rxbuff(skb, &bp->rx_cmds[i]); |
731 | st_le16(&cp->res_count, 0); | 731 | cp->res_count = cpu_to_le16(0); |
732 | st_le16(&cp->xfer_status, 0); | 732 | cp->xfer_status = cpu_to_le16(0); |
733 | last = i; | 733 | last = i; |
734 | if (++i >= N_RX_RING) i = 0; | 734 | if (++i >= N_RX_RING) i = 0; |
735 | } | 735 | } |
@@ -769,7 +769,7 @@ static irqreturn_t bmac_txdma_intr(int irq, void *dev_id) | |||
769 | 769 | ||
770 | while (1) { | 770 | while (1) { |
771 | cp = &bp->tx_cmds[bp->tx_empty]; | 771 | cp = &bp->tx_cmds[bp->tx_empty]; |
772 | stat = ld_le16(&cp->xfer_status); | 772 | stat = le16_to_cpu(cp->xfer_status); |
773 | if (txintcount < 10) { | 773 | if (txintcount < 10) { |
774 | XXDEBUG(("bmac_txdma_xfer_stat=%#0x\n", stat)); | 774 | XXDEBUG(("bmac_txdma_xfer_stat=%#0x\n", stat)); |
775 | } | 775 | } |
@@ -1411,8 +1411,8 @@ static int bmac_close(struct net_device *dev) | |||
1411 | bmwrite(dev, INTDISABLE, DisableAll); /* disable all intrs */ | 1411 | bmwrite(dev, INTDISABLE, DisableAll); /* disable all intrs */ |
1412 | 1412 | ||
1413 | /* disable rx and tx dma */ | 1413 | /* disable rx and tx dma */ |
1414 | st_le32(&rd->control, DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */ | 1414 | rd->control = cpu_to_le32(DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */ |
1415 | st_le32(&td->control, DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */ | 1415 | td->control = cpu_to_le32(DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */ |
1416 | 1416 | ||
1417 | /* free some skb's */ | 1417 | /* free some skb's */ |
1418 | XXDEBUG(("bmac: free rx bufs\n")); | 1418 | XXDEBUG(("bmac: free rx bufs\n")); |
@@ -1493,7 +1493,7 @@ static void bmac_tx_timeout(unsigned long data) | |||
1493 | 1493 | ||
1494 | cp = &bp->tx_cmds[bp->tx_empty]; | 1494 | cp = &bp->tx_cmds[bp->tx_empty]; |
1495 | /* XXDEBUG((KERN_DEBUG "bmac: tx dmastat=%x %x runt=%d pr=%x fs=%x fc=%x\n", */ | 1495 | /* XXDEBUG((KERN_DEBUG "bmac: tx dmastat=%x %x runt=%d pr=%x fs=%x fc=%x\n", */ |
1496 | /* ld_le32(&td->status), ld_le16(&cp->xfer_status), bp->tx_bad_runt, */ | 1496 | /* le32_to_cpu(td->status), le16_to_cpu(cp->xfer_status), bp->tx_bad_runt, */ |
1497 | /* mb->pr, mb->xmtfs, mb->fifofc)); */ | 1497 | /* mb->pr, mb->xmtfs, mb->fifofc)); */ |
1498 | 1498 | ||
1499 | /* turn off both tx and rx and reset the chip */ | 1499 | /* turn off both tx and rx and reset the chip */ |
@@ -1506,7 +1506,7 @@ static void bmac_tx_timeout(unsigned long data) | |||
1506 | bmac_enable_and_reset_chip(dev); | 1506 | bmac_enable_and_reset_chip(dev); |
1507 | 1507 | ||
1508 | /* restart rx dma */ | 1508 | /* restart rx dma */ |
1509 | cp = bus_to_virt(ld_le32(&rd->cmdptr)); | 1509 | cp = bus_to_virt(le32_to_cpu(rd->cmdptr)); |
1510 | out_le32(&rd->control, DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE|ACTIVE|DEAD)); | 1510 | out_le32(&rd->control, DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE|ACTIVE|DEAD)); |
1511 | out_le16(&cp->xfer_status, 0); | 1511 | out_le16(&cp->xfer_status, 0); |
1512 | out_le32(&rd->cmdptr, virt_to_bus(cp)); | 1512 | out_le32(&rd->cmdptr, virt_to_bus(cp)); |
@@ -1553,10 +1553,10 @@ static void dump_dbdma(volatile struct dbdma_cmd *cp,int count) | |||
1553 | ip = (int*)(cp+i); | 1553 | ip = (int*)(cp+i); |
1554 | 1554 | ||
1555 | printk("dbdma req 0x%x addr 0x%x baddr 0x%x xfer/res 0x%x\n", | 1555 | printk("dbdma req 0x%x addr 0x%x baddr 0x%x xfer/res 0x%x\n", |
1556 | ld_le32(ip+0), | 1556 | le32_to_cpup(ip+0), |
1557 | ld_le32(ip+1), | 1557 | le32_to_cpup(ip+1), |
1558 | ld_le32(ip+2), | 1558 | le32_to_cpup(ip+2), |
1559 | ld_le32(ip+3)); | 1559 | le32_to_cpup(ip+3)); |
1560 | } | 1560 | } |
1561 | 1561 | ||
1562 | } | 1562 | } |
diff --git a/drivers/net/ethernet/apple/mace.c b/drivers/net/ethernet/apple/mace.c index a18948286682..e58a7c73766e 100644 --- a/drivers/net/ethernet/apple/mace.c +++ b/drivers/net/ethernet/apple/mace.c | |||
@@ -310,7 +310,7 @@ static void dbdma_reset(volatile struct dbdma_regs __iomem *dma) | |||
310 | * way on some machines. | 310 | * way on some machines. |
311 | */ | 311 | */ |
312 | for (i = 200; i > 0; --i) | 312 | for (i = 200; i > 0; --i) |
313 | if (ld_le32(&dma->control) & RUN) | 313 | if (le32_to_cpu(dma->control) & RUN) |
314 | udelay(1); | 314 | udelay(1); |
315 | } | 315 | } |
316 | 316 | ||
@@ -452,21 +452,21 @@ static int mace_open(struct net_device *dev) | |||
452 | data = skb->data; | 452 | data = skb->data; |
453 | } | 453 | } |
454 | mp->rx_bufs[i] = skb; | 454 | mp->rx_bufs[i] = skb; |
455 | st_le16(&cp->req_count, RX_BUFLEN); | 455 | cp->req_count = cpu_to_le16(RX_BUFLEN); |
456 | st_le16(&cp->command, INPUT_LAST + INTR_ALWAYS); | 456 | cp->command = cpu_to_le16(INPUT_LAST + INTR_ALWAYS); |
457 | st_le32(&cp->phy_addr, virt_to_bus(data)); | 457 | cp->phy_addr = cpu_to_le32(virt_to_bus(data)); |
458 | cp->xfer_status = 0; | 458 | cp->xfer_status = 0; |
459 | ++cp; | 459 | ++cp; |
460 | } | 460 | } |
461 | mp->rx_bufs[i] = NULL; | 461 | mp->rx_bufs[i] = NULL; |
462 | st_le16(&cp->command, DBDMA_STOP); | 462 | cp->command = cpu_to_le16(DBDMA_STOP); |
463 | mp->rx_fill = i; | 463 | mp->rx_fill = i; |
464 | mp->rx_empty = 0; | 464 | mp->rx_empty = 0; |
465 | 465 | ||
466 | /* Put a branch back to the beginning of the receive command list */ | 466 | /* Put a branch back to the beginning of the receive command list */ |
467 | ++cp; | 467 | ++cp; |
468 | st_le16(&cp->command, DBDMA_NOP + BR_ALWAYS); | 468 | cp->command = cpu_to_le16(DBDMA_NOP + BR_ALWAYS); |
469 | st_le32(&cp->cmd_dep, virt_to_bus(mp->rx_cmds)); | 469 | cp->cmd_dep = cpu_to_le32(virt_to_bus(mp->rx_cmds)); |
470 | 470 | ||
471 | /* start rx dma */ | 471 | /* start rx dma */ |
472 | out_le32(&rd->control, (RUN|PAUSE|FLUSH|WAKE) << 16); /* clear run bit */ | 472 | out_le32(&rd->control, (RUN|PAUSE|FLUSH|WAKE) << 16); /* clear run bit */ |
@@ -475,8 +475,8 @@ static int mace_open(struct net_device *dev) | |||
475 | 475 | ||
476 | /* put a branch at the end of the tx command list */ | 476 | /* put a branch at the end of the tx command list */ |
477 | cp = mp->tx_cmds + NCMDS_TX * N_TX_RING; | 477 | cp = mp->tx_cmds + NCMDS_TX * N_TX_RING; |
478 | st_le16(&cp->command, DBDMA_NOP + BR_ALWAYS); | 478 | cp->command = cpu_to_le16(DBDMA_NOP + BR_ALWAYS); |
479 | st_le32(&cp->cmd_dep, virt_to_bus(mp->tx_cmds)); | 479 | cp->cmd_dep = cpu_to_le32(virt_to_bus(mp->tx_cmds)); |
480 | 480 | ||
481 | /* reset tx dma */ | 481 | /* reset tx dma */ |
482 | out_le32(&td->control, (RUN|PAUSE|FLUSH|WAKE) << 16); | 482 | out_le32(&td->control, (RUN|PAUSE|FLUSH|WAKE) << 16); |
@@ -507,8 +507,8 @@ static int mace_close(struct net_device *dev) | |||
507 | out_8(&mb->imr, 0xff); /* disable all intrs */ | 507 | out_8(&mb->imr, 0xff); /* disable all intrs */ |
508 | 508 | ||
509 | /* disable rx and tx dma */ | 509 | /* disable rx and tx dma */ |
510 | st_le32(&rd->control, (RUN|PAUSE|FLUSH|WAKE) << 16); /* clear run bit */ | 510 | rd->control = cpu_to_le32((RUN|PAUSE|FLUSH|WAKE) << 16); /* clear run bit */ |
511 | st_le32(&td->control, (RUN|PAUSE|FLUSH|WAKE) << 16); /* clear run bit */ | 511 | td->control = cpu_to_le32((RUN|PAUSE|FLUSH|WAKE) << 16); /* clear run bit */ |
512 | 512 | ||
513 | mace_clean_rings(mp); | 513 | mace_clean_rings(mp); |
514 | 514 | ||
@@ -558,8 +558,8 @@ static int mace_xmit_start(struct sk_buff *skb, struct net_device *dev) | |||
558 | } | 558 | } |
559 | mp->tx_bufs[fill] = skb; | 559 | mp->tx_bufs[fill] = skb; |
560 | cp = mp->tx_cmds + NCMDS_TX * fill; | 560 | cp = mp->tx_cmds + NCMDS_TX * fill; |
561 | st_le16(&cp->req_count, len); | 561 | cp->req_count = cpu_to_le16(len); |
562 | st_le32(&cp->phy_addr, virt_to_bus(skb->data)); | 562 | cp->phy_addr = cpu_to_le32(virt_to_bus(skb->data)); |
563 | 563 | ||
564 | np = mp->tx_cmds + NCMDS_TX * next; | 564 | np = mp->tx_cmds + NCMDS_TX * next; |
565 | out_le16(&np->command, DBDMA_STOP); | 565 | out_le16(&np->command, DBDMA_STOP); |
@@ -691,7 +691,7 @@ static irqreturn_t mace_interrupt(int irq, void *dev_id) | |||
691 | out_8(&mb->xmtfc, AUTO_PAD_XMIT); | 691 | out_8(&mb->xmtfc, AUTO_PAD_XMIT); |
692 | continue; | 692 | continue; |
693 | } | 693 | } |
694 | dstat = ld_le32(&td->status); | 694 | dstat = le32_to_cpu(td->status); |
695 | /* stop DMA controller */ | 695 | /* stop DMA controller */ |
696 | out_le32(&td->control, RUN << 16); | 696 | out_le32(&td->control, RUN << 16); |
697 | /* | 697 | /* |
@@ -724,7 +724,7 @@ static irqreturn_t mace_interrupt(int irq, void *dev_id) | |||
724 | */ | 724 | */ |
725 | } | 725 | } |
726 | cp = mp->tx_cmds + NCMDS_TX * i; | 726 | cp = mp->tx_cmds + NCMDS_TX * i; |
727 | stat = ld_le16(&cp->xfer_status); | 727 | stat = le16_to_cpu(cp->xfer_status); |
728 | if ((fs & (UFLO|LCOL|LCAR|RTRY)) || (dstat & DEAD) || xcount == 0) { | 728 | if ((fs & (UFLO|LCOL|LCAR|RTRY)) || (dstat & DEAD) || xcount == 0) { |
729 | /* | 729 | /* |
730 | * Check whether there were in fact 2 bytes written to | 730 | * Check whether there were in fact 2 bytes written to |
@@ -830,7 +830,7 @@ static void mace_tx_timeout(unsigned long data) | |||
830 | mace_reset(dev); | 830 | mace_reset(dev); |
831 | 831 | ||
832 | /* restart rx dma */ | 832 | /* restart rx dma */ |
833 | cp = bus_to_virt(ld_le32(&rd->cmdptr)); | 833 | cp = bus_to_virt(le32_to_cpu(rd->cmdptr)); |
834 | dbdma_reset(rd); | 834 | dbdma_reset(rd); |
835 | out_le16(&cp->xfer_status, 0); | 835 | out_le16(&cp->xfer_status, 0); |
836 | out_le32(&rd->cmdptr, virt_to_bus(cp)); | 836 | out_le32(&rd->cmdptr, virt_to_bus(cp)); |
@@ -889,20 +889,20 @@ static irqreturn_t mace_rxdma_intr(int irq, void *dev_id) | |||
889 | spin_lock_irqsave(&mp->lock, flags); | 889 | spin_lock_irqsave(&mp->lock, flags); |
890 | for (i = mp->rx_empty; i != mp->rx_fill; ) { | 890 | for (i = mp->rx_empty; i != mp->rx_fill; ) { |
891 | cp = mp->rx_cmds + i; | 891 | cp = mp->rx_cmds + i; |
892 | stat = ld_le16(&cp->xfer_status); | 892 | stat = le16_to_cpu(cp->xfer_status); |
893 | if ((stat & ACTIVE) == 0) { | 893 | if ((stat & ACTIVE) == 0) { |
894 | next = i + 1; | 894 | next = i + 1; |
895 | if (next >= N_RX_RING) | 895 | if (next >= N_RX_RING) |
896 | next = 0; | 896 | next = 0; |
897 | np = mp->rx_cmds + next; | 897 | np = mp->rx_cmds + next; |
898 | if (next != mp->rx_fill && | 898 | if (next != mp->rx_fill && |
899 | (ld_le16(&np->xfer_status) & ACTIVE) != 0) { | 899 | (le16_to_cpu(np->xfer_status) & ACTIVE) != 0) { |
900 | printk(KERN_DEBUG "mace: lost a status word\n"); | 900 | printk(KERN_DEBUG "mace: lost a status word\n"); |
901 | ++mace_lost_status; | 901 | ++mace_lost_status; |
902 | } else | 902 | } else |
903 | break; | 903 | break; |
904 | } | 904 | } |
905 | nb = ld_le16(&cp->req_count) - ld_le16(&cp->res_count); | 905 | nb = le16_to_cpu(cp->req_count) - le16_to_cpu(cp->res_count); |
906 | out_le16(&cp->command, DBDMA_STOP); | 906 | out_le16(&cp->command, DBDMA_STOP); |
907 | /* got a packet, have a look at it */ | 907 | /* got a packet, have a look at it */ |
908 | skb = mp->rx_bufs[i]; | 908 | skb = mp->rx_bufs[i]; |
@@ -962,13 +962,13 @@ static irqreturn_t mace_rxdma_intr(int irq, void *dev_id) | |||
962 | mp->rx_bufs[i] = skb; | 962 | mp->rx_bufs[i] = skb; |
963 | } | 963 | } |
964 | } | 964 | } |
965 | st_le16(&cp->req_count, RX_BUFLEN); | 965 | cp->req_count = cpu_to_le16(RX_BUFLEN); |
966 | data = skb? skb->data: dummy_buf; | 966 | data = skb? skb->data: dummy_buf; |
967 | st_le32(&cp->phy_addr, virt_to_bus(data)); | 967 | cp->phy_addr = cpu_to_le32(virt_to_bus(data)); |
968 | out_le16(&cp->xfer_status, 0); | 968 | out_le16(&cp->xfer_status, 0); |
969 | out_le16(&cp->command, INPUT_LAST + INTR_ALWAYS); | 969 | out_le16(&cp->command, INPUT_LAST + INTR_ALWAYS); |
970 | #if 0 | 970 | #if 0 |
971 | if ((ld_le32(&rd->status) & ACTIVE) != 0) { | 971 | if ((le32_to_cpu(rd->status) & ACTIVE) != 0) { |
972 | out_le32(&rd->control, (PAUSE << 16) | PAUSE); | 972 | out_le32(&rd->control, (PAUSE << 16) | PAUSE); |
973 | while ((in_le32(&rd->status) & ACTIVE) != 0) | 973 | while ((in_le32(&rd->status) & ACTIVE) != 0) |
974 | ; | 974 | ; |