Deleted Added
full compact
acpi_thermal.c (91640) acpi_thermal.c (96926)
1/*-
2 * Copyright (c) 2000, 2001 Michael Smith
3 * Copyright (c) 2000 BSDi
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 10 unchanged lines hidden (view full) ---

19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGE.
26 *
1/*-
2 * Copyright (c) 2000, 2001 Michael Smith
3 * Copyright (c) 2000 BSDi
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 10 unchanged lines hidden (view full) ---

19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGE.
26 *
27 * $FreeBSD: head/sys/dev/acpica/acpi_thermal.c 91640 2002-03-04 18:46:13Z iwasaki $
27 * $FreeBSD: head/sys/dev/acpica/acpi_thermal.c 96926 2002-05-19 06:16:47Z peter $
28 */
29
30#include "opt_acpi.h"
31#include <sys/param.h>
32#include <sys/kernel.h>
33#include <sys/kthread.h>
34#include <sys/lock.h>
35#include <sys/mutex.h>

--- 131 unchanged lines hidden (view full) ---

167static int
168acpi_tz_attach(device_t dev)
169{
170 struct acpi_tz_softc *sc;
171 struct acpi_softc *acpi_sc;
172 int error;
173 char oidname[8];
174
28 */
29
30#include "opt_acpi.h"
31#include <sys/param.h>
32#include <sys/kernel.h>
33#include <sys/kthread.h>
34#include <sys/lock.h>
35#include <sys/mutex.h>

--- 131 unchanged lines hidden (view full) ---

167static int
168acpi_tz_attach(device_t dev)
169{
170 struct acpi_tz_softc *sc;
171 struct acpi_softc *acpi_sc;
172 int error;
173 char oidname[8];
174
175 ACPI_FUNCTION_TRACE(__func__);
175 ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
176
177 ACPI_LOCK;
178
179 sc = device_get_softc(dev);
180 sc->tz_dev = dev;
181 sc->tz_handle = acpi_get_handle(dev);
182 sc->tz_requested = TZ_ACTIVE_NONE;
183 sc->tz_tmp_updating = 0;

--- 99 unchanged lines hidden (view full) ---

283 */
284static int
285acpi_tz_establish(struct acpi_tz_softc *sc)
286{
287 ACPI_OBJECT *obj;
288 int i;
289 char nbuf[8];
290
176
177 ACPI_LOCK;
178
179 sc = device_get_softc(dev);
180 sc->tz_dev = dev;
181 sc->tz_handle = acpi_get_handle(dev);
182 sc->tz_requested = TZ_ACTIVE_NONE;
183 sc->tz_tmp_updating = 0;

--- 99 unchanged lines hidden (view full) ---

283 */
284static int
285acpi_tz_establish(struct acpi_tz_softc *sc)
286{
287 ACPI_OBJECT *obj;
288 int i;
289 char nbuf[8];
290
291 ACPI_FUNCTION_TRACE(__func__);
291 ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
292
293 ACPI_ASSERTLOCK;
294
295 /*
296 * Power everything off and erase any existing state.
297 */
298 acpi_tz_all_off(sc);
299 for (i = 0; i < TZ_NUMLEVELS; i++)

--- 75 unchanged lines hidden (view full) ---

375acpi_tz_monitor(struct acpi_tz_softc *sc)
376{
377 int temp;
378 int i;
379 int newactive, newflags;
380 struct timespec curtime;
381 ACPI_STATUS status;
382
292
293 ACPI_ASSERTLOCK;
294
295 /*
296 * Power everything off and erase any existing state.
297 */
298 acpi_tz_all_off(sc);
299 for (i = 0; i < TZ_NUMLEVELS; i++)

--- 75 unchanged lines hidden (view full) ---

375acpi_tz_monitor(struct acpi_tz_softc *sc)
376{
377 int temp;
378 int i;
379 int newactive, newflags;
380 struct timespec curtime;
381 ACPI_STATUS status;
382
383 ACPI_FUNCTION_TRACE(__func__);
383 ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
384
385 ACPI_ASSERTLOCK;
386
387 if (sc->tz_tmp_updating) {
388 goto out;
389 }
390 sc->tz_tmp_updating = 1;
391

--- 102 unchanged lines hidden (view full) ---

494/*
495 * Turn off all the cooling devices.
496 */
497static void
498acpi_tz_all_off(struct acpi_tz_softc *sc)
499{
500 int i;
501
384
385 ACPI_ASSERTLOCK;
386
387 if (sc->tz_tmp_updating) {
388 goto out;
389 }
390 sc->tz_tmp_updating = 1;
391

--- 102 unchanged lines hidden (view full) ---

494/*
495 * Turn off all the cooling devices.
496 */
497static void
498acpi_tz_all_off(struct acpi_tz_softc *sc)
499{
500 int i;
501
502 ACPI_FUNCTION_TRACE(__func__);
502 ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
503
504 ACPI_ASSERTLOCK;
505
506 /*
507 * Scan all the _ALx objects, and turn them all off.
508 */
509 for (i = 0; i < TZ_NUMLEVELS; i++) {
510 if (sc->tz_zone.al[i].Pointer == NULL)

--- 15 unchanged lines hidden (view full) ---

526 * Given an object, verify that it's a reference to a device of some sort,
527 * and try to switch it off.
528 */
529static void
530acpi_tz_switch_cooler_off(ACPI_OBJECT *obj, void *arg)
531{
532 ACPI_HANDLE cooler;
533
503
504 ACPI_ASSERTLOCK;
505
506 /*
507 * Scan all the _ALx objects, and turn them all off.
508 */
509 for (i = 0; i < TZ_NUMLEVELS; i++) {
510 if (sc->tz_zone.al[i].Pointer == NULL)

--- 15 unchanged lines hidden (view full) ---

526 * Given an object, verify that it's a reference to a device of some sort,
527 * and try to switch it off.
528 */
529static void
530acpi_tz_switch_cooler_off(ACPI_OBJECT *obj, void *arg)
531{
532 ACPI_HANDLE cooler;
533
534 ACPI_FUNCTION_TRACE(__func__);
534 ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
535
536 ACPI_ASSERTLOCK;
537
538 switch(obj->Type) {
539 case ACPI_TYPE_STRING:
540 ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "called to turn %s off\n", obj->String.Pointer));
541
542 /*

--- 23 unchanged lines hidden (view full) ---

566 */
567static void
568acpi_tz_switch_cooler_on(ACPI_OBJECT *obj, void *arg)
569{
570 struct acpi_tz_softc *sc = (struct acpi_tz_softc *)arg;
571 ACPI_HANDLE cooler;
572 ACPI_STATUS status;
573
535
536 ACPI_ASSERTLOCK;
537
538 switch(obj->Type) {
539 case ACPI_TYPE_STRING:
540 ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "called to turn %s off\n", obj->String.Pointer));
541
542 /*

--- 23 unchanged lines hidden (view full) ---

566 */
567static void
568acpi_tz_switch_cooler_on(ACPI_OBJECT *obj, void *arg)
569{
570 struct acpi_tz_softc *sc = (struct acpi_tz_softc *)arg;
571 ACPI_HANDLE cooler;
572 ACPI_STATUS status;
573
574 ACPI_FUNCTION_TRACE(__func__);
574 ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
575
576 ACPI_ASSERTLOCK;
577
578 switch(obj->Type) {
579 case ACPI_TYPE_STRING:
580 ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "called to turn %s on\n", obj->String.Pointer));
581
582 /*

--- 25 unchanged lines hidden (view full) ---

608
609/*
610 * Read/debug-print a parameter, default it to -1.
611 */
612static void
613acpi_tz_getparam(struct acpi_tz_softc *sc, char *node, int *data)
614{
615
575
576 ACPI_ASSERTLOCK;
577
578 switch(obj->Type) {
579 case ACPI_TYPE_STRING:
580 ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "called to turn %s on\n", obj->String.Pointer));
581
582 /*

--- 25 unchanged lines hidden (view full) ---

608
609/*
610 * Read/debug-print a parameter, default it to -1.
611 */
612static void
613acpi_tz_getparam(struct acpi_tz_softc *sc, char *node, int *data)
614{
615
616 ACPI_FUNCTION_TRACE(__func__);
616 ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
617
618 ACPI_ASSERTLOCK;
619
620 if (ACPI_FAILURE(acpi_EvaluateInteger(sc->tz_handle, node, data))) {
621 *data = -1;
622 } else {
623 ACPI_DEBUG_PRINT((ACPI_DB_VALUES, "%s.%s = %d\n", acpi_name(sc->tz_handle),
624 node, *data));

--- 53 unchanged lines hidden (view full) ---

678/*
679 * Respond to a Notify event sent to the zone.
680 */
681static void
682acpi_tz_notify_handler(ACPI_HANDLE h, UINT32 notify, void *context)
683{
684 struct acpi_tz_softc *sc = (struct acpi_tz_softc *)context;
685
617
618 ACPI_ASSERTLOCK;
619
620 if (ACPI_FAILURE(acpi_EvaluateInteger(sc->tz_handle, node, data))) {
621 *data = -1;
622 } else {
623 ACPI_DEBUG_PRINT((ACPI_DB_VALUES, "%s.%s = %d\n", acpi_name(sc->tz_handle),
624 node, *data));

--- 53 unchanged lines hidden (view full) ---

678/*
679 * Respond to a Notify event sent to the zone.
680 */
681static void
682acpi_tz_notify_handler(ACPI_HANDLE h, UINT32 notify, void *context)
683{
684 struct acpi_tz_softc *sc = (struct acpi_tz_softc *)context;
685
686 ACPI_FUNCTION_TRACE(__func__);
686 ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
687
688 ACPI_ASSERTLOCK;
689
690 switch(notify) {
691 case TZ_NOTIFY_TEMPERATURE:
692 /* temperature change occurred */
693 AcpiOsQueueForExecution(OSD_PRIORITY_HIGH, (OSD_EXECUTION_CALLBACK)acpi_tz_monitor, sc);
694 break;

--- 81 unchanged lines hidden (view full) ---

776 * Thermal zone monitor thread.
777 */
778static void
779acpi_tz_thread(void *arg)
780{
781 device_t *devs;
782 int devcount, i;
783
687
688 ACPI_ASSERTLOCK;
689
690 switch(notify) {
691 case TZ_NOTIFY_TEMPERATURE:
692 /* temperature change occurred */
693 AcpiOsQueueForExecution(OSD_PRIORITY_HIGH, (OSD_EXECUTION_CALLBACK)acpi_tz_monitor, sc);
694 break;

--- 81 unchanged lines hidden (view full) ---

776 * Thermal zone monitor thread.
777 */
778static void
779acpi_tz_thread(void *arg)
780{
781 device_t *devs;
782 int devcount, i;
783
784 ACPI_FUNCTION_TRACE(__func__);
784 ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
785
786
787 devs = NULL;
788 devcount = 0;
789
790 for (;;) {
791 tsleep(&acpi_tz_proc, PZERO, "nothing", hz * acpi_tz_polling_rate);
792

--- 13 unchanged lines hidden ---
785
786
787 devs = NULL;
788 devcount = 0;
789
790 for (;;) {
791 tsleep(&acpi_tz_proc, PZERO, "nothing", hz * acpi_tz_polling_rate);
792

--- 13 unchanged lines hidden ---