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
08b6784d
Commit
08b6784d
authored
May 10, 2003
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://linux-dj.bkbits.net/cpufreq
into home.transmeta.com:/home/torvalds/v2.5/linux
parents
5fbc553d
79583eea
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
39 additions
and
11 deletions
+39
-11
arch/i386/kernel/cpu/cpufreq/gx-suspmod.c
arch/i386/kernel/cpu/cpufreq/gx-suspmod.c
+1
-1
arch/i386/kernel/cpu/cpufreq/longhaul.c
arch/i386/kernel/cpu/cpufreq/longhaul.c
+1
-1
arch/i386/kernel/cpu/cpufreq/powernow-k7.c
arch/i386/kernel/cpu/cpufreq/powernow-k7.c
+17
-9
arch/i386/kernel/dmi_scan.c
arch/i386/kernel/dmi_scan.c
+19
-0
include/asm-i386/system.h
include/asm-i386/system.h
+1
-0
No files found.
arch/i386/kernel/cpu/cpufreq/gx-suspmod.c
View file @
08b6784d
...
...
@@ -147,7 +147,7 @@ MODULE_PARM(max_duration, "i");
#ifdef SUSPMOD_DEBUG
#define dprintk(msg...) printk(KERN_DEBUG "cpufreq:" msg)
#else
#define dprintk(msg...) do { } while(0)
;
#define dprintk(msg...) do { } while(0)
#endif
/**
...
...
arch/i386/kernel/cpu/cpufreq/longhaul.c
View file @
08b6784d
...
...
@@ -37,7 +37,7 @@
#ifdef DEBUG
#define dprintk(msg...) printk(msg)
#else
#define dprintk(msg...) do { } while(0)
;
#define dprintk(msg...) do { } while(0)
#endif
static
unsigned
int
numscales
=
16
,
numvscales
;
...
...
arch/i386/kernel/cpu/cpufreq/powernow-k7.c
View file @
08b6784d
...
...
@@ -32,7 +32,7 @@
#ifdef DEBUG
#define dprintk(msg...) printk(msg)
#else
#define dprintk(msg...) do { } while(0)
;
#define dprintk(msg...) do { } while(0)
#endif
#define PFX "powernow: "
...
...
@@ -89,7 +89,7 @@ static char have_a0;
rdmsr (msr, l__, h__); \
val = l__; \
val |= ((u64)h__<<32); \
} while(0)
;
} while(0)
#endif
#ifndef wrmsrl
...
...
@@ -236,20 +236,24 @@ static void change_speed (unsigned int index)
if
(
have_a0
==
1
)
/* A0 errata 5 */
__asm__
(
"
\t
cli
\n
"
);
rdmsrl
(
MSR_K7_FID_VID_CTL
,
fidvidctl
.
val
);
fidvidctl
.
bits
.
SGTC
=
latency
;
/* Stop grant timeout counter */
fidvidctl
.
bits
.
FID
=
fid
;
fidvidctl
.
bits
.
FIDC
=
1
;
/* First change the frequency. */
if
(
fidvidctl
.
bits
.
FID
!=
fid
)
{
rdmsrl
(
MSR_K7_FID_VID_CTL
,
fidvidctl
.
val
);
fidvidctl
.
bits
.
SGTC
=
latency
;
/* Stop grant timeout counter */
fidvidctl
.
bits
.
FID
=
fid
;
fidvidctl
.
bits
.
FIDC
=
1
;
wrmsrl
(
MSR_K7_FID_VID_CTL
,
fidvidctl
.
val
);
}
/* Set the voltage lazily. Ie, only do voltage transition
if its changed since last time (Some speeds have the same voltage) */
/* Now change voltage. */
if
(
fidvidctl
.
bits
.
VID
!=
vid
)
{
rdmsrl
(
MSR_K7_FID_VID_CTL
,
fidvidctl
.
val
);
fidvidctl
.
bits
.
VID
=
vid
;
fidvidctl
.
bits
.
VIDC
=
1
;
wrmsrl
(
MSR_K7_FID_VID_CTL
,
fidvidctl
.
val
);
}
wrmsrl
(
MSR_K7_FID_VID_CTL
,
fidvidctl
.
val
);
if
(
have_a0
==
1
)
__asm__
(
"
\t
sti
\n
"
);
...
...
@@ -386,6 +390,10 @@ static struct cpufreq_driver powernow_driver = {
static
int
__init
powernow_init
(
void
)
{
if
(
dmi_broken
&
BROKEN_CPUFREQ
)
{
printk
(
KERN_INFO
PFX
"Disabled at boot time by DMI,
\n
"
);
return
-
ENODEV
;
}
if
(
check_powernow
()
==
0
)
return
-
ENODEV
;
return
cpufreq_register_driver
(
&
powernow_driver
);
...
...
arch/i386/kernel/dmi_scan.c
View file @
08b6784d
...
...
@@ -511,6 +511,14 @@ static __init int exploding_pnp_bios(struct dmi_blacklist *d)
return
0
;
}
static
__init
int
acer_cpufreq_pst
(
struct
dmi_blacklist
*
d
)
{
printk
(
KERN_WARNING
"%s laptop with broken PST tables in BIOS detected.
\n
"
,
d
->
ident
);
printk
(
KERN_WARNING
"You need to downgrade to 3A21 (09/09/2002), or try a newer BIOS than 3A71 (01/20/2003)
\n
"
);
printk
(
KERN_WARNING
"cpufreq scaling has been disabled as a result of this.
\n
"
);
dmi_broken
|=
BROKEN_CPUFREQ
;
return
0
;
}
/*
...
...
@@ -825,6 +833,17 @@ static __initdata struct dmi_blacklist dmi_blacklist[]={
NO_MATCH
,
NO_MATCH
,
NO_MATCH
}
},
/*
* Some Athlon laptops have really fucked PST tables.
* A BIOS update is all that can save them.
* Mention this, and disable cpufreq.
*/
{
acer_cpufreq_pst
,
"Acer Aspire"
,
{
MATCH
(
DMI_SYS_VENDOR
,
"Insyde Software"
),
MATCH
(
DMI_BIOS_VERSION
,
"3A71"
),
NO_MATCH
,
NO_MATCH
,
NO_MATCH
}
},
{
NULL
,
}
};
...
...
include/asm-i386/system.h
View file @
08b6784d
...
...
@@ -474,5 +474,6 @@ extern int is_sony_vaio_laptop;
#define BROKEN_ACPI_Sx 0x0001
#define BROKEN_INIT_AFTER_S1 0x0002
#define BROKEN_PNP_BIOS 0x0004
#define BROKEN_CPUFREQ 0x0008
#endif
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