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
bfc8e3e9
Commit
bfc8e3e9
authored
Jan 20, 2005
by
Len Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge intel.com:/home/lenb/src/26-stable-dev
into intel.com:/home/lenb/src/26-latest-dev
parents
c9ac33e4
a22df92c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
30 additions
and
7 deletions
+30
-7
drivers/acpi/debug.c
drivers/acpi/debug.c
+4
-4
drivers/acpi/processor_idle.c
drivers/acpi/processor_idle.c
+25
-3
include/acpi/processor.h
include/acpi/processor.h
+1
-0
No files found.
drivers/acpi/debug.c
View file @
bfc8e3e9
...
...
@@ -4,6 +4,7 @@
#include <linux/proc_fs.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/moduleparam.h>
#include <asm/uaccess.h>
#include <acpi/acpi_drivers.h>
...
...
@@ -87,7 +88,6 @@ const struct acpi_dlevel acpi_debug_levels[] =
ACPI_DEBUG_INIT
(
ACPI_LV_FULL_TABLES
),
ACPI_DEBUG_INIT
(
ACPI_LV_EVENTS
),
};
#define NUM_OF(v) ( sizeof(v)/sizeof(v[0]) )
static
int
acpi_system_read_debug
(
...
...
@@ -100,7 +100,7 @@ acpi_system_read_debug (
{
char
*
p
=
page
;
int
size
=
0
;
int
i
;
unsigned
int
i
;
if
(
off
!=
0
)
goto
end
;
...
...
@@ -109,7 +109,7 @@ acpi_system_read_debug (
switch
((
unsigned
long
)
data
)
{
case
0
:
for
(
i
=
0
;
i
<
NUM_OF
(
acpi_debug_layers
);
i
++
)
{
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
acpi_debug_layers
);
i
++
)
{
p
+=
sprintf
(
p
,
"%-25s
\t
0x%08lX [%c]
\n
"
,
acpi_debug_layers
[
i
].
name
,
acpi_debug_layers
[
i
].
value
,
...
...
@@ -126,7 +126,7 @@ acpi_system_read_debug (
acpi_dbg_layer
);
break
;
case
1
:
for
(
i
=
0
;
i
<
NUM_OF
(
acpi_debug_levels
);
i
++
)
{
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
acpi_debug_levels
);
i
++
)
{
p
+=
sprintf
(
p
,
"%-25s
\t
0x%08lX [%c]
\n
"
,
acpi_debug_levels
[
i
].
name
,
acpi_debug_levels
[
i
].
value
,
...
...
drivers/acpi/processor_idle.c
View file @
bfc8e3e9
...
...
@@ -60,6 +60,15 @@ module_param(max_cstate, uint, 0644);
static
unsigned
int
nocst
=
0
;
module_param
(
nocst
,
uint
,
0000
);
/*
* bm_history -- bit-mask with a bit per jiffy of bus-master activity
* 1000 HZ: 0xFFFFFFFF: 32 jiffies = 32ms
* 800 HZ: 0xFFFFFFFF: 32 jiffies = 40ms
* 100 HZ: 0x0000000F: 4 jiffies = 40ms
* reduce history for more aggressive entry into C3
*/
static
unsigned
int
bm_history
=
(
HZ
>=
800
?
0xFFFFFFFF
:
((
1U
<<
(
HZ
/
25
))
-
1
));
module_param
(
bm_history
,
uint
,
0644
);
/* --------------------------------------------------------------------------
Power Management
-------------------------------------------------------------------------- */
...
...
@@ -193,8 +202,18 @@ static void acpi_processor_idle (void)
*/
if
(
pr
->
flags
.
bm_check
)
{
u32
bm_status
=
0
;
unsigned
long
diff
=
jiffies
-
pr
->
power
.
bm_check_timestamp
;
if
(
diff
>
32
)
diff
=
32
;
pr
->
power
.
bm_activity
<<=
1
;
while
(
diff
)
{
/* if we didn't get called, assume there was busmaster activity */
diff
--
;
if
(
diff
)
pr
->
power
.
bm_activity
|=
0x1
;
pr
->
power
.
bm_activity
<<=
1
;
}
acpi_get_register
(
ACPI_BITREG_BUS_MASTER_STATUS
,
&
bm_status
,
ACPI_MTX_DO_NOT_LOCK
);
...
...
@@ -213,6 +232,9 @@ static void acpi_processor_idle (void)
||
(
inb_p
(
errata
.
piix4
.
bmisx
+
0x0A
)
&
0x01
))
pr
->
power
.
bm_activity
++
;
}
pr
->
power
.
bm_check_timestamp
=
jiffies
;
/*
* Apply bus mastering demotion policy. Automatically demote
* to avoid a faulty transition. Note that the processor
...
...
@@ -425,7 +447,7 @@ acpi_processor_set_power_policy (
cx
->
demotion
.
threshold
.
ticks
=
cx
->
latency_ticks
;
cx
->
demotion
.
threshold
.
count
=
1
;
if
(
cx
->
type
==
ACPI_STATE_C3
)
cx
->
demotion
.
threshold
.
bm
=
0x0F
;
cx
->
demotion
.
threshold
.
bm
=
bm_history
;
}
lower
=
cx
;
...
...
@@ -445,7 +467,7 @@ acpi_processor_set_power_policy (
else
cx
->
promotion
.
threshold
.
count
=
10
;
if
(
higher
->
type
==
ACPI_STATE_C3
)
cx
->
promotion
.
threshold
.
bm
=
0x0F
;
cx
->
promotion
.
threshold
.
bm
=
bm_history
;
}
higher
=
cx
;
...
...
include/acpi/processor.h
View file @
bfc8e3e9
...
...
@@ -54,6 +54,7 @@ struct acpi_processor_cx {
struct
acpi_processor_power
{
struct
acpi_processor_cx
*
state
;
unsigned
long
bm_check_timestamp
;
u32
default_state
;
u32
bm_activity
;
int
count
;
...
...
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