All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] ACPICA: ACPICA 20210930
@ 2021-10-01 18:13 Rafael J. Wysocki
  2021-10-01 18:14 ` [PATCH 1/4] ACPICA: Add support for Windows 2020 _OSI string Rafael J. Wysocki
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Rafael J. Wysocki @ 2021-10-01 18:13 UTC (permalink / raw)
  To: Linux ACPI; +Cc: LKML, Bob Moore

Hi All,

This series of patches is a set of ACPICA 20210930 changes described at
https://acpica.org/sites/acpica/files/changes_60.txt ported to Linux.

It contains the following material:

Alison Schofield (1):
      ACPICA: ACPI 6.4 SRAT: add Generic Port Affinity type

Bob Moore (2):
      ACPICA: iASL table disassembler: Added disassembly support for the NHLT ACPI table
      ACPICA: Update version to 20210930

Mario Limonciello (1):
      ACPICA: Add support for Windows 2020 _OSI string

Thanks!




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/4] ACPICA: Add support for Windows 2020 _OSI string
  2021-10-01 18:13 [PATCH 0/4] ACPICA: ACPICA 20210930 Rafael J. Wysocki
@ 2021-10-01 18:14 ` Rafael J. Wysocki
  2021-10-01 18:15 ` [PATCH 2/4] ACPICA: ACPI 6.4 SRAT: add Generic Port Affinity type Rafael J. Wysocki
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Rafael J. Wysocki @ 2021-10-01 18:14 UTC (permalink / raw)
  To: Linux ACPI; +Cc: LKML, Bob Moore

From: Mario Limonciello <mario.limonciello@amd.com>

ACPICA commit 2dc55de56d2deac30af0b484dd1d65607eb33a9c

Link: https://github.com/microsoft_docs/windows-driver-docs/commit/5164e24985e78ef4870d7a5801a5336104f36366
Link: https://github.com/acpica/acpica/commit/2dc55de5
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/acpi/acpica/utosi.c |    1 +
 include/acpi/actypes.h      |    1 +
 2 files changed, 2 insertions(+)

diff -Nurp linux.before_name/drivers/acpi/acpica/utosi.c linux.after_name/drivers/acpi/acpica/utosi.c
--- linux.before_name/drivers/acpi/acpica/utosi.c	2021-10-01 19:30:37.202896380 +0200
+++ linux.after_name/drivers/acpi/acpica/utosi.c	2021-10-01 19:30:32.677971784 +0200
@@ -73,6 +73,7 @@ static struct acpi_interface_info acpi_d
 	{"Windows 2018", NULL, 0, ACPI_OSI_WIN_10_RS4},	/* Windows 10 version 1803 - Added 11/2018 */
 	{"Windows 2018.2", NULL, 0, ACPI_OSI_WIN_10_RS5},	/* Windows 10 version 1809 - Added 11/2018 */
 	{"Windows 2019", NULL, 0, ACPI_OSI_WIN_10_19H1},	/* Windows 10 version 1903 - Added 08/2019 */
+	{"Windows 2020", NULL, 0, ACPI_OSI_WIN_10_20H1},	/* Windows 10 version 2004 - Added 08/2021 */
 
 	/* Feature Group Strings */
 
diff -Nurp linux.before_name/include/acpi/actypes.h linux.after_name/include/acpi/actypes.h
--- linux.before_name/include/acpi/actypes.h	2021-10-01 19:30:37.168896947 +0200
+++ linux.after_name/include/acpi/actypes.h	2021-10-01 19:30:32.644972334 +0200
@@ -1282,6 +1282,7 @@ typedef enum {
 #define ACPI_OSI_WIN_10_RS4             0x12
 #define ACPI_OSI_WIN_10_RS5             0x13
 #define ACPI_OSI_WIN_10_19H1            0x14
+#define ACPI_OSI_WIN_10_20H1            0x15
 
 /* Definitions of getopt */
 




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 2/4] ACPICA: ACPI 6.4 SRAT: add Generic Port Affinity type
  2021-10-01 18:13 [PATCH 0/4] ACPICA: ACPICA 20210930 Rafael J. Wysocki
  2021-10-01 18:14 ` [PATCH 1/4] ACPICA: Add support for Windows 2020 _OSI string Rafael J. Wysocki
@ 2021-10-01 18:15 ` Rafael J. Wysocki
  2021-10-01 18:16 ` [PATCH 3/4] ACPICA: iASL table disassembler: Added disassembly support for the NHLT ACPI table Rafael J. Wysocki
  2021-10-01 18:17 ` [PATCH 4/4] ACPICA: Update version to 20210930 Rafael J. Wysocki
  3 siblings, 0 replies; 5+ messages in thread
From: Rafael J. Wysocki @ 2021-10-01 18:15 UTC (permalink / raw)
  To: Linux ACPI; +Cc: LKML, Bob Moore

From: Alison Schofield <alison.schofield@intel.com>

ACPICA commit 777e11b73e60f0eb606cf20142ef634702b09ba1

Add a new subtable type for SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic
Initiator Affinity type.

Link: https://github.com/acpica/acpica/commit/777e11b7
Signed-off-by: Alison Schofield <alison.schofield@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 actbl3.h |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff -Nurp linux.before_name/include/acpi/actbl3.h linux.after_name/include/acpi/actbl3.h
--- linux.before_name/include/acpi/actbl3.h	2021-10-01 19:30:55.923584396 +0200
+++ linux.after_name/include/acpi/actbl3.h	2021-10-01 19:30:51.645655691 +0200
@@ -191,7 +191,8 @@ enum acpi_srat_type {
 	ACPI_SRAT_TYPE_GICC_AFFINITY = 3,
 	ACPI_SRAT_TYPE_GIC_ITS_AFFINITY = 4,	/* ACPI 6.2 */
 	ACPI_SRAT_TYPE_GENERIC_AFFINITY = 5,	/* ACPI 6.3 */
-	ACPI_SRAT_TYPE_RESERVED = 6	/* 5 and greater are reserved */
+	ACPI_SRAT_TYPE_GENERIC_PORT_AFFINITY = 6,	/* ACPI 6.4 */
+	ACPI_SRAT_TYPE_RESERVED = 7	/* 7 and greater are reserved */
 };
 
 /*
@@ -272,7 +273,11 @@ struct acpi_srat_gic_its_affinity {
 	u32 its_id;
 };
 
-/* 5: Generic Initiator Affinity Structure (ACPI 6.3) */
+/*
+ * Common structure for SRAT subtable types:
+ * 5: ACPI_SRAT_TYPE_GENERIC_AFFINITY
+ * 6: ACPI_SRAT_TYPE_GENERIC_PORT_AFFINITY
+ */
 
 struct acpi_srat_generic_affinity {
 	struct acpi_subtable_header header;




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 3/4] ACPICA: iASL table disassembler: Added disassembly support for the NHLT ACPI table
  2021-10-01 18:13 [PATCH 0/4] ACPICA: ACPICA 20210930 Rafael J. Wysocki
  2021-10-01 18:14 ` [PATCH 1/4] ACPICA: Add support for Windows 2020 _OSI string Rafael J. Wysocki
  2021-10-01 18:15 ` [PATCH 2/4] ACPICA: ACPI 6.4 SRAT: add Generic Port Affinity type Rafael J. Wysocki
@ 2021-10-01 18:16 ` Rafael J. Wysocki
  2021-10-01 18:17 ` [PATCH 4/4] ACPICA: Update version to 20210930 Rafael J. Wysocki
  3 siblings, 0 replies; 5+ messages in thread
From: Rafael J. Wysocki @ 2021-10-01 18:16 UTC (permalink / raw)
  To: Linux ACPI; +Cc: LKML, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 94abe858583de24a425b37cb8e62d56c65c4f3cf

Note: support for Vendor-defined microphone arrays and SNR extensions
are not supported at this time -- mostly due to a lack of example tables.

Actual compiler support for NHLT is forthcoming.

Link: https://github.com/acpica/acpica/commit/94abe858
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 actbl2.h |  250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 249 insertions(+), 1 deletion(-)

diff -Nurp linux.before_name/include/acpi/actbl2.h linux.after_name/include/acpi/actbl2.h
--- linux.before_name/include/acpi/actbl2.h	2021-10-01 19:32:37.807885990 +0200
+++ linux.after_name/include/acpi/actbl2.h	2021-10-01 19:32:33.714954236 +0200
@@ -35,6 +35,7 @@
 #define ACPI_SIG_MSCT           "MSCT"	/* Maximum System Characteristics Table */
 #define ACPI_SIG_MSDM           "MSDM"	/* Microsoft Data Management Table */
 #define ACPI_SIG_NFIT           "NFIT"	/* NVDIMM Firmware Interface Table */
+#define ACPI_SIG_NHLT           "NHLT"	/* Non HD Audio Link Table */
 #define ACPI_SIG_PCCT           "PCCT"	/* Platform Communications Channel Table */
 #define ACPI_SIG_PDTT           "PDTT"	/* Platform Debug Trigger Table */
 #define ACPI_SIG_PHAT           "PHAT"	/* Platform Health Assessment Table */
@@ -46,7 +47,6 @@
 #define ACPI_SIG_SBST           "SBST"	/* Smart Battery Specification Table */
 #define ACPI_SIG_SDEI           "SDEI"	/* Software Delegated Exception Interface Table */
 #define ACPI_SIG_SDEV           "SDEV"	/* Secure Devices table */
-#define ACPI_SIG_NHLT           "NHLT"	/* Non-HDAudio Link Table */
 #define ACPI_SIG_SVKL           "SVKL"	/* Storage Volume Key Location Table */
 
 /*
@@ -1412,6 +1412,254 @@ struct nfit_device_handle {
 
 /*******************************************************************************
  *
+ * NHLT - Non HD Audio Link Table
+ *
+ * Conforms to: Intel Smart Sound Technology NHLT Specification
+ * Version 0.8.1, January 2020.
+ *
+ ******************************************************************************/
+
+/* Main table */
+
+struct acpi_table_nhlt {
+	struct acpi_table_header header;	/* Common ACPI table header */
+	u8 endpoint_count;
+};
+
+struct acpi_nhlt_endpoint {
+	u32 descriptor_length;
+	u8 link_type;
+	u8 instance_id;
+	u16 vendor_id;
+	u16 device_id;
+	u16 revision_id;
+	u32 subsystem_id;
+	u8 device_type;
+	u8 direction;
+	u8 virtual_bus_id;
+};
+
+/* Types for link_type field above */
+
+#define ACPI_NHLT_RESERVED_HD_AUDIO         0
+#define ACPI_NHLT_RESERVED_DSP              1
+#define ACPI_NHLT_PDM                       2
+#define ACPI_NHLT_SSP                       3
+#define ACPI_NHLT_RESERVED_SLIMBUS          4
+#define ACPI_NHLT_RESERVED_SOUNDWIRE        5
+#define ACPI_NHLT_TYPE_RESERVED             6	/* 6 and above are reserved */
+
+/* All other values above are reserved */
+
+/* Values for device_id field above */
+
+#define ACPI_NHLT_PDM_DMIC                  0xAE20
+#define ACPI_NHLT_BT_SIDEBAND               0xAE30
+#define ACPI_NHLT_I2S_TDM_CODECS            0xAE23
+
+/* Values for device_type field above */
+
+/* SSP Link */
+
+#define ACPI_NHLT_LINK_BT_SIDEBAND          0
+#define ACPI_NHLT_LINK_FM                   1
+#define ACPI_NHLT_LINK_MODEM                2
+/* 3 is reserved */
+#define ACPI_NHLT_LINK_SSP_ANALOG_CODEC     4
+
+/* PDM Link */
+
+#define ACPI_NHLT_PDM_ON_CAVS_1P8           0
+#define ACPI_NHLT_PDM_ON_CAVS_1P5           1
+
+/* Values for Direction field above */
+
+#define ACPI_NHLT_DIR_RENDER                0
+#define ACPI_NHLT_DIR_CAPTURE               1
+#define ACPI_NHLT_DIR_RENDER_LOOPBACK       2
+#define ACPI_NHLT_DIR_RENDER_FEEDBACK       3
+#define ACPI_NHLT_DIR_RESERVED              4	/* 4 and above are reserved */
+
+struct acpi_nhlt_device_specific_config {
+	u32 capabilities_size;
+	u8 virtual_slot;
+	u8 config_type;
+};
+
+struct acpi_nhlt_device_specific_config_a {
+	u32 capabilities_size;
+	u8 virtual_slot;
+	u8 config_type;
+	u8 array_type;
+};
+
+/* Values for Config Type above */
+
+#define ACPI_NHLT_TYPE_MIC_ARRAY            0x01
+#define ACPI_NHLT_TYPE_GENERIC              0x00
+
+/* Mask for Extension field of array_type */
+
+#define ACPI_NHLT_ARRAY_TYPE_MASK           0x10
+
+struct acpi_nhlt_device_specific_config_b {
+	u32 capabilities_size;
+};
+
+struct acpi_nhlt_device_specific_config_c {
+	u32 capabilities_size;
+	u8 virtual_slot;
+};
+
+struct acpi_nhlt_wave_extensible {
+	u16 format_tag;
+	u16 channel_count;
+	u32 samples_per_sec;
+	u32 avg_bytes_per_sec;
+	u16 block_align;
+	u16 bits_per_sample;
+	u16 extra_format_size;
+	u16 valid_bits_per_sample;
+	u32 channel_mask;
+	u8 sub_format_guid[16];
+};
+
+/* Values for channel_mask above */
+
+#define ACPI_NHLT_SPKR_FRONT_LEFT             0x1
+#define ACPI_NHLT_SPKR_FRONT_RIGHT            0x2
+#define ACPI_NHLT_SPKR_FRONT_CENTER           0x4
+#define ACPI_NHLT_SPKR_LOW_FREQ               0x8
+#define ACPI_NHLT_SPKR_BACK_LEFT              0x10
+#define ACPI_NHLT_SPKR_BACK_RIGHT             0x20
+#define ACPI_NHLT_SPKR_FRONT_LEFT_OF_CENTER   0x40
+#define ACPI_NHLT_SPKR_FRONT_RIGHT_OF_CENTER  0x80
+#define ACPI_NHLT_SPKR_BACK_CENTER            0x100
+#define ACPI_NHLT_SPKR_SIDE_LEFT              0x200
+#define ACPI_NHLT_SPKR_SIDE_RIGHT             0x400
+#define ACPI_NHLT_SPKR_TOP_CENTER             0x800
+#define ACPI_NHLT_SPKR_TOP_FRONT_LEFT         0x1000
+#define ACPI_NHLT_SPKR_TOP_FRONT_CENTER       0x2000
+#define ACPI_NHLT_SPKR_TOP_FRONT_RIGHT        0x4000
+#define ACPI_NHLT_SPKR_TOP_BACK_LEFT          0x8000
+#define ACPI_NHLT_SPKR_TOP_BACK_CENTER        0x10000
+#define ACPI_NHLT_SPKR_TOP_BACK_RIGHT         0x20000
+
+struct acpi_nhlt_format_config {
+	struct acpi_nhlt_wave_extensible format;
+	u32 capability_size;
+	u8 capabilities[];
+};
+
+struct acpi_nhlt_formats_config {
+	u8 formats_count;
+};
+
+struct acpi_nhlt_device_specific_hdr {
+	u8 virtual_slot;
+	u8 config_type;
+};
+
+/* Types for config_type above */
+
+#define ACPI_NHLT_GENERIC                   0
+#define ACPI_NHLT_MIC                       1
+#define ACPI_NHLT_RENDER                    3
+
+struct acpi_nhlt_mic_device_specific_config {
+	struct acpi_nhlt_device_specific_hdr device_config;
+	u8 array_type_ext;
+};
+
+/* Values for array_type_ext above */
+
+#define SMALL_LINEAR_2ELEMENT               0x0A
+#define BIG_LINEAR_2ELEMENT                 0x0B
+#define FIRST_GEOMETRY_LINEAR_4ELEMENT      0x0C
+#define PLANAR_LSHAPED_4ELEMENT             0x0D
+#define SECOND_GEOMETRY_LINEAR_4ELEMENT     0x0E
+#define VENDOR_DEFINED                      0x0F
+#define ARRAY_TYPE_MASK                     0x0F
+#define ARRAY_TYPE_EXT_MASK                 0x10
+
+#define NO_EXTENSION                        0x0
+#define MIC_SNR_SENSITIVITY_EXT             0x1
+
+struct acpi_nhlt_vendor_mic_config {
+	u8 type;
+	u8 panel;
+	u16 speaker_position_distance;	// mm
+	u16 horizontal_offset;	// mm
+	u16 vertical_offset;	// mm
+	u8 frequency_low_band;	// 5*hz
+	u8 frequency_high_band;	// 500*hz
+	u16 direction_angle;	// -180 - + 180
+	u16 elevation_angle;	// -180 - + 180
+	u16 work_vertical_angle_begin;	// -180 - + 180 with 2 deg step
+	u16 work_vertical_angle_end;	// -180 - + 180 with 2 deg step
+	u16 work_horizontal_angle_begin;	// -180 - + 180 with 2 deg step
+	u16 work_horizontal_angle_end;	// -180 - + 180 with 2 deg step
+};
+
+/* Values for Type field above */
+
+#define MIC_OMNIDIRECTIONAL                 0
+#define MIC_SUBCARDIOID                     1
+#define MIC_CARDIOID                        2
+#define MIC_SUPER_CARDIOID                  3
+#define MIC_HYPER_CARDIOID                  4
+#define MIC_8_SHAPED                        5
+#define MIC_VENDOR_DEFINED                  7
+
+/* Values for Panel field above */
+
+#define MIC_TOP                             0
+#define MIC_BOTTOM                          1
+#define MIC_LEFT                            2
+#define MIC_RIGHT                           3
+#define MIC_FRONT                           4
+#define MIC_REAR                            5
+
+struct acpi_nhlt_vendor_mic_device_specific_config {
+	struct acpi_nhlt_mic_device_specific_config mic_array_device_config;
+	u8 number_of_microphones;
+	struct acpi_nhlt_vendor_mic_config mic_config[];	// indexed by number_of_microphones
+};
+
+/* Microphone SNR and Sensitivity extension */
+
+struct acpi_nhlt_mic_snr_sensitivity_extension {
+	u32 SNR;
+	u32 sensitivity;
+};
+
+struct acpi_nhlt_render_feedback_device_specific_config {
+	struct acpi_nhlt_device_specific_config device_config;
+	u8 feedback_virtual_slot;	// render slot in case of capture
+	u16 feedback_channels;	// informative only
+	u16 feedback_valid_bits_per_sample;
+};
+
+/* Linux-specific structures */
+
+struct acpi_nhlt_linux_specific_count {
+	u8 structure_count;
+};
+
+struct acpi_nhlt_linux_specific_data {
+	u8 device_id[16];
+	u8 device_instance_id;
+	u8 device_port_id;
+	u8 filler[18];
+};
+
+struct acpi_nhlt_table_terminator {
+	u32 terminator_value;
+	u32 terminator_signature;
+};
+
+/*******************************************************************************
+ *
  * PCCT - Platform Communications Channel Table (ACPI 5.0)
  *        Version 2 (ACPI 6.2)
  *




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 4/4] ACPICA: Update version to 20210930
  2021-10-01 18:13 [PATCH 0/4] ACPICA: ACPICA 20210930 Rafael J. Wysocki
                   ` (2 preceding siblings ...)
  2021-10-01 18:16 ` [PATCH 3/4] ACPICA: iASL table disassembler: Added disassembly support for the NHLT ACPI table Rafael J. Wysocki
@ 2021-10-01 18:17 ` Rafael J. Wysocki
  3 siblings, 0 replies; 5+ messages in thread
From: Rafael J. Wysocki @ 2021-10-01 18:17 UTC (permalink / raw)
  To: Linux ACPI; +Cc: LKML, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit e01cc6b3d12b5f73f44d46fa15a7f569c793b328

Version 20210930.

Link: https://github.com/acpica/acpica/commit/e01cc6b3
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 acpixf.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -Nurp linux.before_name/include/acpi/acpixf.h linux.after_name/include/acpi/acpixf.h
--- linux.before_name/include/acpi/acpixf.h	2021-10-01 19:33:19.411192223 +0200
+++ linux.after_name/include/acpi/acpixf.h	2021-10-01 19:33:15.880251109 +0200
@@ -12,7 +12,7 @@
 
 /* Current ACPICA subsystem version in YYYYMMDD format */
 
-#define ACPI_CA_VERSION                 0x20210730
+#define ACPI_CA_VERSION                 0x20210930
 
 #include <acpi/acconfig.h>
 #include <acpi/actypes.h>




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-10-01 18:17 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-01 18:13 [PATCH 0/4] ACPICA: ACPICA 20210930 Rafael J. Wysocki
2021-10-01 18:14 ` [PATCH 1/4] ACPICA: Add support for Windows 2020 _OSI string Rafael J. Wysocki
2021-10-01 18:15 ` [PATCH 2/4] ACPICA: ACPI 6.4 SRAT: add Generic Port Affinity type Rafael J. Wysocki
2021-10-01 18:16 ` [PATCH 3/4] ACPICA: iASL table disassembler: Added disassembly support for the NHLT ACPI table Rafael J. Wysocki
2021-10-01 18:17 ` [PATCH 4/4] ACPICA: Update version to 20210930 Rafael J. Wysocki

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.