1. 01 Mar, 2010 9 commits
    • Rafał Miłecki's avatar
    • Dave Airlie's avatar
      Merge branch 'drm-radeon-testing' of /ssd/git/drm-radeon-next into drm-next-stage · 68de7745
      Dave Airlie authored
      * 'drm-radeon-testing' of /ssd/git/drm-radeon-next:
        drm/radeon: r100/r200 ums: block ability for userspace app to trash 0 page and beyond
        drm/ttm: fix function prototype to match implementation
        drm/radeon: use ALIGN instead of open coding it
        drm/radeon/kms: initialize set_surface_reg reg for rs600 asic
      68de7745
    • Dave Airlie's avatar
      drm/radeon: r100/r200 ums: block ability for userspace app to trash 0 page and beyond · 566d84d1
      Dave Airlie authored
      radeon's have a special ability to passthrough writes in their internal
      memory space directly to PCI, this ability means that if some of the internal
      surfaces like the depth buffer point at 0x0, any writes to these will
      go directly to RAM at 0x0 via PCI busmastering.
      
      Now mesa used to always emit clears after emitting state, since the
      radeon mesa driver was refactored a year or more ago, it was found it
      could generate a clear request without ever sending any setup state to the
      card. So the clear would attempt to clear the depth buffer at 0x0, which
      would overwrite main memory at this point. fs corruption ensues.
      
      Also once one app did this correctly, it would never get set back to 0
      making this messy to reproduce.
      
      The kernel should block this from happening as mesa runs without privs,
      though it does require the user be connected to the current running X session.
      
      This patch implements a check to make sure the depth offset has been set
      before a depth clear occurs and if it finds one it prints a warning and
      ignores the depth clear request. There is also a mesa fix to avoid sending
      the badness going into mesa.
      
      This only affects r100/r200 GPUs in user modesetting mode.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      566d84d1
    • Randy Dunlap's avatar
      drm/ttm: fix function prototype to match implementation · a55e8d45
      Randy Dunlap authored
      Fix function prototype to match its actual usage and implementation.
      
      drivers/gpu/drm/ttm/ttm_bo_util.c:341:10: error: symbol 'ttm_io_prot' redeclared with different type (originally declared at include/drm/ttm/ttm_bo_driver.h:911) - incompatible argument 1 (different signedness)
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Cc:	David Airlie <airlied@linux.ie>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      a55e8d45
    • Matt Turner's avatar
      drm/radeon: use ALIGN instead of open coding it · d964fc54
      Matt Turner authored
      Cc: Jerome Glisse <jglisse@redhat.com>
      Cc: Alex Deucher <alexdeucher@gmail.com>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      Reviewed-by: default avatarCorbin Simpson <MostAwesomeDude@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      d964fc54
    • Jerome Glisse's avatar
      drm/radeon/kms: initialize set_surface_reg reg for rs600 asic · 32b3c2ab
      Jerome Glisse authored
      rs600 asic was missing set_surface_reg callback leading to
      oops.
      Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      32b3c2ab
    • Dave Airlie's avatar
      Merge remote branch 'anholt/drm-intel-next' into drm-next-stage · cf7934a2
      Dave Airlie authored
      * anholt/drm-intel-next: (103 commits)
        drm/i915: Use a dmi quirk to skip a broken SDVO TV output.
        drm/i915: enable/disable LVDS port at DPMS time
        drm/i915: check for multiple write domains in pin_and_relocate
        drm/i915: clean-up i915_gem_flush_gpu_write_domain
        drm/i915: reuse i915_gpu_idle helper
        drm/i915: ensure lru ordering of fence_list
        drm/i915: extract fence stealing code
        drm/i915: fixup active list locking in object_unbind
        drm/i915: reuse i915_gem_object_put_fence_reg for fence stealing code
        drm/i915: Add dependency on the intel agp module
        drm/i915: More s/IS_IRONLAKE/HAS_PCH_SPLIT for Sandybridge.
        drm/i915: Correct the Sandybridge chipset info structs.
        drm/i915: Disable the hangcheck reset on Sandybridge until we add support.
        drm/i915: Add a new mobile Sandybridge PCI ID.
        agp/intel: Add a new Sandybridge HB/IG PCI ID combo.
        drm/i915, agp/intel: Fix stolen memory size on Sandybridge
        drm/i915: Correct locking in the modesetting failure path, fixing a BUG_ON.
        drm/i915: Disable the surface tile swizzling on Sandybridge.
        agp/intel: Use a non-reserved value for the cache field of the PTEs.
        drm/i915: Fix sandybridge status page setup.
        ...
      cf7934a2
    • Dave Airlie's avatar
      Merge remote branch 'nouveau/for-airlied' into drm-next-stage · aa71fa3c
      Dave Airlie authored
      * nouveau/for-airlied: (25 commits)
        drm/nouveau: use ALIGN instead of open coding it
        drm/nouveau: report unknown connector state if lid closed
        drm/nouveau: support version 0x20 displayport tables
        drm/nouveau: Fix noaccel/nofbaccel option descriptions.
        drm/nv50: Implement ctxprog/state generation.
        drm/nouveau: use dcb connector types throughout the driver
        drm/nv50: enable hpd on any connector we know the gpio line for
        drm/nouveau: use dcb connector table for creating drm connectors
        drm/nouveau: construct a connector table for cards that lack a real one
        drm/nouveau: check for known dcb connector types
        drm/nouveau: parse dcb gpio/connector tables after encoders
        drm/nouveau: reorganise bios header, add dcb connector type enums
        drm/nouveau: merge nvbios and nouveau_bios_info
        drm/nouveau: merge parsed_dcb and bios_parsed_dcb into dcb_table
        drm/nouveau: rename parsed_dcb_gpio to dcb_gpio_table
        drm/nouveau: allow retrieval of vbios image from debugfs
        drm/nouveau: fix missing spin_unlock in failure path
        drm/nouveau: fix i2ctable bounds checking
        drm/nouveau: fix nouveau_i2c_find bounds checking
        drm/nouveau: fix pramdac_table range checking
        ...
      
      Conflicts:
      	drivers/gpu/drm/nouveau/nouveau_gem.c
      aa71fa3c
    • Dave Airlie's avatar
      Merge remote branch 'korg/drm-core-next' into drm-next-stage · 79fa9eb7
      Dave Airlie authored
      * korg/drm-core-next:
        drm/ttm: handle OOM in ttm_tt_swapout
        drm/radeon/kms/atom: fix shr/shl ops
        drm/kms: fix spelling of "CLOCK"
        drm/kms: fix fb_changed = true else statement
        drivers/gpu/drm/drm_fb_helper.c: don't use private implementation of atoi()
        drm: switch all GEM/KMS ioctls to unlocked ioctl status.
        Use drm_gem_object_[handle_]unreference_unlocked where possible
        drm: introduce drm_gem_object_[handle_]unreference_unlocked
      79fa9eb7
  2. 26 Feb, 2010 24 commits
  3. 25 Feb, 2010 7 commits