Commit 4ab8d27a authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Merge branches 'acpi-resource', 'acpi-numa', 'acpi-soc' and 'acpi-misc'

Merge ACPI resources management quirks, ACPI NUMA updates, an ACPI LPSS
(Intel SoC) driver update and an ACPI watchdog driver fixup for 6.8-rc1:

 - Add IRQ override quirks for some Infinity laptops and for TongFang
   GMxXGxx (David McFarland, Hans de Goede).

 - Clean up the ACPI NUMA code and fix it to ensure that fake_pxm is not
   the same as one of the real pxm values (Yuntao Wang).

 - Fix the fractional clock divider flags in the ACPI LPSS (Intel SoC)
   driver so as to prevent miscalculation of the values in the clock
   divider (Andy Shevchenko).

 - Adjust comments in the ACPI watchdog driver to prevent kernel-doc
   from complaining during documentation builds (Randy Dunlap).

* acpi-resource:
  ACPI: resource: Add Infinity laptops to irq1_edge_low_force_override
  ACPI: resource: Add another DMI match for the TongFang GMxXGxx

* acpi-numa:
  ACPI: NUMA: Fix the logic of getting the fake_pxm value
  ACPI: NUMA: Optimize the check for the availability of node values
  ACPI: NUMA: Remove unnecessary check in acpi_parse_gi_affinity()

* acpi-soc:
  ACPI: LPSS: Fix the fractional clock divider flags

* acpi-misc:
  ACPI: watchdog: fix kernel-doc warnings
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -453,8 +453,9 @@ static int register_device_clock(struct acpi_device *adev,
		if (!clk_name)
			return -ENOMEM;
		clk = clk_register_fractional_divider(NULL, clk_name, parent,
						      0, prv_base, 1, 15, 16, 15,
						      CLK_FRAC_DIVIDER_POWER_OF_TWO_PS,
						      prv_base, 1, 15, 16, 15, 0, NULL);
						      NULL);
		parent = clk_name;

		clk_name = kasprintf(GFP_KERNEL, "%s-update", devname);
+1 −1
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ static const struct acpi_table_wdat *acpi_watchdog_get_wdat(void)
	return wdat;
}

/**
/*
 * Returns true if this system should prefer ACPI based watchdog instead of
 * the native one (which are typically the same hardware).
 */
+5 −5
Original line number Diff line number Diff line
@@ -67,9 +67,9 @@ int acpi_map_pxm_to_node(int pxm)
	node = pxm_to_node_map[pxm];

	if (node == NUMA_NO_NODE) {
		if (nodes_weight(nodes_found_map) >= MAX_NUMNODES)
			return NUMA_NO_NODE;
		node = first_unset_node(nodes_found_map);
		if (node >= MAX_NUMNODES)
			return NUMA_NO_NODE;
		__acpi_map_pxm_to_node(pxm, node);
		node_set(node, nodes_found_map);
	}
@@ -430,7 +430,7 @@ acpi_parse_gi_affinity(union acpi_subtable_headers *header,
		return -EINVAL;

	node = acpi_map_pxm_to_node(gi_affinity->proximity_domain);
	if (node == NUMA_NO_NODE || node >= MAX_NUMNODES) {
	if (node == NUMA_NO_NODE) {
		pr_err("SRAT: Too many proximity domains.\n");
		return -EINVAL;
	}
@@ -532,7 +532,7 @@ int __init acpi_numa_init(void)
	 */

	/* fake_pxm is the next unused PXM value after SRAT parsing */
	for (i = 0, fake_pxm = -1; i < MAX_NUMNODES - 1; i++) {
	for (i = 0, fake_pxm = -1; i < MAX_NUMNODES; i++) {
		if (node_to_pxm_map[i] > fake_pxm)
			fake_pxm = node_to_pxm_map[i];
	}
+19 −0
Original line number Diff line number Diff line
@@ -510,6 +510,13 @@ static const struct dmi_system_id irq1_edge_low_force_override[] = {
			DMI_MATCH(DMI_BOARD_NAME, "GMxXGxx"),
		},
	},
	{
		/* TongFang GMxXGxx sold as Eluktronics Inc. RP-15 */
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Eluktronics Inc."),
			DMI_MATCH(DMI_BOARD_NAME, "RP-15"),
		},
	},
	{
		/* TongFang GM6XGxX/TUXEDO Stellaris 16 Gen5 AMD */
		.matches = {
@@ -548,6 +555,18 @@ static const struct dmi_system_id irq1_edge_low_force_override[] = {
			DMI_MATCH(DMI_BOARD_NAME, "GM6BG0Q"),
		},
	},
	{
		/* Infinity E15-5A165-BM */
		.matches = {
			DMI_MATCH(DMI_BOARD_NAME, "GM5RG1E0009COM"),
		},
	},
	{
		/* Infinity E15-5A305-1M */
		.matches = {
			DMI_MATCH(DMI_BOARD_NAME, "GM5RGEE0016COM"),
		},
	},
	{ }
};