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
557672cd
Commit
557672cd
authored
Sep 01, 2004
by
Deepak Saxena
Browse files
Options
Browse Files
Download
Plain Diff
Merge plexity.net:/home/dsaxena/src/linux-2.6-ixp2000
into plexity.net:/home/dsaxena/src/linux-2.6-for-rmk
parents
2f68dbbf
f787fee2
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
8 additions
and
54 deletions
+8
-54
arch/arm/mach-ixp2000/core.c
arch/arm/mach-ixp2000/core.c
+0
-42
include/asm-arm/arch-ixp2000/io.h
include/asm-arm/arch-ixp2000/io.h
+6
-4
include/asm-arm/arch-ixp2000/ixdp2x01.h
include/asm-arm/arch-ixp2000/ixdp2x01.h
+0
-6
include/asm-arm/arch-ixp2000/platform.h
include/asm-arm/arch-ixp2000/platform.h
+2
-2
No files found.
arch/arm/mach-ixp2000/core.c
View file @
557672cd
...
...
@@ -162,48 +162,6 @@ void __init ixp2000_map_io(void)
iotable_init
(
ixp2000_small_io_desc
,
ARRAY_SIZE
(
ixp2000_small_io_desc
));
iotable_init
(
ixp2000_large_io_desc
,
ARRAY_SIZE
(
ixp2000_large_io_desc
));
early_serial_setup
(
&
ixp2000_serial_port
);
#if defined(CONFIG_ARCH_IXDP2400) || defined (CONFIG_ARCH_IXDP2401)
/*
* Fixup up page table entries to deal with IXP2400 errata
* We first fix the small (page size) mappings and
* then the large (section size) ones.
*/
if
(
machine_is_ixdp2400
()
|
machine_is_ixdp2401
())
{
pmd_t
*
pmdp
;
pte_t
*
ptep
;
u32
virt
,
virt_end
;
int
i
;
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
ixp2000_small_io_desc
);
i
++
)
{
virt
=
ixp2000_small_io_desc
[
i
].
virtual
;
virt_end
=
virt
+
ixp2000_small_io_desc
[
i
].
length
;
do
{
pmdp
=
pmd_offset
(
pgd_offset_k
(
virt
),
virt
);
ptep
=
pte_offset_kernel
(
pmdp
,
virt
);
set_pte
(
ptep
,
(
pte_val
(
*
ptep
)
|
PTE_EXT_TEX
(
1
)
|
L_PTE_BUFFERABLE
));
virt
+=
PAGE_SIZE
;
}
while
(
virt
<
virt_end
);
}
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
ixp2000_large_io_desc
);
i
++
)
{
virt
=
ixp2000_large_io_desc
[
i
].
virtual
;
virt_end
=
virt
+
ixp2000_large_io_desc
[
i
].
length
;
do
{
pmdp
=
pmd_offset
(
pgd_offset_k
(
virt
),
virt
);
set_pmd
(
pmdp
,
pmd_val
(
*
pmdp
)
|
(
PMD_SECT_TEX
(
1
)
|
PMD_SECT_BUFFERABLE
));
virt
+=
0x100000
;
}
while
(
virt
<
virt_end
);
}
}
#endif
}
/*************************************************************************
...
...
include/asm-arm/arch-ixp2000/io.h
View file @
557672cd
...
...
@@ -65,6 +65,8 @@
#undef insw
#undef outsw
#include <asm/mach-types.h>
static
inline
void
insw
(
u32
ptr
,
void
*
buf
,
int
length
)
{
register
volatile
u32
*
port
=
(
volatile
u32
*
)
ptr
;
...
...
@@ -72,7 +74,7 @@ static inline void insw(u32 ptr, void *buf, int length)
/*
* Is this cycle meant for the CS8900?
*/
if
(
machine_is_ixdp2x01
(
)
&&
if
(
(
machine_is_ixdp2401
()
||
machine_is_ixdp2801
()
)
&&
((
port
>=
IXDP2X01_CS8900_VIRT_BASE
)
&&
(
port
<=
IXDP2X01_CS8900_VIRT_END
)))
{
u8
*
buf8
=
(
u8
*
)
buf
;
...
...
@@ -97,7 +99,7 @@ static inline void outsw(u32 ptr, void *buf, int length)
/*
* Is this cycle meant for the CS8900?
*/
if
(
machine_is_ixdp2x01
(
)
&&
if
(
(
machine_is_ixdp2401
()
||
machine_is_ixdp2801
()
)
&&
((
port
>=
IXDP2X01_CS8900_VIRT_BASE
)
&&
(
port
<=
IXDP2X01_CS8900_VIRT_END
)))
{
register
u32
tmp32
;
...
...
@@ -121,7 +123,7 @@ static inline u16 inw(u32 ptr)
/*
* Is this cycle meant for the CS8900?
*/
if
(
machine_is_ixdp2x01
(
)
&&
if
(
(
machine_is_ixdp2401
()
||
machine_is_ixdp2801
()
)
&&
((
port
>=
IXDP2X01_CS8900_VIRT_BASE
)
&&
(
port
<=
IXDP2X01_CS8900_VIRT_END
)))
{
return
(
u16
)(
*
port
);
...
...
@@ -134,7 +136,7 @@ static inline void outw(u16 value, u32 ptr)
{
register
volatile
u32
*
port
=
(
volatile
u32
*
)
ptr
;
if
(
machine_is_ixdp2x01
(
)
&&
if
(
(
machine_is_ixdp2401
()
||
machine_is_ixdp2801
()
)
&&
((
port
>=
IXDP2X01_CS8900_VIRT_BASE
)
&&
(
port
<=
IXDP2X01_CS8900_VIRT_END
)))
{
*
port
=
value
;
...
...
include/asm-arm/arch-ixp2000/ixdp2x01.h
View file @
557672cd
...
...
@@ -50,10 +50,4 @@
#define IXDP2X01_UART_CLK 1843200
#ifndef __ASSEMBLY__
#include <asm/mach-types.h>
#define machine_is_ixdp2x01() (machine_is_ixdp2401() || \
machine_is_ixdp2801())
#endif
#endif
/* __IXDP2x01_H__ */
include/asm-arm/arch-ixp2000/platform.h
View file @
557672cd
...
...
@@ -16,7 +16,7 @@
#ifndef __ASSEMBLY__
/*
* The IXP2400B0 silicon contains an errata that causes writes to
* The IXP2400
B0 silicon contains an errata that causes writes to
* on-chip I/O register to not complete fully. What this means is
* that if you have a write to on-chip I/O followed by a back-to-back
* read or write, the first write will happend twice. OR...if it's
...
...
@@ -38,7 +38,7 @@ static inline void ixp2000_reg_write(volatile unsigned long *reg, unsigned long
local_irq_save
(
flags
);
*
reg
=
val
;
__asm__
__volatile__
(
""
:::
"memory"
);
barrier
(
);
dummy
=
*
reg
;
local_irq_restore
(
flags
);
}
...
...
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