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
11edb4ad
Commit
11edb4ad
authored
Sep 04, 2003
by
Dave Jones
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[CPUFREQ] Move longhaul scale/ratio tables to longhaul header file
parent
f1e5737b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
201 additions
and
191 deletions
+201
-191
arch/i386/kernel/cpu/cpufreq/longhaul.c
arch/i386/kernel/cpu/cpufreq/longhaul.c
+0
-191
arch/i386/kernel/cpu/cpufreq/longhaul.h
arch/i386/kernel/cpu/cpufreq/longhaul.h
+201
-0
No files found.
arch/i386/kernel/cpu/cpufreq/longhaul.c
View file @
11edb4ad
...
@@ -54,197 +54,6 @@ static unsigned int fsb;
...
@@ -54,197 +54,6 @@ static unsigned int fsb;
#define __hlt() __asm__ __volatile__("hlt": : :"memory")
#define __hlt() __asm__ __volatile__("hlt": : :"memory")
/*
* Clock ratio tables.
* The eblcr ones specify the ratio read from the CPU.
* The clock_ratio ones specify what to write to the CPU.
*/
/* VIA C3 Samuel 1 & Samuel 2 (stepping 0)*/
static
int
__initdata
longhaul1_clock_ratio
[
16
]
=
{
-
1
,
/* 0000 -> RESERVED */
30
,
/* 0001 -> 3.0x */
40
,
/* 0010 -> 4.0x */
-
1
,
/* 0011 -> RESERVED */
-
1
,
/* 0100 -> RESERVED */
35
,
/* 0101 -> 3.5x */
45
,
/* 0110 -> 4.5x */
55
,
/* 0111 -> 5.5x */
60
,
/* 1000 -> 6.0x */
70
,
/* 1001 -> 7.0x */
80
,
/* 1010 -> 8.0x */
50
,
/* 1011 -> 5.0x */
65
,
/* 1100 -> 6.5x */
75
,
/* 1101 -> 7.5x */
-
1
,
/* 1110 -> RESERVED */
-
1
,
/* 1111 -> RESERVED */
};
static
int
__initdata
samuel1_eblcr
[
16
]
=
{
50
,
/* 0000 -> RESERVED */
30
,
/* 0001 -> 3.0x */
40
,
/* 0010 -> 4.0x */
-
1
,
/* 0011 -> RESERVED */
55
,
/* 0100 -> 5.5x */
35
,
/* 0101 -> 3.5x */
45
,
/* 0110 -> 4.5x */
-
1
,
/* 0111 -> RESERVED */
-
1
,
/* 1000 -> RESERVED */
70
,
/* 1001 -> 7.0x */
80
,
/* 1010 -> 8.0x */
60
,
/* 1011 -> 6.0x */
-
1
,
/* 1100 -> RESERVED */
75
,
/* 1101 -> 7.5x */
-
1
,
/* 1110 -> RESERVED */
65
,
/* 1111 -> 6.5x */
};
/* VIA C3 Samuel2 Stepping 1->15 & VIA C3 Ezra */
static
int
__initdata
longhaul2_clock_ratio
[
16
]
=
{
100
,
/* 0000 -> 10.0x */
30
,
/* 0001 -> 3.0x */
40
,
/* 0010 -> 4.0x */
90
,
/* 0011 -> 9.0x */
95
,
/* 0100 -> 9.5x */
35
,
/* 0101 -> 3.5x */
45
,
/* 0110 -> 4.5x */
55
,
/* 0111 -> 5.5x */
60
,
/* 1000 -> 6.0x */
70
,
/* 1001 -> 7.0x */
80
,
/* 1010 -> 8.0x */
50
,
/* 1011 -> 5.0x */
65
,
/* 1100 -> 6.5x */
75
,
/* 1101 -> 7.5x */
85
,
/* 1110 -> 8.5x */
120
,
/* 1111 -> 12.0x */
};
static
int
__initdata
samuel2_eblcr
[
16
]
=
{
50
,
/* 0000 -> 5.0x */
30
,
/* 0001 -> 3.0x */
40
,
/* 0010 -> 4.0x */
100
,
/* 0011 -> 10.0x */
55
,
/* 0100 -> 5.5x */
35
,
/* 0101 -> 3.5x */
45
,
/* 0110 -> 4.5x */
110
,
/* 0111 -> 11.0x */
90
,
/* 1000 -> 9.0x */
70
,
/* 1001 -> 7.0x */
80
,
/* 1010 -> 8.0x */
60
,
/* 1011 -> 6.0x */
120
,
/* 1100 -> 12.0x */
75
,
/* 1101 -> 7.5x */
130
,
/* 1110 -> 13.0x */
65
,
/* 1111 -> 6.5x */
};
static
int
__initdata
ezra_eblcr
[
16
]
=
{
50
,
/* 0000 -> 5.0x */
30
,
/* 0001 -> 3.0x */
40
,
/* 0010 -> 4.0x */
100
,
/* 0011 -> 10.0x */
55
,
/* 0100 -> 5.5x */
35
,
/* 0101 -> 3.5x */
45
,
/* 0110 -> 4.5x */
95
,
/* 0111 -> 9.5x */
90
,
/* 1000 -> 9.0x */
70
,
/* 1001 -> 7.0x */
80
,
/* 1010 -> 8.0x */
60
,
/* 1011 -> 6.0x */
120
,
/* 1100 -> 12.0x */
75
,
/* 1101 -> 7.5x */
85
,
/* 1110 -> 8.5x */
65
,
/* 1111 -> 6.5x */
};
/* VIA C5M. */
static
int
__initdata
longhaul3_clock_ratio
[
32
]
=
{
100
,
/* 0000 -> 10.0x */
30
,
/* 0001 -> 3.0x */
40
,
/* 0010 -> 4.0x */
90
,
/* 0011 -> 9.0x */
95
,
/* 0100 -> 9.5x */
35
,
/* 0101 -> 3.5x */
45
,
/* 0110 -> 4.5x */
55
,
/* 0111 -> 5.5x */
60
,
/* 1000 -> 6.0x */
70
,
/* 1001 -> 7.0x */
80
,
/* 1010 -> 8.0x */
50
,
/* 1011 -> 5.0x */
65
,
/* 1100 -> 6.5x */
75
,
/* 1101 -> 7.5x */
85
,
/* 1110 -> 8.5x */
120
,
/* 1111 -> 12.0x */
-
1
,
/* 0000 -> RESERVED (10.0x) */
110
,
/* 0001 -> 11.0x */
120
,
/* 0010 -> 12.0x */
-
1
,
/* 0011 -> RESERVED (9.0x)*/
105
,
/* 0100 -> 10.5x */
115
,
/* 0101 -> 11.5x */
125
,
/* 0110 -> 12.5x */
135
,
/* 0111 -> 13.5x */
140
,
/* 1000 -> 14.0x */
150
,
/* 1001 -> 15.0x */
160
,
/* 1010 -> 16.0x */
130
,
/* 1011 -> 13.0x */
145
,
/* 1100 -> 14.5x */
155
,
/* 1101 -> 15.5x */
-
1
,
/* 1110 -> RESERVED (13.0x) */
-
1
,
/* 1111 -> RESERVED (12.0x) */
};
static
int
__initdata
c5m_eblcr
[
32
]
=
{
50
,
/* 0000 -> 5.0x */
30
,
/* 0001 -> 3.0x */
40
,
/* 0010 -> 4.0x */
100
,
/* 0011 -> 10.0x */
55
,
/* 0100 -> 5.5x */
35
,
/* 0101 -> 3.5x */
45
,
/* 0110 -> 4.5x */
95
,
/* 0111 -> 9.5x */
90
,
/* 1000 -> 9.0x */
70
,
/* 1001 -> 7.0x */
80
,
/* 1010 -> 8.0x */
60
,
/* 1011 -> 6.0x */
120
,
/* 1100 -> 12.0x */
75
,
/* 1101 -> 7.5x */
85
,
/* 1110 -> 8.5x */
65
,
/* 1111 -> 6.5x */
-
1
,
/* 0000 -> RESERVED (9.0x) */
110
,
/* 0001 -> 11.0x */
120
,
/* 0010 -> 12.0x */
-
1
,
/* 0011 -> RESERVED (10.0x)*/
135
,
/* 0100 -> 13.5x */
115
,
/* 0101 -> 11.5x */
125
,
/* 0110 -> 12.5x */
105
,
/* 0111 -> 10.5x */
130
,
/* 1000 -> 13.0x */
150
,
/* 1001 -> 15.0x */
160
,
/* 1010 -> 16.0x */
140
,
/* 1011 -> 14.0x */
-
1
,
/* 1100 -> RESERVED (12.0x) */
155
,
/* 1101 -> 15.5x */
-
1
,
/* 1110 -> RESERVED (13.0x) */
145
,
/* 1111 -> 14.5x */
};
/* Voltage scales. Div by 1000 to get actual voltage. */
static
int
__initdata
vrm85scales
[
32
]
=
{
1250
,
1200
,
1150
,
1100
,
1050
,
1800
,
1750
,
1700
,
1650
,
1600
,
1550
,
1500
,
1450
,
1400
,
1350
,
1300
,
1275
,
1225
,
1175
,
1125
,
1075
,
1825
,
1775
,
1725
,
1675
,
1625
,
1575
,
1525
,
1475
,
1425
,
1375
,
1325
,
};
static
int
__initdata
mobilevrmscales
[
32
]
=
{
2000
,
1950
,
1900
,
1850
,
1800
,
1750
,
1700
,
1650
,
1600
,
1550
,
1500
,
1450
,
1500
,
1350
,
1300
,
-
1
,
1275
,
1250
,
1225
,
1200
,
1175
,
1150
,
1125
,
1100
,
1075
,
1050
,
1025
,
1000
,
975
,
950
,
925
,
-
1
,
};
/* Clock ratios multiplied by 10 */
/* Clock ratios multiplied by 10 */
static
int
clock_ratio
[
32
];
static
int
clock_ratio
[
32
];
static
int
eblcr_table
[
32
];
static
int
eblcr_table
[
32
];
...
...
arch/i386/kernel/cpu/cpufreq/longhaul.h
View file @
11edb4ad
...
@@ -47,3 +47,204 @@ union msr_longhaul {
...
@@ -47,3 +47,204 @@ union msr_longhaul {
unsigned
long
long
val
;
unsigned
long
long
val
;
};
};
/*
* Clock ratio tables. Div/Mod by 10 to get ratio.
* The eblcr ones specify the ratio read from the CPU.
* The clock_ratio ones specify what to write to the CPU.
*/
/*
* VIA C3 Samuel 1 & Samuel 2 (stepping 0)
*/
static
int
__initdata
longhaul1_clock_ratio
[
16
]
=
{
-
1
,
/* 0000 -> RESERVED */
30
,
/* 0001 -> 3.0x */
40
,
/* 0010 -> 4.0x */
-
1
,
/* 0011 -> RESERVED */
-
1
,
/* 0100 -> RESERVED */
35
,
/* 0101 -> 3.5x */
45
,
/* 0110 -> 4.5x */
55
,
/* 0111 -> 5.5x */
60
,
/* 1000 -> 6.0x */
70
,
/* 1001 -> 7.0x */
80
,
/* 1010 -> 8.0x */
50
,
/* 1011 -> 5.0x */
65
,
/* 1100 -> 6.5x */
75
,
/* 1101 -> 7.5x */
-
1
,
/* 1110 -> RESERVED */
-
1
,
/* 1111 -> RESERVED */
};
static
int
__initdata
samuel1_eblcr
[
16
]
=
{
50
,
/* 0000 -> RESERVED */
30
,
/* 0001 -> 3.0x */
40
,
/* 0010 -> 4.0x */
-
1
,
/* 0011 -> RESERVED */
55
,
/* 0100 -> 5.5x */
35
,
/* 0101 -> 3.5x */
45
,
/* 0110 -> 4.5x */
-
1
,
/* 0111 -> RESERVED */
-
1
,
/* 1000 -> RESERVED */
70
,
/* 1001 -> 7.0x */
80
,
/* 1010 -> 8.0x */
60
,
/* 1011 -> 6.0x */
-
1
,
/* 1100 -> RESERVED */
75
,
/* 1101 -> 7.5x */
-
1
,
/* 1110 -> RESERVED */
65
,
/* 1111 -> 6.5x */
};
/*
* VIA C3 Samuel2 Stepping 1->15 & VIA C3 Ezra
*/
static
int
__initdata
longhaul2_clock_ratio
[
16
]
=
{
100
,
/* 0000 -> 10.0x */
30
,
/* 0001 -> 3.0x */
40
,
/* 0010 -> 4.0x */
90
,
/* 0011 -> 9.0x */
95
,
/* 0100 -> 9.5x */
35
,
/* 0101 -> 3.5x */
45
,
/* 0110 -> 4.5x */
55
,
/* 0111 -> 5.5x */
60
,
/* 1000 -> 6.0x */
70
,
/* 1001 -> 7.0x */
80
,
/* 1010 -> 8.0x */
50
,
/* 1011 -> 5.0x */
65
,
/* 1100 -> 6.5x */
75
,
/* 1101 -> 7.5x */
85
,
/* 1110 -> 8.5x */
120
,
/* 1111 -> 12.0x */
};
static
int
__initdata
samuel2_eblcr
[
16
]
=
{
50
,
/* 0000 -> 5.0x */
30
,
/* 0001 -> 3.0x */
40
,
/* 0010 -> 4.0x */
100
,
/* 0011 -> 10.0x */
55
,
/* 0100 -> 5.5x */
35
,
/* 0101 -> 3.5x */
45
,
/* 0110 -> 4.5x */
110
,
/* 0111 -> 11.0x */
90
,
/* 1000 -> 9.0x */
70
,
/* 1001 -> 7.0x */
80
,
/* 1010 -> 8.0x */
60
,
/* 1011 -> 6.0x */
120
,
/* 1100 -> 12.0x */
75
,
/* 1101 -> 7.5x */
130
,
/* 1110 -> 13.0x */
65
,
/* 1111 -> 6.5x */
};
static
int
__initdata
ezra_eblcr
[
16
]
=
{
50
,
/* 0000 -> 5.0x */
30
,
/* 0001 -> 3.0x */
40
,
/* 0010 -> 4.0x */
100
,
/* 0011 -> 10.0x */
55
,
/* 0100 -> 5.5x */
35
,
/* 0101 -> 3.5x */
45
,
/* 0110 -> 4.5x */
95
,
/* 0111 -> 9.5x */
90
,
/* 1000 -> 9.0x */
70
,
/* 1001 -> 7.0x */
80
,
/* 1010 -> 8.0x */
60
,
/* 1011 -> 6.0x */
120
,
/* 1100 -> 12.0x */
75
,
/* 1101 -> 7.5x */
85
,
/* 1110 -> 8.5x */
65
,
/* 1111 -> 6.5x */
};
/*
* VIA C3 (Ezra-T) [C5M].
*/
static
int
__initdata
longhaul3_clock_ratio
[
32
]
=
{
100
,
/* 0000 -> 10.0x */
30
,
/* 0001 -> 3.0x */
40
,
/* 0010 -> 4.0x */
90
,
/* 0011 -> 9.0x */
95
,
/* 0100 -> 9.5x */
35
,
/* 0101 -> 3.5x */
45
,
/* 0110 -> 4.5x */
55
,
/* 0111 -> 5.5x */
60
,
/* 1000 -> 6.0x */
70
,
/* 1001 -> 7.0x */
80
,
/* 1010 -> 8.0x */
50
,
/* 1011 -> 5.0x */
65
,
/* 1100 -> 6.5x */
75
,
/* 1101 -> 7.5x */
85
,
/* 1110 -> 8.5x */
120
,
/* 1111 -> 12.0x */
-
1
,
/* 0000 -> RESERVED (10.0x) */
110
,
/* 0001 -> 11.0x */
120
,
/* 0010 -> 12.0x */
-
1
,
/* 0011 -> RESERVED (9.0x)*/
105
,
/* 0100 -> 10.5x */
115
,
/* 0101 -> 11.5x */
125
,
/* 0110 -> 12.5x */
135
,
/* 0111 -> 13.5x */
140
,
/* 1000 -> 14.0x */
150
,
/* 1001 -> 15.0x */
160
,
/* 1010 -> 16.0x */
130
,
/* 1011 -> 13.0x */
145
,
/* 1100 -> 14.5x */
155
,
/* 1101 -> 15.5x */
-
1
,
/* 1110 -> RESERVED (13.0x) */
-
1
,
/* 1111 -> RESERVED (12.0x) */
};
static
int
__initdata
c5m_eblcr
[
32
]
=
{
50
,
/* 0000 -> 5.0x */
30
,
/* 0001 -> 3.0x */
40
,
/* 0010 -> 4.0x */
100
,
/* 0011 -> 10.0x */
55
,
/* 0100 -> 5.5x */
35
,
/* 0101 -> 3.5x */
45
,
/* 0110 -> 4.5x */
95
,
/* 0111 -> 9.5x */
90
,
/* 1000 -> 9.0x */
70
,
/* 1001 -> 7.0x */
80
,
/* 1010 -> 8.0x */
60
,
/* 1011 -> 6.0x */
120
,
/* 1100 -> 12.0x */
75
,
/* 1101 -> 7.5x */
85
,
/* 1110 -> 8.5x */
65
,
/* 1111 -> 6.5x */
-
1
,
/* 0000 -> RESERVED (9.0x) */
110
,
/* 0001 -> 11.0x */
120
,
/* 0010 -> 12.0x */
-
1
,
/* 0011 -> RESERVED (10.0x)*/
135
,
/* 0100 -> 13.5x */
115
,
/* 0101 -> 11.5x */
125
,
/* 0110 -> 12.5x */
105
,
/* 0111 -> 10.5x */
130
,
/* 1000 -> 13.0x */
150
,
/* 1001 -> 15.0x */
160
,
/* 1010 -> 16.0x */
140
,
/* 1011 -> 14.0x */
-
1
,
/* 1100 -> RESERVED (12.0x) */
155
,
/* 1101 -> 15.5x */
-
1
,
/* 1110 -> RESERVED (13.0x) */
145
,
/* 1111 -> 14.5x */
};
/*
* Voltage scales. Div/Mod by 1000 to get actual voltage.
* Which scale to use depends on the VRM type in use.
*/
static
int
__initdata
vrm85scales
[
32
]
=
{
1250
,
1200
,
1150
,
1100
,
1050
,
1800
,
1750
,
1700
,
1650
,
1600
,
1550
,
1500
,
1450
,
1400
,
1350
,
1300
,
1275
,
1225
,
1175
,
1125
,
1075
,
1825
,
1775
,
1725
,
1675
,
1625
,
1575
,
1525
,
1475
,
1425
,
1375
,
1325
,
};
static
int
__initdata
mobilevrmscales
[
32
]
=
{
2000
,
1950
,
1900
,
1850
,
1800
,
1750
,
1700
,
1650
,
1600
,
1550
,
1500
,
1450
,
1500
,
1350
,
1300
,
-
1
,
1275
,
1250
,
1225
,
1200
,
1175
,
1150
,
1125
,
1100
,
1075
,
1050
,
1025
,
1000
,
975
,
950
,
925
,
-
1
,
};
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