1. 19 Sep, 2013 4 commits
    • Daniel Vetter's avatar
      drm/fb-helper: don't sleep for screen unblank when an oops is in progress · 928c2f0c
      Daniel Vetter authored
      Otherwise the system will burn even brighter and worse, leave the user
      wondering what's going on exactly.
      
      Since we already have a panic handler which will (try) to restore the
      entire fbdev console mode, we can just bail out.  Inspired by a patch from
      Konstantin Khlebnikov.  The callchain leading to this, cut&pasted from
      Konstantin's original patch:
      
      callstack:
      panic()
      bust_spinlocks(1)
      unblank_screen()
      vc->vc_sw->con_blank()
      fbcon_blank()
      fb_blank()
      info->fbops->fb_blank()
      drm_fb_helper_blank()
      drm_fb_helper_dpms()
      drm_modeset_lock_all()
      mutex_lock(&dev->mode_config.mutex)
      
      Note that the entire locking in the fb helper around panic/sysrq and kdbg
      is ...  non-existant.  So we have a decent change of blowing up
      everything.  But since reworking this ties in with funny concepts like the
      fbdev notifier chain or the impressive things which happen around
      console_lock while oopsing, I'll leave that as an exercise for braver
      souls than me.
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Konstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Dave Airlie <airlied@gmail.com>
      Reviewed-by: default avatarRob Clark <robdclark@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      928c2f0c
    • Prarit Bhargava's avatar
      drm, ttm Fix uninitialized warning · bcf73a10
      Prarit Bhargava authored
      Fix uninitialized warning.
      
      drivers/gpu/drm/ttm/ttm_object.c: In function ‘ttm_base_object_lookup’:
      drivers/gpu/drm/ttm/ttm_object.c:213:10: error: ‘base’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
        kref_put(&base->refcount, ttm_release_base);
                ^
      drivers/gpu/drm/ttm/ttm_object.c:221:26: note: ‘base’ was declared here
        struct ttm_base_object *base;
      Signed-off-by: default avatarPrarit Bhargava <prarit@redhat.com>
      Reviewed-by: default avatarRob Clark <robdclark@gmail.com>
      Reviewed-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      bcf73a10
    • Ben Skeggs's avatar
      drm/ttm: fix the tt_populated check in ttm_tt_destroy() · 182b17c8
      Ben Skeggs authored
      After a vmalloc failure in ttm_dma_tt_alloc_page_directory(),
      ttm_dma_tt_init() will call ttm_tt_destroy() to cleanup, and end up
      inside the driver's unpopulate() hook when populate() has never yet
      been called.
      
      On nouveau, the first issue to be hit because of this is that
      dma_address[] may be a NULL pointer.  After working around this,
      ttm_pool_unpopulate() may potentially hit the same issue with
      the pages[] array.
      
      It seems to make more sense to avoid calling unpopulate on already
      unpopulated TTMs than to add checks to all the implementations.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      Reviewed-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      Cc: stable@vger.kernel.org
      Cc: Jerome Glisse <jglisse@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      182b17c8
    • Dave Airlie's avatar
      Merge branch 'drm-nouveau-next' of... · 4f7d1bc9
      Dave Airlie authored
      Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes
      
      A couple of bios parser fixes (one for ancient chips, another for new ones - important in Optimus configs).  Another to make sure KMS is enabled on certain Optimus configs, and a TTM failure path fix.
      
      * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
        drm/nouveau/ttm: prevent double-free in nouveau_sgdma_create_ttm() failure path
        drm/nouveau/bios/init: fix thinko in INIT_CONFIGURE_MEM
        drm/nouveau/kms: enable for non-vga pci classes
        drm/nouveau/bios/init: stub opcode 0xaa
      4f7d1bc9
  2. 17 Sep, 2013 4 commits
  3. 16 Sep, 2013 9 commits
  4. 15 Sep, 2013 2 commits
    • Daniel Vetter's avatar
      drm/udl: rip out set_need_resched · d2aebe33
      Daniel Vetter authored
      This very much looks like copypasta from drm/i915's fault handler.
      It was used there to duct-tape over issues around gpu reset handling.
      
      Since that can't ever happen for udl and there's seemingly no other
      reason for this just drop it.
      Reported-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Acked-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      d2aebe33
    • Dave Airlie's avatar
      Merge branch 'drm-fixes-3.12' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · 42e169be
      Dave Airlie authored
      Radeon drm fixes for 3.12.  All over the place (display, dpm, uvd, etc.).
      Also adds a couple more berlin pci ids.
      
      * 'drm-fixes-3.12' of git://people.freedesktop.org/~agd5f/linux: (25 commits)
        drm/radeon/dpm: add bapm callback for kb/kv
        drm/radeon/dpm: add bapm callback for trinity
        drm/radeon/dpm: add infrastructure to properly handle bapm
        drm/radeon/dpm: handle bapm on kb/kv
        drm/radeon/dpm: handle bapm on trinity
        drm/radeon: expose DPM thermal thresholds through sysfs
        drm/radeon: simplify driver data retrieval
        drm/radeon/atom: workaround vbios bug in transmitter table on rs880 (v2)
        drm/radeon/dpm: fix fallback for empty UVD clocks
        drm/radeon: add command submission tracepoint
        drm/radeon: remove stale radeon_fence_retire tracepoint
        drm/radeon/r6xx: add a stubbed out set_uvd_clocks callback
        drm/radeon: fix typo in PG flags
        drm/radeon: add some additional berlin pci ids
        drm/radeon/cik: update gpu_init for an additional berlin gpu
        drm/radeon: add spinlocks for indirect register accesss
        drm/radeon: protect concurrent smc register access with a spinlock
        drm/radeon: dpm updates for KV
        drm/radeon: signedness bug in kv_dpm.c
        drm/radeon: clean up r600_free_extended_power_table()
        ...
      42e169be
  5. 12 Sep, 2013 1 commit
  6. 11 Sep, 2013 20 commits