1. 24 Sep, 2014 3 commits
    • Matthew Garrett's avatar
      ACPI: Support _OSI("Darwin") correctly · 7bc5a2ba
      Matthew Garrett authored
      Apple hardware queries _OSI("Darwin") in order to determine whether the
      system is running OS X, and changes firmware behaviour based on the
      answer.  The most obvious difference in behaviour is that Thunderbolt
      hardware is forcibly powered down unless the system is running OS X. The
      obvious solution would be to simply add Darwin to the list of supported
      _OSI strings, but this causes problems.
      
      Recent Apple hardware includes two separate methods for checking _OSI
      strings. The first will check whether Darwin is supported, and if so
      will exit. The second will check whether Darwin is supported, but will
      then continue to check for further operating systems. If a further
      operating system is found then later firmware code will assume that the
      OS is not OS X.  This results in the unfortunate situation where the
      Thunderbolt controller is available at boot time but remains powered
      down after suspend.
      
      The easiest way to handle this is to special-case it in the
      Linux-specific OSI handling code. If we see Darwin, we should answer
      true and then disable all other _OSI vendor strings.
      
      The next problem is that the Apple PCI _OSC method has the following
      code:
      
      if (LEqual (0x01, OSDW ()))
        if (LAnd (LEqual (Arg0, GUID), NEXP)
          (do stuff)
        else
          (fail)
      NEXP is a value in high memory and is presumably under the control of
      the firmware. No methods sets it. The methods that are called in the "do
      stuff" path are dummies. Unless there's some additional firmware call in
      early boot, there's no way for this call to succeed - and even if it
      does, it doesn't do anything.
      
      The easiest way to handle this is simply to ignore it. We know which
      flags would be set, so just set them by hand if the platform is running
      in Darwin mode.
      Signed-off-by: default avatarMatthew Garrett <matthew.garrett@nebula.com>
      [andreas.noever@gmail.com: merged two patches, do not touch ACPICA]
      Signed-off-by: default avatarAndreas Noever <andreas.noever@gmail.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      7bc5a2ba
    • Matthew Garrett's avatar
      ACPI / SBS: Disable smart battery manager on Apple · 9faf6136
      Matthew Garrett authored
      Touching the smart battery manager at all on Apple hardware appears to
      make it unhappy - unplugging the AC adapter triggers accesses that hang
      the controller for several minutes. Quirk it out via DMI in order to
      avoid this.  Compensate by changing battery presence if we fail to
      communicate with the battery.
      Signed-off-by: default avatarMatthew Garrett <matthew.garrett@nebula.com>
      Signed-off-by: default avatarAndreas Noever <andreas.noever@gmail.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      9faf6136
    • Matthew Garrett's avatar
      ACPI / SBS: Don't assume the existence of an SBS charger · 3031cdde
      Matthew Garrett authored
      Apple hardware continues to expose an ACPI AC charger even when using
      SBS to report battery state. The charger status byte returns all 0s in
      this case.  Since the spec requires that bit 4 be 1 at all times, assume
      that there's not really a charger if it's set to zero.
      Signed-off-by: default avatarMatthew Garrett <matthew.garrett@nebula.com>
      Signed-off-by: default avatarAndreas Noever <andreas.noever@gmail.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      3031cdde
  2. 21 Sep, 2014 3 commits
    • Linus Torvalds's avatar
      Linux 3.17-rc6 · 0f33be00
      Linus Torvalds authored
      0f33be00
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · dae0af78
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "Fixes for ARM, the most notable being the fix from Nathan Lynch to fix
        the state of various registers during execve, to ensure that data
        can't be leaked between two executables.
      
        Fixes from Victor Kamensky for get_user() on big endian platforms,
        since the addition of 8-byte get_user() support broke these fairly
        badly.
      
        A fix from Sudeep Holla for affinity setting when hotplugging CPU 0.
      
        A fix from Stephen Boyd for a perf-induced sleep attempt while atomic.
      
        Lastly, a correctness fix for emulation of the SWP instruction on
        ARMv7+, and a fix for wrong carry handling when updating the
        translation table base address on LPAE platforms"
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: 8149/1: perf: Don't sleep while atomic when enabling per-cpu interrupts
        ARM: 8148/1: flush TLS and thumbee register state during exec
        ARM: 8151/1: add missing exports for asm functions required by get_user macro
        ARM: 8137/1: fix get_user BE behavior for target variable with size of 8 bytes
        ARM: 8135/1: Fix in-correct barrier usage in SWP{B} emulation
        ARM: 8133/1: use irq_set_affinity with force=false when migrating irqs
        ARM: 8132/1: LPAE: drop wrong carry flag correction after adding TTBR1_OFFSET
      dae0af78
    • Linus Torvalds's avatar
      Merge tag 'media-v3.17-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · c1f03b48
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
       "some media bug fixes:
         - a Kconfig dependency issue
         - some fixes for af9033/it913x demod to be more reliable and address
           a performance regression
         - cx18: fix an oops on devices with tda8290 tuner
         - two new USB IDs for af9035
         - a couple fixes on smapp driver"
      
      * tag 'media-v3.17-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        [media] af9035: new IDs: add support for PCTV 78e and PCTV 79e
        [media] af9033: feed clock to RF tuner
        [media] it913x: init tuner on attach
        [media] af9033: update IT9135 tuner inittabs
        [media] Kconfig: do not select SPI bus on sub-driver auto-select
        [media] cx18: fix kernel oops with tda8290 tuner
        [media] smiapp: Set sub-device owner
        [media] smiapp: Fix power count handling
      c1f03b48
  3. 20 Sep, 2014 8 commits
  4. 19 Sep, 2014 21 commits
  5. 18 Sep, 2014 5 commits