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
3eec4b93
Commit
3eec4b93
authored
Jul 30, 2004
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
http://lia64.bkbits.net/to-base-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents
223e5b74
8e61b243
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
28 additions
and
19 deletions
+28
-19
arch/ia64/sn/io/sn2/bte_error.c
arch/ia64/sn/io/sn2/bte_error.c
+9
-0
arch/ia64/sn/kernel/bte.c
arch/ia64/sn/kernel/bte.c
+4
-7
drivers/serial/sn_console.c
drivers/serial/sn_console.c
+15
-12
No files found.
arch/ia64/sn/io/sn2/bte_error.c
View file @
3eec4b93
...
@@ -90,6 +90,7 @@ bte_error_handler(unsigned long _nodepda)
...
@@ -90,6 +90,7 @@ bte_error_handler(unsigned long _nodepda)
ii_icrb0_d_u_t
icrbd
;
/* II CRB Register D */
ii_icrb0_d_u_t
icrbd
;
/* II CRB Register D */
ii_ibcr_u_t
ibcr
;
ii_ibcr_u_t
ibcr
;
ii_icmr_u_t
icmr
;
ii_icmr_u_t
icmr
;
ii_ieclr_u_t
ieclr
;
BTE_PRINTK
((
"bte_error_handler(%p) - %d
\n
"
,
err_nodepda
,
BTE_PRINTK
((
"bte_error_handler(%p) - %d
\n
"
,
err_nodepda
,
...
@@ -177,6 +178,14 @@ bte_error_handler(unsigned long _nodepda)
...
@@ -177,6 +178,14 @@ bte_error_handler(unsigned long _nodepda)
imem
.
ii_imem_fld_s
.
i_b0_esd
=
imem
.
ii_imem_fld_s
.
i_b1_esd
=
1
;
imem
.
ii_imem_fld_s
.
i_b0_esd
=
imem
.
ii_imem_fld_s
.
i_b1_esd
=
1
;
REMOTE_HUB_S
(
nasid
,
IIO_IMEM
,
imem
.
ii_imem_regval
);
REMOTE_HUB_S
(
nasid
,
IIO_IMEM
,
imem
.
ii_imem_regval
);
/* Clear IBLS0/1 error bits */
ieclr
.
ii_ieclr_regval
=
0
;
if
(
err_nodepda
->
bte_if
[
0
].
bh_error
!=
BTE_SUCCESS
)
ieclr
.
ii_ieclr_fld_s
.
i_e_bte_0
=
1
;
if
(
err_nodepda
->
bte_if
[
1
].
bh_error
!=
BTE_SUCCESS
)
ieclr
.
ii_ieclr_fld_s
.
i_e_bte_1
=
1
;
REMOTE_HUB_S
(
nasid
,
IIO_IECLR
,
ieclr
.
ii_ieclr_regval
);
/* Reinitialize both BTE state machines. */
/* Reinitialize both BTE state machines. */
ibcr
.
ii_ibcr_regval
=
REMOTE_HUB_L
(
nasid
,
IIO_IBCR
);
ibcr
.
ii_ibcr_regval
=
REMOTE_HUB_L
(
nasid
,
IIO_IBCR
);
ibcr
.
ii_ibcr_fld_s
.
i_soft_reset
=
1
;
ibcr
.
ii_ibcr_fld_s
.
i_soft_reset
=
1
;
...
...
arch/ia64/sn/kernel/bte.c
View file @
3eec4b93
...
@@ -16,7 +16,6 @@
...
@@ -16,7 +16,6 @@
#include <asm/sn/pda.h>
#include <asm/sn/pda.h>
#include <asm/sn/sn2/shubio.h>
#include <asm/sn/sn2/shubio.h>
#include <asm/nodedata.h>
#include <asm/nodedata.h>
#include <asm/delay.h>
#include <linux/bootmem.h>
#include <linux/bootmem.h>
#include <linux/string.h>
#include <linux/string.h>
...
@@ -71,6 +70,7 @@ bte_result_t
...
@@ -71,6 +70,7 @@ bte_result_t
bte_copy
(
u64
src
,
u64
dest
,
u64
len
,
u64
mode
,
void
*
notification
)
bte_copy
(
u64
src
,
u64
dest
,
u64
len
,
u64
mode
,
void
*
notification
)
{
{
u64
transfer_size
;
u64
transfer_size
;
u64
transfer_stat
;
struct
bteinfo_s
*
bte
;
struct
bteinfo_s
*
bte
;
bte_result_t
bte_status
;
bte_result_t
bte_status
;
unsigned
long
irq_flags
;
unsigned
long
irq_flags
;
...
@@ -148,9 +148,6 @@ bte_copy(u64 src, u64 dest, u64 len, u64 mode, void *notification)
...
@@ -148,9 +148,6 @@ bte_copy(u64 src, u64 dest, u64 len, u64 mode, void *notification)
if
(
!
(
mode
&
BTE_WACQUIRE
))
{
if
(
!
(
mode
&
BTE_WACQUIRE
))
{
return
BTEFAIL_NOTAVAIL
;
return
BTEFAIL_NOTAVAIL
;
}
}
/* Wait until a bte is available. */
udelay
(
1
);
}
while
(
1
);
}
while
(
1
);
...
@@ -194,15 +191,15 @@ bte_copy(u64 src, u64 dest, u64 len, u64 mode, void *notification)
...
@@ -194,15 +191,15 @@ bte_copy(u64 src, u64 dest, u64 len, u64 mode, void *notification)
return
BTE_SUCCESS
;
return
BTE_SUCCESS
;
}
}
while
(
*
bte
->
most_rcnt_na
==
-
1UL
)
{
while
(
(
transfer_stat
=
*
bte
->
most_rcnt_na
)
==
-
1UL
)
{
}
}
BTE_PRINTKV
((
" Delay Done. IBLS = 0x%lx, most_rcnt_na = 0x%lx
\n
"
,
BTE_PRINTKV
((
" Delay Done. IBLS = 0x%lx, most_rcnt_na = 0x%lx
\n
"
,
BTE_LNSTAT_LOAD
(
bte
),
*
bte
->
most_rcnt_na
));
BTE_LNSTAT_LOAD
(
bte
),
*
bte
->
most_rcnt_na
));
if
(
*
bte
->
most_rcnt_na
&
IBLS_ERROR
)
{
if
(
transfer_stat
&
IBLS_ERROR
)
{
bte_status
=
*
bte
->
most_rcnt_na
&
~
IBLS_ERROR
;
bte_status
=
transfer_stat
&
~
IBLS_ERROR
;
*
bte
->
most_rcnt_na
=
0L
;
*
bte
->
most_rcnt_na
=
0L
;
}
else
{
}
else
{
bte_status
=
BTE_SUCCESS
;
bte_status
=
BTE_SUCCESS
;
...
...
drivers/serial/sn_console.c
View file @
3eec4b93
...
@@ -105,10 +105,9 @@ static struct miscdevice misc; /* used with misc_register for dynamic */
...
@@ -105,10 +105,9 @@ static struct miscdevice misc; /* used with misc_register for dynamic */
extern
u64
master_node_bedrock_address
;
extern
u64
master_node_bedrock_address
;
extern
void
early_sn_setup
(
void
);
extern
void
early_sn_setup
(
void
);
static
int
sn_debug_printf
(
const
char
*
fmt
,
...);
#undef DEBUG
#undef DEBUG
#ifdef DEBUG
#ifdef DEBUG
static
int
sn_debug_printf
(
const
char
*
fmt
,
...);
#define DPRINTF(x...) sn_debug_printf(x)
#define DPRINTF(x...) sn_debug_printf(x)
#else
#else
#define DPRINTF(x...) do { } while (0)
#define DPRINTF(x...) do { } while (0)
...
@@ -489,6 +488,8 @@ static struct uart_ops sn_console_ops = {
...
@@ -489,6 +488,8 @@ static struct uart_ops sn_console_ops = {
/* End of uart struct functions and defines */
/* End of uart struct functions and defines */
#ifdef DEBUG
/**
/**
* sn_debug_printf - close to hardware debugging printf
* sn_debug_printf - close to hardware debugging printf
* @fmt: printf format
* @fmt: printf format
...
@@ -520,6 +521,7 @@ sn_debug_printf(const char *fmt, ...)
...
@@ -520,6 +521,7 @@ sn_debug_printf(const char *fmt, ...)
va_end
(
args
);
va_end
(
args
);
return
printed_len
;
return
printed_len
;
}
}
#endif
/* DEBUG */
/*
/*
* Interrupt handling routines.
* Interrupt handling routines.
...
@@ -654,7 +656,7 @@ sn_transmit_chars(struct sn_cons_port *port, int raw)
...
@@ -654,7 +656,7 @@ sn_transmit_chars(struct sn_cons_port *port, int raw)
port
->
sc_ops
->
sal_puts
(
start
,
xmit_count
);
port
->
sc_ops
->
sal_puts
(
start
,
xmit_count
);
#ifdef DEBUG
#ifdef DEBUG
if
(
!
result
)
if
(
!
result
)
sn_debug_printf
(
"`"
);
DPRINTF
(
"`"
);
#endif
#endif
if
(
result
>
0
)
{
if
(
result
>
0
)
{
xmit_count
-=
result
;
xmit_count
-=
result
;
...
@@ -971,6 +973,7 @@ module_exit(sn_sal_module_exit);
...
@@ -971,6 +973,7 @@ module_exit(sn_sal_module_exit);
/**
/**
* puts_raw_fixed - sn_sal_console_write helper for adding \r's as required
* puts_raw_fixed - sn_sal_console_write helper for adding \r's as required
* @puts_raw : puts function to do the writing
* @s: input string
* @s: input string
* @count: length
* @count: length
*
*
...
@@ -978,19 +981,19 @@ module_exit(sn_sal_module_exit);
...
@@ -978,19 +981,19 @@ module_exit(sn_sal_module_exit);
* ia64_sn_console_putb (what sal_puts_raw below actually does).
* ia64_sn_console_putb (what sal_puts_raw below actually does).
*
*
*/
*/
static
void
puts_raw_fixed
(
const
char
*
s
,
int
count
)
static
void
puts_raw_fixed
(
int
(
*
puts_raw
)
(
const
char
*
s
,
int
len
),
const
char
*
s
,
int
count
)
{
{
const
char
*
s1
;
const
char
*
s1
;
struct
sn_cons_port
*
port
=
&
sal_console_port
;
/* Output '\r' before each '\n' */
/* Output '\r' before each '\n' */
while
((
s1
=
memchr
(
s
,
'\n'
,
count
))
!=
NULL
)
{
while
((
s1
=
memchr
(
s
,
'\n'
,
count
))
!=
NULL
)
{
p
ort
->
sc_ops
->
sal_p
uts_raw
(
s
,
s1
-
s
);
puts_raw
(
s
,
s1
-
s
);
p
ort
->
sc_ops
->
sal_p
uts_raw
(
"
\r\n
"
,
2
);
puts_raw
(
"
\r\n
"
,
2
);
count
-=
s1
+
1
-
s
;
count
-=
s1
+
1
-
s
;
s
=
s1
+
1
;
s
=
s1
+
1
;
}
}
p
ort
->
sc_ops
->
sal_p
uts_raw
(
s
,
count
);
puts_raw
(
s
,
count
);
}
}
/**
/**
...
@@ -1072,7 +1075,7 @@ sn_sal_console_write(struct console *co, const char *s, unsigned count)
...
@@ -1072,7 +1075,7 @@ sn_sal_console_write(struct console *co, const char *s, unsigned count)
/* fell thru */
/* fell thru */
stole_lock
=
1
;
stole_lock
=
1
;
}
}
puts_raw_fixed
(
s
,
count
);
puts_raw_fixed
(
port
->
sc_ops
->
sal_puts_raw
,
s
,
count
);
}
}
else
{
else
{
stole_lock
=
0
;
stole_lock
=
0
;
...
@@ -1081,12 +1084,12 @@ sn_sal_console_write(struct console *co, const char *s, unsigned count)
...
@@ -1081,12 +1084,12 @@ sn_sal_console_write(struct console *co, const char *s, unsigned count)
sn_transmit_chars
(
port
,
1
);
sn_transmit_chars
(
port
,
1
);
spin_unlock_irqrestore
(
&
port
->
sc_port
.
lock
,
flags
);
spin_unlock_irqrestore
(
&
port
->
sc_port
.
lock
,
flags
);
puts_raw_fixed
(
s
,
count
);
puts_raw_fixed
(
port
->
sc_ops
->
sal_puts_raw
,
s
,
count
);
}
}
}
}
else
{
else
{
/* Not yet registered with serial core - simple case */
/* Not yet registered with serial core - simple case */
puts_raw_fixed
(
s
,
count
);
puts_raw_fixed
(
port
->
sc_ops
->
sal_puts_raw
,
s
,
count
);
}
}
}
}
...
@@ -1123,7 +1126,7 @@ sn_sal_console_setup(struct console *co, char *options)
...
@@ -1123,7 +1126,7 @@ sn_sal_console_setup(struct console *co, char *options)
static
void
__init
static
void
__init
sn_sal_console_write_early
(
struct
console
*
co
,
const
char
*
s
,
unsigned
count
)
sn_sal_console_write_early
(
struct
console
*
co
,
const
char
*
s
,
unsigned
count
)
{
{
sal_console_port
.
sc_ops
->
sal_puts
(
s
,
count
);
puts_raw_fixed
(
sal_console_port
.
sc_ops
->
sal_puts_raw
,
s
,
count
);
}
}
/* Used for very early console printing - again, before
/* Used for very early console printing - again, before
...
...
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