1. 02 12月, 2014 1 次提交
    • R
      ACPICA: Save current masks of enabled GPEs after enable register writes · c50f13c6
      Rafael J. Wysocki 提交于
      There is a race condition between acpi_hw_disable_all_gpes() or
      acpi_enable_all_wakeup_gpes() and acpi_ev_asynch_enable_gpe() such
      that if the latter wins the race, it may mistakenly enable a GPE
      disabled by the former.  This may lead to premature system wakeups
      during system suspend and potentially to more serious consequences.
      
      The source of the problem is how acpi_hw_low_set_gpe() works when
      passed ACPI_GPE_CONDITIONAL_ENABLE as the second argument.  In that
      case, the GPE will be enabled if the corresponding bit is set in the
      enable_for_run mask of the GPE enable register containing that bit.
      However, acpi_hw_disable_all_gpes() and acpi_enable_all_wakeup_gpes()
      don't modify the enable_for_run masks of GPE registers when writing
      to them.  In consequence, if acpi_ev_asynch_enable_gpe(), which
      eventually calls acpi_hw_low_set_gpe() with the second argument
      equal to ACPI_GPE_CONDITIONAL_ENABLE, is executed in parallel with
      one of these functions, it may reverse changes made by them.
      
      To fix the problem, introduce a new enable_mask field in struct
      acpi_gpe_register_info in which to store the current mask of
      enabled GPEs and modify acpi_hw_low_set_gpe() to take this
      mask into account instead of enable_for_run when its second
      argument is equal to ACPI_GPE_CONDITIONAL_ENABLE.  Also modify
      the low-level routines called by acpi_hw_disable_all_gpes(),
      acpi_enable_all_wakeup_gpes() and acpi_enable_all_runtime_gpes()
      to update the enable_mask masks of GPE registers after all
      (successful) writes to those registers.
      Acked-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      c50f13c6
  2. 28 11月, 2014 2 次提交
  3. 21 10月, 2014 1 次提交
  4. 25 9月, 2014 1 次提交
    • B
      ACPICA: Update to GPIO region handler interface. · 75ec6e55
      Bob Moore 提交于
      Changes to correct several GPIO issues:
      
      1) The update_rule in a GPIO field definition is now ignored;
      a read-modify-write operation is never performed for GPIO fields.
      (Internally, this means that the field assembly/disassembly
      code is completely bypassed for GPIO.)
      
      2) The Address parameter passed to a GPIO region handler is
      now the bit offset of the field from a previous Connection()
      operator. Thus, it becomes a "Pin Number Index" into the
      Connection() resource descriptor.
      
      3) The bit_width parameter passed to a GPIO region handler is
      now the exact bit width of the GPIO field. Thus, it can be
      interpreted as "number of pins".
      
      Overall, we can now say that the region handler interface
      to GPIO handlers is a raw "bit/pin" addressed interface, not
      a byte-addressed interface like the system_memory handler interface.
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Cc: 3.15+ <stable@vger.kernel.org> # 3.15+
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      75ec6e55
  5. 31 7月, 2014 2 次提交
  6. 07 5月, 2014 1 次提交
  7. 21 4月, 2014 1 次提交
  8. 18 3月, 2014 1 次提交
  9. 27 2月, 2014 1 次提交
  10. 11 2月, 2014 1 次提交
  11. 08 1月, 2014 1 次提交
  12. 30 10月, 2013 2 次提交
  13. 24 9月, 2013 1 次提交
  14. 08 8月, 2013 1 次提交
  15. 23 7月, 2013 1 次提交
  16. 18 7月, 2013 1 次提交
  17. 02 6月, 2013 1 次提交
  18. 12 4月, 2013 1 次提交
  19. 12 3月, 2013 2 次提交
  20. 25 1月, 2013 1 次提交
  21. 10 1月, 2013 4 次提交
    • L
      ACPICA: Cleanup indentation to reduce differences between Linux and ACPICA. · 3e8214e5
      Lv Zheng 提交于
      This is a cosmetic patch only. Comparison of the resulting binary showed
      only line number differences.
      
      This patch does not affect the generation of the Linux binary.
      This patch decreases 210 lines of 20121018 divergence.diff.
      
      The ACPICA source codes uses a totally different indentation style from the
      Linux to be compatible with other users (operating systems or BIOS).
      
      Indentation differences are critical to the release automation. There are
      two causes related to the "indentation" that are affecting the release
      automation:
      1. The ACPICA -> Linux release process is:
           ACPICA source -- acpisrc - hierarchy - indent ->
           linuxized ACPICA source -- diff ->
           linuxized ACPICA patch (x) -- human intervention ->
           linuxized ACPICA patch (o)
           Where
             'x' means "cannot be directly applied to the Linux"
             'o' means "can be directly applied to the Linux"
         Different "indent" version or "indent" options used in the "indent"
         step will lead to different divergences.
         The version of "indent" used for the current release process is:
           GNU indent 2.2.11
         The options of "indent" used for the current release process is:
           -npro -kr -i8 -ts8 -sob -l80 -ss -ncs
      2. Manual indentation prettifying work in the Linux side will also harm the
         automatically generated linuxized ACPICA patches, making them impossible
         to apply directly.
      
      This patch fixes source code differences caused by the two causes so that
      the "human intervention" can be reduced in the future.
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      3e8214e5
    • L
      ACPICA: Cleanup source to reduce differences between Linux and ACPICA. · 739dcbb9
      Lv Zheng 提交于
      This is a cosmetic patch only. Comparison of the resulting binary showed
      only line number differences.
      
      This patch does not affect the generation of the Linux binary.
      This patch decreases 389 lines of 20121018 divergence.diff.
      
      This patch reduces source code diff caused by the simple code maintenance
      work:
      1. Deletion of the unused include files.
      2. Deletion of the deprecated codes blocks.
      3. Repositioning of the code blocks.
      4. Replacing the values with the well defined macros.
      5. Replacing the types with the equivalent types.
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      739dcbb9
    • L
      ACPICA: Update codes under disabled build options. · 56324c10
      Lv Zheng 提交于
      This is a cosmetic patch only. Comparison of the resulting binary showed
      only line number differences.
      
      This patch does not affect the generation of the Linux binary.
      This patch decreases 170 lines of 20121018 divergence.diff.
      
      This patch updates ACPICA codes surrounded by some disabled build options
      so that the source code diff between Linux and ACPICA can be reduced.
      
      Some of these build options may never be used in the kernel, so they may
      be deleted entirely in future patches.
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      56324c10
    • L
      ACPICA: Cleanup updated comments. · 75c8044f
      Lv Zheng 提交于
      This is a cosmetic patch only. Comparison of the resulting binary showed
      only line number differences.
      
      This patch does not affect the generation of the Linux binary.
      This patch decreases 558 lines of 20121018 divergence.diff.
      
      This patch reduces the source code diff between Linux and ACPICA by
      cleaning the comments that already have been updated in ACPICA.
      
      There is no extra indentation done in this patch. Even the empty line
      deletions and insertions are also splitted into another cleanup patch so
      that this patch can be easily reviewed, and the binary differences can be
      held to a lowest level.
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      75c8044f
  22. 15 11月, 2012 4 次提交
    • B
      ACPICA: Remove extra spaces after periods within comments · 73a3090a
      Bob Moore 提交于
      This makes all comments consistent.
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      73a3090a
    • L
      ACPICA: Fix indent caused divergences. · 1f86e8c1
      Lv Zheng 提交于
      New version of "indent" program will generate different outputs that
      will lead to the divergences between the Linux and the ACPICA.
      This patch fixes such divergences caused by the "indent" program.
      The version of the "indent" used for this patch is "GNU indent 2.2.11".
      
      This patch will not affect the generated vmlinux binary.
      This will decrease 581 lines of 20120913 divergence.diff.
      Signed-off-by: NRobert Moore <robert.moore@intel.com>
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      1f86e8c1
    • L
      ACPICA: Fix AcpiSrc caused divergences. · 644ef74e
      Lv Zheng 提交于
      There are definitions that can been converted into new styles by
      the recent AcpiSrc while they remain the old styles in the Linux.
      This patch fixes those definitions that will be converted by the
      AcpiSrc.
      
      This patch will not affect the generated vmlinux binary.
      This will decrease 97 lines of 20120913 divergence.diff.
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      644ef74e
    • L
      ACPICA: Fix unmerged debugger divergences. · f540fadf
      Lv Zheng 提交于
      Debugger improvements in ACPICA are always ignored by ACPICA Linux
      release.  This will lead to divergences between Linux and ACPICA.
      This patch fixes such unmerged debugger updates.
      
      Following patches are included:
      1. Fixed a couple compiler warnings for extra extern
         Wed, 14 Mar 2007 21:12:19 +0000
      2. Cleanup for internal Reference Object.
         Wed, 27 Aug 2008 10:11:30 -0700
      3. Debugger: Lock method args for multithread command.
         Fri, 24 Apr 2009 12:28:49 -0700
      4. Debugger: Add max count argument for Batch command.
         Tue, 29 Sep 2009 12:31:58 -0700
      5. Add new host interfaces for _OSI support.
         Thu, 5 Aug 2010 14:18:28 -0700
      6. Increase debugger buffer size for method return objects.
         Wed, 17 Nov 2010 13:48:30 -0800
      7. Debugger: Add command to display status of global handlers.
         Tue, 25 Jan 2011 13:47:58 -0800
      8. Debugger: Split large dbcmds.c file.
         Wed, 26 Jan 2011 13:03:41 -0800
      9. Debugger/AcpiExec: Add support to pass complex args to methods.
         Tue, 17 May 2011 13:33:39 -0700
      10.Debugger: Add Template command to dump resource templates.
         Fri, 28 Oct 2011 14:18:51 -0700
      11.Support for custom ACPICA build for ACPI 5.0 reduced hardware.
         Wed, 1 Feb 2012 13:18:17 -0800
      12.Debugger: Improve command help support.
         Wed, 15 Feb 2012 07:59:26 -0800
      13.Update ACPI_HW_DEPENDENT* macro invocations.
         Wed, 15 Feb 2012 08:14:08 -0800
      14.Debugger: Rename function to simplify source code conversion.
         Wed, 13 Jun 2012 14:23:06 -0700
      15.Debugger: Enhance "Tables" and "Unload" commands.
         Fri, 29 Jun 2012 13:10:58 -0700
      16.Debugger: update prototype for AcpiDbSleep function.
         Fri, 17 Aug 2012 13:43:02 -0700
      
      This patch will not affect the generated vmlinx binary.
      This will decrease 264 lines of 20120913 divergence.diff.
      Signed-off-by: NRobert Moore <robert.moore@intel.com>
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      f540fadf
  23. 21 9月, 2012 2 次提交
  24. 17 7月, 2012 1 次提交
  25. 14 7月, 2012 2 次提交
  26. 01 6月, 2012 1 次提交
  27. 30 3月, 2012 1 次提交
  28. 17 1月, 2012 1 次提交