Commit 7db0aa8c authored by Dan Williams's avatar Dan Williams
Browse files

Merge "ACPICA: Add CXL 3.0 structures..." into for-6.2/cxl-xor

Pick up:

f350c68e ("ACPICA: Add CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table")

...to build the new XOR interleave math support for the CXL Fixed Memory
Window Structures.
parents f0c4d9fc f350c68e
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -142,6 +142,9 @@ static acpi_status acpi_ev_fixed_event_initialize(void)
			status =
			    acpi_write_bit_register(acpi_gbl_fixed_event_info
						    [i].enable_register_id,
						    (i ==
						     ACPI_EVENT_PCIE_WAKE) ?
						    ACPI_ENABLE_EVENT :
						    ACPI_DISABLE_EVENT);
			if (ACPI_FAILURE(status)) {
				return (status);
@@ -185,6 +188,11 @@ u32 acpi_ev_fixed_event_detect(void)
		return (int_status);
	}

	if (fixed_enable & ACPI_BITMASK_PCIEXP_WAKE_DISABLE)
		fixed_enable &= ~ACPI_BITMASK_PCIEXP_WAKE_DISABLE;
	else
		fixed_enable |= ACPI_BITMASK_PCIEXP_WAKE_DISABLE;

	ACPI_DEBUG_PRINT((ACPI_DB_INTERRUPTS,
			  "Fixed Event Block: Enable %08X Status %08X\n",
			  fixed_enable, fixed_status));
@@ -250,6 +258,9 @@ static u32 acpi_ev_fixed_event_dispatch(u32 event)
	if (!acpi_gbl_fixed_event_handlers[event].handler) {
		(void)acpi_write_bit_register(acpi_gbl_fixed_event_info[event].
					      enable_register_id,
					      (event ==
					       ACPI_EVENT_PCIE_WAKE) ?
					      ACPI_ENABLE_EVENT :
					      ACPI_DISABLE_EVENT);

		ACPI_ERROR((AE_INFO,
+9 −0
Original line number Diff line number Diff line
@@ -172,6 +172,15 @@ acpi_ev_address_space_dispatch(union acpi_operand_object *region_obj,
			ctx->subspace_id = (u8)region_obj->region.address;
		}

		if (region_obj->region.space_id ==
		    ACPI_ADR_SPACE_FIXED_HARDWARE) {
			struct acpi_ffh_info *ctx =
			    handler_desc->address_space.context;

			ctx->length = region_obj->region.length;
			ctx->offset = region_obj->region.address;
		}

		/*
		 * We must exit the interpreter because the region setup will
		 * potentially execute control methods (for example, the _REG method
+2 −2
Original line number Diff line number Diff line
@@ -295,8 +295,8 @@ acpi_ex_load_op(union acpi_operand_object *obj_desc,
						 target));
	}
	if (target->common.type != ACPI_TYPE_INTEGER) {
		ACPI_EXCEPTION((AE_INFO, AE_TYPE,
				"Type not integer: %X\n", target->common.type));
		ACPI_ERROR((AE_INFO, "Type not integer: %X",
			    target->common.type));
		return_ACPI_STATUS(AE_AML_OPERAND_TYPE);
	}

+6 −2
Original line number Diff line number Diff line
@@ -141,7 +141,9 @@ acpi_ex_read_data_from_field(struct acpi_walk_state *walk_state,
		    || obj_desc->field.region_obj->region.space_id ==
		    ACPI_ADR_SPACE_IPMI
		    || obj_desc->field.region_obj->region.space_id ==
		    ACPI_ADR_SPACE_PLATFORM_RT)) {
		    ACPI_ADR_SPACE_PLATFORM_RT
		    || obj_desc->field.region_obj->region.space_id ==
		    ACPI_ADR_SPACE_FIXED_HARDWARE)) {

		/* SMBus, GSBus, IPMI serial */

@@ -305,7 +307,9 @@ acpi_ex_write_data_to_field(union acpi_operand_object *source_desc,
		    || obj_desc->field.region_obj->region.space_id ==
		    ACPI_ADR_SPACE_IPMI
		    || obj_desc->field.region_obj->region.space_id ==
		    ACPI_ADR_SPACE_PLATFORM_RT)) {
		    ACPI_ADR_SPACE_PLATFORM_RT
		    || obj_desc->field.region_obj->region.space_id ==
		    ACPI_ADR_SPACE_FIXED_HARDWARE)) {

		/* SMBus, GSBus, IPMI serial */

+6 −0
Original line number Diff line number Diff line
@@ -323,6 +323,12 @@ acpi_ex_write_serial_bus(union acpi_operand_object *source_desc,
		function = ACPI_WRITE;
		break;

	case ACPI_ADR_SPACE_FIXED_HARDWARE:

		buffer_length = ACPI_FFH_INPUT_BUFFER_SIZE;
		function = ACPI_WRITE;
		break;

	default:
		return_ACPI_STATUS(AE_AML_INVALID_SPACE_ID);
	}
Loading