1. Apr 20, 2010
    • Dave Airlie's avatar
      Merge branch 'drm-ttm-unmappable' into drm-core-next · 7547a917
      Dave Airlie authored
      * drm-ttm-unmappable:
        drm/radeon/kms: enable use of unmappable VRAM V2
        drm/ttm: remove io_ field from TTM V6
        drm/vmwgfx: add support for new TTM fault callback V5
        drm/nouveau/kms: add support for new TTM fault callback V5
        drm/radeon/kms: add support for new fault callback V7
        drm/ttm: ttm_fault callback to allow driver to handle bo placement V6
        drm/ttm: split no_wait argument in 2 GPU or reserve wait
      
      Conflicts:
      	drivers/gpu/drm/nouveau/nouveau_bo.c
      7547a917
    • Jerome Glisse's avatar
      drm/radeon/kms: enable use of unmappable VRAM V2 · 6b8b1786
      Jerome Glisse authored
      
      
      This patch enable the use of unmappable VRAM thanks to
      previous TTM infrastructure change.
      
      V2 update after io_mem_reserve/io_mem_free callback balancing
      
      Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      6b8b1786
    • Jerome Glisse's avatar
      drm/ttm: remove io_ field from TTM V6 · 0c321c79
      Jerome Glisse authored
      
      
      All TTM driver have been converted to new io_mem_reserve/free
      interface which allow driver to choose and return proper io
      base, offset to core TTM for ioremapping if necessary. This
      patch remove what is now deadcode.
      
      V2 adapt to match with change in first patch of the patchset
      V3 update after io_mem_reserve/io_mem_free callback balancing
      V4 adjust to minor cleanup
      V5 remove the needs ioremap flag
      V6 keep the ioremapping facility in TTM
      
      [airlied- squashed driver removals in here also]
      
      Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
      Reviewed-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      0c321c79
    • Jerome Glisse's avatar
      drm/vmwgfx: add support for new TTM fault callback V5 · 96bf8b87
      Jerome Glisse authored
      
      
      This add the support for the new fault callback, does change anything
      from driver point of view.
      
      Improvement: store the aperture base in a variable so that we don't
      call a function to get it on each fault.
      
      Patch hasn't been tested.
      
      V2 don't derefence bo->mem.mm_node as it's not NULL only for
         VRAM or GTT
      V3 update after io_mem_reserve/io_mem_free callback balancing
      V4 callback has to ioremap
      V5 ioremap is done by TTM
      
      Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
      Reviewed-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      96bf8b87
    • Jerome Glisse's avatar
      drm/nouveau/kms: add support for new TTM fault callback V5 · f32f02fd
      Jerome Glisse authored
      
      
      This add the support for the new fault callback, does change anything
      from driver point of view, thought it should allow nouveau to add
      support for unmappable VRAM.
      
      Improvement: store the aperture base in a variable so that we don't
      call a function to get it on each fault.
      
      Patch hasn't been tested on any hw.
      
      V2 don't derefence bo->mem.mm_node as it's not NULL only for
         VRAM or GTT
      V3 update after io_mem_reserve/io_mem_free callback balancing
      V4 callback has to ioremap
      V5 ioremap is done by ttm
      
      Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      f32f02fd
    • Jerome Glisse's avatar
      drm/radeon/kms: add support for new fault callback V7 · 0a2d50e3
      Jerome Glisse authored
      
      
      This add the support for the new fault callback and also the
      infrastructure for supporting unmappable VRAM.
      
      V2 validate BO with no_wait = true
      V3 don't derefence bo->mem.mm_node as it's not NULL only for
         VRAM or GTT
      V4 update to splitted no_wait ttm change
      V5 update to new balanced io_mem_reserve/free change
      V6 callback is responsible for iomapping memory
      V7 move back iomapping to ttm
      
      Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      0a2d50e3
    • Jerome Glisse's avatar
      drm/ttm: ttm_fault callback to allow driver to handle bo placement V6 · 82c5da6b
      Jerome Glisse authored
      
      
      On fault the driver is given the opportunity to perform any operation
      it sees fit in order to place the buffer into a CPU visible area of
      memory. This patch doesn't break TTM users, nouveau, vmwgfx and radeon
      should keep working properly. Future patch will take advantage of this
      infrastructure and remove the old path from TTM once driver are
      converted.
      
      V2 return VM_FAULT_NOPAGE if callback return -EBUSY or -ERESTARTSYS
      V3 balance io_mem_reserve and io_mem_free call, fault_reserve_notify
         is responsible to perform any necessary task for mapping to succeed
      V4 minor cleanup, atomic_t -> bool as member is protected by reserve
         mecanism from concurent access
      V5 the callback is now responsible for iomapping the bo and providing
         a virtual address this simplify TTM and will allow to get rid of
         TTM_MEMTYPE_FLAG_NEEDS_IOREMAP
      V6 use the bus addr data to decide to ioremap or this isn't needed
         but we don't necesarily need to ioremap in the callback but still
         allow driver to use static mapping
      
      Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
      Reviewed-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      82c5da6b
    • Daniel Vetter's avatar
      drm/i915: drop pointer to drm_gem_object · a8089e84
      Daniel Vetter authored
      
      
      Luckily the change is quite a little bit less invasive than I've
      feared.
      
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Acked-by: default avatarEric Anholt <eric@anholt.net>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      a8089e84
    • Daniel Vetter's avatar
      drm/i915: don't use ->driver_private anymore · 62b8b215
      Daniel Vetter authored
      
      
      Thanks to the to_intel_bo helper, this change is rather trivial.
      
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Acked-by: default avatarEric Anholt <eric@anholt.net>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      62b8b215
    • Daniel Vetter's avatar
      drm/i915: embed the gem object into drm_i915_gem_object · c397b908
      Daniel Vetter authored
      
      
      Just embed it and adjust the pointers, No other changes (that's
      for later patches).
      
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Acked-by: default avatarEric Anholt <eric@anholt.net>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      c397b908
    • Daniel Vetter's avatar
      drm/i915: introduce i915_gem_alloc_object · ac52bc56
      Daniel Vetter authored
      
      
      Just preparation, no functional change.
      
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Acked-by: default avatarEric Anholt <eric@anholt.net>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      ac52bc56
    • Daniel Vetter's avatar
      drm: free core gem object from driver callbacks · fd632aa3
      Daniel Vetter authored
      
      
      When drivers embed the core gem object into their own structures,
      they'll have to do this. Temporarily this results in an ugly
      
      kfree(gem_obj);
      
      in every gem driver.
      
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Acked-by: default avatarEric Anholt <eric@anholt.net>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      fd632aa3
    • Daniel Vetter's avatar
      drm: extract drm_gem_object_init · 1d397043
      Daniel Vetter authored
      
      
      This function can be used by drivers who allocate the drm gem object
      on their own. No functional change in here, just preparation.
      
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Acked-by: default avatarEric Anholt <eric@anholt.net>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      1d397043
    • Dave Airlie's avatar
      Merge branch 'drm-radeon-evergreen-accel' into drm-core-next · 153549b8
      Dave Airlie authored
      * drm-radeon-evergreen-accel:
        drm/radeon: fix cypress firmware typo.
        drm/radeon/kms/evergreen: add hpd support
        drm/radeon/kms/evergreen: implement irq support
        drm/radeon/kms/evergreen: setup and enable the CP
        drm/radeon/kms/evergreen: implement gfx init
        drm/radeon/kms/evergreen: add soft reset function
        drm/radeon/kms/evergreen: add gart support
        drm/radeon/kms: add support for evergreen power tables
        drm/radeon/kms: update atombios.h power tables for evergreen
      153549b8
    • Dave Airlie's avatar
      Merge branch 'drm-fbdev-cleanup' into drm-core-next · 7fff400b
      Dave Airlie authored
      * drm-fbdev-cleanup:
        drm/fb: remove drm_fb_helper_setcolreg
        drm/kms/fb: use slow work mechanism for normal hotplug also.
        drm/kms/fb: add polling support for when nothing is connected.
        drm/kms/fb: provide a 1024x768 fbcon if no outputs found.
        drm/kms/fb: separate fbdev connector list from core drm connectors
        drm/kms/fb: move to using fb helper crtc grouping instead of core crtc list
        drm/fb: fix fbdev object model + cleanup properly.
      
      Conflicts:
      	drivers/gpu/drm/i915/i915_drv.h
      	drivers/gpu/drm/nouveau/nouveau_drv.h
      7fff400b
    • Dave Airlie's avatar
      Merge branch 'drm-radeon-lockup' into drm-core-next · 0bcb1d84
      Dave Airlie authored
      * drm-radeon-lockup:
        drm/radeon/kms: simplify & improve GPU reset V2
        drm/radeon/kms: rename gpu_reset to asic_reset
        drm/radeon/kms: fence cleanup + more reliable GPU lockup detection V4
      
      Conflicts:
      	drivers/gpu/drm/radeon/r300.c
      0bcb1d84
    • Dave Airlie's avatar
      Merge branch 'drm-edid-fixes' into drm-core-next · c9c2625f
      Dave Airlie authored
      * drm-edid-fixes:
        drm/edid: When checking duplicate standard modes, walked the probed list
        drm/edid: Fix sync polarity for secondary GTF curve
        drm/modes: Fix interlaced mode names
        drm/edid: Add secondary GTF curve support
        drm/edid: Strengthen the algorithm for standard mode codes
        drm/edid: Fix the HDTV hack.
        drm/edid: Extend range-based mode addition for EDID 1.4
        drm/edid: Add test for monitor reduced blanking support.
        drm/edid: Fix preferred mode parse for EDID 1.4
        drm/edid: Remove some silly comments
        drm/edid: Remove arbitrary EDID extension limit
        drm/edid: Add modes for Established Timings III section
        drm/edid: Reshuffle mode list construction to closer match the spec
        drm/edid: Remove a redundant check
        drm/edid: Remove some misleading comments
        drm/edid: Fix secondary block fetch.
      c9c2625f
    • Dave Airlie's avatar
      Merge branch 'drm-ttm-pool' into drm-core-next · c2b41276
      Dave Airlie authored
      * drm-ttm-pool:
        drm/ttm: using kmalloc/kfree requires including slab.h
        drm/ttm: include linux/seq_file.h for seq_printf
        drm/ttm: Add sysfs interface to control pool allocator.
        drm/ttm: Use set_pages_array_wc instead of set_memory_wc.
        arch/x86: Add array variants for setting memory to wc caching.
        drm/nouveau: Add ttm page pool debugfs file.
        drm/radeon/kms: Add ttm page pool debugfs file.
        drm/ttm: Add debugfs output entry to pool allocator.
        drm/ttm: add pool wc/uc page allocator V3
      c2b41276
    • Dave Airlie's avatar
      Merge remote branch 'anholt/drm-intel-next' of /home/airlied/kernel/drm-next into drm-core-next · 97921a5b
      Dave Airlie authored
      * 'anholt/drm-intel-next' of /home/airlied/kernel/drm-next: (48 commits)
        agp/intel-gtt: kill previous_size assignments
        agp/intel-gtt: kill intel_i830_tlbflush
        agp/intel: split out gmch/gtt probe, part 1
        agp/intel: kill mutli_gmch_chip
        agp/intel: uncoditionally reconfigure driver on resume
        agp/intel: split out the GTT support
        agp/intel: introduce intel-agp.h header file
        drm/i915: Don't touch PORT_HOTPLUG_EN in intel_dp_detect()
        drm/i915/pch: Use minimal number of FDI lanes (v2)
        drm/i915: Add the support of memory self-refresh on Ironlake
        drm/i915: Move Pineview CxSR and watermark code into update_wm hook.
        drm/i915: Only save/restore FBC on the platform that supports FBC
        drm/i915: Fix the incorrect argument for SDVO SET_TV_format command
        drm/i915: Add support of SDVO on Ibexpeak PCH
        drm/i915: Don't enable pipe/plane/VCO early (wait for DPMS on).
        drm/i915: do not read uninitialized ->dev_private
        Revert "drm/i915: Use a dmi quirk to skip a broken SDVO TV output."
        drm/i915: implement multifunction SDVO device support
        drm/i915: remove unused intel_pipe_get_connector()
        drm/i915: remove connector object in old output structure
        ...
      97921a5b
    • Linus Torvalds's avatar
      Linux 2.6.34-rc5 · 01bf0b64
      Linus Torvalds authored
      01bf0b64
    • Rik van Riel's avatar
      rmap: add exclusively owned pages to the newest anon_vma · e8a03feb
      Rik van Riel authored
      
      
      The recent anon_vma fixes cause many anonymous pages to end up
      in the parent process anon_vma, even when the page is exclusively
      owned by the current process.
      
      Adding exclusively owned anonymous pages to the top anon_vma
      reduces rmap scanning overhead, especially in workloads with
      forking servers.
      
      This patch adds a parameter to __page_set_anon_rmap that can
      be used to indicate whether or not the added page is exclusively
      owned by the current process.
      
      Pages added through page_add_new_anon_rmap are exclusively
      owned by the current process, and can be added to the top
      anon_vma.
      
      Pages added through page_add_anon_rmap can be either shared
      or exclusively owned, so we do the conservative thing and
      add it to the oldest anon_vma.
      
      A next step would be to add the exclusive parameter to
      page_add_anon_rmap, to be used from functions where we do
      know for sure whether a page is exclusively owned.
      
      Signed-off-by: default avatarRik van Riel <riel@redhat.com>
      Reviewed-by: Joha...
      e8a03feb
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6 · 9b030e20
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:
        eCryptfs: Turn lower lookup error messages into debug messages
        eCryptfs: Copy lower directory inode times and size on link
        ecryptfs: fix use with tmpfs by removing d_drop from ecryptfs_destroy_inode
        ecryptfs: fix error code for missing xattrs in lower fs
        eCryptfs: Decrypt symlink target for stat size
        eCryptfs: Strip metadata in xattr flag in encrypted view
        eCryptfs: Clear buffer before reading in metadata xattr
        eCryptfs: Rename ecryptfs_crypt_stat.num_header_bytes_at_front
        eCryptfs: Fix metadata in xattr feature regression
      9b030e20
    • Tyler Hicks's avatar
      eCryptfs: Turn lower lookup error messages into debug messages · 9f37622f
      Tyler Hicks authored
      
      
      Vaugue warnings about ENAMETOOLONG errors when looking up an encrypted
      file name have caused many users to become concerned about their data.
      Since this is a rather harmless condition, I'm moving this warning to
      only be printed when the ecryptfs_verbosity module param is 1.
      
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      9f37622f
    • Tyler Hicks's avatar
      eCryptfs: Copy lower directory inode times and size on link · 3a8380c0
      Tyler Hicks authored
      
      
      The timestamps and size of a lower inode involved in a link() call was
      being copied to the upper parent inode.  Instead, we should be
      copying lower parent inode's timestamps and size to the upper parent
      inode.  I discovered this bug using the POSIX test suite at Tuxera.
      
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      3a8380c0
    • Jeff Mahoney's avatar
      ecryptfs: fix use with tmpfs by removing d_drop from ecryptfs_destroy_inode · 133b8f9d
      Jeff Mahoney authored
      Since tmpfs has no persistent storage, it pins all its dentries in memory
      so they have d_count=1 when other file systems would have d_count=0.
      ->lookup is only used to create new dentries. If the caller doesn't
      instantiate it, it's freed immediately at dput(). ->readdir reads
      directly from the dcache and depends on the dentries being hashed.
      
      When an ecryptfs mount is mounted, it associates the lower file and dentry
      with the ecryptfs files as they're accessed. When it's umounted and
      destroys all the in-memory ecryptfs inodes, it fput's the lower_files and
      d_drop's the lower_dentries. Commit 4981e081 added this and a d_delete in
      2008 and several months later commit caeeeecf removed the d_delete. I
      believe the d_drop() needs to be removed as well.
      
      The d_drop effectively hides any file that has been accessed via ecryptfs
      from the underlying tmpfs since it depends on it being hashed for it to
      be accessible. I've removed the d_drop on my development node and see no
      ill effects with basic testing on both tmpfs and persistent storage.
      
      As a side effect, after ecryptfs d_drops the dentries on tmpfs, tmpfs
      BUGs on umount. This is due to the dentries being unhashed.
      tmpfs->kill_sb is kill_litter_super which calls d_genocide to drop
      the reference pinning the dentry. It skips unhashed and negative dentries,
      but shrink_dcache_for_umount_subtree doesn't. Since those dentries
      still have an elevated d_count, we get a BUG().
      
      This patch removes the d_drop call and fixes both issues.
      
      This issue was reported at:
      https://bugzilla.novell.com/show_bug.cgi?id=567887
      
      
      
      Reported-by: default avatarÁrpád Bíró <biroa@demasz.hu>
      Signed-off-by: default avatarJeff Mahoney <jeffm@suse.com>
      Cc: Dustin Kirkland <kirkland@canonical.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      133b8f9d
    • Christian Pulvermacher's avatar
      ecryptfs: fix error code for missing xattrs in lower fs · cfce08c6
      Christian Pulvermacher authored
      
      
      If the lower file system driver has extended attributes disabled,
      ecryptfs' own access functions return -ENOSYS instead of -EOPNOTSUPP.
      This breaks execution of programs in the ecryptfs mount, since the
      kernel expects the latter error when checking for security
      capabilities in xattrs.
      
      Signed-off-by: default avatarChristian Pulvermacher <pulvermacher@gmx.de>
      Cc: stable@kernel.org
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      cfce08c6
    • Tyler Hicks's avatar
      eCryptfs: Decrypt symlink target for stat size · 3a60a168
      Tyler Hicks authored
      Create a getattr handler for eCryptfs symlinks that is capable of
      reading the lower target and decrypting its path.  Prior to this patch,
      a stat's st_size field would represent the strlen of the encrypted path,
      while readlink() would return the strlen of the decrypted path.  This
      could lead to confusion in some userspace applications, since the two
      values should be equal.
      
      https://bugs.launchpad.net/bugs/524919
      
      
      
      Reported-by: default avatarLoïc Minier <loic.minier@canonical.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      3a60a168
    • Linus Torvalds's avatar
      Fix ISDN/Gigaset build failure · 76e506a7
      Linus Torvalds authored
      Commit b91ecb00
      
       ("gigaset: include cleanup cleanup") removed an implicit
      sched.h inclusion that came in via slab.h, and caused various compile
      problems as a result.
      
      This should fix it.
      
      Reported-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      76e506a7
  2. Apr 19, 2010