Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d8dc91b7 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pul ACPI & Power Management updates from Len Brown:
 - acpidump utility added
 - intel_idle driver now supports IVB Xeon
 - turbostat utility can now count SMIs
 - ACPI can now bind to USB3 hubs
 - misc fixes

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (49 commits)
  ACPI: Add new sysfs interface to export device description
  ACPI: Harden acpi_table_parse_entries() against BIOS bug
  tools/power/turbostat: add option to count SMIs, re-name some options
  tools/power turbostat: add [-d MSR#][-D MSR#] options to print counter deltas
  intel_idle: enable IVB Xeon support
  tools/power turbostat: add [-m MSR#] option
  tools/power turbostat: make -M output pretty
  tools/power turbostat: print more turbo-limit information
  tools/power turbostat: delete unused line
  tools/power turbostat: run on IVB Xeon
  tools/power/acpi/acpidump: create acpidump(8), local make install targets
  tools/power/acpi/acpidump: version 20101221 - find dynamic tables in sysfs
  ACPI: run _OSC after ACPI_FULL_INITIALIZATION
  tools/power/acpi/acpidump: create acpidump(8), local make install targets
  tools/power/acpi/acpidump: version 20101221 - find dynamic tables in sysfs
  tools/power/acpi/acpidump: version 20071116
  tools/power/acpi/acpidump: version 20070714
  tools/power/acpi/acpidump: version 20060606
  tools/power/acpi/acpidump: version 20051111
  xo15-ebook: convert to module_acpi_driver()
  ...
parents 7035cdf3 3f44ea0d
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
What:		/sys/devices/.../firmware_node/
Date:		September 2012
Contact:	<>
Description:
		The /sys/devices/.../firmware_node directory contains attributes
		allowing the user space to check and modify some firmware
		related properties of given device.

What:		/sys/devices/.../firmware_node/description
Date:		September 2012
Contact:	Lance Ortiz <lance.ortiz@hp.com>
Description:
		The /sys/devices/.../firmware/description attribute contains a string
		that describes the device as provided by the _STR method in the ACPI
		namespace.  This attribute is read-only.  If the device does not have
		an _STR method associated with it in the ACPI namespace, this
		attribute is not present.
+1 −0
Original line number Diff line number Diff line
@@ -158,5 +158,6 @@ acpi-y += \
	utresrc.o	\
	utstate.o	\
	utxface.o	\
	utxfinit.o	\
	utxferror.o	\
	utxfmutex.o
+1 −2
Original line number Diff line number Diff line
@@ -110,8 +110,7 @@ acpi_status acpi_hw_write_port(acpi_io_address address, u32 value, u32 width);
/*
 * hwgpe - GPE support
 */
u32 acpi_hw_get_gpe_register_bit(struct acpi_gpe_event_info *gpe_event_info,
			     struct acpi_gpe_register_info *gpe_register_info);
u32 acpi_hw_get_gpe_register_bit(struct acpi_gpe_event_info *gpe_event_info);

acpi_status
acpi_hw_low_set_gpe(struct acpi_gpe_event_info *gpe_event_info, u32 action);
+14 −9
Original line number Diff line number Diff line
@@ -707,15 +707,18 @@ union acpi_parse_value {
	u8                              disasm_opcode;  /* Subtype used for disassembly */\
	char                            aml_op_name[16])	/* Op name (debug only) */

#define ACPI_DASM_BUFFER                0x00
#define ACPI_DASM_RESOURCE              0x01
#define ACPI_DASM_STRING                0x02
#define ACPI_DASM_UNICODE               0x03
#define ACPI_DASM_EISAID                0x04
#define ACPI_DASM_MATCHOP               0x05
#define ACPI_DASM_LNOT_PREFIX           0x06
#define ACPI_DASM_LNOT_SUFFIX           0x07
#define ACPI_DASM_IGNORE                0x08
/* Flags for disasm_flags field above */

#define ACPI_DASM_BUFFER                0x00	/* Buffer is a simple data buffer */
#define ACPI_DASM_RESOURCE              0x01	/* Buffer is a Resource Descriptor */
#define ACPI_DASM_STRING                0x02	/* Buffer is a ASCII string */
#define ACPI_DASM_UNICODE               0x03	/* Buffer is a Unicode string */
#define ACPI_DASM_PLD_METHOD            0x04	/* Buffer is a _PLD method bit-packed buffer */
#define ACPI_DASM_EISAID                0x05	/* Integer is an EISAID */
#define ACPI_DASM_MATCHOP               0x06	/* Parent opcode is a Match() operator */
#define ACPI_DASM_LNOT_PREFIX           0x07	/* Start of a Lnot_equal (etc.) pair of opcodes */
#define ACPI_DASM_LNOT_SUFFIX           0x08	/* End  of a Lnot_equal (etc.) pair of opcodes */
#define ACPI_DASM_IGNORE                0x09	/* Not used at this time */

/*
 * Generic operation (for example:  If, While, Store)
@@ -932,6 +935,7 @@ struct acpi_bit_register_info {
#define ACPI_OSI_WIN_VISTA_SP1          0x09
#define ACPI_OSI_WIN_VISTA_SP2          0x0A
#define ACPI_OSI_WIN_7                  0x0B
#define ACPI_OSI_WIN_8                  0x0C

#define ACPI_ALWAYS_ILLEGAL             0x00

@@ -1024,6 +1028,7 @@ struct acpi_port_info {
 ****************************************************************************/

struct acpi_db_method_info {
	acpi_handle method;
	acpi_handle main_thread_gate;
	acpi_handle thread_complete_gate;
	acpi_thread_id *threads;
+26 −3
Original line number Diff line number Diff line
@@ -277,10 +277,33 @@

/* Bitfields within ACPI registers */

#define ACPI_REGISTER_PREPARE_BITS(val, pos, mask)      ((val << pos) & mask)
#define ACPI_REGISTER_INSERT_VALUE(reg, pos, mask, val)  reg = (reg & (~(mask))) | ACPI_REGISTER_PREPARE_BITS(val, pos, mask)
#define ACPI_REGISTER_PREPARE_BITS(val, pos, mask) \
	((val << pos) & mask)

#define ACPI_INSERT_BITS(target, mask, source)          target = ((target & (~(mask))) | (source & mask))
#define ACPI_REGISTER_INSERT_VALUE(reg, pos, mask, val) \
	reg = (reg & (~(mask))) | ACPI_REGISTER_PREPARE_BITS(val, pos, mask)

#define ACPI_INSERT_BITS(target, mask, source) \
	target = ((target & (~(mask))) | (source & mask))

/* Generic bitfield macros and masks */

#define ACPI_GET_BITS(source_ptr, position, mask) \
	((*source_ptr >> position) & mask)

#define ACPI_SET_BITS(target_ptr, position, mask, value) \
	(*target_ptr |= ((value & mask) << position))

#define ACPI_1BIT_MASK      0x00000001
#define ACPI_2BIT_MASK      0x00000003
#define ACPI_3BIT_MASK      0x00000007
#define ACPI_4BIT_MASK      0x0000000F
#define ACPI_5BIT_MASK      0x0000001F
#define ACPI_6BIT_MASK      0x0000003F
#define ACPI_7BIT_MASK      0x0000007F
#define ACPI_8BIT_MASK      0x000000FF
#define ACPI_16BIT_MASK     0x0000FFFF
#define ACPI_24BIT_MASK     0x00FFFFFF

/*
 * An object of type struct acpi_namespace_node can appear in some contexts
Loading