1. 13 12月, 2011 8 次提交
  2. 06 12月, 2011 2 次提交
    • S
      ASoC: WM8903: Fix platform data gpio_cfg confusion · a0f203d3
      Stephen Warren 提交于
      wm8903_platform_data.gpio_cfg[] was intended to be interpreted as follows:
      0:       Don't touch this GPIO's configuration register
      1..7fff: Write that value to the GPIO's configuration register
      8000:    Write zero to the GPIO's configuration register
      other:   Undefined (invalid)
      
      The rationale is that platform data is usually global data, and a value of
      zero means that the field wasn't explicitly set to anything (e.g. because
      the field was new to the pdata type, and existing users weren't update to
      initialize it) and hence the value zero should be ignored. 0x8000 is an
      explicit way to get 0 in the register.
      
      The code worked this way until commit 7cfe5617 "ASoC: wm8903: Expose GPIOs
      through gpiolib", where the behaviour was changed due to my lack of
      awareness of the above rationale.
      
      This patch reverts to the intended behaviour, and updates all in-tree users
      to use the correct scheme. This also makes WM8903 consistent with other
      devices that use a similar scheme.
      
      WM8903_GPIO_NO_CONFIG is also renamed to WM8903_GPIO_CONFIG_ZERO so that
      its name accurately reflects its purpose.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Cc: Olof Johansson <olof@lixom.net>
      Cc: Colin Cross <ccross@android.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      a0f203d3
    • M
      regmap: Add irq_base accessor to regmap_irq · 209a6006
      Mark Brown 提交于
      Allows devices to discover their own interrupt without having to remember
      it themselves.
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      209a6006
  3. 05 12月, 2011 1 次提交
  4. 02 12月, 2011 2 次提交
  5. 01 12月, 2011 3 次提交
  6. 29 11月, 2011 3 次提交
  7. 24 11月, 2011 4 次提交
  8. 23 11月, 2011 3 次提交
  9. 20 11月, 2011 1 次提交
    • M
      drm/radeon/kms: add a CS ioctl flag not to rewrite tiling flags in the CS · e70f224c
      Marek Olšák 提交于
      This adds a new optional chunk to the CS ioctl that specifies optional flags
      to the CS parser. Why this is useful is explained below. Note that some regs
      no longer need the NOP relocation packet if this feature is enabled.
      Tested on r300g and r600g with this flag disabled and enabled.
      
      Assume there are two contexts sharing the same mipmapped tiled texture.
      One context wants to render into the first mipmap and the other one
      wants to render into the last mipmap. As you probably know, the hardware
      has a MACRO_SWITCH feature, which turns off macro tiling for small mipmaps,
      but that only applies to samplers.
      (at least on r300-r500, though later hardware likely behaves the same)
      
      So we want to just re-set the tiling flags before rendering (writing
      packets), right? ... No. The contexts run in parallel, so they may
      set the tiling flags simultaneously and then fire their command streams
      also simultaneously. The last one setting the flags wins, the other one
      loses.
      
      Another problem is when one context wants to render into the first and
      the last mipmap in one CS. Impossible. It must flush before changing
      tiling flags and do the rendering into the smaller mipmaps in another CS.
      
      Yet another problem is that writing copy_blit in userspace would be a mess
      involving re-setting tiling flags to please the kernel, and causing races
      with other contexts at the same time.
      
      The only way out of this is to send tiling flags with each CS, ideally
      with each relocation. But we already do that through the registers.
      So let's just use what we have in the registers.
      Signed-off-by: NMarek Olšák <maraeo@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      e70f224c
  10. 19 11月, 2011 1 次提交
    • D
      hugetlb: remove dummy definitions of HPAGE_MASK and HPAGE_SIZE · a5c86e98
      David Rientjes 提交于
      Dummy, non-zero definitions for HPAGE_MASK and HPAGE_SIZE were added in
      51c6f666 ("mm: ZAP_BLOCK causes redundant work") to avoid a divide
      by zero in generic kernel code.
      
      That code has since been removed, but probably should never have been
      added in the first place: we don't want HPAGE_SIZE to act like PAGE_SIZE
      for code that is working with hugepages, for example, when the
      dependency on CONFIG_HUGETLB_PAGE has not been fulfilled.
      
      Because hugepage size can differ from architecture to architecture, each
      is required to have their own definitions for both HPAGE_MASK and
      HPAGE_SIZE.  This is always done in arch/*/include/asm/page.h.
      
      So, just remove the dummy and dangerous definitions since they are no
      longer needed and reveals the correct dependencies.  Tested on
      architectures using the definitions with allyesconfig: x86 (even with
      thp), hppa, mips, powerpc, s390, sh3, sh4, sparc, and sparc64, and with
      defconfig on ia64.
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a5c86e98
  11. 18 11月, 2011 1 次提交
    • R
      PM Sleep: Do not extend wakeup paths to devices with ignore_children set · 8b258cc8
      Rafael J. Wysocki 提交于
      Commit 4ca46ff3 (PM / Sleep: Mark
      devices involved in wakeup signaling during suspend) introduced
      the power.wakeup_path field in struct dev_pm_info to mark devices
      whose children are enabled to wake up the system from sleep states,
      so that power domains containing the parents that provide their
      children with wakeup power and/or relay their wakeup signals are not
      turned off.  Unfortunately, that introduced a PM regression on SH7372
      whose power consumption in the system "memory sleep" state increased
      as a result of it, because it prevented the power domain containing
      the I2C controller from being turned off when some children of that
      controller were enabled to wake up the system, although the
      controller was not necessary for them to signal wakeup.
      
      To fix this issue use the observation that devices whose
      power.ignore_children flag is set for runtime PM should be treated
      analogously during system suspend.  Namely, they shouldn't be
      included in wakeup paths going through their children.  Since the
      SH7372 I2C controller's power.ignore_children flag is set, doing so
      will restore the previous behavior of that SOC.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NGreg Kroah-Hartman <gregkh@suse.de>
      8b258cc8
  12. 17 11月, 2011 5 次提交
  13. 16 11月, 2011 5 次提交
  14. 15 11月, 2011 1 次提交