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
f990f434
Commit
f990f434
authored
Oct 11, 2002
by
David S. Miller
Browse files
Options
Browse Files
Download
Plain Diff
Merge nuts.ninka.net:/home/davem/src/BK/sparcwork-2.5
into nuts.ninka.net:/home/davem/src/BK/sparc-2.5
parents
e856ba4a
e1af51c9
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
20 additions
and
27 deletions
+20
-27
arch/sparc/kernel/pcic.c
arch/sparc/kernel/pcic.c
+7
-11
arch/sparc/kernel/time.c
arch/sparc/kernel/time.c
+3
-13
arch/sparc64/defconfig
arch/sparc64/defconfig
+9
-2
arch/sparc64/kernel/ebus.c
arch/sparc64/kernel/ebus.c
+1
-1
No files found.
arch/sparc/kernel/pcic.c
View file @
f990f434
...
@@ -34,6 +34,8 @@
...
@@ -34,6 +34,8 @@
#include <asm/timer.h>
#include <asm/timer.h>
#include <asm/uaccess.h>
#include <asm/uaccess.h>
extern
rwlock_t
xtime_lock
;
#ifndef CONFIG_PCI
#ifndef CONFIG_PCI
asmlinkage
int
sys_pciconfig_read
(
unsigned
long
bus
,
asmlinkage
int
sys_pciconfig_read
(
unsigned
long
bus
,
...
@@ -737,8 +739,10 @@ static void pcic_clear_clock_irq(void)
...
@@ -737,8 +739,10 @@ static void pcic_clear_clock_irq(void)
static
void
pcic_timer_handler
(
int
irq
,
void
*
h
,
struct
pt_regs
*
regs
)
static
void
pcic_timer_handler
(
int
irq
,
void
*
h
,
struct
pt_regs
*
regs
)
{
{
write_lock
(
&
xtime_lock
);
/* Dummy, to show that we remember */
pcic_clear_clock_irq
();
pcic_clear_clock_irq
();
do_timer
(
regs
);
do_timer
(
regs
);
write_unlock
(
&
xtime_lock
);
}
}
#define USECS_PER_JIFFY 10000
/* We have 100HZ "standard" timer for sparc */
#define USECS_PER_JIFFY 10000
/* We have 100HZ "standard" timer for sparc */
...
@@ -776,25 +780,17 @@ void __init pci_time_init(void)
...
@@ -776,25 +780,17 @@ void __init pci_time_init(void)
static
__inline__
unsigned
long
do_gettimeoffset
(
void
)
static
__inline__
unsigned
long
do_gettimeoffset
(
void
)
{
{
struct
tasklet_struct
*
t
;
/*
unsigned
long
offset
=
0
;
/*
* We devide all to 100
* We devide all to 100
* to have microsecond resolution and to avoid overflow
* to have microsecond resolution and to avoid overflow
*/
*/
unsigned
long
count
=
unsigned
long
count
=
readl
(
pcic0
.
pcic_regs
+
PCI_SYS_COUNTER
)
&
~
PCI_SYS_COUNTER_OVERFLOW
;
readl
(
pcic0
.
pcic_regs
+
PCI_SYS_COUNTER
)
&
~
PCI_SYS_COUNTER_OVERFLOW
;
count
=
((
count
/
100
)
*
USECS_PER_JIFFY
)
/
(
TICK_TIMER_LIMIT
/
100
);
count
=
((
count
/
100
)
*
USECS_PER_JIFFY
)
/
(
TICK_TIMER_LIMIT
/
100
);
return
count
;
t
=
&
bh_task_vec
[
TIMER_BH
];
if
(
test_bit
(
TASKLET_STATE_SCHED
,
&
t
->
state
))
offset
=
1000000
;
return
offset
+
count
;
}
}
extern
unsigned
long
wall_jiffies
;
extern
unsigned
long
wall_jiffies
;
extern
rwlock_t
xtime_lock
;
static
void
pci_do_gettimeofday
(
struct
timeval
*
tv
)
static
void
pci_do_gettimeofday
(
struct
timeval
*
tv
)
{
{
...
...
arch/sparc/kernel/time.c
View file @
f990f434
...
@@ -129,6 +129,8 @@ void timer_interrupt(int irq, void *dev_id, struct pt_regs * regs)
...
@@ -129,6 +129,8 @@ void timer_interrupt(int irq, void *dev_id, struct pt_regs * regs)
sparc_do_profile
(
regs
->
pc
,
regs
->
u_regs
[
UREG_RETPC
]);
sparc_do_profile
(
regs
->
pc
,
regs
->
u_regs
[
UREG_RETPC
]);
#endif
#endif
/* Protect counter clear so that do_gettimeoffset works */
write_lock
(
&
xtime_lock
);
#ifdef CONFIG_SUN4
#ifdef CONFIG_SUN4
if
((
idprom
->
id_machtype
==
(
SM_SUN4
|
SM_4_260
))
||
if
((
idprom
->
id_machtype
==
(
SM_SUN4
|
SM_4_260
))
||
(
idprom
->
id_machtype
==
(
SM_SUN4
|
SM_4_110
)))
{
(
idprom
->
id_machtype
==
(
SM_SUN4
|
SM_4_110
)))
{
...
@@ -140,8 +142,6 @@ void timer_interrupt(int irq, void *dev_id, struct pt_regs * regs)
...
@@ -140,8 +142,6 @@ void timer_interrupt(int irq, void *dev_id, struct pt_regs * regs)
#endif
#endif
clear_clock_irq
();
clear_clock_irq
();
write_lock
(
&
xtime_lock
);
do_timer
(
regs
);
do_timer
(
regs
);
/* Determine when to update the Mostek clock. */
/* Determine when to update the Mostek clock. */
...
@@ -459,17 +459,7 @@ void __init time_init(void)
...
@@ -459,17 +459,7 @@ void __init time_init(void)
extern
__inline__
unsigned
long
do_gettimeoffset
(
void
)
extern
__inline__
unsigned
long
do_gettimeoffset
(
void
)
{
{
struct
tasklet_struct
*
t
;
return
(
*
master_l10_counter
>>
10
)
&
0x1fffff
;
unsigned
long
offset
=
0
;
unsigned
int
count
;
count
=
(
*
master_l10_counter
>>
10
)
&
0x1fffff
;
t
=
&
bh_task_vec
[
TIMER_BH
];
if
(
test_bit
(
TASKLET_STATE_SCHED
,
&
t
->
state
))
offset
=
1000000
;
return
offset
+
count
;
}
}
/* Ok, my cute asm atomicity trick doesn't work anymore.
/* Ok, my cute asm atomicity trick doesn't work anymore.
...
...
arch/sparc64/defconfig
View file @
f990f434
...
@@ -32,6 +32,7 @@ CONFIG_HW_CONSOLE=y
...
@@ -32,6 +32,7 @@ CONFIG_HW_CONSOLE=y
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_SMP=y
CONFIG_SMP=y
# CONFIG_PREEMPT is not set
# CONFIG_PREEMPT is not set
CONFIG_NR_CPUS=4
CONFIG_SPARC64=y
CONFIG_SPARC64=y
CONFIG_HOTPLUG=y
CONFIG_HOTPLUG=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_HAVE_DEC_LOCK=y
...
@@ -59,7 +60,6 @@ CONFIG_BINFMT_ELF=y
...
@@ -59,7 +60,6 @@ CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_MISC=m
# CONFIG_SUNOS_EMUL is not set
# CONFIG_SUNOS_EMUL is not set
CONFIG_SOLARIS_EMUL=m
CONFIG_SOLARIS_EMUL=m
CONFIG_NR_CPUS=64
#
#
# Parallel port support
# Parallel port support
...
@@ -220,6 +220,8 @@ CONFIG_BLK_DEV_IDEPCI=y
...
@@ -220,6 +220,8 @@ CONFIG_BLK_DEV_IDEPCI=y
# CONFIG_BLK_DEV_GENERIC is not set
# CONFIG_BLK_DEV_GENERIC is not set
# CONFIG_IDEPCI_SHARE_IRQ is not set
# CONFIG_IDEPCI_SHARE_IRQ is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDE_TCQ is not set
# CONFIG_BLK_DEV_IDE_TCQ_DEFAULT is not set
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_IDEDMA_PCI_AUTO=y
...
@@ -1025,15 +1027,20 @@ CONFIG_USB_TEST=m
...
@@ -1025,15 +1027,20 @@ CONFIG_USB_TEST=m
CONFIG_BLUEZ=m
CONFIG_BLUEZ=m
CONFIG_BLUEZ_L2CAP=m
CONFIG_BLUEZ_L2CAP=m
CONFIG_BLUEZ_SCO=m
CONFIG_BLUEZ_SCO=m
CONFIG_BLUEZ_RFCOMM=m
CONFIG_BLUEZ_RFCOMM_TTY=y
CONFIG_BLUEZ_BNEP=m
CONFIG_BLUEZ_BNEP_MC_FILTER=y
CONFIG_BLUEZ_BNEP_PROTO_FILTER=y
#
#
# Bluetooth device drivers
# Bluetooth device drivers
#
#
CONFIG_BLUEZ_HCIUSB=m
CONFIG_BLUEZ_HCIUSB=m
CONFIG_BLUEZ_USB_FW_LOAD=y
CONFIG_BLUEZ_USB_ZERO_PACKET=y
CONFIG_BLUEZ_USB_ZERO_PACKET=y
CONFIG_BLUEZ_HCIUART=m
CONFIG_BLUEZ_HCIUART=m
CONFIG_BLUEZ_HCIUART_H4=y
CONFIG_BLUEZ_HCIUART_H4=y
CONFIG_BLUEZ_HCIUART_BCSP=y
# CONFIG_BLUEZ_HCIDTL1 is not set
# CONFIG_BLUEZ_HCIDTL1 is not set
# CONFIG_BLUEZ_HCIBT3C is not set
# CONFIG_BLUEZ_HCIBT3C is not set
# CONFIG_BLUEZ_HCIBLUECARD is not set
# CONFIG_BLUEZ_HCIBLUECARD is not set
...
...
arch/sparc64/kernel/ebus.c
View file @
f990f434
...
@@ -247,7 +247,7 @@ static inline void *ebus_alloc(size_t size)
...
@@ -247,7 +247,7 @@ static inline void *ebus_alloc(size_t size)
mem
=
kmalloc
(
size
,
GFP_ATOMIC
);
mem
=
kmalloc
(
size
,
GFP_ATOMIC
);
if
(
!
mem
)
if
(
!
mem
)
panic
(
__FUNCTION__
"
: out of memory"
);
panic
(
"ebus_alloc
: out of memory"
);
memset
((
char
*
)
mem
,
0
,
size
);
memset
((
char
*
)
mem
,
0
,
size
);
return
mem
;
return
mem
;
}
}
...
...
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