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
519ef1af
Commit
519ef1af
authored
Aug 24, 2007
by
Len Brown
Browse files
Options
Browse Files
Download
Plain Diff
Pull thermal into release branch
parents
b7011d53
2db9ccba
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
44 additions
and
7 deletions
+44
-7
Documentation/kernel-parameters.txt
Documentation/kernel-parameters.txt
+4
-0
drivers/acpi/thermal.c
drivers/acpi/thermal.c
+40
-7
No files found.
Documentation/kernel-parameters.txt
View file @
519ef1af
...
@@ -1823,6 +1823,10 @@ and is between 256 and 4096 characters. It is defined in the file
...
@@ -1823,6 +1823,10 @@ and is between 256 and 4096 characters. It is defined in the file
-1: disable all active trip points in all thermal zones
-1: disable all active trip points in all thermal zones
<degrees C>: override all lowest active trip points
<degrees C>: override all lowest active trip points
thermal.crt= [HW,ACPI]
-1: disable all critical trip points in all thermal zones
<degrees C>: lower all critical trip points
thermal.nocrt= [HW,ACPI]
thermal.nocrt= [HW,ACPI]
Set to disable actions on ACPI thermal zone
Set to disable actions on ACPI thermal zone
critical and hot trip points.
critical and hot trip points.
...
...
drivers/acpi/thermal.c
View file @
519ef1af
...
@@ -77,23 +77,27 @@ MODULE_LICENSE("GPL");
...
@@ -77,23 +77,27 @@ MODULE_LICENSE("GPL");
static
int
act
;
static
int
act
;
module_param
(
act
,
int
,
0644
);
module_param
(
act
,
int
,
0644
);
MODULE_PARM_DESC
(
act
,
"Disable or override all lowest active trip points.
\n
"
);
MODULE_PARM_DESC
(
act
,
"Disable or override all lowest active trip points."
);
static
int
crt
;
module_param
(
crt
,
int
,
0644
);
MODULE_PARM_DESC
(
crt
,
"Disable or lower all critical trip points."
);
static
int
tzp
;
static
int
tzp
;
module_param
(
tzp
,
int
,
0444
);
module_param
(
tzp
,
int
,
0444
);
MODULE_PARM_DESC
(
tzp
,
"Thermal zone polling frequency, in 1/10 seconds.
\n
"
);
MODULE_PARM_DESC
(
tzp
,
"Thermal zone polling frequency, in 1/10 seconds."
);
static
int
nocrt
;
static
int
nocrt
;
module_param
(
nocrt
,
int
,
0
);
module_param
(
nocrt
,
int
,
0
);
MODULE_PARM_DESC
(
nocrt
,
"Set to
disable action on ACPI thermal zone critical and hot trips.
\n
"
);
MODULE_PARM_DESC
(
nocrt
,
"Set to
take no action upon ACPI thermal zone critical trips points.
"
);
static
int
off
;
static
int
off
;
module_param
(
off
,
int
,
0
);
module_param
(
off
,
int
,
0
);
MODULE_PARM_DESC
(
off
,
"Set to disable ACPI thermal support.
\n
"
);
MODULE_PARM_DESC
(
off
,
"Set to disable ACPI thermal support."
);
static
int
psv
;
static
int
psv
;
module_param
(
psv
,
int
,
0644
);
module_param
(
psv
,
int
,
0644
);
MODULE_PARM_DESC
(
psv
,
"Disable or override all passive trip points.
\n
"
);
MODULE_PARM_DESC
(
psv
,
"Disable or override all passive trip points."
);
static
int
acpi_thermal_add
(
struct
acpi_device
*
device
);
static
int
acpi_thermal_add
(
struct
acpi_device
*
device
);
static
int
acpi_thermal_remove
(
struct
acpi_device
*
device
,
int
type
);
static
int
acpi_thermal_remove
(
struct
acpi_device
*
device
,
int
type
);
...
@@ -340,6 +344,20 @@ static int acpi_thermal_get_trip_points(struct acpi_thermal *tz)
...
@@ -340,6 +344,20 @@ static int acpi_thermal_get_trip_points(struct acpi_thermal *tz)
tz
->
trips
.
critical
.
temperature
));
tz
->
trips
.
critical
.
temperature
));
}
}
if
(
tz
->
trips
.
critical
.
flags
.
valid
==
1
)
{
if
(
crt
==
-
1
)
{
tz
->
trips
.
critical
.
flags
.
valid
=
0
;
}
else
if
(
crt
>
0
)
{
unsigned
long
crt_k
=
CELSIUS_TO_KELVIN
(
crt
);
/*
* Allow override to lower critical threshold
*/
if
(
crt_k
<
tz
->
trips
.
critical
.
temperature
)
tz
->
trips
.
critical
.
temperature
=
crt_k
;
}
}
/* Critical Sleep (optional) */
/* Critical Sleep (optional) */
status
=
status
=
...
@@ -1067,9 +1085,9 @@ static int acpi_thermal_add_fs(struct acpi_device *device)
...
@@ -1067,9 +1085,9 @@ static int acpi_thermal_add_fs(struct acpi_device *device)
entry
->
owner
=
THIS_MODULE
;
entry
->
owner
=
THIS_MODULE
;
}
}
/* 'trip_points' [R
/W
] */
/* 'trip_points' [R] */
entry
=
create_proc_entry
(
ACPI_THERMAL_FILE_TRIP_POINTS
,
entry
=
create_proc_entry
(
ACPI_THERMAL_FILE_TRIP_POINTS
,
S_I
FREG
|
S_IRUGO
|
S_IWUSR
,
S_I
RUGO
,
acpi_device_dir
(
device
));
acpi_device_dir
(
device
));
if
(
!
entry
)
if
(
!
entry
)
return
-
ENODEV
;
return
-
ENODEV
;
...
@@ -1339,6 +1357,13 @@ static int thermal_act(struct dmi_system_id *d) {
...
@@ -1339,6 +1357,13 @@ static int thermal_act(struct dmi_system_id *d) {
}
}
return
0
;
return
0
;
}
}
static
int
thermal_nocrt
(
struct
dmi_system_id
*
d
)
{
printk
(
KERN_NOTICE
"ACPI: %s detected: "
"disabling all critical thermal trip point actions.
\n
"
,
d
->
ident
);
nocrt
=
1
;
return
0
;
}
static
int
thermal_tzp
(
struct
dmi_system_id
*
d
)
{
static
int
thermal_tzp
(
struct
dmi_system_id
*
d
)
{
if
(
tzp
==
0
)
{
if
(
tzp
==
0
)
{
...
@@ -1387,6 +1412,14 @@ static struct dmi_system_id thermal_dmi_table[] __initdata = {
...
@@ -1387,6 +1412,14 @@ static struct dmi_system_id thermal_dmi_table[] __initdata = {
DMI_MATCH
(
DMI_BOARD_NAME
,
"i915GMm-HFS"
),
DMI_MATCH
(
DMI_BOARD_NAME
,
"i915GMm-HFS"
),
},
},
},
},
{
.
callback
=
thermal_nocrt
,
.
ident
=
"Gigabyte GA-7ZX"
,
.
matches
=
{
DMI_MATCH
(
DMI_BOARD_VENDOR
,
"Gigabyte Technology Co., Ltd."
),
DMI_MATCH
(
DMI_BOARD_NAME
,
"7ZX"
),
},
},
{}
{}
};
};
#endif
/* CONFIG_DMI */
#endif
/* CONFIG_DMI */
...
...
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