Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
c94c0d20
Commit
c94c0d20
authored
Jul 23, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge master.kernel.org:/home/rmk/linux-2.6-arm
parents
8ed693d2
53776eb4
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
59 additions
and
35 deletions
+59
-35
arch/arm/boot/compressed/head-shark.S
arch/arm/boot/compressed/head-shark.S
+33
-9
arch/arm/kernel/smp.c
arch/arm/kernel/smp.c
+3
-3
arch/arm/mach-integrator/platsmp.c
arch/arm/mach-integrator/platsmp.c
+4
-4
arch/arm/mach-s3c2410/dma.c
arch/arm/mach-s3c2410/dma.c
+1
-1
arch/arm/nwfpe/fpa11.h
arch/arm/nwfpe/fpa11.h
+1
-3
arch/arm/nwfpe/fpmodule.c
arch/arm/nwfpe/fpmodule.c
+1
-1
arch/arm/nwfpe/fpmodule.inl
arch/arm/nwfpe/fpmodule.inl
+7
-7
drivers/video/imxfb.c
drivers/video/imxfb.c
+7
-7
drivers/video/imxfb.h
drivers/video/imxfb.h
+1
-0
include/asm-arm/arch-imx/imxfb.h
include/asm-arm/arch-imx/imxfb.h
+1
-0
No files found.
arch/arm/boot/compressed/head-shark.S
View file @
c94c0d20
...
@@ -63,8 +63,8 @@ __beginning: mov r4, r0 @ save the entry to the firmware
...
@@ -63,8 +63,8 @@ __beginning: mov r4, r0 @ save the entry to the firmware
mov
pc
,
r2
mov
pc
,
r2
__copy_target
:
.
long
0x0850
8000
__copy_target
:
.
long
0x0850
7FFC
__copy_end
:
.
long
0x0860
8000
__copy_end
:
.
long
0x0860
7FFC
.
word
_start
.
word
_start
.
word
__bss_start
.
word
__bss_start
...
@@ -73,9 +73,10 @@ __copy_end: .long 0x08608000
...
@@ -73,9 +73,10 @@ __copy_end: .long 0x08608000
__temp_stack
:
.
space
128
__temp_stack
:
.
space
128
__mmu_off
:
__mmu_off
:
adr
r0
,
__ofw_data
adr
r0
,
__ofw_data
@
read
the
1
.
entry
of
the
memory
map
ldr
r0
,
[
r0
,
#
4
]
ldr
r0
,
[
r0
,
#
4
]
orr
r0
,
r0
,
#
0x00600000
orr
r0
,
r0
,
#
0x00600000
sub
r0
,
r0
,
#
4
ldr
r1
,
__copy_end
ldr
r1
,
__copy_end
ldr
r3
,
__copy_target
ldr
r3
,
__copy_target
...
@@ -89,20 +90,43 @@ __mmu_off:
...
@@ -89,20 +90,43 @@ __mmu_off:
*
from
0x08500000
to
0x08508000
if
we
have
only
8
MB
*
from
0x08500000
to
0x08508000
if
we
have
only
8
MB
*/
*/
/*
As
we
get
more
2
.6
-
kernels
it
gets
more
and
more
*
uncomfortable
to
be
bound
to
kernel
images
of
1
MB
only
.
*
So
we
add
a
loop
here
,
to
be
able
to
copy
some
more
.
*
Alexander
Schulz
2005
-
07
-
17
*/
mov
r4
,
#
3
@
How
many
megabytes
to
copy
__MoveCode
:
sub
r4
,
r4
,
#
1
__Copy
:
ldr
r2
,
[
r0
],
#-
4
__Copy
:
ldr
r2
,
[
r0
],
#-
4
str
r2
,
[
r1
],
#-
4
str
r2
,
[
r1
],
#-
4
teq
r1
,
r3
teq
r1
,
r3
bne
__Copy
bne
__Copy
/
*
The
firmware
maps
us
in
blocks
of
1
MB
,
the
next
block
is
_below_
the
last
one
.
So
our
decrementing
source
pointer
ist
right
here
,
but
the
destination
pointer
must
be
increased
by
2
MB
*/
add
r1
,
r1
,
#
0x00200000
add
r3
,
r3
,
#
0x00100000
teq
r4
,
#
0
bne
__MoveCode
/
*
and
jump
to
it
*/
/
*
and
jump
to
it
*/
adr
r2
,
__go_on
adr
r2
,
__go_on
@
where
we
want
to
jump
adr
r0
,
__ofw_data
adr
r0
,
__ofw_data
@
read
the
1
.
entry
of
the
memory
map
ldr
r0
,
[
r0
,
#
4
]
ldr
r0
,
[
r0
,
#
4
]
sub
r2
,
r2
,
r0
sub
r2
,
r2
,
r0
@
we
are
mapped
add
0e50
now
,
sub
that
(-
0e00
)
sub
r2
,
r2
,
#
0x00500000
sub
r2
,
r2
,
#
0x00500000
@
-
0050
ldr
r0
,
__copy_target
ldr
r0
,
__copy_target
@
and
add
0850
8000
instead
add
r0
,
r0
,
#
4
add
r2
,
r2
,
r0
add
r2
,
r2
,
r0
mov
pc
,
r2
mov
pc
,
r2
@
and
jump
there
__go_on
:
__go_on
:
adr
sp
,
__temp_stack
adr
sp
,
__temp_stack
...
...
arch/arm/kernel/smp.c
View file @
c94c0d20
...
@@ -78,7 +78,7 @@ struct smp_call_struct {
...
@@ -78,7 +78,7 @@ struct smp_call_struct {
static
struct
smp_call_struct
*
volatile
smp_call_function_data
;
static
struct
smp_call_struct
*
volatile
smp_call_function_data
;
static
DEFINE_SPINLOCK
(
smp_call_function_lock
);
static
DEFINE_SPINLOCK
(
smp_call_function_lock
);
int
__init
__cpu_up
(
unsigned
int
cpu
)
int
__
cpu
init
__cpu_up
(
unsigned
int
cpu
)
{
{
struct
task_struct
*
idle
;
struct
task_struct
*
idle
;
pgd_t
*
pgd
;
pgd_t
*
pgd
;
...
@@ -159,7 +159,7 @@ int __init __cpu_up(unsigned int cpu)
...
@@ -159,7 +159,7 @@ int __init __cpu_up(unsigned int cpu)
* This is the secondary CPU boot entry. We're using this CPUs
* This is the secondary CPU boot entry. We're using this CPUs
* idle thread stack, but a set of temporary page tables.
* idle thread stack, but a set of temporary page tables.
*/
*/
asmlinkage
void
__init
secondary_start_kernel
(
void
)
asmlinkage
void
__
cpu
init
secondary_start_kernel
(
void
)
{
{
struct
mm_struct
*
mm
=
&
init_mm
;
struct
mm_struct
*
mm
=
&
init_mm
;
unsigned
int
cpu
=
smp_processor_id
();
unsigned
int
cpu
=
smp_processor_id
();
...
@@ -209,7 +209,7 @@ asmlinkage void __init secondary_start_kernel(void)
...
@@ -209,7 +209,7 @@ asmlinkage void __init secondary_start_kernel(void)
* Called by both boot and secondaries to move global data into
* Called by both boot and secondaries to move global data into
* per-processor storage.
* per-processor storage.
*/
*/
void
__init
smp_store_cpu_info
(
unsigned
int
cpuid
)
void
__
cpu
init
smp_store_cpu_info
(
unsigned
int
cpuid
)
{
{
struct
cpuinfo_arm
*
cpu_info
=
&
per_cpu
(
cpu_data
,
cpuid
);
struct
cpuinfo_arm
*
cpu_info
=
&
per_cpu
(
cpu_data
,
cpuid
);
...
...
arch/arm/mach-integrator/platsmp.c
View file @
c94c0d20
...
@@ -27,12 +27,12 @@ extern void integrator_secondary_startup(void);
...
@@ -27,12 +27,12 @@ extern void integrator_secondary_startup(void);
* control for which core is the next to come out of the secondary
* control for which core is the next to come out of the secondary
* boot "holding pen"
* boot "holding pen"
*/
*/
volatile
int
__initdata
pen_release
=
-
1
;
volatile
int
__
cpu
initdata
pen_release
=
-
1
;
unsigned
long
__initdata
phys_pen_release
=
0
;
unsigned
long
__
cpu
initdata
phys_pen_release
=
0
;
static
DEFINE_SPINLOCK
(
boot_lock
);
static
DEFINE_SPINLOCK
(
boot_lock
);
void
__init
platform_secondary_init
(
unsigned
int
cpu
)
void
__
cpu
init
platform_secondary_init
(
unsigned
int
cpu
)
{
{
/*
/*
* the primary core may have used a "cross call" soft interrupt
* the primary core may have used a "cross call" soft interrupt
...
@@ -61,7 +61,7 @@ void __init platform_secondary_init(unsigned int cpu)
...
@@ -61,7 +61,7 @@ void __init platform_secondary_init(unsigned int cpu)
spin_unlock
(
&
boot_lock
);
spin_unlock
(
&
boot_lock
);
}
}
int
__init
boot_secondary
(
unsigned
int
cpu
,
struct
task_struct
*
idle
)
int
__
cpu
init
boot_secondary
(
unsigned
int
cpu
,
struct
task_struct
*
idle
)
{
{
unsigned
long
timeout
;
unsigned
long
timeout
;
...
...
arch/arm/mach-s3c2410/dma.c
View file @
c94c0d20
...
@@ -436,7 +436,7 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id,
...
@@ -436,7 +436,7 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id,
buf
=
kmem_cache_alloc
(
dma_kmem
,
GFP_ATOMIC
);
buf
=
kmem_cache_alloc
(
dma_kmem
,
GFP_ATOMIC
);
if
(
buf
==
NULL
)
{
if
(
buf
==
NULL
)
{
pr_debug
(
"%s: out of memory (%d alloc)
\n
"
,
pr_debug
(
"%s: out of memory (%
l
d alloc)
\n
"
,
__FUNCTION__
,
sizeof
(
*
buf
));
__FUNCTION__
,
sizeof
(
*
buf
));
return
-
ENOMEM
;
return
-
ENOMEM
;
}
}
...
...
arch/arm/nwfpe/fpa11.h
View file @
c94c0d20
...
@@ -29,9 +29,7 @@
...
@@ -29,9 +29,7 @@
* stack+task struct. Use the same method as 'current' uses to
* stack+task struct. Use the same method as 'current' uses to
* reach them.
* reach them.
*/
*/
register
unsigned
long
*
user_registers
asm
(
"sl"
);
#define GET_USERREG() ((struct pt_regs *)(THREAD_START_SP + (unsigned long)current_thread_info()) - 1)
#define GET_USERREG() (user_registers)
#include <linux/config.h>
#include <linux/config.h>
#include <linux/thread_info.h>
#include <linux/thread_info.h>
...
...
arch/arm/nwfpe/fpmodule.c
View file @
c94c0d20
...
@@ -132,7 +132,7 @@ void float_raise(signed char flags)
...
@@ -132,7 +132,7 @@ void float_raise(signed char flags)
printk
(
KERN_DEBUG
printk
(
KERN_DEBUG
"NWFPE: %s[%d] takes exception %08x at %p from %08lx
\n
"
,
"NWFPE: %s[%d] takes exception %08x at %p from %08lx
\n
"
,
current
->
comm
,
current
->
pid
,
flags
,
current
->
comm
,
current
->
pid
,
flags
,
__builtin_return_address
(
0
),
GET_USERREG
()
[
15
]
);
__builtin_return_address
(
0
),
GET_USERREG
()
->
ARM_pc
);
#endif
#endif
/* Keep SoftFloat exception flags up to date. */
/* Keep SoftFloat exception flags up to date. */
...
...
arch/arm/nwfpe/fpmodule.inl
View file @
c94c0d20
...
@@ -28,8 +28,8 @@ static inline unsigned long readRegister(const unsigned int nReg)
...
@@ -28,8 +28,8 @@ static inline unsigned long readRegister(const unsigned int nReg)
for this in this routine. LDF/STF instructions with Rn = PC
for this in this routine. LDF/STF instructions with Rn = PC
depend on the PC being correct, as they use PC+8 in their
depend on the PC being correct, as they use PC+8 in their
address calculations. */
address calculations. */
unsigned long *userRegister
s = GET_USERREG();
struct pt_regs *reg
s = GET_USERREG();
unsigned int val =
userRegister
s[nReg];
unsigned int val =
regs->ureg
s[nReg];
if (REG_PC == nReg)
if (REG_PC == nReg)
val -= 4;
val -= 4;
return val;
return val;
...
@@ -38,8 +38,8 @@ static inline unsigned long readRegister(const unsigned int nReg)
...
@@ -38,8 +38,8 @@ static inline unsigned long readRegister(const unsigned int nReg)
static inline void
static inline void
writeRegister(const unsigned int nReg, const unsigned long val)
writeRegister(const unsigned int nReg, const unsigned long val)
{
{
unsigned long *userRegister
s = GET_USERREG();
struct pt_regs *reg
s = GET_USERREG();
userRegister
s[nReg] = val;
regs->ureg
s[nReg] = val;
}
}
static inline unsigned long readCPSR(void)
static inline unsigned long readCPSR(void)
...
@@ -63,12 +63,12 @@ static inline unsigned long readConditionCodes(void)
...
@@ -63,12 +63,12 @@ static inline unsigned long readConditionCodes(void)
static inline void writeConditionCodes(const unsigned long val)
static inline void writeConditionCodes(const unsigned long val)
{
{
unsigned long *userRegister
s = GET_USERREG();
struct pt_regs *reg
s = GET_USERREG();
unsigned long rval;
unsigned long rval;
/*
/*
* Operate directly on userRegisters since
* Operate directly on userRegisters since
* the CPSR may be the PC register itself.
* the CPSR may be the PC register itself.
*/
*/
rval =
userRegisters[REG_CPSR]
& ~CC_MASK;
rval =
regs->ARM_cpsr
& ~CC_MASK;
userRegisters[REG_CPSR]
= rval | (val & CC_MASK);
regs->ARM_cpsr
= rval | (val & CC_MASK);
}
}
drivers/video/imxfb.c
View file @
c94c0d20
...
@@ -249,9 +249,6 @@ static void imxfb_enable_controller(struct imxfb_info *fbi)
...
@@ -249,9 +249,6 @@ static void imxfb_enable_controller(struct imxfb_info *fbi)
/* disable hardware cursor */
/* disable hardware cursor */
LCDC_CPOS
&=
~
(
CPOS_CC0
|
CPOS_CC1
);
LCDC_CPOS
&=
~
(
CPOS_CC0
|
CPOS_CC1
);
/* fixed burst length (see erratum 11) */
LCDC_DMACR
=
DMACR_BURST
|
DMACR_HM
(
8
)
|
DMACR_TM
(
2
);
LCDC_RMCR
=
RMCR_LCDC_EN
;
LCDC_RMCR
=
RMCR_LCDC_EN
;
if
(
fbi
->
backlight_power
)
if
(
fbi
->
backlight_power
)
...
@@ -359,6 +356,7 @@ static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *inf
...
@@ -359,6 +356,7 @@ static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *inf
LCDC_PCR
=
fbi
->
pcr
;
LCDC_PCR
=
fbi
->
pcr
;
LCDC_PWMR
=
fbi
->
pwmr
;
LCDC_PWMR
=
fbi
->
pwmr
;
LCDC_LSCR1
=
fbi
->
lscr1
;
LCDC_LSCR1
=
fbi
->
lscr1
;
LCDC_DMACR
=
fbi
->
dmacr
;
return
0
;
return
0
;
}
}
...
@@ -509,6 +507,7 @@ static int __init imxfb_init_fbinfo(struct device *dev)
...
@@ -509,6 +507,7 @@ static int __init imxfb_init_fbinfo(struct device *dev)
fbi
->
cmap_inverse
=
inf
->
cmap_inverse
;
fbi
->
cmap_inverse
=
inf
->
cmap_inverse
;
fbi
->
pcr
=
inf
->
pcr
;
fbi
->
pcr
=
inf
->
pcr
;
fbi
->
lscr1
=
inf
->
lscr1
;
fbi
->
lscr1
=
inf
->
lscr1
;
fbi
->
dmacr
=
inf
->
dmacr
;
fbi
->
pwmr
=
inf
->
pwmr
;
fbi
->
pwmr
=
inf
->
pwmr
;
fbi
->
lcd_power
=
inf
->
lcd_power
;
fbi
->
lcd_power
=
inf
->
lcd_power
;
fbi
->
backlight_power
=
inf
->
backlight_power
;
fbi
->
backlight_power
=
inf
->
backlight_power
;
...
@@ -642,12 +641,12 @@ static int imxfb_remove(struct device *dev)
...
@@ -642,12 +641,12 @@ static int imxfb_remove(struct device *dev)
{
{
struct
platform_device
*
pdev
=
to_platform_device
(
dev
);
struct
platform_device
*
pdev
=
to_platform_device
(
dev
);
struct
fb_info
*
info
=
dev_get_drvdata
(
dev
);
struct
fb_info
*
info
=
dev_get_drvdata
(
dev
);
struct
imxfb_info
*
fbi
=
info
->
par
;
struct
resource
*
res
;
struct
resource
*
res
;
res
=
platform_get_resource
(
pdev
,
IORESOURCE_MEM
,
0
);
res
=
platform_get_resource
(
pdev
,
IORESOURCE_MEM
,
0
);
/* disable LCD controller */
imxfb_disable_controller
(
fbi
);
LCDC_RMCR
&=
~
RMCR_LCDC_EN
;
unregister_framebuffer
(
info
);
unregister_framebuffer
(
info
);
...
@@ -663,8 +662,9 @@ static int imxfb_remove(struct device *dev)
...
@@ -663,8 +662,9 @@ static int imxfb_remove(struct device *dev)
void
imxfb_shutdown
(
struct
device
*
dev
)
void
imxfb_shutdown
(
struct
device
*
dev
)
{
{
/* disable LCD Controller */
struct
fb_info
*
info
=
dev_get_drvdata
(
dev
);
LCDC_RMCR
&=
~
RMCR_LCDC_EN
;
struct
imxfb_info
*
fbi
=
info
->
par
;
imxfb_disable_controller
(
fbi
);
}
}
static
struct
device_driver
imxfb_driver
=
{
static
struct
device_driver
imxfb_driver
=
{
...
...
drivers/video/imxfb.h
View file @
c94c0d20
...
@@ -54,6 +54,7 @@ struct imxfb_info {
...
@@ -54,6 +54,7 @@ struct imxfb_info {
u_int
pcr
;
u_int
pcr
;
u_int
pwmr
;
u_int
pwmr
;
u_int
lscr1
;
u_int
lscr1
;
u_int
dmacr
;
u_int
cmap_inverse
:
1
,
u_int
cmap_inverse
:
1
,
cmap_static:
1
,
cmap_static:
1
,
unused:
30
;
unused:
30
;
...
...
include/asm-arm/arch-imx/imxfb.h
View file @
c94c0d20
...
@@ -25,6 +25,7 @@ struct imxfb_mach_info {
...
@@ -25,6 +25,7 @@ struct imxfb_mach_info {
u_int
pcr
;
u_int
pcr
;
u_int
pwmr
;
u_int
pwmr
;
u_int
lscr1
;
u_int
lscr1
;
u_int
dmacr
;
u_char
*
fixed_screen_cpu
;
u_char
*
fixed_screen_cpu
;
dma_addr_t
fixed_screen_dma
;
dma_addr_t
fixed_screen_dma
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment