diff options
| author | Rafał Bilski <rafalbilski@interia.pl> | 2007-01-31 17:50:49 -0500 |
|---|---|---|
| committer | Dave Jones <davej@redhat.com> | 2007-02-03 17:25:19 -0500 |
| commit | 0d44b2ba287ea98547097ad2b8b0cc5f0589b8d2 (patch) | |
| tree | 09f7eb80a2cfcfca4e892f2b1efc3291f79094d3 | |
| parent | 980342a7eb6b4ebcc5feffe6287ad5cda5a68a4b (diff) | |
[CPUFREQ] Longhaul - Remove duplicate tables
Now there is no need to depend on -1 in Nehemiah tables. After
previous change code is eliminating multipliers lower then 5.0
by minmult for Nehemiah A and B.
Signed-off-by: Rafał Bilski <rafalbilski@interia.pl>
Signed-off-by: Dave Jones <davej@redhat.com>
| -rw-r--r-- | arch/i386/kernel/cpu/cpufreq/longhaul.c | 12 | ||||
| -rw-r--r-- | arch/i386/kernel/cpu/cpufreq/longhaul.h | 153 |
2 files changed, 11 insertions, 154 deletions
diff --git a/arch/i386/kernel/cpu/cpufreq/longhaul.c b/arch/i386/kernel/cpu/cpufreq/longhaul.c index 849a6dfdfea8..8ea34e951ea3 100644 --- a/arch/i386/kernel/cpu/cpufreq/longhaul.c +++ b/arch/i386/kernel/cpu/cpufreq/longhaul.c | |||
| @@ -616,25 +616,23 @@ static int __init longhaul_cpu_init(struct cpufreq_policy *policy) | |||
| 616 | 616 | ||
| 617 | case 9: | 617 | case 9: |
| 618 | longhaul_version = TYPE_POWERSAVER; | 618 | longhaul_version = TYPE_POWERSAVER; |
| 619 | numscales=32; | 619 | numscales = 32; |
| 620 | memcpy(clock_ratio, | ||
| 621 | nehemiah_clock_ratio, | ||
| 622 | sizeof(nehemiah_clock_ratio)); | ||
| 623 | memcpy(eblcr_table, nehemiah_eblcr, sizeof(nehemiah_eblcr)); | ||
| 620 | switch (c->x86_mask) { | 624 | switch (c->x86_mask) { |
| 621 | case 0 ... 1: | 625 | case 0 ... 1: |
| 622 | cpu_model = CPU_NEHEMIAH; | 626 | cpu_model = CPU_NEHEMIAH; |
| 623 | cpuname = "C3 'Nehemiah A' [C5N]"; | 627 | cpuname = "C3 'Nehemiah A' [C5N]"; |
| 624 | memcpy (clock_ratio, nehemiah_a_clock_ratio, sizeof(nehemiah_a_clock_ratio)); | ||
| 625 | memcpy (eblcr_table, nehemiah_a_eblcr, sizeof(nehemiah_a_eblcr)); | ||
| 626 | break; | 628 | break; |
| 627 | case 2 ... 4: | 629 | case 2 ... 4: |
| 628 | cpu_model = CPU_NEHEMIAH; | 630 | cpu_model = CPU_NEHEMIAH; |
| 629 | cpuname = "C3 'Nehemiah B' [C5N]"; | 631 | cpuname = "C3 'Nehemiah B' [C5N]"; |
| 630 | memcpy (clock_ratio, nehemiah_b_clock_ratio, sizeof(nehemiah_b_clock_ratio)); | ||
| 631 | memcpy (eblcr_table, nehemiah_b_eblcr, sizeof(nehemiah_b_eblcr)); | ||
| 632 | break; | 632 | break; |
| 633 | case 5 ... 15: | 633 | case 5 ... 15: |
| 634 | cpu_model = CPU_NEHEMIAH_C; | 634 | cpu_model = CPU_NEHEMIAH_C; |
| 635 | cpuname = "C3 'Nehemiah C' [C5N]"; | 635 | cpuname = "C3 'Nehemiah C' [C5N]"; |
| 636 | memcpy (clock_ratio, nehemiah_c_clock_ratio, sizeof(nehemiah_c_clock_ratio)); | ||
| 637 | memcpy (eblcr_table, nehemiah_c_eblcr, sizeof(nehemiah_c_eblcr)); | ||
| 638 | break; | 636 | break; |
| 639 | } | 637 | } |
| 640 | break; | 638 | break; |
diff --git a/arch/i386/kernel/cpu/cpufreq/longhaul.h b/arch/i386/kernel/cpu/cpufreq/longhaul.h index bc4682aad69b..bb0a04b1d1ab 100644 --- a/arch/i386/kernel/cpu/cpufreq/longhaul.h +++ b/arch/i386/kernel/cpu/cpufreq/longhaul.h | |||
| @@ -235,84 +235,14 @@ static int __initdata ezrat_eblcr[32] = { | |||
| 235 | /* | 235 | /* |
| 236 | * VIA C3 Nehemiah */ | 236 | * VIA C3 Nehemiah */ |
| 237 | 237 | ||
| 238 | static int __initdata nehemiah_a_clock_ratio[32] = { | 238 | static int __initdata nehemiah_clock_ratio[32] = { |
| 239 | 100, /* 0000 -> 10.0x */ | 239 | 100, /* 0000 -> 10.0x */ |
| 240 | 160, /* 0001 -> 16.0x */ | 240 | 160, /* 0001 -> 16.0x */ |
| 241 | -1, /* 0010 -> RESERVED */ | 241 | 40, /* 0010 -> 4.0x */ |
| 242 | 90, /* 0011 -> 9.0x */ | ||
| 243 | 95, /* 0100 -> 9.5x */ | ||
| 244 | -1, /* 0101 -> RESERVED */ | ||
| 245 | -1, /* 0110 -> RESERVED */ | ||
| 246 | 55, /* 0111 -> 5.5x */ | ||
| 247 | 60, /* 1000 -> 6.0x */ | ||
| 248 | 70, /* 1001 -> 7.0x */ | ||
| 249 | 80, /* 1010 -> 8.0x */ | ||
| 250 | 50, /* 1011 -> 5.0x */ | ||
| 251 | 65, /* 1100 -> 6.5x */ | ||
| 252 | 75, /* 1101 -> 7.5x */ | ||
| 253 | 85, /* 1110 -> 8.5x */ | ||
| 254 | 120, /* 1111 -> 12.0x */ | ||
| 255 | 100, /* 0000 -> 10.0x */ | ||
| 256 | -1, /* 0001 -> RESERVED */ | ||
| 257 | 120, /* 0010 -> 12.0x */ | ||
| 258 | 90, /* 0011 -> 9.0x */ | ||
| 259 | 105, /* 0100 -> 10.5x */ | ||
| 260 | 115, /* 0101 -> 11.5x */ | ||
| 261 | 125, /* 0110 -> 12.5x */ | ||
| 262 | 135, /* 0111 -> 13.5x */ | ||
| 263 | 140, /* 1000 -> 14.0x */ | ||
| 264 | 150, /* 1001 -> 15.0x */ | ||
| 265 | 160, /* 1010 -> 16.0x */ | ||
| 266 | 130, /* 1011 -> 13.0x */ | ||
| 267 | 145, /* 1100 -> 14.5x */ | ||
| 268 | 155, /* 1101 -> 15.5x */ | ||
| 269 | -1, /* 1110 -> RESERVED (13.0x) */ | ||
| 270 | 120, /* 1111 -> 12.0x */ | ||
| 271 | }; | ||
| 272 | |||
| 273 | static int __initdata nehemiah_b_clock_ratio[32] = { | ||
| 274 | 100, /* 0000 -> 10.0x */ | ||
| 275 | 160, /* 0001 -> 16.0x */ | ||
| 276 | -1, /* 0010 -> RESERVED */ | ||
| 277 | 90, /* 0011 -> 9.0x */ | ||
| 278 | 95, /* 0100 -> 9.5x */ | ||
| 279 | -1, /* 0101 -> RESERVED */ | ||
| 280 | -1, /* 0110 -> RESERVED */ | ||
| 281 | 55, /* 0111 -> 5.5x */ | ||
| 282 | 60, /* 1000 -> 6.0x */ | ||
| 283 | 70, /* 1001 -> 7.0x */ | ||
| 284 | 80, /* 1010 -> 8.0x */ | ||
| 285 | 50, /* 1011 -> 5.0x */ | ||
| 286 | 65, /* 1100 -> 6.5x */ | ||
| 287 | 75, /* 1101 -> 7.5x */ | ||
| 288 | 85, /* 1110 -> 8.5x */ | ||
| 289 | 120, /* 1111 -> 12.0x */ | ||
| 290 | 100, /* 0000 -> 10.0x */ | ||
| 291 | 110, /* 0001 -> 11.0x */ | ||
| 292 | 120, /* 0010 -> 12.0x */ | ||
| 293 | 90, /* 0011 -> 9.0x */ | ||
| 294 | 105, /* 0100 -> 10.5x */ | ||
| 295 | 115, /* 0101 -> 11.5x */ | ||
| 296 | 125, /* 0110 -> 12.5x */ | ||
| 297 | 135, /* 0111 -> 13.5x */ | ||
| 298 | 140, /* 1000 -> 14.0x */ | ||
| 299 | 150, /* 1001 -> 15.0x */ | ||
| 300 | 160, /* 1010 -> 16.0x */ | ||
| 301 | 130, /* 1011 -> 13.0x */ | ||
| 302 | 145, /* 1100 -> 14.5x */ | ||
| 303 | 155, /* 1101 -> 15.5x */ | ||
| 304 | -1, /* 1110 -> RESERVED (13.0x) */ | ||
| 305 | 120, /* 1111 -> 12.0x */ | ||
| 306 | }; | ||
| 307 | |||
| 308 | static int __initdata nehemiah_c_clock_ratio[32] = { | ||
| 309 | 100, /* 0000 -> 10.0x */ | ||
| 310 | 160, /* 0001 -> 16.0x */ | ||
| 311 | 40, /* 0010 -> RESERVED */ | ||
| 312 | 90, /* 0011 -> 9.0x */ | 242 | 90, /* 0011 -> 9.0x */ |
| 313 | 95, /* 0100 -> 9.5x */ | 243 | 95, /* 0100 -> 9.5x */ |
| 314 | -1, /* 0101 -> RESERVED */ | 244 | -1, /* 0101 -> RESERVED */ |
| 315 | 45, /* 0110 -> RESERVED */ | 245 | 45, /* 0110 -> 4.5x */ |
| 316 | 55, /* 0111 -> 5.5x */ | 246 | 55, /* 0111 -> 5.5x */ |
| 317 | 60, /* 1000 -> 6.0x */ | 247 | 60, /* 1000 -> 6.0x */ |
| 318 | 70, /* 1001 -> 7.0x */ | 248 | 70, /* 1001 -> 7.0x */ |
| @@ -340,84 +270,14 @@ static int __initdata nehemiah_c_clock_ratio[32] = { | |||
| 340 | 120, /* 1111 -> 12.0x */ | 270 | 120, /* 1111 -> 12.0x */ |
| 341 | }; | 271 | }; |
| 342 | 272 | ||
| 343 | static int __initdata nehemiah_a_eblcr[32] = { | 273 | static int __initdata nehemiah_eblcr[32] = { |
| 344 | 50, /* 0000 -> 5.0x */ | ||
| 345 | 160, /* 0001 -> 16.0x */ | ||
| 346 | -1, /* 0010 -> RESERVED */ | ||
| 347 | 100, /* 0011 -> 10.0x */ | ||
| 348 | 55, /* 0100 -> 5.5x */ | ||
| 349 | -1, /* 0101 -> RESERVED */ | ||
| 350 | -1, /* 0110 -> RESERVED */ | ||
| 351 | 95, /* 0111 -> 9.5x */ | ||
| 352 | 90, /* 1000 -> 9.0x */ | ||
| 353 | 70, /* 1001 -> 7.0x */ | ||
| 354 | 80, /* 1010 -> 8.0x */ | ||
| 355 | 60, /* 1011 -> 6.0x */ | ||
| 356 | 120, /* 1100 -> 12.0x */ | ||
| 357 | 75, /* 1101 -> 7.5x */ | ||
| 358 | 85, /* 1110 -> 8.5x */ | ||
| 359 | 65, /* 1111 -> 6.5x */ | ||
| 360 | 90, /* 0000 -> 9.0x */ | ||
| 361 | -1, /* 0001 -> RESERVED */ | ||
| 362 | 120, /* 0010 -> 12.0x */ | ||
| 363 | 100, /* 0011 -> 10.0x */ | ||
| 364 | 135, /* 0100 -> 13.5x */ | ||
| 365 | 115, /* 0101 -> 11.5x */ | ||
| 366 | 125, /* 0110 -> 12.5x */ | ||
| 367 | 105, /* 0111 -> 10.5x */ | ||
| 368 | 130, /* 1000 -> 13.0x */ | ||
| 369 | 150, /* 1001 -> 15.0x */ | ||
| 370 | 160, /* 1010 -> 16.0x */ | ||
| 371 | 140, /* 1011 -> 14.0x */ | ||
| 372 | 120, /* 1100 -> 12.0x */ | ||
| 373 | 155, /* 1101 -> 15.5x */ | ||
| 374 | -1, /* 1110 -> RESERVED (13.0x) */ | ||
| 375 | 145 /* 1111 -> 14.5x */ | ||
| 376 | /* end of table */ | ||
| 377 | }; | ||
| 378 | static int __initdata nehemiah_b_eblcr[32] = { | ||
| 379 | 50, /* 0000 -> 5.0x */ | ||
| 380 | 160, /* 0001 -> 16.0x */ | ||
| 381 | -1, /* 0010 -> RESERVED */ | ||
| 382 | 100, /* 0011 -> 10.0x */ | ||
| 383 | 55, /* 0100 -> 5.5x */ | ||
| 384 | -1, /* 0101 -> RESERVED */ | ||
| 385 | -1, /* 0110 -> RESERVED */ | ||
| 386 | 95, /* 0111 -> 9.5x */ | ||
| 387 | 90, /* 1000 -> 9.0x */ | ||
| 388 | 70, /* 1001 -> 7.0x */ | ||
| 389 | 80, /* 1010 -> 8.0x */ | ||
| 390 | 60, /* 1011 -> 6.0x */ | ||
| 391 | 120, /* 1100 -> 12.0x */ | ||
| 392 | 75, /* 1101 -> 7.5x */ | ||
| 393 | 85, /* 1110 -> 8.5x */ | ||
| 394 | 65, /* 1111 -> 6.5x */ | ||
| 395 | 90, /* 0000 -> 9.0x */ | ||
| 396 | 110, /* 0001 -> 11.0x */ | ||
| 397 | 120, /* 0010 -> 12.0x */ | ||
| 398 | 100, /* 0011 -> 10.0x */ | ||
| 399 | 135, /* 0100 -> 13.5x */ | ||
| 400 | 115, /* 0101 -> 11.5x */ | ||
| 401 | 125, /* 0110 -> 12.5x */ | ||
| 402 | 105, /* 0111 -> 10.5x */ | ||
| 403 | 130, /* 1000 -> 13.0x */ | ||
| 404 | 150, /* 1001 -> 15.0x */ | ||
| 405 | 160, /* 1010 -> 16.0x */ | ||
| 406 | 140, /* 1011 -> 14.0x */ | ||
| 407 | 120, /* 1100 -> 12.0x */ | ||
| 408 | 155, /* 1101 -> 15.5x */ | ||
| 409 | -1, /* 1110 -> RESERVED (13.0x) */ | ||
| 410 | 145 /* 1111 -> 14.5x */ | ||
| 411 | /* end of table */ | ||
| 412 | }; | ||
| 413 | static int __initdata nehemiah_c_eblcr[32] = { | ||
| 414 | 50, /* 0000 -> 5.0x */ | 274 | 50, /* 0000 -> 5.0x */ |
| 415 | 160, /* 0001 -> 16.0x */ | 275 | 160, /* 0001 -> 16.0x */ |
| 416 | 40, /* 0010 -> RESERVED */ | 276 | 40, /* 0010 -> 4.0x */ |
| 417 | 100, /* 0011 -> 10.0x */ | 277 | 100, /* 0011 -> 10.0x */ |
| 418 | 55, /* 0100 -> 5.5x */ | 278 | 55, /* 0100 -> 5.5x */ |
| 419 | -1, /* 0101 -> RESERVED */ | 279 | -1, /* 0101 -> RESERVED */ |
| 420 | 45, /* 0110 -> RESERVED */ | 280 | 45, /* 0110 -> 4.5x */ |
| 421 | 95, /* 0111 -> 9.5x */ | 281 | 95, /* 0111 -> 9.5x */ |
| 422 | 90, /* 1000 -> 9.0x */ | 282 | 90, /* 1000 -> 9.0x */ |
| 423 | 70, /* 1001 -> 7.0x */ | 283 | 70, /* 1001 -> 7.0x */ |
| @@ -443,7 +303,6 @@ static int __initdata nehemiah_c_eblcr[32] = { | |||
| 443 | 155, /* 1101 -> 15.5x */ | 303 | 155, /* 1101 -> 15.5x */ |
| 444 | -1, /* 1110 -> RESERVED (13.0x) */ | 304 | -1, /* 1110 -> RESERVED (13.0x) */ |
| 445 | 145 /* 1111 -> 14.5x */ | 305 | 145 /* 1111 -> 14.5x */ |
| 446 | /* end of table */ | ||
| 447 | }; | 306 | }; |
| 448 | 307 | ||
| 449 | /* | 308 | /* |
