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
This commit is contained in:
@@ -483,8 +483,8 @@ static int bmac_suspend(struct macio_dev *mdev, pm_message_t state)
|
||||
bmwrite(dev, TXCFG, (config & ~TxMACEnable));
|
||||
bmwrite(dev, INTDISABLE, DisableAll); /* disable all intrs */
|
||||
/* disable rx and tx dma */
|
||||
st_le32(&rd->control, DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */
|
||||
st_le32(&td->control, DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */
|
||||
rd->control = cpu_to_le32(DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */
|
||||
td->control = cpu_to_le32(DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */
|
||||
/* free some skb's */
|
||||
for (i=0; i<N_RX_RING; i++) {
|
||||
if (bp->rx_bufs[i] != NULL) {
|
||||
@@ -699,8 +699,8 @@ static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id)
|
||||
|
||||
while (1) {
|
||||
cp = &bp->rx_cmds[i];
|
||||
stat = ld_le16(&cp->xfer_status);
|
||||
residual = ld_le16(&cp->res_count);
|
||||
stat = le16_to_cpu(cp->xfer_status);
|
||||
residual = le16_to_cpu(cp->res_count);
|
||||
if ((stat & ACTIVE) == 0)
|
||||
break;
|
||||
nb = RX_BUFLEN - residual - 2;
|
||||
@@ -728,8 +728,8 @@ static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id)
|
||||
skb_reserve(bp->rx_bufs[i], 2);
|
||||
}
|
||||
bmac_construct_rxbuff(skb, &bp->rx_cmds[i]);
|
||||
st_le16(&cp->res_count, 0);
|
||||
st_le16(&cp->xfer_status, 0);
|
||||
cp->res_count = cpu_to_le16(0);
|
||||
cp->xfer_status = cpu_to_le16(0);
|
||||
last = i;
|
||||
if (++i >= N_RX_RING) i = 0;
|
||||
}
|
||||
@@ -769,7 +769,7 @@ static irqreturn_t bmac_txdma_intr(int irq, void *dev_id)
|
||||
|
||||
while (1) {
|
||||
cp = &bp->tx_cmds[bp->tx_empty];
|
||||
stat = ld_le16(&cp->xfer_status);
|
||||
stat = le16_to_cpu(cp->xfer_status);
|
||||
if (txintcount < 10) {
|
||||
XXDEBUG(("bmac_txdma_xfer_stat=%#0x\n", stat));
|
||||
}
|
||||
@@ -1411,8 +1411,8 @@ static int bmac_close(struct net_device *dev)
|
||||
bmwrite(dev, INTDISABLE, DisableAll); /* disable all intrs */
|
||||
|
||||
/* disable rx and tx dma */
|
||||
st_le32(&rd->control, DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */
|
||||
st_le32(&td->control, DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */
|
||||
rd->control = cpu_to_le32(DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */
|
||||
td->control = cpu_to_le32(DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */
|
||||
|
||||
/* free some skb's */
|
||||
XXDEBUG(("bmac: free rx bufs\n"));
|
||||
@@ -1493,7 +1493,7 @@ static void bmac_tx_timeout(unsigned long data)
|
||||
|
||||
cp = &bp->tx_cmds[bp->tx_empty];
|
||||
/* XXDEBUG((KERN_DEBUG "bmac: tx dmastat=%x %x runt=%d pr=%x fs=%x fc=%x\n", */
|
||||
/* ld_le32(&td->status), ld_le16(&cp->xfer_status), bp->tx_bad_runt, */
|
||||
/* le32_to_cpu(td->status), le16_to_cpu(cp->xfer_status), bp->tx_bad_runt, */
|
||||
/* mb->pr, mb->xmtfs, mb->fifofc)); */
|
||||
|
||||
/* turn off both tx and rx and reset the chip */
|
||||
@@ -1506,7 +1506,7 @@ static void bmac_tx_timeout(unsigned long data)
|
||||
bmac_enable_and_reset_chip(dev);
|
||||
|
||||
/* restart rx dma */
|
||||
cp = bus_to_virt(ld_le32(&rd->cmdptr));
|
||||
cp = bus_to_virt(le32_to_cpu(rd->cmdptr));
|
||||
out_le32(&rd->control, DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE|ACTIVE|DEAD));
|
||||
out_le16(&cp->xfer_status, 0);
|
||||
out_le32(&rd->cmdptr, virt_to_bus(cp));
|
||||
@@ -1553,10 +1553,10 @@ static void dump_dbdma(volatile struct dbdma_cmd *cp,int count)
|
||||
ip = (int*)(cp+i);
|
||||
|
||||
printk("dbdma req 0x%x addr 0x%x baddr 0x%x xfer/res 0x%x\n",
|
||||
ld_le32(ip+0),
|
||||
ld_le32(ip+1),
|
||||
ld_le32(ip+2),
|
||||
ld_le32(ip+3));
|
||||
le32_to_cpup(ip+0),
|
||||
le32_to_cpup(ip+1),
|
||||
le32_to_cpup(ip+2),
|
||||
le32_to_cpup(ip+3));
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -310,7 +310,7 @@ static void dbdma_reset(volatile struct dbdma_regs __iomem *dma)
|
||||
* way on some machines.
|
||||
*/
|
||||
for (i = 200; i > 0; --i)
|
||||
if (ld_le32(&dma->control) & RUN)
|
||||
if (le32_to_cpu(dma->control) & RUN)
|
||||
udelay(1);
|
||||
}
|
||||
|
||||
@@ -452,21 +452,21 @@ static int mace_open(struct net_device *dev)
|
||||
data = skb->data;
|
||||
}
|
||||
mp->rx_bufs[i] = skb;
|
||||
st_le16(&cp->req_count, RX_BUFLEN);
|
||||
st_le16(&cp->command, INPUT_LAST + INTR_ALWAYS);
|
||||
st_le32(&cp->phy_addr, virt_to_bus(data));
|
||||
cp->req_count = cpu_to_le16(RX_BUFLEN);
|
||||
cp->command = cpu_to_le16(INPUT_LAST + INTR_ALWAYS);
|
||||
cp->phy_addr = cpu_to_le32(virt_to_bus(data));
|
||||
cp->xfer_status = 0;
|
||||
++cp;
|
||||
}
|
||||
mp->rx_bufs[i] = NULL;
|
||||
st_le16(&cp->command, DBDMA_STOP);
|
||||
cp->command = cpu_to_le16(DBDMA_STOP);
|
||||
mp->rx_fill = i;
|
||||
mp->rx_empty = 0;
|
||||
|
||||
/* Put a branch back to the beginning of the receive command list */
|
||||
++cp;
|
||||
st_le16(&cp->command, DBDMA_NOP + BR_ALWAYS);
|
||||
st_le32(&cp->cmd_dep, virt_to_bus(mp->rx_cmds));
|
||||
cp->command = cpu_to_le16(DBDMA_NOP + BR_ALWAYS);
|
||||
cp->cmd_dep = cpu_to_le32(virt_to_bus(mp->rx_cmds));
|
||||
|
||||
/* start rx dma */
|
||||
out_le32(&rd->control, (RUN|PAUSE|FLUSH|WAKE) << 16); /* clear run bit */
|
||||
@@ -475,8 +475,8 @@ static int mace_open(struct net_device *dev)
|
||||
|
||||
/* put a branch at the end of the tx command list */
|
||||
cp = mp->tx_cmds + NCMDS_TX * N_TX_RING;
|
||||
st_le16(&cp->command, DBDMA_NOP + BR_ALWAYS);
|
||||
st_le32(&cp->cmd_dep, virt_to_bus(mp->tx_cmds));
|
||||
cp->command = cpu_to_le16(DBDMA_NOP + BR_ALWAYS);
|
||||
cp->cmd_dep = cpu_to_le32(virt_to_bus(mp->tx_cmds));
|
||||
|
||||
/* reset tx dma */
|
||||
out_le32(&td->control, (RUN|PAUSE|FLUSH|WAKE) << 16);
|
||||
@@ -507,8 +507,8 @@ static int mace_close(struct net_device *dev)
|
||||
out_8(&mb->imr, 0xff); /* disable all intrs */
|
||||
|
||||
/* disable rx and tx dma */
|
||||
st_le32(&rd->control, (RUN|PAUSE|FLUSH|WAKE) << 16); /* clear run bit */
|
||||
st_le32(&td->control, (RUN|PAUSE|FLUSH|WAKE) << 16); /* clear run bit */
|
||||
rd->control = cpu_to_le32((RUN|PAUSE|FLUSH|WAKE) << 16); /* clear run bit */
|
||||
td->control = cpu_to_le32((RUN|PAUSE|FLUSH|WAKE) << 16); /* clear run bit */
|
||||
|
||||
mace_clean_rings(mp);
|
||||
|
||||
@@ -558,8 +558,8 @@ static int mace_xmit_start(struct sk_buff *skb, struct net_device *dev)
|
||||
}
|
||||
mp->tx_bufs[fill] = skb;
|
||||
cp = mp->tx_cmds + NCMDS_TX * fill;
|
||||
st_le16(&cp->req_count, len);
|
||||
st_le32(&cp->phy_addr, virt_to_bus(skb->data));
|
||||
cp->req_count = cpu_to_le16(len);
|
||||
cp->phy_addr = cpu_to_le32(virt_to_bus(skb->data));
|
||||
|
||||
np = mp->tx_cmds + NCMDS_TX * next;
|
||||
out_le16(&np->command, DBDMA_STOP);
|
||||
@@ -691,7 +691,7 @@ static irqreturn_t mace_interrupt(int irq, void *dev_id)
|
||||
out_8(&mb->xmtfc, AUTO_PAD_XMIT);
|
||||
continue;
|
||||
}
|
||||
dstat = ld_le32(&td->status);
|
||||
dstat = le32_to_cpu(td->status);
|
||||
/* stop DMA controller */
|
||||
out_le32(&td->control, RUN << 16);
|
||||
/*
|
||||
@@ -724,7 +724,7 @@ static irqreturn_t mace_interrupt(int irq, void *dev_id)
|
||||
*/
|
||||
}
|
||||
cp = mp->tx_cmds + NCMDS_TX * i;
|
||||
stat = ld_le16(&cp->xfer_status);
|
||||
stat = le16_to_cpu(cp->xfer_status);
|
||||
if ((fs & (UFLO|LCOL|LCAR|RTRY)) || (dstat & DEAD) || xcount == 0) {
|
||||
/*
|
||||
* Check whether there were in fact 2 bytes written to
|
||||
@@ -830,7 +830,7 @@ static void mace_tx_timeout(unsigned long data)
|
||||
mace_reset(dev);
|
||||
|
||||
/* restart rx dma */
|
||||
cp = bus_to_virt(ld_le32(&rd->cmdptr));
|
||||
cp = bus_to_virt(le32_to_cpu(rd->cmdptr));
|
||||
dbdma_reset(rd);
|
||||
out_le16(&cp->xfer_status, 0);
|
||||
out_le32(&rd->cmdptr, virt_to_bus(cp));
|
||||
@@ -889,20 +889,20 @@ static irqreturn_t mace_rxdma_intr(int irq, void *dev_id)
|
||||
spin_lock_irqsave(&mp->lock, flags);
|
||||
for (i = mp->rx_empty; i != mp->rx_fill; ) {
|
||||
cp = mp->rx_cmds + i;
|
||||
stat = ld_le16(&cp->xfer_status);
|
||||
stat = le16_to_cpu(cp->xfer_status);
|
||||
if ((stat & ACTIVE) == 0) {
|
||||
next = i + 1;
|
||||
if (next >= N_RX_RING)
|
||||
next = 0;
|
||||
np = mp->rx_cmds + next;
|
||||
if (next != mp->rx_fill &&
|
||||
(ld_le16(&np->xfer_status) & ACTIVE) != 0) {
|
||||
(le16_to_cpu(np->xfer_status) & ACTIVE) != 0) {
|
||||
printk(KERN_DEBUG "mace: lost a status word\n");
|
||||
++mace_lost_status;
|
||||
} else
|
||||
break;
|
||||
}
|
||||
nb = ld_le16(&cp->req_count) - ld_le16(&cp->res_count);
|
||||
nb = le16_to_cpu(cp->req_count) - le16_to_cpu(cp->res_count);
|
||||
out_le16(&cp->command, DBDMA_STOP);
|
||||
/* got a packet, have a look at it */
|
||||
skb = mp->rx_bufs[i];
|
||||
@@ -962,13 +962,13 @@ static irqreturn_t mace_rxdma_intr(int irq, void *dev_id)
|
||||
mp->rx_bufs[i] = skb;
|
||||
}
|
||||
}
|
||||
st_le16(&cp->req_count, RX_BUFLEN);
|
||||
cp->req_count = cpu_to_le16(RX_BUFLEN);
|
||||
data = skb? skb->data: dummy_buf;
|
||||
st_le32(&cp->phy_addr, virt_to_bus(data));
|
||||
cp->phy_addr = cpu_to_le32(virt_to_bus(data));
|
||||
out_le16(&cp->xfer_status, 0);
|
||||
out_le16(&cp->command, INPUT_LAST + INTR_ALWAYS);
|
||||
#if 0
|
||||
if ((ld_le32(&rd->status) & ACTIVE) != 0) {
|
||||
if ((le32_to_cpu(rd->status) & ACTIVE) != 0) {
|
||||
out_le32(&rd->control, (PAUSE << 16) | PAUSE);
|
||||
while ((in_le32(&rd->status) & ACTIVE) != 0)
|
||||
;
|
||||
|
Reference in New Issue
Block a user