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