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