ACPICA: ACPI 6.2: Add support for PinGroupConfig() resource
ACPICA commit 08b83591c0db751769d61fa889f4f50f575aeffb PinGroupConfig() is analogous to PinGroupFunction() but instead of mode (muxing), it is used to apply specific fine-grained configuration to a set of referenced pins. The format of this new resource is: PinGroupConfig (Shared/Exclusive, PinConfigType, PinConfigValue, ResourceSource, ResourceSourceIndex, ResourceSourceLabel, ResourceUsage, DescriptorName, VendorData) The PinConfigType/PinConfigValue are the same used by PinConfig() resource. Here also the combination of ResourceSource and ResourceSourceLabel is used to specify the PinGroup() this resource refers to. Link: https://github.com/acpica/acpica/commit/08b83591 Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
此提交包含在:
@@ -751,3 +751,83 @@ struct acpi_rsconvert_info acpi_rs_convert_pin_group_function[13] = {
|
||||
AML_OFFSET(pin_group_function.vendor_offset),
|
||||
0},
|
||||
};
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* acpi_rs_convert_pin_group_config
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
struct acpi_rsconvert_info acpi_rs_convert_pin_group_config[14] = {
|
||||
{ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG,
|
||||
ACPI_RS_SIZE(struct acpi_resource_pin_group_config),
|
||||
ACPI_RSC_TABLE_SIZE(acpi_rs_convert_pin_group_config)},
|
||||
|
||||
{ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG,
|
||||
sizeof(struct aml_resource_pin_group_config),
|
||||
0},
|
||||
|
||||
{ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.pin_group_config.revision_id),
|
||||
AML_OFFSET(pin_group_config.revision_id),
|
||||
1},
|
||||
|
||||
{ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.pin_group_config.sharable),
|
||||
AML_OFFSET(pin_group_config.flags),
|
||||
0},
|
||||
|
||||
{ACPI_RSC_1BITFLAG,
|
||||
ACPI_RS_OFFSET(data.pin_group_config.producer_consumer),
|
||||
AML_OFFSET(pin_group_config.flags),
|
||||
1},
|
||||
|
||||
{ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.pin_group_config.pin_config_type),
|
||||
AML_OFFSET(pin_group_config.pin_config_type),
|
||||
1},
|
||||
|
||||
{ACPI_RSC_MOVE32,
|
||||
ACPI_RS_OFFSET(data.pin_group_config.pin_config_value),
|
||||
AML_OFFSET(pin_group_config.pin_config_value),
|
||||
1},
|
||||
|
||||
/* Resource Source */
|
||||
|
||||
{ACPI_RSC_MOVE8,
|
||||
ACPI_RS_OFFSET(data.pin_group_config.resource_source.index),
|
||||
AML_OFFSET(pin_group_config.res_source_index),
|
||||
1},
|
||||
|
||||
{ACPI_RSC_COUNT_GPIO_RES,
|
||||
ACPI_RS_OFFSET(data.pin_group_config.resource_source.string_length),
|
||||
AML_OFFSET(pin_group_config.res_source_offset),
|
||||
AML_OFFSET(pin_group_config.res_source_label_offset)},
|
||||
|
||||
{ACPI_RSC_MOVE_GPIO_RES,
|
||||
ACPI_RS_OFFSET(data.pin_group_config.resource_source.string_ptr),
|
||||
AML_OFFSET(pin_group_config.res_source_offset),
|
||||
0},
|
||||
|
||||
/* Resource Source Label */
|
||||
|
||||
{ACPI_RSC_COUNT_GPIO_RES,
|
||||
ACPI_RS_OFFSET(data.pin_group_config.resource_source_label.
|
||||
string_length),
|
||||
AML_OFFSET(pin_group_config.res_source_label_offset),
|
||||
AML_OFFSET(pin_group_config.vendor_offset)},
|
||||
|
||||
{ACPI_RSC_MOVE_GPIO_RES,
|
||||
ACPI_RS_OFFSET(data.pin_group_config.resource_source_label.string_ptr),
|
||||
AML_OFFSET(pin_group_config.res_source_label_offset),
|
||||
0},
|
||||
|
||||
/* Vendor Data */
|
||||
|
||||
{ACPI_RSC_COUNT_GPIO_VEN,
|
||||
ACPI_RS_OFFSET(data.pin_group_config.vendor_length),
|
||||
AML_OFFSET(pin_group_config.vendor_length),
|
||||
1},
|
||||
|
||||
{ACPI_RSC_MOVE_GPIO_RES,
|
||||
ACPI_RS_OFFSET(data.pin_group_config.vendor_data),
|
||||
AML_OFFSET(pin_group_config.vendor_offset),
|
||||
0},
|
||||
};
|
||||
|
新增問題並參考
封鎖使用者