Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm
Pull ARM updates from Russell King: "First ARM push of this merge window, post me coming back from holiday. This is what has been in linux-next for the last few weeks. Not much to say which isn't described by the commit summaries." * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (32 commits) ARM: 7463/1: topology: Update cpu_power according to DT information ARM: 7462/1: topology: factorize the update of sibling masks ARM: 7461/1: topology: Add arch_scale_freq_power function ARM: 7456/1: ptrace: provide separate functions for tracing syscall {entry,exit} ARM: 7455/1: audit: move syscall auditing until after ptrace SIGTRAP handling ARM: 7454/1: entry: don't bother with syscall tracing on ret_from_fork path ARM: 7453/1: audit: only allow syscall auditing for pure EABI userspace ARM: 7452/1: delay: allow timer-based delay implementation to be selected ARM: 7451/1: arch timer: implement read_current_timer and get_cycles ARM: 7450/1: dcache: select DCACHE_WORD_ACCESS for little-endian ARMv6+ CPUs ARM: 7449/1: use generic strnlen_user and strncpy_from_user functions ARM: 7448/1: perf: remove arm_perf_pmu_ids global enumeration ARM: 7447/1: rwlocks: remove unused branch labels from trylock routines ARM: 7446/1: spinlock: use ticket algorithm for ARMv6+ locking implementation ARM: 7445/1: mm: update CONTEXTIDR register to contain PID of current process ARM: 7444/1: kernel: add arch-timer C3STOP feature ARM: 7460/1: remove asm/locks.h ARM: 7439/1: head.S: simplify initial page table mapping ARM: 7437/1: zImage: Allow DTB command line concatenation with ATAG_CMDLINE ARM: 7436/1: Do not map the vectors page as write-through on UP systems ...
This commit is contained in:
@@ -289,7 +289,7 @@ static irqreturn_t pxa_irda_sir_irq(int irq, void *dev_id)
|
||||
}
|
||||
lsr = STLSR;
|
||||
}
|
||||
si->last_oscr = OSCR;
|
||||
si->last_oscr = readl_relaxed(OSCR);
|
||||
break;
|
||||
|
||||
case 0x04: /* Received Data Available */
|
||||
@@ -300,7 +300,7 @@ static irqreturn_t pxa_irda_sir_irq(int irq, void *dev_id)
|
||||
dev->stats.rx_bytes++;
|
||||
async_unwrap_char(dev, &dev->stats, &si->rx_buff, STRBR);
|
||||
} while (STLSR & LSR_DR);
|
||||
si->last_oscr = OSCR;
|
||||
si->last_oscr = readl_relaxed(OSCR);
|
||||
break;
|
||||
|
||||
case 0x02: /* Transmit FIFO Data Request */
|
||||
@@ -316,7 +316,7 @@ static irqreturn_t pxa_irda_sir_irq(int irq, void *dev_id)
|
||||
/* We need to ensure that the transmitter has finished. */
|
||||
while ((STLSR & LSR_TEMT) == 0)
|
||||
cpu_relax();
|
||||
si->last_oscr = OSCR;
|
||||
si->last_oscr = readl_relaxed(OSCR);
|
||||
|
||||
/*
|
||||
* Ok, we've finished transmitting. Now enable
|
||||
@@ -370,7 +370,7 @@ static void pxa_irda_fir_dma_tx_irq(int channel, void *data)
|
||||
|
||||
while (ICSR1 & ICSR1_TBY)
|
||||
cpu_relax();
|
||||
si->last_oscr = OSCR;
|
||||
si->last_oscr = readl_relaxed(OSCR);
|
||||
|
||||
/*
|
||||
* HACK: It looks like the TBY bit is dropped too soon.
|
||||
@@ -470,7 +470,7 @@ static irqreturn_t pxa_irda_fir_irq(int irq, void *dev_id)
|
||||
|
||||
/* stop RX DMA */
|
||||
DCSR(si->rxdma) &= ~DCSR_RUN;
|
||||
si->last_oscr = OSCR;
|
||||
si->last_oscr = readl_relaxed(OSCR);
|
||||
icsr0 = ICSR0;
|
||||
|
||||
if (icsr0 & (ICSR0_FRE | ICSR0_RAB)) {
|
||||
@@ -546,7 +546,7 @@ static int pxa_irda_hard_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
skb_copy_from_linear_data(skb, si->dma_tx_buff, skb->len);
|
||||
|
||||
if (mtt)
|
||||
while ((unsigned)(OSCR - si->last_oscr)/4 < mtt)
|
||||
while ((unsigned)(readl_relaxed(OSCR) - si->last_oscr)/4 < mtt)
|
||||
cpu_relax();
|
||||
|
||||
/* stop RX DMA, disable FICP */
|
||||
|
Reference in New Issue
Block a user