1. 16 Mar, 2012 1 commit
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-qos' · 59fb53ea
      Rafael J. Wysocki authored
      * pm-qos:
        sh_mmcif / PM: Use PM QoS latency constraint
        tmio_mmc / PM: Use PM QoS latency constraint
        PM / QoS: Make it possible to expose PM QoS latency constraints
      59fb53ea
  2. 13 Mar, 2012 3 commits
    • Rafael J. Wysocki's avatar
      sh_mmcif / PM: Use PM QoS latency constraint · efe6a8ad
      Rafael J. Wysocki authored
      Make sh_mmcif call dev_pm_qos_expose_latency_limit() to expose
      the PM QoS latency limit to user space and specify the initial
      value of it as 100 microseconds.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      efe6a8ad
    • Rafael J. Wysocki's avatar
      tmio_mmc / PM: Use PM QoS latency constraint · c419e611
      Rafael J. Wysocki authored
      Make tmio_mmc call dev_pm_qos_expose_latency_limit() to expose
      the PM QoS latency limit to user space and specify the initial
      value of it as 100 microseconds.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      c419e611
    • Rafael J. Wysocki's avatar
      PM / QoS: Make it possible to expose PM QoS latency constraints · 85dc0b8a
      Rafael J. Wysocki authored
      A runtime suspend of a device (e.g. an MMC controller) belonging to
      a power domain or, in a more complicated scenario, a runtime suspend
      of another device in the same power domain, may cause power to be
      removed from the entire domain.  In that case, the amount of time
      necessary to runtime-resume the given device (e.g. the MMC
      controller) is often substantially greater than the time needed to
      run its driver's runtime resume callback.  That may hurt performance
      in some situations, because user data may need to wait for the
      device to become operational, so we should make it possible to
      prevent that from happening.
      
      For this reason, introduce a new sysfs attribute for devices,
      power/pm_qos_resume_latency_us, allowing user space to specify the
      upper bound of the time necessary to bring the (runtime-suspended)
      device up after the resume of it has been requested.  However, make
      that attribute appear only for the devices whose drivers declare
      support for it by calling the (new) dev_pm_qos_expose_latency_limit()
      helper function with the appropriate initial value of the attribute.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Reviewed-by: default avatarKevin Hilman <khilman@ti.com>
      Reviewed-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      85dc0b8a
  3. 04 Mar, 2012 14 commits
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-qos' · ed819e3b
      Rafael J. Wysocki authored
      * pm-qos:
        PM / QoS: unconditionally build the feature
        PM / QoS: Simplify PM QoS expansion/merge
      ed819e3b
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-domains' · 48ed0003
      Rafael J. Wysocki authored
      * pm-domains:
        PM / Domains: Fix include for PM_GENERIC_DOMAINS=n case
        PM / Domains: Provide a dummy dev_gpd_data() when generic domains are not used
        PM / Domains: Run late/early device suspend callbacks at the right time
        ARM: EXYNOS: Hook up power domains to generic power domain infrastructure
        PM / Domains: Add OF support
      48ed0003
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-sleep' · 643161ac
      Rafael J. Wysocki authored
      * pm-sleep:
        PM / Freezer: Remove references to TIF_FREEZE in comments
        PM / Sleep: Add more wakeup source initialization routines
        PM / Hibernate: Enable usermodehelpers in hibernate() error path
        PM / Sleep: Make __pm_stay_awake() delete wakeup source timers
        PM / Sleep: Fix race conditions related to wakeup source timer function
        PM / Sleep: Fix possible infinite loop during wakeup source destruction
        PM / Hibernate: print physical addresses consistently with other parts of kernel
        PM: Add comment describing relationships between PM callbacks to pm.h
        PM / Sleep: Drop suspend_stats_update()
        PM / Sleep: Make enter_state() in kernel/power/suspend.c static
        PM / Sleep: Unify kerneldoc comments in kernel/power/suspend.c
        PM / Sleep: Remove unnecessary label from suspend_freeze_processes()
        PM / Sleep: Do not check wakeup too often in try_to_freeze_tasks()
        PM / Sleep: Initialize wakeup source locks in wakeup_source_add()
        PM / Hibernate: Refactor and simplify freezer_test_done
        PM / Hibernate: Thaw kernel threads in hibernation_snapshot() in error/test path
        PM / Freezer / Docs: Document the beauty of freeze/thaw semantics
        PM / Suspend: Avoid code duplication in suspend statistics update
        PM / Sleep: Introduce generic callbacks for new device PM phases
        PM / Sleep: Introduce "late suspend" and "early resume" of devices
      643161ac
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-devfreq' · 743c5bc2
      Rafael J. Wysocki authored
      * pm-devfreq:
        PM / devfreq: add min/max_freq limit requested by users.
        PM / devfreq: fixed syntax errors.
        devfreq: Remove MODULE_ALIAS for exynos4 busfreq driver
        devfreq: exynos4_bus: Use dev_get_drvdata at appropriate places
      743c5bc2
    • Magnus Damm's avatar
      PM / Domains: Fix include for PM_GENERIC_DOMAINS=n case · b642631d
      Magnus Damm authored
      Fix pm_genpd_init() arguments and make sure dev_gpd_data() and
      simple_qos_governor exist regardless of CONFIG_PM_GENERIC_DOMAINS
      setting.
      Signed-off-by: default avatarMagnus Damm <damm@opensource.se>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      b642631d
    • Marcos Paulo de Souza's avatar
      PM / Freezer: Remove references to TIF_FREEZE in comments · 37f08be1
      Marcos Paulo de Souza authored
      This patch removes all the references in the code about the TIF_FREEZE
      flag removed by commit a3201227
      
          freezer: make freezing() test freeze conditions in effect instead of TIF_FREEZE
      
      There still are some references to TIF_FREEZE in
      Documentation/power/freezing-of-tasks.txt, but it looks like that
      documentation needs more thorough work to reflect how the new
      freezer works, and hence merely removing the references to TIF_FREEZE
      won't really help. So I have not touched that part in this patch.
      Suggested-by: default avatarSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Signed-off-by: default avatarMarcos Paulo de Souza <marcos.mage@gmail.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      37f08be1
    • Rafael J. Wysocki's avatar
      PM / Sleep: Add more wakeup source initialization routines · 8671bbc1
      Rafael J. Wysocki authored
      The existing wakeup source initialization routines are not
      particularly useful for wakeup sources that aren't created by
      wakeup_source_create(), because their users have to open code
      filling the objects with zeros and setting their names.  For this
      reason, introduce routines that can be used for initializing, for
      example, static wakeup source objects.
      Requested-by: default avatarArve Hjønnevåg <arve@android.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      8671bbc1
    • Srivatsa S. Bhat's avatar
      PM / Hibernate: Enable usermodehelpers in hibernate() error path · 05b4877f
      Srivatsa S. Bhat authored
      If create_basic_memory_bitmaps() fails, usermodehelpers are not re-enabled
      before returning. Fix this. And while at it, reword the goto labels so that
      they look more meaningful.
      Signed-off-by: default avatarSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      05b4877f
    • Rafael J. Wysocki's avatar
      PM / Sleep: Make __pm_stay_awake() delete wakeup source timers · 4782e165
      Rafael J. Wysocki authored
      If __pm_stay_awake() is called after __pm_wakeup_event() for the same
      wakep source object before its timer expires, it won't cancel the
      timer, so the wakeup source will be deactivated from the timer
      function as scheduled by __pm_wakeup_event().  In that case
      __pm_stay_awake() doesn't have any effect beyond incrementing
      the wakeup source's event_count field, although it should cancel
      the timer and make the wakeup source stay active until __pm_relax()
      is called for it.
      
      To fix this problem make __pm_stay_awake() delete the wakeup source's
      timer and ensure that it won't be deactivated from the timer funtion
      afterwards by clearing its timer_expires field.
      Reported-by: default avatarArve Hjønnevåg <arve@android.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      4782e165
    • Rafael J. Wysocki's avatar
      PM / Sleep: Fix race conditions related to wakeup source timer function · da863cdd
      Rafael J. Wysocki authored
      If __pm_wakeup_event() has been used (with a nonzero timeout) to
      report a wakeup event and then __pm_relax() immediately followed by
      __pm_stay_awake() is called or __pm_wakeup_event() is called once
      again for the same wakeup source object before its timer expires, the
      timer function pm_wakeup_timer_fn() may still be run as a result of
      the previous __pm_wakeup_event() call.  In either of those cases it
      may mistakenly deactivate the wakeup source that has just been
      activated.
      
      To prevent that from happening, make wakeup_source_deactivate()
      clear the wakeup source's timer_expires field and make
      pm_wakeup_timer_fn() check if timer_expires is different from zero
      and if it's not in future before calling wakeup_source_deactivate()
      (if timer_expires is 0, it means that the timer has just been
      deleted and if timer_expires is in future, it means that the timer
      has just been rescheduled to a different time).
      Reported-by: default avatarArve Hjønnevåg <arve@android.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      da863cdd
    • Rafael J. Wysocki's avatar
      PM / Sleep: Fix possible infinite loop during wakeup source destruction · d94aff87
      Rafael J. Wysocki authored
      If wakeup_source_destroy() is called for an active wakeup source that
      is never deactivated, it will spin forever.  To prevent that from
      happening, make wakeup_source_destroy() call __pm_relax() for the
      wakeup source object it is about to free instead of waiting until
      it will be deactivated by someone else.  However, for this to work
      it also needs to make sure that the timer function will not be
      executed after the final __pm_relax(), so make it run
      del_timer_sync() on the wakeup source's timer beforehand.
      
      Additionally, update the kerneldoc comment to document the
      requirement that __pm_stay_awake() and __pm_wakeup_event() must not
      be run in parallel with wakeup_source_destroy().
      Reported-by: default avatarArve Hjønnevåg <arve@android.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      d94aff87
    • Linus Torvalds's avatar
      Linux 3.3-rc6 · 192cfd58
      Linus Torvalds authored
      192cfd58
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 · 8482a0ab
      Linus Torvalds authored
      SCSI fixes from James Bottomley:
       "There's just a single fix in here: the osd max device number fix."
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
        [SCSI] osd_uld: Bump MAX_OSD_DEVICES from 64 to 1,048,576
      8482a0ab
    • Linus Torvalds's avatar
      Merge tag 'parisc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6 · 233ba2c5
      Linus Torvalds authored
      PARISC fixes from James Bottomley:
       "This is a set of build fixes to get the cross compiled architecture
        testbeds building again"
      
      * tag 'parisc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6:
        [PARISC] don't unconditionally override CROSS_COMPILE for 64 bit.
        [PARISC] include <linux/prefetch.h> in drivers/parisc/iommu-helpers.h
        [PARISC] fix compile break caused by iomap: make IOPORT/PCI mapping functions conditional
      233ba2c5
  4. 03 Mar, 2012 3 commits
  5. 02 Mar, 2012 19 commits