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
Kirill Smelkov
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