1. 05 4月, 2013 17 次提交
  2. 04 4月, 2013 7 次提交
  3. 03 4月, 2013 2 次提交
    • M
      clk: allow reentrant calls into the clk framework · 533ddeb1
      Mike Turquette 提交于
      Reentrancy into the clock framework is necessary for clock operations
      that result in nested calls to the clk api.  A common example is a clock
      that is prepared via an i2c transaction, such as a clock inside of a
      discrete audio chip or a power management IC.  The i2c subsystem itself
      will use the clk api resulting in a deadlock:
      
      clk_prepare(audio_clk)
      	i2c_transfer(..)
      		clk_prepare(i2c_controller_clk)
      
      The ability to reenter the clock framework prevents this deadlock.
      
      Other use cases exist such as allowing .set_rate callbacks to call
      clk_set_parent to achieve the best rate, or to save power in certain
      configurations.  Yet another example is performing pinctrl operations
      from a clk_ops callback.  Calls into the pinctrl subsystem may call
      clk_{un}prepare on an unrelated clock.  Allowing for nested calls to
      reenter the clock framework enables both of these use cases.
      
      Reentrancy is implemented by two global pointers that track the owner
      currently holding a global lock.  One pointer tracks the owner during
      sleepable, mutex-protected operations and the other one tracks the owner
      during non-interruptible, spinlock-protected operations.
      
      When the clk framework is entered we try to hold the global lock.  If it
      is held we compare the current task against the current owner; a match
      implies a nested call and we reenter.  If the values do not match then
      we block on the lock until it is released.
      Signed-off-by: NMike Turquette <mturquette@linaro.org>
      Cc: Rajagopal Venkat <rajagopal.venkat@linaro.org>
      Cc: David Brown <davidb@codeaurora.org>
      Tested-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Reviewed-by: NThomas Gleixner <tglx@linutronix.de>
      Reviewed-by: NUlf Hansson <ulf.hansson@linaro.org>
      533ddeb1
    • M
      clk: abstract locking out into helper functions · eab89f69
      Mike Turquette 提交于
      Create locking helpers for the global mutex and global spinlock.  The
      definitions of these helpers will be expanded upon in the next patch
      which introduces reentrancy into the locking scheme.
      Signed-off-by: NMike Turquette <mturquette@linaro.org>
      Cc: Rajagopal Venkat <rajagopal.venkat@linaro.org>
      Cc: David Brown <davidb@codeaurora.org>
      Tested-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Reviewed-by: NThomas Gleixner <tglx@linutronix.de>
      Reviewed-by: NUlf Hansson <ulf.hansson@linaro.org>
      eab89f69
  4. 27 3月, 2013 7 次提交
  5. 24 3月, 2013 7 次提交
    • L
      Linux 3.9-rc4 · 8bb96604
      Linus Torvalds 提交于
      8bb96604
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · a607a114
      Linus Torvalds 提交于
      Pull SCSI target fixes from Nicholas Bellinger:
       "These are mostly minor fixes this time around.  The iscsi-target CHAP
        big-endian bugfix and bump FD_MAX_SECTORS=2048 default patch to allow
        1MB sized I/Os for FILEIO backends on >= v3.5 code are both CC'ed to
        stable.
      
        Also, there is a persistent reservations regression that has recently
        been reported for >= v3.8.x code, that is currently being tracked down
        for v3.9."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        target/pscsi: Reject cross page boundary case in pscsi_map_sg
        target/file: Bump FD_MAX_SECTORS to 2048 to handle 1M sized I/Os
        tcm_vhost: Flush vhost_work in vhost_scsi_flush()
        tcm_vhost: Add missed lock in vhost_scsi_clear_endpoint()
        target: fix possible memory leak in core_tpg_register()
        target/iscsi: Fix mutual CHAP auth on big-endian arches
        target_core_sbc: use noop for SYNCHRONIZE_CACHE
      a607a114
    • L
      Merge tag 'md-3.9-fixes' of git://neil.brown.name/md · 22c3f2ff
      Linus Torvalds 提交于
      Pull md fixes from NeilBrown:
       "A few bugfixes for md
      
         - recent regressions in raid5
         - recent regressions in dmraid
         - a few instances of CONFIG_MULTICORE_RAID456 linger
      
        Several tagged for -stable"
      
      * tag 'md-3.9-fixes' of git://neil.brown.name/md:
        md: remove CONFIG_MULTICORE_RAID456 entirely
        md/raid5: ensure sync and DISCARD don't happen at the same time.
        MD: Prevent sysfs operations on uninitialized kobjects
        MD RAID5: Avoid accessing gendisk or queue structs when not available
        md/raid5: schedule_construction should abort if nothing to do.
      22c3f2ff
    • L
      Merge tag 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · c8c1f167
      Linus Torvalds 提交于
      Pull libata updates from Jeff Garzik:
       "Simple stuff.  See one-line summaries."
      
      * tag 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        pata_samsung_cf: use module_platform_driver_probe()
        [libata] Avoid specialized TLA's in ZPODD's Kconfig
        libata-acpi.c: fix copy and paste mistake in ata_acpi_register_power_resource
        sata_fsl: Remove redundant NULL check before kfree
        ahci: Add Device IDs for Intel Wellsburg PCH
        ata_piix: Add MODULE_PARM_DESC to prefer_ms_hyperv
      c8c1f167
    • L
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · df2a8f39
      Linus Torvalds 提交于
      Pull i2c fixes from Wolfram Sang:
       "One bugfix for the tegra driver.  Two updates regarding email
        addresses and MAINTAINERS which I like to have up-to-date so people
        can be reached immediately.  While we are here, there is on PCI_ID
        addition."
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        MAINTAINERS: add maintainer entry for atmel i2c driver
        i2c: Fix my e-mail address in drivers and documentation
        i2c: iSMT: add Intel Avoton DeviceIDs
        i2c: tegra: check the clk_prepare_enable() return value
      df2a8f39
    • L
      Merge git://www.linux-watchdog.org/linux-watchdog · a4e71e79
      Linus Torvalds 提交于
      Pull watchdog fixes from Wim Van Sebroeck:
       "Fix a boot issues and correct the AcpiMmioSel bitmask in the
        sp5100_tco watchdog device driver"
      
      * git://www.linux-watchdog.org/linux-watchdog:
        watchdog: sp5100_tco: Set the AcpiMmioSel bitmask value to 1 instead of 2
        watchdog: sp5100_tco: Remove code that may cause a boot failure
      a4e71e79
    • T
      KMS: fix EDID detailed timing frame rate · c19b3b0f
      Torsten Duwe 提交于
      When KMS has parsed an EDID "detailed timing", it leaves the frame rate
      zeroed.  Consecutive (debug-) output of that mode thus yields 0 for
      vsync.  This simple fix also speeds up future invocations of
      drm_mode_vrefresh().
      
      While it is debatable whether this qualifies as a -stable fix I'd apply
      it for consistency's sake; drm_helper_probe_single_connector_modes()
      does the same thing already for all probed modes.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NTorsten Duwe <duwe@lst.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c19b3b0f