Merge tag 'acpi-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 14 Oct 2020 18:42:04 +0000 (11:42 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 14 Oct 2020 18:42:04 +0000 (11:42 -0700)
Pull ACPI updates from Rafael Wysocki:
 "These add support for generic initiator-only proximity domains to the
  ACPI NUMA code and the architectures using it, clean up some
  non-ACPICA code referring to debug facilities from ACPICA, reduce the
  overhead related to accessing GPE registers, add a new DPTF (Dynamic
  Power and Thermal Framework) participant driver, update the ACPICA
  code in the kernel to upstream revision 20200925, add a new ACPI
  backlight whitelist entry, fix a few assorted issues and clean up some
  code.

  Specifics:

   - Add support for generic initiator-only proximity domains to the
     ACPI NUMA code and the architectures using it (Jonathan Cameron)

   - Clean up some non-ACPICA code referring to debug facilities from
     ACPICA that are not actually used in there (Hanjun Guo)

   - Add new DPTF driver for the PCH FIVR participant (Srinivas
     Pandruvada)

   - Reduce overhead related to accessing GPE registers in ACPICA and
     the OS interface layer and make it possible to access GPE registers
     using logical addresses if they are memory-mapped (Rafael Wysocki)

   - Update the ACPICA code in the kernel to upstream revision 20200925
     including changes as follows:
      + Add predefined names from the SMBus sepcification (Bob Moore)
      + Update acpi_help UUID list (Bob Moore)
      + Return exceptions for string-to-integer conversions in iASL (Bob
        Moore)
      + Add a new "ALL <NameSeg>" debugger command (Bob Moore)
      + Add support for 64 bit risc-v compilation (Colin Ian King)
      + Do assorted cleanups (Bob Moore, Colin Ian King, Randy Dunlap)

   - Add new ACPI backlight whitelist entry for HP 635 Notebook (Alex
     Hung)

   - Move TPS68470 OpRegion driver to drivers/acpi/pmic/ and split out
     Kconfig and Makefile specific for ACPI PMIC (Andy Shevchenko)

   - Clean up the ACPI SoC driver for AMD SoCs (Hanjun Guo)

   - Add missing config_item_put() to fix refcount leak (Hanjun Guo)

   - Drop lefrover field from struct acpi_memory_device (Hanjun Guo)

   - Make the ACPI extlog driver check for RDMSR failures (Ben
     Hutchings)

   - Fix handling of lid state changes in the ACPI button driver when
     input device is closed (Dmitry Torokhov)

   - Fix several assorted build issues (Barnabás Pőcze, John Garry,
     Nathan Chancellor, Tian Tao)

   - Drop unused inline functions and reduce code duplication by using
     kobj_to_dev() in the NFIT parsing code (YueHaibing, Wang Qing)

   - Serialize tools/power/acpi Makefile (Thomas Renninger)"

* tag 'acpi-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (64 commits)
  ACPICA: Update version to 20200925 Version 20200925
  ACPICA: Remove unnecessary semicolon
  ACPICA: Debugger: Add a new command: "ALL <NameSeg>"
  ACPICA: iASL: Return exceptions for string-to-integer conversions
  ACPICA: acpi_help: Update UUID list
  ACPICA: Add predefined names found in the SMBus sepcification
  ACPICA: Tree-wide: fix various typos and spelling mistakes
  ACPICA: Drop the repeated word "an" in a comment
  ACPICA: Add support for 64 bit risc-v compilation
  ACPI: button: fix handling lid state changes when input device closed
  tools/power/acpi: Serialize Makefile
  ACPI: scan: Replace ACPI_DEBUG_PRINT() with pr_debug()
  ACPI: memhotplug: Remove 'state' from struct acpi_memory_device
  ACPI / extlog: Check for RDMSR failure
  ACPI: Make acpi_evaluate_dsm() prototype consistent
  docs: mm: numaperf.rst Add brief description for access class 1.
  node: Add access1 class to represent CPU to memory characteristics
  ACPI: HMAT: Fix handling of changes from ACPI 6.2 to ACPI 6.3
  ACPI: Let ACPI know we support Generic Initiator Affinity Structures
  x86: Support Generic Initiator only proximity domains
  ...

1  2 
MAINTAINERS
arch/x86/include/asm/numa.h
arch/x86/kernel/setup.c
arch/x86/mm/numa.c
drivers/acpi/arm64/iort.c
drivers/acpi/numa/hmat.c
drivers/acpi/numa/srat.c
drivers/iommu/intel/dmar.c
drivers/irqchip/irq-gic-v3-its.c
include/acpi/acpi_numa.h
include/linux/acpi.h

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -635,12 -678,72 +685,12 @@@ static void hmat_register_target_cache(
                node_add_cache(mem_nid, &tcache->cache_attrs);
  }
  
- static void hmat_register_target_perf(struct memory_target *target)
+ static void hmat_register_target_perf(struct memory_target *target, int access)
  {
        unsigned mem_nid = pxm_to_node(target->memory_pxm);
-       node_set_perf_attrs(mem_nid, &target->hmem_attrs, 0);
+       node_set_perf_attrs(mem_nid, &target->hmem_attrs[access], access);
  }
  
 -static void hmat_register_target_device(struct memory_target *target,
 -              struct resource *r)
 -{
 -      /* define a clean / non-busy resource for the platform device */
 -      struct resource res = {
 -              .start = r->start,
 -              .end = r->end,
 -              .flags = IORESOURCE_MEM,
 -      };
 -      struct platform_device *pdev;
 -      struct memregion_info info;
 -      int rc, id;
 -
 -      rc = region_intersects(res.start, resource_size(&res), IORESOURCE_MEM,
 -                      IORES_DESC_SOFT_RESERVED);
 -      if (rc != REGION_INTERSECTS)
 -              return;
 -
 -      id = memregion_alloc(GFP_KERNEL);
 -      if (id < 0) {
 -              pr_err("memregion allocation failure for %pr\n", &res);
 -              return;
 -      }
 -
 -      pdev = platform_device_alloc("hmem", id);
 -      if (!pdev) {
 -              pr_err("hmem device allocation failure for %pr\n", &res);
 -              goto out_pdev;
 -      }
 -
 -      pdev->dev.numa_node = pxm_to_online_node(target->memory_pxm);
 -      info = (struct memregion_info) {
 -              .target_node = pxm_to_node(target->memory_pxm),
 -      };
 -      rc = platform_device_add_data(pdev, &info, sizeof(info));
 -      if (rc < 0) {
 -              pr_err("hmem memregion_info allocation failure for %pr\n", &res);
 -              goto out_pdev;
 -      }
 -
 -      rc = platform_device_add_resources(pdev, &res, 1);
 -      if (rc < 0) {
 -              pr_err("hmem resource allocation failure for %pr\n", &res);
 -              goto out_resource;
 -      }
 -
 -      rc = platform_device_add(pdev);
 -      if (rc < 0) {
 -              dev_err(&pdev->dev, "device add failed for %pr\n", &res);
 -              goto out_resource;
 -      }
 -
 -      return;
 -
 -out_resource:
 -      put_device(&pdev->dev);
 -out_pdev:
 -      memregion_free(id);
 -}
 -
  static void hmat_register_target_devices(struct memory_target *target)
  {
        struct resource *res;
        if (!IS_ENABLED(CONFIG_DEV_DAX_HMEM))
                return;
  
 -      for (res = target->memregions.child; res; res = res->sibling)
 -              hmat_register_target_device(target, res);
 +      for (res = target->memregions.child; res; res = res->sibling) {
-               int target_nid = acpi_map_pxm_to_node(target->memory_pxm);
++              int target_nid = pxm_to_node(target->memory_pxm);
 +
 +              hmem_register_device(target_nid, res);
 +      }
  }
  
  static void hmat_register_target(struct memory_target *target)
Simple merge
Simple merge
Simple merge
@@@ -23,16 -23,9 +23,20 @@@ extern void bad_srat(void)
  extern int srat_disabled(void);
  
  #else                         /* CONFIG_ACPI_NUMA */
 +static inline void disable_srat(void)
 +{
 +}
+ static inline int pxm_to_node(int pxm)
+ {
+       return 0;
+ }
  #endif                                /* CONFIG_ACPI_NUMA */
 +
 +#ifdef CONFIG_ACPI_HMAT
 +extern void disable_hmat(void);
 +#else                         /* CONFIG_ACPI_HMAT */
 +static inline void disable_hmat(void)
 +{
 +}
 +#endif                                /* CONFIG_ACPI_HMAT */
  #endif                                /* __ACP_NUMA_H */
Simple merge