1. 08 3月, 2013 2 次提交
  2. 07 3月, 2013 2 次提交
  3. 06 3月, 2013 2 次提交
    • P
      drm/i915: Fix incorrect definition of ADPA HSYNC and VSYNC bits · 60222c0c
      Patrik Jakobsson 提交于
      Disable bits for ADPA HSYNC and VSYNC where mixed up resulting in suspend
      becoming standby and vice versa. Fixed by swapping their bit position.
      Reported-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NPatrik Jakobsson <patrik.r.jakobsson@gmail.com>
      Reviewed-by: NEric Anholt <eric@anholt.net>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      60222c0c
    • P
      drm/i915: also disable south interrupts when handling them · 44498aea
      Paulo Zanoni 提交于
      From the docs:
      
        "IIR can queue up to two interrupt events. When the IIR is cleared,
        it will set itself again after one clock if a second event was
        stored."
      
        "Only the rising edge of the PCH Display interrupt will cause the
        North Display IIR (DEIIR) PCH Display Interrupt even bit to be set,
        so all PCH Display Interrupts, including back to back interrupts,
        must be cleared before a new PCH Display interrupt can cause DEIIR
        to be set".
      
      The current code works fine because we don't get many interrupts, but
      if we enable the PCH FIFO underrun interrupts we'll start getting so
      many interrupts that at some point new PCH interrupts won't cause
      DEIIR to be set.
      
      The initial implementation I tried was to turn the code that checks
      SDEIIR into a loop, but we can still get interrupts even after the
      loop is done (and before the irq handler finishes), so we have to
      either disable the interrupts or mask them. In the end I concluded
      that just disabling the PCH interrupts is enough, you don't even need
      the loop, so this is what this patch implements. I've tested it and it
      passes the 2 "PCH FIFO underrun interrupt storms" I can reproduce:
      the "ironlake_crtc_disable" case and the "wrong watermarks" case.
      
      In other words, here's how to reproduce the problem fixed by this
      patch:
        1 - Enable PCH FIFO underrun interrupts (SERR_INT on SNB+)
        2 - Boot the machine
        3 - While booting we'll get tons of PCH FIFO underrun interrupts
        4 - Plug a new monitor
        5 - Run xrandr, notice it won't detect the new monitor
        6 - Read SDEIIR and notice it's not 0 while DEIIR is 0
      
      Q: Can't we just clear DEIIR before SDEIIR?
      A: It doesn't work. SDEIIR has to be completely cleared (including the
      interrupts stored on its back queue) before it can flip DEIIR's bit to
      1 again, and even while you're clearing it you'll be getting more and
      more interrupts.
      
      Q: Why does it work by just disabling+enabling the south interrupts?
      A: Because when we re-enable them, if there's something on the SDEIIR
      register (maybe an interrupt stored on the queue), the re-enabling
      will make DEIIR's bit flip to 1, and since we'll already have
      interrupts enabled we'll get another interrupt, then run our irq
      handler again to process the "back" interrupts.
      
      v2: Even bigger commit message, added code comments.
      
      Note that this fixes missed dp aux irqs which have been reported for
      3.9-rc1. This regression has been introduced by switching to
      irq-driven dp aux transactions with
      
      commit 9ee32fea
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Sat Dec 1 13:53:48 2012 +0100
      
          drm/i915: irq-drive the dp aux communication
      
      References: http://www.mail-archive.com/intel-gfx@lists.freedesktop.org/msg18588.html
      References: https://lkml.org/lkml/2013/2/26/769Tested-by: NImre Deak <imre.deak@intel.com>
      Reported-by: NSedat Dilek <sedat.dilek@gmail.com>
      Reported-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      [danvet: Pimp commit message with references for the dp aux irq
      timeout regression this fixes.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      44498aea
  4. 05 3月, 2013 4 次提交
  5. 04 3月, 2013 24 次提交
  6. 03 3月, 2013 6 次提交
    • G
      btrfs/raid56: Add missing #include <linux/vmalloc.h> · d7011f5b
      Geert Uytterhoeven 提交于
      tilegx_defconfig:
      
      fs/btrfs/raid56.c: In function 'btrfs_alloc_stripe_hash_table':
      fs/btrfs/raid56.c:206:3: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration]
      fs/btrfs/raid56.c:206:9: warning: assignment makes pointer from integer without a cast [enabled by default]
      fs/btrfs/raid56.c:226:4: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration]
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NChris Mason <chris.mason@fusionio.com>
      d7011f5b
    • L
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · a7c1120d
      Linus Torvalds 提交于
      Pull ext4 bug fixes from Ted Ts'o:
       "Various bug fixes for ext4.  The most important is a fix for the new
        extent cache's slab shrinker which can cause significant, user-visible
        pauses when the system is under memory pressure."
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: enable quotas before orphan cleanup
        ext4: don't allow quota mount options when quota feature enabled
        ext4: fix a warning from sparse check for ext4_dir_llseek
        ext4: convert number of blocks to clusters properly
        ext4: fix possible memory leak in ext4_remount()
        jbd2: fix ERR_PTR dereference in jbd2__journal_start
        ext4: use percpu counter for extent cache count
        ext4: optimize ext4_es_shrink()
      a7c1120d
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal · 6ec40b42
      Linus Torvalds 提交于
      Pull sigprocmask compat fix from Al Viro:
       "generic compat_sys_rt_sigprocmask() had a very dumb braino; I'd spent
        quite a while staring at the offending commit before finally managing
        to spot the idiocy ;-/"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
        fix compat_sys_rt_sigprocmask()
      6ec40b42
    • A
      fix compat_sys_rt_sigprocmask() · db61ec29
      Al Viro 提交于
      Converting bitmask to 32bit granularity is fine, but we'd better
      _do_ something with the result.  Such as "copy it to userland"...
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      db61ec29
    • L
      Merge tag 'nfs-for-3.9-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 8d05b377
      Linus Torvalds 提交于
      Pull NFS client bugfixes from Trond Myklebust:
       "We've just concluded another Connectathon interoperability testing
        week, and so here are the fixes for the bugs that were discovered:
      
         - Don't allow NFS silly-renamed files to be deleted
         - Don't start the retransmission timer when out of socket space
         - Fix a couple of pnfs-related Oopses.
         - Fix one more NFSv4 state recovery deadlock
         - Don't loop forever when LAYOUTGET returns NFS4ERR_LAYOUTTRYLATER"
      
      * tag 'nfs-for-3.9-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        SUNRPC: One line comment fix
        NFSv4.1: LAYOUTGET EDELAY loops timeout to the MDS
        SUNRPC: add call to get configured timeout
        PNFS: set the default DS timeout to 60 seconds
        NFSv4: Fix another open/open_recovery deadlock
        nfs: don't allow nfs_find_actor to match inodes of the wrong type
        NFSv4.1: Hold reference to layout hdr in layoutget
        pnfs: fix resend_to_mds for directio
        SUNRPC: Don't start the retransmission timer when out of socket space
        NFS: Don't allow NFS silly-renamed files to be deleted, no signal
      8d05b377
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · b695188d
      Linus Torvalds 提交于
      Pull btrfs update from Chris Mason:
       "The biggest feature in the pull is the new (and still experimental)
        raid56 code that David Woodhouse started long ago.  I'm still working
        on the parity logging setup that will avoid inconsistent parity after
        a crash, so this is only for testing right now.  But, I'd really like
        to get it out to a broader audience to hammer out any performance
        issues or other problems.
      
        scrub does not yet correct errors on raid5/6 either.
      
        Josef has another pass at fsync performance.  The big change here is
        to combine waiting for metadata with waiting for data, which is a big
        latency win.  It is also step one toward using atomics from the
        hardware during a commit.
      
        Mark Fasheh has a new way to use btrfs send/receive to send only the
        metadata changes.  SUSE is using this to make snapper more efficient
        at finding changes between snapshosts.
      
        Snapshot-aware defrag is also included.
      
        Otherwise we have a large number of fixes and cleanups.  Eric Sandeen
        wins the award for removing the most lines, and I'm hoping we steal
        this idea from XFS over and over again."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (118 commits)
        btrfs: fixup/remove module.h usage as required
        Btrfs: delete inline extents when we find them during logging
        btrfs: try harder to allocate raid56 stripe cache
        Btrfs: cleanup to make the function btrfs_delalloc_reserve_metadata more logic
        Btrfs: don't call btrfs_qgroup_free if just btrfs_qgroup_reserve fails
        Btrfs: remove reduplicate check about root in the function btrfs_clean_quota_tree
        Btrfs: return ENOMEM rather than use BUG_ON when btrfs_alloc_path fails
        Btrfs: fix missing deleted items in btrfs_clean_quota_tree
        btrfs: use only inline_pages from extent buffer
        Btrfs: fix wrong reserved space when deleting a snapshot/subvolume
        Btrfs: fix wrong reserved space in qgroup during snap/subv creation
        Btrfs: remove unnecessary dget_parent/dput when creating the pending snapshot
        btrfs: remove a printk from scan_one_device
        Btrfs: fix NULL pointer after aborting a transaction
        Btrfs: fix memory leak of log roots
        Btrfs: copy everything if we've created an inline extent
        btrfs: cleanup for open-coded alignment
        Btrfs: do not change inode flags in rename
        Btrfs: use reserved space for creating a snapshot
        clear chunk_alloc flag on retryable failure
        ...
      b695188d