1. 05 May, 2013 2 commits
  2. 04 May, 2013 2 commits
    • Linus Torvalds's avatar
      ipc: sem_putref() does not need the semaphore lock any more · 73b29505
      Linus Torvalds authored
      ipc_rcu_putref() uses atomics for the refcount, and the games to lock
      and unlock the semaphore just to try to keep the reference counting
      working are no longer useful.
      Acked-by: default avatarDavidlohr Bueso <davidlohr.bueso@hp.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      73b29505
    • Linus Torvalds's avatar
      ipc: move rcu_read_unlock() out of sem_unlock() and into callers · 6d49dab8
      Linus Torvalds authored
      The IPC locking is a mess, and sem_unlock() unlocks not only the
      semaphore spinlock, it also drops the rcu read lock.  Unlike sem_lock(),
      which just gets the spin-lock, and expects the caller to get the rcu
      read lock.
      
      This all makes things very hard to follow, and it's very confusing when
      you take the rcu read lock in one function, and then release it in
      another.  And it has caused actual bugs: the sem_obtain_lock() function
      ended up dropping the RCU read lock twice in one error path, because it
      first did the sem_unlock(), and then did a rcu_read_unlock() to match
      the rcu_read_lock() it had done.
      
      This is just a totally mindless "remove rcu_read_unlock() from
      sem_unlock() and add it immediately after each caller" (except for the
      aforementioned bug where we did too many rcu_read_unlock(), and in
      find_alloc_undo() where we just got the rcu_read_lock() to correct for
      the fact that sem_unlock would immediately drop it again).
      
      We can (and should) clean things up further, but this fixes the bug with
      the minimal amount of subtlety.
      Reviewed-by: default avatarDavidlohr Bueso <davidlohr.bueso@hp.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6d49dab8
  3. 03 May, 2013 6 commits
    • Al Viro's avatar
      ipc: fix GETALL/IPC_RM race for sysv semaphores · ce857229
      Al Viro authored
      We can step on WARN_ON_ONCE() in sem_getref() if a semaphore is removed
      just as we are about to call sem_getref() from semctl_main(); results
      are not pretty.
      
      We should fail with -EIDRM, same as if IPC_RM happened while we'd been
      doing allocation there.  This also expands sem_getref() at its only
      callsite (and fixed there), while sem_getref_and_unlock() is simply
      killed off - it has no callers at all.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Acked-by: default avatarDavidlohr Bueso <davidlohr.bueso@hp.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ce857229
    • Linus Torvalds's avatar
      Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux · 20a2078c
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "This is the main drm pull request for 3.10.
      
        Wierd bits:
         - OMAP drm changes required OMAP dss changes, in drivers/video, so I
           took them in here.
         - one more fbcon fix for font handover
         - VT switch avoidance in pm code
         - scatterlist helpers for gpu drivers - have acks from akpm
      
        Highlights:
         - qxl kms driver - driver for the spice qxl virtual GPU
      
        Nouveau:
         - fermi/kepler VRAM compression
         - GK110/nvf0 modesetting support.
      
        Tegra:
         - host1x core merged with 2D engine support
      
        i915:
         - vt switchless resume
         - more valleyview support
         - vblank fixes
         - modesetting pipe config rework
      
        radeon:
         - UVD engine support
         - SI chip tiling support
         - GPU registers initialisation from golden values.
      
        exynos:
         - device tree changes
         - fimc block support
      
        Otherwise:
         - bunches of fixes all over the place."
      
      * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (513 commits)
        qxl: update to new idr interfaces.
        drm/nouveau: fix build with nv50->nvc0
        drm/radeon: fix handling of v6 power tables
        drm/radeon: clarify family checks in pm table parsing
        drm/radeon: consolidate UVD clock programming
        drm/radeon: fix UPLL_REF_DIV_MASK definition
        radeon: add bo tracking debugfs
        drm/radeon: add new richland pci ids
        drm/radeon: add some new SI PCI ids
        drm/radeon: fix scratch reg handling for UVD fence
        drm/radeon: allocate SA bo in the requested domain
        drm/radeon: fix possible segfault when parsing pm tables
        drm/radeon: fix endian bugs in atom_allocate_fb_scratch()
        OMAPDSS: TFP410: return EPROBE_DEFER if the i2c adapter not found
        OMAPDSS: VENC: Add error handling for venc_probe_pdata
        OMAPDSS: HDMI: Add error handling for hdmi_probe_pdata
        OMAPDSS: RFBI: Add error handling for rfbi_probe_pdata
        OMAPDSS: DSI: Add error handling for dsi_probe_pdata
        OMAPDSS: SDI: Add error handling for sdi_probe_pdata
        OMAPDSS: DPI: Add error handling for dpi_probe_pdata
        ...
      20a2078c
    • Dave Airlie's avatar
      qxl: update to new idr interfaces. · 307b9c02
      Dave Airlie authored
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      307b9c02
    • Dave Airlie's avatar
      Merge branch 'server-fixes' into drm-next · d2dbaaf6
      Dave Airlie authored
      Merge the fixes for the server driver dirty update paths
      * server-fixes:
        drm/cirrus: deal with bo reserve fail in dirty update path
        drm/ast: deal with bo reserve fail in dirty update path
        drm/mgag200: deal with bo reserve fail in dirty update path
      d2dbaaf6
    • Dave Airlie's avatar
      Merge tag 'omapdss-for-3.10-fixes' of git://gitorious.org/linux-omap-dss2/linux into drm-next · 7e17fc0b
      Dave Airlie authored
      OMAPDSS fixes for 3.10:
      
      * Compilation fix when DSI is disabled in Kconfig
      * Basic deferred probe support to fix DT boot
      
      * tag 'omapdss-for-3.10-fixes' of git://gitorious.org/linux-omap-dss2/linux:
        OMAPDSS: TFP410: return EPROBE_DEFER if the i2c adapter not found
        OMAPDSS: VENC: Add error handling for venc_probe_pdata
        OMAPDSS: HDMI: Add error handling for hdmi_probe_pdata
        OMAPDSS: RFBI: Add error handling for rfbi_probe_pdata
        OMAPDSS: DSI: Add error handling for dsi_probe_pdata
        OMAPDSS: SDI: Add error handling for sdi_probe_pdata
        OMAPDSS: DPI: Add error handling for dpi_probe_pdata
        OMAPDSS: VENC: use platform_driver_register()
        OMAPDSS: HDMI: use platform_driver_register()
        OMAPDSS: RFBI: use platform_driver_register()
        OMAPDSS: DSI: use platform_driver_register()
        OMAPDSS: SDI: use platform_driver_register()
        OMAPDSS: DPI: use platform_driver_register()
        OMAPFB: defer probe if no displays
        OMAPFB: use module_platform_driver()
        OMAPDSS: Makefile: move omapfb after panels
        OMAPDSS: DPI: fix compilation if DSI not compiled in
      7e17fc0b
    • Dave Airlie's avatar
      Merge branch 'drm-next-3.10-2' of git://people.freedesktop.org/~agd5f/linux into drm-next · 61109488
      Dave Airlie authored
      Just some fixes that have accumulated over the last couple of
      weeks and some new PCI ids.
      
      * 'drm-next-3.10-2' of git://people.freedesktop.org/~agd5f/linux:
        drm/radeon: fix handling of v6 power tables
        drm/radeon: clarify family checks in pm table parsing
        drm/radeon: consolidate UVD clock programming
        drm/radeon: fix UPLL_REF_DIV_MASK definition
        radeon: add bo tracking debugfs
        drm/radeon: add new richland pci ids
        drm/radeon: add some new SI PCI ids
        drm/radeon: fix scratch reg handling for UVD fence
        drm/radeon: allocate SA bo in the requested domain
        drm/radeon: fix possible segfault when parsing pm tables
        drm/radeon: fix endian bugs in atom_allocate_fb_scratch()
      61109488
  4. 02 May, 2013 30 commits
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0279b3c0
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "This fixes the cputime scaling overflow problems for good without
        having bad 32-bit overhead, and gets rid of the div64_u64_rem() helper
        as well."
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Revert "math64: New div64_u64_rem helper"
        sched: Avoid prev->stime underflow
        sched: Do not account bogus utime
        sched: Avoid cputime scaling overflow
      0279b3c0
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 797994f8
      Linus Torvalds authored
      Pull crypto update from Herbert Xu:
      
       - XTS mode optimisation for twofish/cast6/camellia/aes on x86
      
       - AVX2/x86_64 implementation for blowfish/twofish/serpent/camellia
      
       - SSSE3/AVX/AVX2 optimisations for sha256/sha512
      
       - Added driver for SAHARA2 crypto accelerator
      
       - Fix for GMAC when used in non-IPsec secnarios
      
       - Added generic CMAC implementation (including IPsec glue)
      
       - IP update for crypto/atmel
      
       - Support for more than one device in hwrng/timeriomem
      
       - Added Broadcom BCM2835 RNG driver
      
       - Misc fixes
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (59 commits)
        crypto: caam - fix job ring cleanup code
        crypto: camellia - add AVX2/AES-NI/x86_64 assembler implementation of camellia cipher
        crypto: serpent - add AVX2/x86_64 assembler implementation of serpent cipher
        crypto: twofish - add AVX2/x86_64 assembler implementation of twofish cipher
        crypto: blowfish - add AVX2/x86_64 implementation of blowfish cipher
        crypto: tcrypt - add async cipher speed tests for blowfish
        crypto: testmgr - extend camellia test-vectors for camellia-aesni/avx2
        crypto: aesni_intel - fix Kconfig problem with CRYPTO_GLUE_HELPER_X86
        crypto: aesni_intel - add more optimized XTS mode for x86-64
        crypto: x86/camellia-aesni-avx - add more optimized XTS code
        crypto: cast6-avx: use new optimized XTS code
        crypto: x86/twofish-avx - use optimized XTS code
        crypto: x86 - add more optimized XTS-mode for serpent-avx
        xfrm: add rfc4494 AES-CMAC-96 support
        crypto: add CMAC support to CryptoAPI
        crypto: testmgr - add empty test vectors for null ciphers
        crypto: testmgr - add AES GMAC test vectors
        crypto: gcm - fix rfc4543 to handle async crypto correctly
        crypto: gcm - make GMAC work when dst and src are different
        hwrng: timeriomem - added devicetree hooks
        ...
      797994f8
    • Linus Torvalds's avatar
      Merge tag 'for-linus-v3.10-rc1' of git://oss.sgi.com/xfs/xfs · c8d85669
      Linus Torvalds authored
      Pull xfs update from Ben Myers:
       "For 3.10-rc1 we have a number of bug fixes and cleanups and a
        currently experimental feature from David Chinner, CRCs protection for
        metadata.  CRCs are enabled by using mkfs.xfs to create a filesystem
        with the feature bits set.
      
         - numerous fixes for speculative preallocation
         - don't verify buffers on IO errors
         - rename of random32 to prandom32
         - refactoring/rearrangement in xfs_bmap.c
         - removal of unused m_inode_shrink in struct xfs_mount
         - fix error handling of xfs_bufs and readahead
         - quota driven preallocation throttling
         - fix WARN_ON in xfs_vm_releasepage
         - add ratelimited printk for different alert levels
         - fix spurious forced shutdowns due to freed Extent Free Intents
         - remove some obsolete XLOG_CIL_HARD_SPACE_LIMIT() macros
         - remove some obsoleted comments
         - (experimental) CRC support for metadata"
      
      * tag 'for-linus-v3.10-rc1' of git://oss.sgi.com/xfs/xfs: (46 commits)
        xfs: fix da node magic number mismatches
        xfs: Remote attr validation fixes and optimisations
        xfs: Teach dquot recovery about CONFIG_XFS_QUOTA
        xfs: add metadata CRC documentation
        xfs: implement extended feature masks
        xfs: add CRC checks to the superblock
        xfs: buffer type overruns blf_flags field
        xfs: add buffer types to directory and attribute buffers
        xfs: add CRC protection to remote attributes
        xfs: split remote attribute code out
        xfs: add CRCs to attr leaf blocks
        xfs: add CRCs to dir2/da node blocks
        xfs: shortform directory offsets change for dir3 format
        xfs: add CRC checking to dir2 leaf blocks
        xfs: add CRC checking to dir2 data blocks
        xfs: add CRC checking to dir2 free blocks
        xfs: add CRC checks to block format directory blocks
        xfs: add CRC checks to remote symlinks
        xfs: split out symlink code into it's own file.
        xfs: add version 3 inode format with CRCs
        ...
      c8d85669
    • Linus Torvalds's avatar
      Merge tag 'for-linus-docs-2012-05-02' of git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci · a9586d9b
      Linus Torvalds authored
      Pull ReportingBugs rewrite from Sarah Sharp:
       "Here are the updates to ReportingBugs that were discussed and acked a
        couple weeks ago.  I've updated the fifth patch with your ack, as
        requested"
      
      * tag 'for-linus-docs-2012-05-02' of git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci:
        Docs: Move ref to Frohwalt Egerer to end of REPORTING-BUGS
        Docs: Add a tips section to REPORTING-BUGS.
        Docs: Expectations for bug reporters and maintainers
        Docs: Add info on supported kernels to REPORTING-BUGS.
        Docs: Add "Gather info" section to REPORTING-BUGS.
        Docs: Step-by-step directions for reporting bugs.
        Trivial: docs: Remove six-space indentation in REPORTING-BUGS.
      a9586d9b
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a8bdf745
      Linus Torvalds authored
      Pull x86 fixes from Peter Anvin:
       "Two regression fixes:
      
        1. On 64 bits, we would set NX on non-NX-capable hardware (very rare
           in 64-bit land, but a nonzero subset.)
      
        2. Fix suspend/resume across kernel versions"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86-64, init: Do not set NX bits on non-NX capable hardware
        x86, gdt, hibernate: Store/load GDT for hibernate path.
      a8bdf745
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-fixes-v3.10-1' of... · fbe8ed63
      Linus Torvalds authored
      Merge tag 'pinctrl-fixes-v3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
      
      Pull pinctrl fixes from Linus Walleij:
       "Two fixes to the pinctrl subsystem for v3.10:
         - A quite apparent mutex fix in an untested codepath
         - A compile warning fix in the plgpio driver"
      
      * tag 'pinctrl-fixes-v3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: fix mutex deadlock in get_pinctrl_dev_from_of_node()
        pinctrl: plgpio: add CONFIG_PM_SLEEP to suspend/resume functions
      fbe8ed63
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 99bece77
      Linus Torvalds authored
      Pull i2c changes from Wolfram Sang:
      
       - an arbitration driver.  While the driver is quite simple, it caused
         discussion if we need additional arbitration on top of the one
         specified in the I2C standard.  Conclusion is that I accept a few
         generic mechanisms, but not very specific ones.
      
       - the core lost the detach_adapter() call.  It has no users anymore and
         was in the way for other cleanups.  attach_adapter() is sadly still
         there since there are users waiting to be converted.
      
       - the core gained a bus recovery infrastructure.  I2C defines a way to
         recover if the data line is stalled.  This mechanism is now in the
         core and drivers can now pass some data to make use of it.
      
       - bigger driver cleanups for designware, s3c2410
      
       - removing superfluous refcounting from drivers
      
       - removing Ben Dooks as second maintainer due to inactivity.  Thanks
         for all your work so far, Ben!
      
       - bugfixes, feature additions, devicetree fixups, simplifications...
      
      * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (38 commits)
        i2c: xiic: must always write 16-bit words to TX_FIFO
        i2c: octeon: use HZ in timeout value
        i2c: octeon: Fix i2c fail problem when a process is terminated by a signal
        i2c: designware-pci: drop superfluous {get|put}_device
        i2c: designware-plat: drop superfluous {get|put}_device
        i2c: davinci: drop superfluous {get|put}_device
        MAINTAINERS: Ben Dooks is inactive regarding I2C
        i2c: mux: Add i2c-arb-gpio-challenge 'mux' driver
        i2c: at91: convert to dma_request_slave_channel_compat()
        i2c: mxs: do error checking and handling in PIO mode
        i2c: mxs: remove races in PIO code
        i2c-designware: switch to use runtime PM autosuspend
        i2c-designware: use usleep_range() in the busy-loop
        i2c-designware: enable/disable the controller properly
        i2c-designware: use dynamic adapter numbering on Lynxpoint
        i2c-designware-pci: use managed functions pcim_* and devm_*
        i2c-designware-pci: use dev_err() instead of printk()
        i2c-designware: move to managed functions (devm_*)
        i2c: remove CONFIG_HOTPLUG ifdefs
        i2c: s3c2410: Add SMBus emulation for block read
        ...
      99bece77
    • Linus Torvalds's avatar
      Merge tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · 736a2dd2
      Linus Torvalds authored
      Pull virtio & lguest updates from Rusty Russell:
       "Lots of virtio work which wasn't quite ready for last merge window.
      
        Plus I dived into lguest again, reworking the pagetable code so we can
        move the switcher page: our fixmaps sometimes take more than 2MB now..."
      
      Ugh.  Annoying conflicts with the tcm_vhost -> vhost_scsi rename.
      Hopefully correctly resolved.
      
      * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (57 commits)
        caif_virtio: Remove bouncing email addresses
        lguest: improve code readability in lg_cpu_start.
        virtio-net: fill only rx queues which are being used
        lguest: map Switcher below fixmap.
        lguest: cache last cpu we ran on.
        lguest: map Switcher text whenever we allocate a new pagetable.
        lguest: don't share Switcher PTE pages between guests.
        lguest: expost switcher_pages array (as lg_switcher_pages).
        lguest: extract shadow PTE walking / allocating.
        lguest: make check_gpte et. al return bool.
        lguest: assume Switcher text is a single page.
        lguest: rename switcher_page to switcher_pages.
        lguest: remove RESERVE_MEM constant.
        lguest: check vaddr not pgd for Switcher protection.
        lguest: prepare to make SWITCHER_ADDR a variable.
        virtio: console: replace EMFILE with EBUSY for already-open port
        virtio-scsi: reset virtqueue affinity when doing cpu hotplug
        virtio-scsi: introduce multiqueue support
        virtio-scsi: push vq lock/unlock into virtscsi_vq_done
        virtio-scsi: pass struct virtio_scsi to virtqueue completion function
        ...
      736a2dd2
    • Linus Torvalds's avatar
      Merge tag 'vfio-for-v3.10' of git://github.com/awilliam/linux-vfio · 0b2e3b6b
      Linus Torvalds authored
      Pull vfio updates from Alex Williamson:
       "Changes include extension to support PCI AER notification to
        userspace, byte granularity of PCI config space and access to
        unarchitected PCI config space, better protection around IOMMU driver
        accesses, default file mode fix, and a few misc cleanups."
      
      * tag 'vfio-for-v3.10' of git://github.com/awilliam/linux-vfio:
        vfio: Set container device mode
        vfio: Use down_reads to protect iommu disconnects
        vfio: Convert container->group_lock to rwsem
        PCI/VFIO: use pcie_flags_reg instead of access PCI-E Capabilities Register
        vfio-pci: Enable raw access to unassigned config space
        vfio-pci: Use byte granularity in config map
        vfio: make local function vfio_pci_intx_unmask_handler() static
        VFIO-AER: Vfio-pci driver changes for supporting AER
        VFIO: Wrapper for getting reference to vfio_device
      0b2e3b6b
    • Dave Airlie's avatar
      drm/nouveau: fix build with nv50->nvc0 · f49e7259
      Dave Airlie authored
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      f49e7259
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · e9589300
      Linus Torvalds authored
      Pull vhost cleanups and fixes from Michael Tsirkin:
       "Here are vhost cleanups and fixes by Asias He and myself.  They affect
        both vhost-net and vhost-scsi devices.  They also *depend* on both
        net-next and target-pending, where the net and target commits these
        changes depend on are already merged.  So merging through the common
        vhost tree."
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        vhost_scsi: module rename
        tcm_vhost: header split up
        vhost: src file renames
        vhost: fix error handling in RESET_OWNER ioctl
        tcm_vhost: remove virtio-net.h dependency
        vhost: move per-vq net specific fields out to net
        tcm_vhost: document inflight ref-counting use
        vhost: move vhost-net zerocopy fields to net.c
        tcm_vhost: Wait for pending requests in vhost_scsi_flush()
        vhost: Allow device specific fields per vq
      e9589300
    • H. Peter Anvin's avatar
      x86-64, init: Do not set NX bits on non-NX capable hardware · 78d77df7
      H. Peter Anvin authored
      During early init, we would incorrectly set the NX bit even if the NX
      feature was not supported.  Instead, only set this bit if NX is
      actually available and enabled.  We already do very early detection of
      the NX bit to enable it in EFER, this simply extends this detection to
      the early page table mask.
      Reported-by: default avatarFernando Luis Vázquez Cao <fernando@oss.ntt.co.jp>
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      Link: http://lkml.kernel.org/r/1367476850.5660.2.camel@nexus
      Cc: <stable@vger.kernel.org> v3.9
      78d77df7
    • Konrad Rzeszutek Wilk's avatar
      x86, gdt, hibernate: Store/load GDT for hibernate path. · cc456c4e
      Konrad Rzeszutek Wilk authored
      The git commite7a5cd06
      ("x86-64, gdt: Store/load GDT for ACPI S3 or hibernate/resume path
      is not needed.") assumes that for the hibernate path the booting
      kernel and the resuming kernel MUST be the same. That is certainly
      the case for a 32-bit kernel (see check_image_kernel and
      CONFIG_ARCH_HIBERNATION_HEADER config option).
      
      However for 64-bit kernels it is OK to have a different kernel
      version (and size of the image) of the booting and resuming kernels.
      Hence the above mentioned git commit introduces an regression.
      
      This patch fixes it by introducing a 'struct desc_ptr gdt_desc'
      back in the 'struct saved_context'. However instead of having in the
      'save_processor_state' and 'restore_processor_state' the
      store/load_gdt calls, we are only saving the GDT in the
      save_processor_state.
      
      For the restore path the lgdt operation is done in
      hibernate_asm_[32|64].S in the 'restore_registers' path.
      
      The apt reader of this description will recognize that only 64-bit
      kernels need this treatment, not 32-bit. This patch adds the logic
      in the 32-bit path to be more similar to 64-bit so that in the future
      the unification process can take advantage of this.
      
      [ hpa: this also reverts an inadvertent on-disk format change ]
      Suggested-by: default avatar"H. Peter Anvin" <hpa@zytor.com>
      Acked-by: default avatar"Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Link: http://lkml.kernel.org/r/1367459610-9656-2-git-send-email-konrad.wilk@oracle.comSigned-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      cc456c4e
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 5a148af6
      Linus Torvalds authored
      Pull powerpc update from Benjamin Herrenschmidt:
       "The main highlights this time around are:
      
         - A pile of addition POWER8 bits and nits, such as updated
           performance counter support (Michael Ellerman), new branch history
           buffer support (Anshuman Khandual), base support for the new PCI
           host bridge when not using the hypervisor (Gavin Shan) and other
           random related bits and fixes from various contributors.
      
         - Some rework of our page table format by Aneesh Kumar which fixes a
           thing or two and paves the way for THP support.  THP itself will
           not make it this time around however.
      
         - More Freescale updates, including Altivec support on the new e6500
           cores, new PCI controller support, and a pile of new boards support
           and updates.
      
         - The usual batch of trivial cleanups & fixes"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (156 commits)
        powerpc: Fix build error for book3e
        powerpc: Context switch the new EBB SPRs
        powerpc: Turn on the EBB H/FSCR bits
        powerpc: Replace CPU_FTR_BCTAR with CPU_FTR_ARCH_207S
        powerpc: Setup BHRB instructions facility in HFSCR for POWER8
        powerpc: Fix interrupt range check on debug exception
        powerpc: Update tlbie/tlbiel as per ISA doc
        powerpc: Print page size info during boot
        powerpc: print both base and actual page size on hash failure
        powerpc: Fix hpte_decode to use the correct decoding for page sizes
        powerpc: Decode the pte-lp-encoding bits correctly.
        powerpc: Use encode avpn where we need only avpn values
        powerpc: Reduce PTE table memory wastage
        powerpc: Move the pte free routines from common header
        powerpc: Reduce the PTE_INDEX_SIZE
        powerpc: Switch 16GB and 16MB explicit hugepages to a different page table format
        powerpc: New hugepage directory format
        powerpc: Don't truncate pgd_index wrongly
        powerpc: Don't hard code the size of pte page
        powerpc: Save DAR and DSISR in pt_regs on MCE
        ...
      5a148af6
    • Linus Torvalds's avatar
      Merge tag 'multiplatform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 99c6bcf4
      Linus Torvalds authored
      Pull ARM SoC multiplatform updates from Olof Johansson:
       "More multiplatform enablement for ARM platforms.  The ones converted
        in this branch are:
      
         - bcm2835
         - cns3xxx
         - sirf
         - nomadik
         - msx
         - spear
         - tegra
         - ux500
      
        We're getting close to having most of them converted!
      
        One of the larger platforms remaining is Samsung Exynos, and there are
        a bunch of supporting patches in this merge window for it.  There was
        a patch in this branch to a early version of multiplatform conversion,
        but it ended up being reverted due to need of more bake time.  The
        revert commit is part of the branch since it would have required
        rebasing multiple dependent branches and they were stable by then"
      
      * tag 'multiplatform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (70 commits)
        mmc: sdhci-s3c: Fix operation on non-single image Samsung platforms
        clocksource: nomadik-mtu: fix up clocksource/timer
        Revert "ARM: exynos: enable multiplatform support"
        ARM: SPEAr13xx: Fix typo "ARCH_HAVE_CPUFREQ"
        ARM: exynos: enable multiplatform support
        rtc: s3c: make header file local
        mtd: onenand/samsung: make regs-onenand.h file local
        thermal/exynos: remove unnecessary header inclusions
        mmc: sdhci-s3c: remove platform dependencies
        ARM: samsung: move mfc device definition to s5p-dev-mfc.c
        ARM: exynos: move debug-macro.S to include/debug/
        ARM: exynos: prepare for sparse IRQ
        ARM: exynos: introduce EXYNOS_ATAGS symbol
        ARM: tegra: build assembly files with -march=armv7-a
        ARM: Push selects for TWD/SCU into machine entries
        ARM: ux500: build hotplug.o for ARMv7-a
        ARM: ux500: move to multiplatform
        ARM: ux500: make remaining headers local
        ARM: ux500: make irqs.h local to platform
        ARM: ux500: get rid of <mach/[hardware|db8500-regs].h>
        ...
      99c6bcf4
    • Linus Torvalds's avatar
      Merge tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 97b1007a
      Linus Torvalds authored
      Pull ARM SoC platform updates from Olof Johansson:
       "This branch contains part 1 of the platform updates for 3.10.  Among
        the highlights:
      
         - Support for the new Atmel Cortex-A5 based platforms (SAMA5D3)
         - New support for CSR SiRFatlas6 SoCs
         - A handful of updates for NVidia T114 (a.k.a. Tegra 4)
         - A bunch of updates for the shmobile platforms
         - A handful of updates for davinci
         - A few updates for Qualcomm MSM
         - Plus a handful of other patches, defconfig updates, etc."
      
      * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (135 commits)
        ARM: tegra: pm: fix build error w/o PM_SLEEP
        ARM: davinci: ensure global variables are declared
        ARM: davinci: sram.c: fix incorrect type in assignment
        ARM: davinci: da8xx dt: make file local symbols static
        ARM: davinci: da8xx: add remoteproc support
        ARM: socfpga: Upgrade clk driver for socfpga to make use of dts clock entries
        ARM: socfpga: Add clock entries into device tree
        ARM: socfpga: Enable soft reset
        ARM: EXYNOS: replace cpumask by the corresponding macro
        ARM: EXYNOS: handle properly the return values
        ARM: EXYNOS: factor out the idle states
        ARM: OMAP4: Enable fix for Cortex-A9 erratas
        ARM: OMAP2+: Export SoC information to userspace
        ARM: OMAP2+: SoC name and revision unification
        ARM: OMAP2+: Move common part of late init into common function
        ARM: tegra: pm: remove duplicated include from pm.c
        ARM: davinci: da850: override mmc DT node device name
        ARM: davinci: da850: add mmc DT entries
        mmc: davinci_mmc: add DT support
        ARM: SAMSUNG: check processor type before cache restoration in resume
        ...
      97b1007a
    • Linus Torvalds's avatar
      Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · dfab34aa
      Linus Torvalds authored
      Pull ARM SoC device-tree updates from Olof Johansson:
       "Part 1 of device-tree updates for 3.10.  The bulk of the churn in this
        branch is due to i.MX moving from C-defined pin control over to device
        tree, which is a one-time conversion that will allow greater
        flexibility down the road.
      
        Besides that, there's PCI-e bindings for Marvell mvebu platforms and a
        handful of cleanups to tegra due to the new include file functionality
        of the device tree compiler"
      
      * tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (113 commits)
        arm: mvebu: PCIe Device Tree informations for Armada XP GP
        arm: mvebu: PCIe Device Tree informations for Armada 370 DB
        arm: mvebu: PCIe Device Tree informations for Armada 370 Mirabox
        arm: mvebu: PCIe Device Tree informations for Armada XP DB
        arm: mvebu: PCIe Device Tree informations for OpenBlocks AX3-4
        arm: mvebu: add PCIe Device Tree informations for Armada XP
        arm: mvebu: add PCIe Device Tree informations for Armada 370
        ARM: sunxi: unify osc24M_fixed and osc24M
        arm: vt8500: Add SDHC support to WM8505 DT
        ARM: dts: Add a 64 bits version of the skeleton device tree
        ARM: mvebu: Add Device Bus and CFI flash memory support to defconfig
        ARM: mvebu: Add support for NOR flash device on Openblocks AX3 board
        ARM: mvebu: Add support for NOR flash device on Armada XP-GP board
        ARM: mvebu: Add Device Bus support for Armada 370/XP SoC
        ARM: dts: imx6dl-wandboard: Add USB Host support
        ARM: dts: imx51 cpu node
        ARM: dts: Add missing imx27-phytec-phycore dtb target
        ARM: dts: Add NFC support for i.MX27 Phytec PCM038 module
        ARM: i.MX51: Add PATA support
        ARM: dts: Add initial support for Wandboard Dual-Lite
        ...
      dfab34aa
    • Linus Torvalds's avatar
      Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · a7726350
      Linus Torvalds authored
      Pull ARM SoC cleanup from Olof Johansson:
       "Here is a collection of cleanup patches.  Among the pieces that stand
        out are:
      
         - The deletion of h720x platforms
         - Split of at91 non-dt platforms to their own Kconfig file to keep
           them separate
         - General cleanups and refactoring of i.MX and MXS platforms
         - Some restructuring of clock tables for OMAP
         - Convertion of PMC driver for Tegra to dt-only
         - Some renames of sunxi -> sun4i (Allwinner A10)
         - ... plus a bunch of other stuff that I haven't mentioned"
      
      * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (119 commits)
        ARM: i.MX: remove unused ARCH_* configs
        ARM i.MX53: remove platform ahci support
        ARM: sunxi: Rework the restart code
        irqchip: sunxi: Rename sunxi to sun4i
        irqchip: sunxi: Make use of the IRQCHIP_DECLARE macro
        clocksource: sunxi: Rename sunxi to sun4i
        clocksource: sunxi: make use of CLKSRC_OF
        clocksource: sunxi: Cleanup the timer code
        ARM: at91: remove trailing semicolon from macros
        ARM: at91/setup: fix trivial typos
        ARM: EXYNOS: remove "config EXYNOS_DEV_DRM"
        ARM: EXYNOS: change the name of USB ohci header
        ARM: SAMSUNG: Remove unnecessary code for dma
        ARM: S3C24XX: Remove unused GPIO drive strength register definitions
        ARM: OMAP4+: PM: Restore CPU power state to ON with clockdomain force wakeup method
        ARM: S3C24XX: Removed unneeded dependency on CPU_S3C2412
        ARM: S3C24XX: Removed unneeded dependency on CPU_S3C2410
        ARM: S3C24XX: Removed unneeded dependency on ARCH_S3C24XX for boards
        ARM: SAMSUNG: Fix typo "CONFIG_SAMSUNG_DEV_RTC"
        ARM: S5P64X0: Fix typo "CONFIG_S5P64X0_SETUP_SDHCI"
        ...
      a7726350
    • Linus Torvalds's avatar
      Merge tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 4d26aa30
      Linus Torvalds authored
      Pull ARM SoC non-critical fixes from Olof Johansson:
       "Here is a collection of fixes (and some intermixed cleanups) that were
        considered less important and thus not included in the later parts of
        the 3.9-rc cycle.
      
        It's a bit all over the map, contents wise.  A series of ux500 fixes
        and cleanups, a bunch of various fixes for OMAP and tegra, and some
        for Freescale i.MX and even Qualcomm MSM.
      
        Note that there's also a patch on this branch to globally turn off
        -Wmaybe-uninitialized when building with -Os.  It's been posted
        several times by Arnd and no dissent was raised, but nobody seemed
        interested to pick it up.  So here it is, as the topmost patch."
      
      * tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (70 commits)
        Turn off -Wmaybe-uninitialized when building with -Os
        ARM: orion5x: include linux/cpu.h
        ARM: tegra: call cpu_do_idle from C code
        ARM: u300: fix ages old copy/paste bug
        ARM: OMAP2+: add dependencies on ARCH_MULTI_V6/V7
        ARM: tegra: solve adr range issue with THUMB2_KERNEL enabled
        ARM: tegra: fix relocation truncated error when THUMB2_KERNEL enabled
        ARM: tegra: fix build error when THUMB2_KERNEL enabled
        ARM: msm: Fix uncompess.h tx underrun check
        ARM: vexpress: Remove A9 PMU compatible values for non-A9 platforms
        ARM: cpuimx27 and mbimx27: prepend CONFIG_ to Kconfig macro
        ARM: OMAP2+: fix typo "CONFIG_BRIDGE_DVFS"
        ARM: OMAP1: remove "config MACH_OMAP_HTCWIZARD"
        ARM: mach-imx: mach-imx6q: Fix sparse warnings
        ARM: mach-imx: src: Include "common.h
        ARM: mach-imx: gpc: Include "common.h"
        ARM: mach-imx: avic: Staticize *avic_base
        ARM: mach-imx: tzic: Staticize *tzic_base
        ARM: mach-imx: clk: Include "clk.h"
        ARM: mach-imx: clk-busy: Staticize clk_busy_mux_ops
        ...
      4d26aa30
    • Alex Deucher's avatar
      drm/radeon: fix handling of v6 power tables · 441e76ca
      Alex Deucher authored
      The code was mis-handling variable sized arrays.
      Reported-by: default avatarSylvain BERTRAND <sylware@legeek.net>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      441e76ca
    • Al Viro's avatar
      ipc_schedule_free() can do vfree() directly now · 600fe975
      Al Viro authored
      Commit 32fcfd40 ("make vfree() safe to call from interrupt
      contexts") made it safe to do vfree directly from the RCU callback,
      which allows us to simplify ipc/util.c a lot by getting rid of the
      differences between vmalloc/kmalloc memory.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      600fe975
    • David Miller's avatar
      net: Restore NETIF_F_* bit ordering. · 4ada8db3
      David Miller authored
      Commit 8ad227ff ("net: vlan: add 802.1ad support") added some new
      NETIF_F_* features bits, but it added them in the middle of existing
      values.
      
      Userland depends upon the flag bits via the per-netdevice 'flags' sysfs
      file.
      
      So restore the previous ordering by adding the new flags at the end.
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4ada8db3
    • Alex Deucher's avatar
      drm/radeon: clarify family checks in pm table parsing · 982cb329
      Alex Deucher authored
      We actually care about the chip family rather than the
      DCE version although functionally they are the same.
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      982cb329
    • Christian König's avatar
      drm/radeon: consolidate UVD clock programming · facd112d
      Christian König authored
      Instead of duplicating the code over and over again, just use a single
      function to handle the clock calculations.
      Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      facd112d
    • Christian König's avatar
      drm/radeon: fix UPLL_REF_DIV_MASK definition · 092fbc4c
      Christian König authored
      Stupid copy & paste error over all generations.
      Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      092fbc4c
    • Jerome Glisse's avatar
      radeon: add bo tracking debugfs · 409851f4
      Jerome Glisse authored
      This is to allow debugging of userspace program not freeing buffer
      after, which is basicly a memory leak. This print the list of all
      gem object along with their size and placement (VRAM,GTT,CPU) and
      with the pid of the task that created them.
      
      agd5f: add warning fix
      Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      409851f4
    • Alex Deucher's avatar
      drm/radeon: add new richland pci ids · 62d1f92e
      Alex Deucher authored
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      62d1f92e
    • Alex Deucher's avatar
      drm/radeon: add some new SI PCI ids · 18932a28
      Alex Deucher authored
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      18932a28
    • Christian König's avatar
      drm/radeon: fix scratch reg handling for UVD fence · 581bc3a9
      Christian König authored
      Also init the scratch reg to zero on the UVD ring.
      This fixes UVD on AGP based cards.
      Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      581bc3a9
    • Christian König's avatar
      drm/radeon: allocate SA bo in the requested domain · 7220f639
      Christian König authored
      This avoid moving the BO directly after allocating it.
      Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      7220f639