15 Nov, 2011

10 commits


14 Nov, 2011

1 commit

  • commit 27641c3f (drm/vblank: Add support for precise vblank
    timestamping) adds preempt_disable()/enable() around a spin locked
    section with the comments:

    * Disable preemption, so vblank_time_lock is held as short as
    * possible, even under a kernel with PREEMPT_RT patches.

    /* Disable preemption while holding vblank_time_lock. Do
    * it explicitely to guard against PREEMPT_RT kernel.

    Just that this has never been tested on a RT kernel which would have
    granted that nonsense with a might_sleep() warning because
    dev->vblank_time_lock is converted to a "sleeping" spinlock on RT.

    So this is activly wrong on RT and superflous on mainline. Remove it.

    Signed-off-by: Thomas Gleixner
    Acked-by: Mario Kleiner
    Signed-off-by: Dave Airlie

    Thomas Gleixner
     

13 Nov, 2011

1 commit


11 Nov, 2011

21 commits

  • On newer chips the number of clock modes per power state varies.

    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • Avoid a lot of extra loops through the pm state array.

    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • The new power tables need to be handled differently when setting
    up the profiles.

    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • It's already called via the DPMS functions.

    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • Signed-off-by: Inki Dae
    Signed-off-by: Kyungmin Park
    Signed-off-by: Dave Airlie

    Inki Dae
     
  • Fix kconfig unmet dependency warning. BACKLIGHT_CLASS_DEVICE depends on
    BACKLIGHT_LCD_SUPPORT, so select the latter along with the former.

    warning: (DRM_RADEON_KMS && DRM_I915 && STUB_POULSBO && FB_BACKLIGHT && PANEL_SHARP_LS037V7DW01 && PANEL_ACX565AKM && USB_APPLEDISPLAY && FB_OLPC_DCON && ASUS_LAPTOP && SONY_LAPTOP && THINKPAD_ACPI && EEEPC_LAPTOP && ACPI_ASUS && ACPI_CMPC && SAMSUNG_Q10) selects BACKLIGHT_CLASS_DEVICE which has unmet direct dependencies (HAS_IOMEM && BACKLIGHT_LCD_SUPPORT)

    Signed-off-by: Randy Dunlap
    Cc: David Airlie
    Signed-off-by: Andrew Morton
    Signed-off-by: Dave Airlie

    Randy Dunlap
     
  • * 'drm-nouveau-fixes' of git://git.freedesktop.org/git/nouveau/linux-2.6:
    drm/nouveau: Fix bandwidth calculation for DisplayPort
    drm/nouveau: by default use low bpp framebuffer on low memory cards
    drm/nv10: Change the BO size threshold determining the memory placement range.
    drm/nvc0: enable acceleration for nvc1 by default
    drm/nvc0/gr: fixup the mmio list register writes for 0xc1
    drm/nvc1: hacky workaround to fix accel issues
    drm/nvc0/gr: fix some bugs in grctx generation
    drm/nvc0: enable acceleration on 0xc8 by default
    drm/nvc0/vram: skip disabled PBFB subunits
    drm/nv40/pm: fix issues on igp chipsets, which don't have memory
    drm/nouveau: testing the wrong variable
    drm/nvc0/vram: storage type 0xc3 is not compressed
    drm/nv50: fix stability issue on NV86.
    drm/nouveau: initialize chan->fence.lock before use
    drm/nv50/vram: fix incorrect detection of bank count on newer chipsets
    drm/nv50/gr: typo fix, how about we not reset fifo during graph init?
    drm/nv50/bios: fixup mpll programming from the init table parser
    drm/nouveau: fix oops if i2c bus not found in nouveau_i2c_identify()
    drm: make sure drm_vblank_init() has been called before touching vbl_lock

    Dave Airlie
     
  • during the review of the fix for locks problems in drm_wait_vblank,
    a couple of false concerns were raised about how the drm_vblank_get
    and drm_vblank_put are used in this function; it turned out that the
    code is correct and that it cannot be simplified

    add a few comments to explain non-obvious flows in the code,
    to prevent "false alarms" in the future

    v2: incorporate comments received from Daniel Vetter

    Signed-off-by: Ilija Hadzic
    Reviewed-by: Daniel Vetter
    Signed-off-by: Dave Airlie

    Ilija Hadzic
     
  • radeon_benchmark_do_move() returns an int so "time" should be int
    too. Making it unsigned breaks the error handling.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Dave Airlie

    Dan Carpenter
     
  • drm_wait_vblank must be DRM_UNLOCKED because otherwise it
    will grab the drm_global_mutex and then go to sleep until the vblank
    event it is waiting for. That can wreck havoc in the windowing system
    because if one process issues this ioctl, it will block all other
    processes for the duration of all vblanks between the current and the
    one it is waiting for. In some cases it can block the entire windowing
    system.

    v2: incorporate comments received from Daniel Vetter and
    Michel Daenzer.

    v3/v4: after a lengty discussion with Daniel Vetter, it was concluded
    that the only thing not yet protected with locks and atomic
    ops is the write to dev->last_vblank_wait. It's only used in a
    debug file in proc, and the current code already employs no
    correct locking: the proc file only takes dev->struct_mutex,
    whereas drm_wait_vblank implicitly took the drm_global_mutex.
    Given all this, it's not worth bothering to try to fix
    the locks at this time.

    Signed-off-by: Ilija Hadzic
    Reviewed-by: Daniel Vetter
    Signed-off-by: Dave Airlie

    Ilija Hadzic
     
  • As Exynos DRM is merged at mainline. Also update the maintainer entry.

    Signed-off-by: Kyungmin Park
    Signed-off-by: Dave Airlie

    Kyungmin Park
     
  • We restore the CRTC, encoder, and connector configurations, but if the
    mode set failed, the attached display may have been turned off, so we
    need to try set_config again to restore things to the way they were.

    Signed-off-by: Jesse Barnes
    Reviewed-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Jesse Barnes
     
  • Can happen when there is no DP panel attached, confusing
    users. Make it debug only.

    Signed-off-by: Alex Deucher
    Cc: stable@kernel.org
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • slow-work got killed in commit 181a51f6e0. This means that since v2.6.36
    there is no Kconfig symbol SLOW_WORK. Apparently selecting that symbol
    is a nop. Drop that select.

    Signed-off-by: Paul Bolle
    Signed-off-by: Dave Airlie

    Paul Bolle
     
  • Nouveau, when configured with debugfs, creates debugfs files for every
    channel, so structure holding list of files needs to be protected from
    simultaneous changes by multiple threads.

    Without this patch it's possible to hit kernel oops in
    drm_debugfs_remove_files just by running a couple of xterms with
    looped glxinfo.

    Signed-off-by: Marcin Slusarz
    Reviewed-by: Daniel Vetter
    Signed-off-by: Dave Airlie

    Marcin Slusarz
     
  • This hunk seems to have gotten lost when I rebased the patch.

    Reported-by: Sylvain Bertrand
    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • This was only the case if the GPU reset was triggered from the CS ioctl,
    otherwise other processes could happily enter the CS ioctl and wreak havoc
    during the GPU reset.

    This is a little complicated because the GPU reset can be triggered from the
    CS ioctl, in which case we're already holding the mutex, or from other call
    paths, in which case we need to lock the mutex. AFAICT the mutex API doesn't
    allow recursive locking or finding out the mutex owner, so we need to handle
    this with helper functions which allow recursive locking from the same
    process.

    Signed-off-by: Michel Dänzer
    Reviewed-by: Jerome Glisse
    Signed-off-by: Dave Airlie

    Michel Dänzer
     
  • Fixes Coverity buffer not null terminated defect.

    Signed-off-by: Vinson Lee
    Signed-off-by: Dave Airlie

    Vinson Lee
     
  • Snooping code expects this to be the case.

    Signed-off-by: Jakob Bornecrantz
    Reviewed-by: Thomas Hellstrom
    Signed-off-by: Dave Airlie

    Jakob Bornecrantz
     
  • Signed-off-by: Jakob Bornecrantz
    Reviewed-by: Thomas Hellstrom
    Signed-off-by: Dave Airlie

    Jakob Bornecrantz
     
  • Signed-off-by: Jakob Bornecrantz
    Reviewed-by: Thomas Hellstrom
    Signed-off-by: Dave Airlie

    Jakob Bornecrantz
     

10 Nov, 2011

7 commits