Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  acpi_thermal_rel.h

  Sprache: C
 

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __ACPI_ACPI_THERMAL_H
#define __ACPI_ACPI_THERMAL_H

#include <asm/ioctl.h>

#define ACPI_THERMAL_MAGIC 's'

#define ACPI_THERMAL_GET_TRT_LEN _IOR(ACPI_THERMAL_MAGIC, 1unsigned long)
#define ACPI_THERMAL_GET_ART_LEN _IOR(ACPI_THERMAL_MAGIC, 2unsigned long)
#define ACPI_THERMAL_GET_TRT_COUNT _IOR(ACPI_THERMAL_MAGIC, 3unsigned long)
#define ACPI_THERMAL_GET_ART_COUNT _IOR(ACPI_THERMAL_MAGIC, 4unsigned long)

#define ACPI_THERMAL_GET_TRT _IOR(ACPI_THERMAL_MAGIC, 5unsigned long)
#define ACPI_THERMAL_GET_ART _IOR(ACPI_THERMAL_MAGIC, 6unsigned long)

/*
 * ACPI_THERMAL_GET_PSVT_COUNT = Number of PSVT entries
 * ACPI_THERMAL_GET_PSVT_LEN = Total return data size (PSVT count x each
 * PSVT entry size)
 * ACPI_THERMAL_GET_PSVT = Get the data as an array of psvt_objects
 */

#define ACPI_THERMAL_GET_PSVT_LEN _IOR(ACPI_THERMAL_MAGIC, 7unsigned long)
#define ACPI_THERMAL_GET_PSVT_COUNT _IOR(ACPI_THERMAL_MAGIC, 8unsigned long)
#define ACPI_THERMAL_GET_PSVT _IOR(ACPI_THERMAL_MAGIC, 9unsigned long)

struct art {
 acpi_handle source;
 acpi_handle target;
 struct_group(data,
  u64 weight;
  u64 ac0_max;
  u64 ac1_max;
  u64 ac2_max;
  u64 ac3_max;
  u64 ac4_max;
  u64 ac5_max;
  u64 ac6_max;
  u64 ac7_max;
  u64 ac8_max;
  u64 ac9_max;
 );
} __packed;

struct trt {
 acpi_handle source;
 acpi_handle target;
 u64 influence;
 u64 sample_period;
 u64 reserved1;
 u64 reserved2;
 u64 reserved3;
 u64 reserved4;
} __packed;

#define ACPI_NR_PSVT_ELEMENTS 12
#define ACPI_PSVT_CONTROL_KNOB 7
#define ACPI_LIMIT_STR_MAX_LEN 8

struct psvt {
 acpi_handle source;
 acpi_handle target;
 u64 priority;
 u64 sample_period;
 u64 passive_temp;
 u64 source_domain;
 u64 control_knob;
 union {
  /* For limit_type = ACPI_TYPE_INTEGER */
  u64 integer;
  /* For limit_type = ACPI_TYPE_STRING */
  char string[ACPI_LIMIT_STR_MAX_LEN];
  char *str_ptr;
 } limit;
 u64 step_size;
 u64 limit_coeff;
 u64 unlimit_coeff;
 /* Spec calls this field reserved, so we borrow it for type info */
 u64 control_knob_type; /* ACPI_TYPE_STRING or ACPI_TYPE_INTEGER */
} __packed;

#define ACPI_NR_ART_ELEMENTS 13
/* for usrspace */
union art_object {
 struct {
  char source_device[8]; /* ACPI single name */
  char target_device[8]; /* ACPI single name */
  struct_group(data,
   u64 weight;
   u64 ac0_max_level;
   u64 ac1_max_level;
   u64 ac2_max_level;
   u64 ac3_max_level;
   u64 ac4_max_level;
   u64 ac5_max_level;
   u64 ac6_max_level;
   u64 ac7_max_level;
   u64 ac8_max_level;
   u64 ac9_max_level;
  );
 };
 u64 __data[ACPI_NR_ART_ELEMENTS];
};

union trt_object {
 struct {
  char source_device[8]; /* ACPI single name */
  char target_device[8]; /* ACPI single name */
  u64 influence;
  u64 sample_period;
  u64 reserved[4];
 };
 u64 __data[8];
};

union psvt_object {
 struct {
  char source_device[8];
  char target_device[8];
  u64 priority;
  u64 sample_period;
  u64 passive_temp;
  u64 source_domain;
  u64 control_knob;
  union {
   u64 integer;
   char string[ACPI_LIMIT_STR_MAX_LEN];
  } limit;
  u64 step_size;
  u64 limit_coeff;
  u64 unlimit_coeff;
  u64 control_knob_type;
 };
 u64 __data[ACPI_NR_PSVT_ELEMENTS];
};

#ifdef __KERNEL__
int acpi_thermal_rel_misc_device_add(acpi_handle handle);
int acpi_thermal_rel_misc_device_remove(acpi_handle handle);
int acpi_parse_art(acpi_handle handle, int *art_count, struct art **arts,
  bool create_dev);
int acpi_parse_trt(acpi_handle handle, int *trt_count, struct trt **trts,
  bool create_dev);
#endif

#endif /* __ACPI_ACPI_THERMAL_H */

Messung V0.5 in Prozent
C=99 H=98 G=98

¤ Dauer der Verarbeitung: 0.23 Sekunden  (vorverarbeitet am  2026-06-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=434850
#Domains=655579