Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 453
b: refs/heads/master
c: a134220
h: refs/heads/master
i:
  451: 01b70db
v: v3
  • Loading branch information
Linus Torvalds committed Apr 26, 2005
1 parent 9996a11 commit d72b984
Show file tree
Hide file tree
Showing 22 changed files with 305 additions and 313 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5523662c4cd585b892811d7bb3e25d9a787e19b3
refs/heads/master: a1342206e192709a405485dbe2e647d5c4005d20
56 changes: 50 additions & 6 deletions trunk/arch/arm/mach-pxa/sleep.S
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@

#include <asm/arch/pxa-regs.h>

#ifdef CONFIG_PXA27x // workaround for Errata 50
#define MDREFR_KDIV 0x200a4000 // all banks
#define CCCR_SLEEP 0x00000107 // L=7 2N=2 A=0 PPDIS=0 CPDIS=0
#endif

.text

/*
Expand All @@ -28,7 +33,9 @@

ENTRY(pxa_cpu_suspend)

#ifndef CONFIG_IWMMXT
mra r2, r3, acc0
#endif
stmfd sp!, {r2 - r12, lr} @ save registers on stack

@ get coprocessor registers
Expand Down Expand Up @@ -61,14 +68,23 @@ ENTRY(pxa_cpu_suspend)
@ prepare value for sleep mode
mov r1, #3 @ sleep mode

@ prepare to put SDRAM into self-refresh manually
@ prepare pointer to physical address 0 (virtual mapping in generic.c)
mov r2, #UNCACHED_PHYS_0

@ prepare SDRAM refresh settings
ldr r4, =MDREFR
ldr r5, [r4]

@ enable SDRAM self-refresh mode
orr r5, r5, #MDREFR_SLFRSH

@ prepare pointer to physical address 0 (virtual mapping in generic.c)
mov r2, #UNCACHED_PHYS_0
#ifdef CONFIG_PXA27x
@ set SDCLKx divide-by-2 bits (this is part of a workaround for Errata 50)
ldr r6, =MDREFR_KDIV
orr r5, r5, r6
#endif

#ifdef CONFIG_PXA25x
@ Intel PXA255 Specification Update notes problems
@ about suspending with PXBus operating above 133MHz
@ (see Errata 31, GPIO output signals, ... unpredictable in sleep
Expand Down Expand Up @@ -100,6 +116,18 @@ ENTRY(pxa_cpu_suspend)
mov r0, #0
mcr p14, 0, r0, c6, c0, 0
orr r0, r0, #2 @ initiate change bit
#endif
#ifdef CONFIG_PXA27x
@ Intel PXA270 Specification Update notes problems sleeping
@ with core operating above 91 MHz
@ (see Errata 50, ...processor does not exit from sleep...)

ldr r6, =CCCR
ldr r8, [r6] @ keep original value for resume

ldr r7, =CCCR_SLEEP @ prepare CCCR sleep value
mov r0, #0x2 @ prepare value for CLKCFG
#endif

@ align execution to a cache line
b 1f
Expand All @@ -111,21 +139,35 @@ ENTRY(pxa_cpu_suspend)
@ All needed values are now in registers.
@ These last instructions should be in cache

#if defined(CONFIG_PXA25x) || defined(CONFIG_PXA27x)
@ initiate the frequency change...
str r7, [r6]
mcr p14, 0, r0, c6, c0, 0

@ restore the original cpu speed value for resume
str r8, [r6]

@ put SDRAM into self-refresh
str r5, [r4]
@ need 6 13-MHz cycles before changing PWRMODE
@ just set frequency to 91-MHz... 6*91/13 = 42

mov r0, #42
10: subs r0, r0, #1
bne 10b
#endif

@ Do not reorder...
@ Intel PXA270 Specification Update notes problems performing
@ external accesses after SDRAM is put in self-refresh mode
@ (see Errata 39 ...hangs when entering self-refresh mode)

@ force address lines low by reading at physical address 0
ldr r3, [r2]

@ put SDRAM into self-refresh
str r5, [r4]

@ enter sleep mode
mcr p14, 0, r1, c7, c0, 0
mcr p14, 0, r1, c7, c0, 0 @ PWRMODE

20: b 20b @ loop waiting for sleep

Expand Down Expand Up @@ -188,7 +230,9 @@ resume_after_mmu:
bl cpu_xscale_proc_init
#endif
ldmfd sp!, {r2, r3}
#ifndef CONFIG_IWMMXT
mar acc0, r2, r3
#endif
ldmfd sp!, {r4 - r12, pc} @ return to caller


4 changes: 2 additions & 2 deletions trunk/drivers/i2c/busses/i2c-mpc.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
#define CSR_RXAK 0x01

struct mpc_i2c {
char *base;
void __iomem *base;
u32 interrupt;
wait_queue_head_t queue;
struct i2c_adapter adap;
Expand Down Expand Up @@ -444,7 +444,7 @@ static int fsl_i2c_probe(struct device *device)

fail_add:
if (i2c->irq != 0)
free_irq(i2c->irq, 0);
free_irq(i2c->irq, NULL);
fail_irq:
iounmap(i2c->base);
fail_map:
Expand Down
14 changes: 7 additions & 7 deletions trunk/drivers/serial/mpsc.c
Original file line number Diff line number Diff line change
Expand Up @@ -329,8 +329,8 @@ mpsc_sdma_stop(struct mpsc_port_info *pi)
mpsc_sdma_cmd(pi, SDMA_SDCM_AR | SDMA_SDCM_AT);

/* Clear the SDMA current and first TX and RX pointers */
mpsc_sdma_set_tx_ring(pi, 0);
mpsc_sdma_set_rx_ring(pi, 0);
mpsc_sdma_set_tx_ring(pi, NULL);
mpsc_sdma_set_rx_ring(pi, NULL);

/* Disable interrupts */
mpsc_sdma_intr_mask(pi, 0xf);
Expand Down Expand Up @@ -1540,8 +1540,8 @@ mpsc_shared_unmap_regs(void)
MPSC_SDMA_INTR_REG_BLOCK_SIZE);
}

mpsc_shared_regs.mpsc_routing_base = 0;
mpsc_shared_regs.sdma_intr_base = 0;
mpsc_shared_regs.mpsc_routing_base = NULL;
mpsc_shared_regs.sdma_intr_base = NULL;

mpsc_shared_regs.mpsc_routing_base_p = 0;
mpsc_shared_regs.sdma_intr_base_p = 0;
Expand Down Expand Up @@ -1678,9 +1678,9 @@ mpsc_drv_unmap_regs(struct mpsc_port_info *pi)
release_mem_region(pi->brg_base_p, MPSC_BRG_REG_BLOCK_SIZE);
}

pi->mpsc_base = 0;
pi->sdma_base = 0;
pi->brg_base = 0;
pi->mpsc_base = NULL;
pi->sdma_base = NULL;
pi->brg_base = NULL;

pi->mpsc_base_p = 0;
pi->sdma_base_p = 0;
Expand Down
10 changes: 5 additions & 5 deletions trunk/drivers/serial/mpsc.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ struct mpsc_shared_regs {
phys_addr_t mpsc_routing_base_p;
phys_addr_t sdma_intr_base_p;

void *mpsc_routing_base;
void *sdma_intr_base;
void __iomem *mpsc_routing_base;
void __iomem *sdma_intr_base;

u32 MPSC_MRR_m;
u32 MPSC_RCRR_m;
Expand Down Expand Up @@ -120,9 +120,9 @@ struct mpsc_port_info {
phys_addr_t brg_base_p;

/* Virtual addresses of various blocks of registers (from platform) */
void *mpsc_base;
void *sdma_base;
void *brg_base;
void __iomem *mpsc_base;
void __iomem *sdma_base;
void __iomem *brg_base;

/* Descriptor ring and buffer allocations */
void *dma_region;
Expand Down
21 changes: 2 additions & 19 deletions trunk/fs/isofs/compress.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,29 +18,12 @@

#include <linux/config.h>
#include <linux/module.h>

#include <linux/stat.h>
#include <linux/time.h>
#include <linux/iso_fs.h>
#include <linux/kernel.h>
#include <linux/major.h>
#include <linux/mm.h>
#include <linux/string.h>
#include <linux/slab.h>
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/nls.h>
#include <linux/ctype.h>
#include <linux/smp_lock.h>
#include <linux/blkdev.h>

#include <linux/vmalloc.h>
#include <linux/zlib.h>
#include <linux/buffer_head.h>

#include <asm/system.h>
#include <asm/uaccess.h>
#include <asm/semaphore.h>

#include "isofs.h"
#include "zisofs.h"

/* This should probably be global. */
Expand Down
13 changes: 1 addition & 12 deletions trunk/fs/isofs/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,9 @@
*
* isofs directory handling functions
*/
#include <linux/errno.h>
#include <linux/fs.h>
#include <linux/iso_fs.h>
#include <linux/kernel.h>
#include <linux/stat.h>
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/slab.h>
#include <linux/time.h>
#include <linux/config.h>
#include <linux/smp_lock.h>
#include <linux/buffer_head.h>

#include <asm/uaccess.h>
#include "isofs.h"

static int isofs_readdir(struct file *, void *, filldir_t);

Expand Down
6 changes: 1 addition & 5 deletions trunk/fs/isofs/export.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,7 @@
* fs/exportfs/expfs.c.
*/

#include <linux/buffer_head.h>
#include <linux/errno.h>
#include <linux/fs.h>
#include <linux/iso_fs.h>
#include <linux/kernel.h>
#include "isofs.h"

static struct dentry *
isofs_export_iget(struct super_block *sb,
Expand Down
19 changes: 4 additions & 15 deletions trunk/fs/isofs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,29 +12,18 @@
*/

#include <linux/config.h>
#include <linux/init.h>
#include <linux/module.h>

#include <linux/stat.h>
#include <linux/time.h>
#include <linux/iso_fs.h>
#include <linux/kernel.h>
#include <linux/major.h>
#include <linux/mm.h>
#include <linux/string.h>
#include <linux/slab.h>
#include <linux/errno.h>
#include <linux/cdrom.h>
#include <linux/init.h>
#include <linux/nls.h>
#include <linux/ctype.h>
#include <linux/smp_lock.h>
#include <linux/blkdev.h>
#include <linux/buffer_head.h>
#include <linux/vfs.h>
#include <linux/statfs.h>
#include <linux/cdrom.h>
#include <linux/parser.h>
#include <asm/system.h>
#include <asm/uaccess.h>

#include "isofs.h"
#include "zisofs.h"

#define BEQUIET
Expand Down
Loading

0 comments on commit d72b984

Please sign in to comment.