1. 05 4月, 2016 16 次提交
  2. 04 4月, 2016 1 次提交
  3. 11 3月, 2016 1 次提交
    • L
      ACPICA / Interpreter: Fix a regression triggered because of wrong Linux ECDT support · 5508df89
      Lv Zheng 提交于
      It is reported that the following commit triggers regressions:
       Linux commit: efaed9be
       ACPICA commit: 31178590dde82368fdb0f6b0e466b6c0add96c57
       Subject: ACPICA: Events: Enhance acpi_ev_execute_reg_method() to
                ensure no _REG evaluations can happen during OS early boot
                stages
      
      This is because that the ECDT support is not corrected in Linux, and Linux
      requires to execute _REG for ECDT (though this sounds so wrong), we need to
      ensure acpi_gbl_namespace_initialized is set before ECDT probing in order
      for _REG to be executed. Since we have to move
      "acpi_gbl_namespace_initialized = TRUE" to the initialization step
      happening before ECDT probing, acpi_load_tables() is the best candidate for
      now. Thus this patch fixes the regression by doing so.
      
      But if the ECDT support is fixed, Linux will not execute _REG for ECDT, and
      ECDT probing will happen before acpi_load_tables(). At that time, we still
      want to ensure acpi_gbl_namespace_initialized is set after executing
      acpi_ns_initialize_objects() (under the condition of
      acpi_gbl_group_module_level_code = FALSE), this patch also moves
      acpi_ns_initialize_objects() to acpi_load_tables() accordingly.
      
      Since acpi_ns_initialize_objects() doesn't seem to be skippable, this
      patch also removes ACPI_NO_OBJECT_INIT for the one invoked in
      acpi_load_tables(). And since the default region handlers should always be
      installed before loading the tables, this patch also removes useless
      acpi_gbl_group_module_level_code check accordingly. Reported by Chris
      Bainbridge, Fixed by Lv Zheng.
      
      Fixes: efaed9be (ACPICA: Events: Enhance acpi_ev_execute_reg_method() to ensure no _REG evaluations can happen during OS early boot stages)
      Reported-and-tested-by: NChris Bainbridge <chris.bainbridge@gmail.com>
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      5508df89
  4. 09 3月, 2016 2 次提交
  5. 24 2月, 2016 11 次提交
  6. 16 1月, 2016 3 次提交
  7. 05 1月, 2016 1 次提交
    • R
      ACPICA: Drop Linux-specific waking vector functions · e3e9b577
      Rafael J. Wysocki 提交于
      Commit f06147f9 (ACPICA: Hardware: Enable firmware waking vector
      for both 32-bit and 64-bit FACS) added three functions that aren't
      present in upstream ACPICA, acpi_hw_set_firmware_waking_vectors(),
      acpi_set_firmware_waking_vectors() and acpi_set_firmware_waking_vector64(),
      to allow Linux to use the previously existing API for setting the
      platform firmware waking vector.
      
      However, that wasn't necessary, since the ACPI sleep support code
      in Linux can be modified to use the upstream ACPICA's API easily
      and the additional functions may be dropped which reduces the code
      size and puts the kernel's ACPICA code more in line with the upstream.
      
      Make the changes as per the above.  While at it, make the relevant
      function desctiption comments reflect the upstream ACPICA's ones.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: NLv Zheng <lv.zheng@intel.com>
      e3e9b577
  8. 01 1月, 2016 5 次提交