commit df6662864b56d1aeeea4c67d9b668e64197afb20
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Apr 7 11:44:05 2016 +0900

    Bump version for 7.7.0 release

commit c12614cfdc5729041c204e3ead1dbfde38011f0c
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Mon Apr 4 14:59:41 2016 +0900

    Update manpage entry for Option "TearFree"
    
    It's now effective for rotation as well.
    
    (Ported from amdgpu commit faf9d720b7d650f5f1ea657a874d08eac3972e60)
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 4693b1bd5b5c381e8b7b68a6f7f0c6696d6a68df
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Mar 31 17:02:55 2016 +0900

    Identify DRM event queue entries by sequence number instead of by pointer
    
    If the memory for an entry was allocated at the same address as that for
    a previously cancelled entry, the handler could theoretically be called
    prematurely, triggered by the DRM event which was submitted for the
    cancelled entry.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 83734317e6bdaeebb4462a63f541e73a1d7c2f77
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Mar 30 11:44:09 2016 +0900

    Update pixmap pitch in radeon_set_pixmap_bo
    
    Stop second guessing it in drmmode_crtc_scanout_create.
    
    Fixes display corruption in some cases with TearFree enabled.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94751
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 0b3aac1de9db42bfca545fa331e4985836682ec7
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Mon Mar 28 18:43:36 2016 +0900

    DRI3: Refuse to open DRM file descriptor for ssh clients (v2)
    
    Fixes hangs when attempting to use DRI3 on display connections forwarded
    via SSH.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93261
    
    v2: Don't do this for Xorg > 1.18.99.1 since the corresponding xserver
        change has landed in Git master.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)

commit 8a6cd4bda05b9569b3dd0a5a75b2cc385b9ecba9
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri Mar 25 11:50:15 2016 +0900

    Revert "Use render node for DRI3 if available"
    
    This reverts commit cd94248ffa7d8fe0b57476f79e7e860dee66d1b0.
    
    It broke VDPAU<->GL interop with DRI3 enabled, because the Gallium VDPAU
    code doesn't support DRI3 yet. We can consider re-enabling this once
    there is a Mesa release where the Gallium VDPAU code supports DRI3.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94675
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit ed31cffba0d1bd4b14e5348a1456e4377277059c
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Mar 24 18:08:22 2016 +0900

    Call RADEONBlockHandler_KMS before setting initial modes
    
    Doing it the other way around meant that there was still a possibility
    for the front buffer contents to be uninitialized when they start being
    scanned out.
    
    (Ported from amdgpu commit 4a60b4b1851a3cbc2d8ad9048d68eeb6947cf132)
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit e592f32f8b5f5873fcc18b10a69dd5e4ccf11073
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Mar 23 18:25:48 2016 +0900

    Require xserver 1.9 or newer
    
    1.9.0 was released in August 2010.
    
    We were already unintentionally relying on things not available in 1.8
    for at least a year, and nobody has complained.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit bde466e5d44cad64b4e4eceaa5de80fdbf86356e
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Mar 23 18:16:42 2016 +0900

    Fix build against older versions of xserver
    
    Also slightly clean up the error handling in radeon_scanout_do_update.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94614
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit b2b079be0e7ef2704c3df9ee25fe46166e450e83
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Mar 23 17:29:47 2016 +0900

    Use radeon_alloc_pixmap_bo for allocating scanout BOs
    
    This enables tiling for scanout BOs used for TearFree / ShadowPrimary,
    and simplifies the code a little.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit d21ac4669a8b2cdd4eec5e5a94d1950b7423b8b5
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Mar 23 17:27:27 2016 +0900

    DRI3 only works with acceleration
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94214
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit eb1a2c57e6c45d7ca57b2e2be643194243b7aae1
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Mar 23 17:23:31 2016 +0900

    TearFree can only work with acceleration
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit d670c5c9851b4eff21c845d26c7d7e4eb5ee0fa9
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri Mar 18 16:46:08 2016 +0900

    Check for xf86CursorResetCursor
    
    If it's available, Xorg calls it on each mode configuration change. It
    does what xf86_reload_cursors does (and more), so we don't need to call
    the latter anymore.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 7f3d0780ca65a90117c2a61362dbc0899bd9c0b0
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Mar 9 18:28:47 2016 +0900

    Don't try DRI2/Present flipping while the HW cursor can't be used
    
    Flipping doesn't interact correctly with SW cursor: A flip makes the SW
    cursor disappear. It will only appear again when the cursor is moved,
    but it will be surrounded by corruption, because the SW cursor code
    will restore stale screen contents at the old cursor location before
    drawing the cursor at the new location.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 3de480e83c0a1824838d662d6d67c9fe85277298
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Mar 9 16:44:32 2016 +0900

    Factor out HW cursor checking code into drmmode_can_use_hw_cursor
    
    And add a check for RandR 1.4 multihead.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 2e0b458e747c7df81dd5f9579a762262af3350e1
Author: Ryan Kennedy <Ryan.Kennedy@amd.com>
Date:   Sun Mar 20 17:57:56 2016 -0400

    Use correct tiling in drmmode_create_bo_pixmap
    
    The callers were using 0 for the tiling flags, causing surfaces to be
    incorrectly treated as linear. This issue was causing corruption on Cayman
    just after login with GNOME3. The kernel was rejecting the cs in
    drmmode_copy_fb due to invalid texture pitch.
    
    Signed-off-by: Ryan Kennedy <Ryan.Kennedy@amd.com>
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>

commit a03271de5ecdaa7790d1316e993c4450b91fe936
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Mar 9 18:23:10 2016 +0900

    present: Return rotated CRTCs from radeon_present_get_crtc
    
    Sync-to-vblank works fine with rotation. We're still checking for
    rotation in radeon_present_check_flip.
    
    Returning NULL from here resulted in the xserver present code falling
    back to the fake CRTC running at 1 fps.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 40191d82370eb7e58bd34c44966cbf44c3703229
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Mar 9 18:15:57 2016 +0900

    present: Clear drmmode->fb_id before calling set_mode_major for unflip
    
    Without this, drmmode_set_mode_major may just re-set the FB for the
    last flipped BO, in which case the display will probably freeze.
    
    Reproduction recipe: Enable rotation while a fullscreen client is
    flipping.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 798c4fd16d339b1ad5fd729cc884be084c60e38b
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri Dec 25 18:57:42 2015 +0900

    Make Option "TearFree" effective for rotated/reflected outputs as well (v2)
    
    Support varies by xserver version:
    
    < 1.12:    No support for the driver handling rotation/reflection
    1.12-1.15: Support for driver handling rotation/reflection, but there's
               a bug preventing the HW cursor from being visible everywhere
               it should be on rotated outputs, so we can only support
               TearFree for reflection.
    >= 1.16:   While the bug above is still there (fixes pending review),
               the driver can force SW cursor for rotated outputs, so we
               can support TearFree for rotation as well.
    
    v2: Don't set crtc->driverIsPerformingTransform after xf86CrtcRotate if
        it wasn't set before. Fixes breaking rotation with TearFree disabled.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)

commit eb611a2e4ecce7a1ab85fd72b9b78e3269311dd5
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Tue Feb 2 18:04:11 2016 +0900

    Consolidate pScreen usage in drmmode_set_mode_major
    
    We were already relying on pScrn->pScreen being non-NULL in some cases,
    which is supposedly always true ever since this function is no longer
    getting called from ScreenInit.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 06602171386e538081c298645fb7ca1a70fe80cc
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Feb 4 17:13:57 2016 +0900

    Remove check for XF86_CRTC_VERSION 3
    
    We require xserver >= 1.8, which was already at version 3.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit a88985f5d1e39caca49ceb65678aaa9cb622a0d2
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Mon Feb 29 18:12:43 2016 +0900

    Deal with modesets and page flips crossing on a CRTC
    
    If we set a mode while a flip is pending, the kernel driver may program
    the flip to the hardware after the modeset. If that happens, the hardware
    will display the BO from the flip, whereas we will assume it displays the
    BO from the modeset. In other words, the display will most likely freeze,
    at least until another modeset.
    
    Prevent this condition by waiting for a pending flip to finish before
    setting a mode.
    
    Fixes display freezing when setting rotation or a transform with
    TearFree enabled.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit f5d968cbba3c9b7ec202161f2157d8d64778c817
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu May 21 12:54:31 2015 +0900

    Make DRM event queue xf86CrtcPtr based instead of ScrnInfoPtr based
    
    This allows for a minor simplification of the code.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit e87365117acbd80b7d80fbb5eb30890ef7153291
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Feb 25 16:49:16 2016 +0900

    DRI2: Also clear dri2_flipping when client disconnects before event
    
    Fixes the following problem:
    
    With DRI3 enabled, run glxgears with LIBGL_DRI3_DISABLE=1, make it
    fullscreen and press Escape while it's still fullscreen. This could
    result in dri2_flipping not getting cleared, spuriously preventing apps
    using DRI3 from flipping.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit d5dbb07db22d5420c81dfebc060f0dd86e7b8a20
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Feb 25 18:02:12 2016 +0900

    Remove radeon_scanout_flip_handler
    
    No longer necessary now that radeon_drm_queue_handler can handle
    e->handler == NULL.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 3989766edde85d1abe7024577b98fc9b007bc02a
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Feb 25 16:43:48 2016 +0900

    drm_queue: Don't abort events immediately from radeon_drm_abort_client
    
    Keep them around until the DRM event arrives, but then call the abort
    functions instead of the handler functions.
    
    This is a prerequisite for the following fix.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 7bc089ee9740a3ef91f16e36786d8ed64e165acd
Author: jimqu <Jim.Qu@amd.com>
Date:   Tue Feb 16 17:05:48 2016 +0900

    glamor: Return NullPixmap on failure to create shareable pixmap
    
    If we were asked to create a shareable pixmap, it doesn't make sense
    to return a pixmap which isn't shareable. Doing so caused trouble down
    the line such as a crash with older versions of glamor when trying to
    use GLX pixmaps of bpp < 32 via DRI2.
    
    Signed-off-by: JimQu <jim.qu@amd.com>
    (ported from amdgpu commit 2fcb7dadd3c71cd405cbbaafc777697538ca9c29)
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 4cc32031467157ab8788f5c684fb1ac67ae96ff9
Author: jimqu <Jim.Qu@amd.com>
Date:   Tue Feb 16 17:03:24 2016 +0900

    Move radeon_glamor_destroy_pixmap before radeon_glamor_create_pixmap
    
    The next commit will call the former from the latter. No functional
    change.
    
    Signed-off-by: JimQu <jim.qu@amd.com>
    (ported from amdgpu commit 5269a2228bff6023c1a7f3e8534027e1d7addc25)
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit a9b181083d56b5de9b6822d0ed89fcc86de777a6
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Tue Feb 16 16:59:40 2016 +0900

    Remove pci_dev test from radeon_get_scrninfo
    
    The pci_dev parameter can never be NULL since we only support KMS.
    
    Reported-by: Tom St Denis <tom.stdenis@amd.com>
    (ported from amdgpu commit 6e42c58375a4c3229da93c27bbd104af145c6163)
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 2c7f068b0a0493daae86e5eacdf8d9812fcd28dc
Author: Mykola Lysenko <Mykola.Lysenko@amd.com>
Date:   Mon Feb 15 18:21:39 2016 +0900

    Initialize drmmode_crtc dpms_mode to DPMSModeOff
    
    This disables query of disabled pipes for drmWaitVBlank on X start
    
    Signed-off-by: Mykola Lysenko <Mykola.Lysenko@amd.com>
    (ported from amdgpu commit 4eb9cedca080b30c57ded349a397620ee7d0cd46)
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 9358e44f03c95396b7f7a4f7398f5b24d2559bb2
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Mon Feb 15 18:20:31 2016 +0900

    sync: Check if miSyncShmScreenInit symbol is resolved at runtime
    
    It may be disabled in the Xorg build, either explicitly or because the
    xshmfence library isn't available.
    
    (ported from amdgpu commit 1d0b0c1794e65e581a48aa9fb19679d928d82a5d)
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit cd94248ffa7d8fe0b57476f79e7e860dee66d1b0
Author: Jammy Zhou <Jammy.Zhou@amd.com>
Date:   Tue Feb 16 16:36:33 2016 +0900

    Use render node for DRI3 if available
    
    Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
    (ported from amdgpu commit ea558e645786b08d75307716036045170e97b43e)
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit d41fcccf2f11d0393d252e76bbbe6d233c4ac443
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Jan 20 11:20:30 2016 +0900

    Set RADEON_GEM_NO_CPU_ACCESS flag for BOs which don't need CPU access
    
    Failing to do this was resulting in the kernel driver unnecessarily
    leaving open the possibility of CPU access to those BOs.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 9483a3d777919b224f70c3b4d01e4b320a57db31
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri Jan 15 16:48:46 2016 +0900

    Fix RandR CRTC transforms
    
    Currently, Xorg will only transform the cursor as of the first time the
    cursor image changes after a transform is set.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80678
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit b16856b25086ffb27365ac2249b8da921066ce62
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Jan 14 17:32:54 2016 +0900

    Set the RandR primary output on startup if Xorg hasn't
    
    Fixes xrandr (XRRGetOutputPrimary) not reporting any output as primary
    after startup.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit c7cf00487cd6d4a5d0f39d5b92ff04f6420d6a32
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri Nov 27 12:52:28 2015 +0900

    Build RandR 1.4 provider name from chipset name and bus ID
    
    Instead of just "radeon", it's now e.g. "KAVERI @ pci:0000:00:01.0".
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit ff9a6b6f079a8419f4e6fadfee778060618bf735
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri Dec 11 17:21:27 2015 +0900

    HAS_DIRTYTRACKING_ROTATION also supports multiple CRTCs
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 78fbca095ae9887a2d3de48bb07975e2d1126e68
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Tue Dec 1 15:38:13 2015 +0900

    Load fb module before glamoregl/shadow modules
    
    Fixes unresolved symbols on some systems.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93105
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit b19417e2fddf4df725951aea5ad5e9558338f59e
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri Nov 20 18:48:56 2015 +0900

    Don't advertise any PRIME offloading capabilities without acceleration
    
    Acceleration is required even for display offloading. Trying to enable
    display offloading without acceleration resulted in a crash.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 10b7c3def58bb34acc38f076bc230e25b454ab79
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Tue Nov 10 16:31:09 2015 +0900

    glamor: Deal with glamor_egl_destroy_textured_pixmap being removed
    
    When it's not available, it's safe to call down to the glamor
    DestroyPixmap hook instead.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 535e5438b2c32f774b9c8c27ee0289b4749548ef
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Tue Nov 10 17:31:52 2015 +0900

    glamor: Restore all ScreenRec hooks during CloseScreen
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit dfb52777e43f3855476cff812d64de687a199674
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Nov 12 13:49:04 2015 +0900

    Post 7.6.1 release version bump

commit 99cb8c3faf1a4ce368b7500f17a2a7868c15e8e8
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Nov 12 13:38:14 2015 +0900

    Set version for 7.6.1 release

commit 4a2114a717ec8d78cacd8fe158e132d62013faac
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Nov 12 13:32:25 2015 +0900

    Remove duplicate free(output_ids) call
    
    Fixes double-free regression introduced by commit 875ad48e ("Simplify
    drmmode_set_mode_major() and avoid leaking memory.").

commit 960a9f37096b53ec9603a99c7b1f3679f915e03f
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Nov 12 13:20:18 2015 +0900

    Post 7.6.0 release version bump

commit 9aae4b71fb402841439e3267fcb7f410d8429c3a
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Nov 12 11:56:48 2015 +0900

    Bump version for 7.6.0 release

commit 98291869ac4a542a0b478920586407ff9d2c8ef0
Author: Tom St Denis <tom.stdenis@amd.com>
Date:   Wed Nov 11 16:01:41 2015 +0900

    Clean up radeon_dri2_create_buffer2()
    
    Remove the depth_pixmap variable from the function and clear
    out any dead/odd behaviour that results.
    
    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
    (ported from amdgpu commit 6000aef4e2f0a121b94023484406fb6f04688f74)
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit c6fc7e309a8a922f94a1f5f3e8bfb9058cff7ad1
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Nov 11 15:59:06 2015 +0900

    Properly handle drmModeAddFB failure in drmmode_crtc_scanout_allocate
    
    We were printing an error message, but not propagating the failure. That
    would probably lead to trouble down the road.
    
    (ported from amdgpu commit 21e72fb2418b5cc7fc849a9cf951186e209036b0)
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 4e4f4d53da0539ef9feb8766230a6e9927ae005b
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Nov 11 15:57:21 2015 +0900

    Eliminate redundant data parameter from drmmode_crtc_scanout_create
    
    drmmode_crtc_scanout_create just needs to call
    drmmode_crtc_scanout_allocate when scanout->bo is NULL.
    
    This makes it clearer to the reader / compiler that
    drmmode_crtc_scanout_create doesn't dereference scanout->bo when it's
    NULL.
    
    (ported from amdgpu commit 8da1d0c870e1081d77925807d6e3bbc61a23f54f)
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 421a7e797bdd58d83e81af7a6512cc715a3df514
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Nov 11 15:51:58 2015 +0900

    Don't advertise rotation support without hardware acceleration v2
    
    Rotation currently doesn't work without acceleration (doesn't actually
    rotate with Option "NoAccel", crashes with Option "AccelMethod" "none"
    or when glamor fails to initialize) and would probably be too slow
    anyway.
    
    v2: Also remove now dead code checking for ShadowFB from
        drmmode_crtc_scanout_allocate().
    
    (ported from amdgpu commit dc40582d5ff94d812cbc08f95cf14b80cd0f410d)
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 875ad48e7b5cdb7beefbf18dddcbee3ed22b5446
Author: Tom St Denis <tom.stdenis@amd.com>
Date:   Wed Nov 11 15:51:19 2015 +0900

    Simplify drmmode_set_mode_major() and avoid leaking memory.
    
    The function would leak the memory allocated for output_ids.  This
    patch addresses that as well as simplifies the logic somewhat.
    
    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
    (ported from amdgpu commit 460560502a1bdf26d06f3c30df46fa9f28ffb9e5)
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 789d7d6a04cca6b36fb088a074027807ccb8dd61
Author: Tom St Denis <tom.stdenis@amd.com>
Date:   Wed Nov 11 15:48:51 2015 +0900

    Clean up allocation in RADEONInitVideo()
    
    The allocation of the adapters should use the correct sizeof (even if
    allocating an array of pointers).
    
    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
    (ported from amdgpu commit db3bb2061b9ac16b0922d9afae99874820356a04)
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit d88fa0dd5d37604de8efb05853738cfaca6a3166
Author: Tom St Denis <tom.stdenis@amd.com>
Date:   Wed Nov 11 15:46:50 2015 +0900

    Simplify pick best crtc to fold two loops into one
    
    This patch folds the two for loops from radeon_pick_best_crtc() into
    one to reduce the LOC and make the routine easier to read.
    
    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
    (ported from amdgpu commit 3055724aef76a624718f26d5f0f9e9d567ffbcfb)
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit dbbcd75b3c80aba77673904d46bca97779fd8a8d
Author: Tom St Denis <tom.stdenis@amd.com>
Date:   Wed Nov 11 12:54:54 2015 +0900

    dri2: Avoid calculation with undefined msc value
    
    If the get_msc() call fails for any reason we should avoid updating the
    vblank counter delta with undefined data.
    
    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> (minor fixups)
    (ported from amdgpu commit 8823c3d4c6db70cff7699b31088f2d92db8faaf4)
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 7186a8713ba004de4991f21c1a9fc4abc62aeff4
Author: Stephen Chandler Paul <cpaul@redhat.com>
Date:   Fri Oct 23 09:59:36 2015 -0400

    Handle failures in setting a CRTC to a DRM mode properly
    
    This fixes a bug where running the card out of PPLL's when hotplugging
    another monitor would result in all of the displays going blank and
    failing to work properly until X was restarted or the user switched to
    another VT.
    
    [Michel Dänzer: Pass errno instead of -ret to strerror()]
    
    Signed-off-by: Stephen Chandler Paul <cpaul@redhat.com>
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>

commit 548e97b3b7d1e94075a54ca2bb4eb683025098a7
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri Oct 16 16:26:58 2015 +0900

    Call xf86CrtcRotate from initial drmmode_set_desired_modes call
    
    Fixes various problems when rotation is specified in xorg.conf.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92475
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit ce9914af8d8d5243977023ec7b09c605f9cca8b4
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri Oct 2 18:07:18 2015 +0900

    Only align screen / scanout pixmap height where necessary
    
    When using glamor acceleration, the pixmap's header has to have a height
    that matches exactly what the actual height is minus the GPU memory
    alignment. Otherwise CRTCs scanning out from the main scanout buffer
    (e.g. every CRTC that isn't rotated or transformed in some way) won't
    always work. This results in a bug where rotating one monitor in a
    multi-monitor setup won't always work properly. Easiest way to reproduce
    this:
    
    - Have two monitors (I've gotten this working with a 1920x1080 and
      1280x1024, along with two 1920x1080s)
    - Rotate one of them from 0° to 90°, then rotate the same monitor from
      90° to 180°. The monitor that hasn't been rotated won't properly
      update, and will stay on a blank screen
    
    This doesn't seem to make any difference when using EXA for
    acceleration.
    
    Compared to Stephen Chandler's patch, this drops the height alignment
    in most places and only keeps it where it's really necessary.
    
    Reported-and-Tested-by: Stephen Chandler Paul <cpaul@redhat.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 0288a4b87b65ba54f37fbeeea3cb32238deee92e
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Aug 19 16:54:14 2015 +0900

    DRI2: Keep MSC monotonic when moving window between CRTCs
    
    This mirrors the DRI3 implementation in xserver. Fixes VDPAU video
    playback hanging when moving the window between CRTCs.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66384
    
    (Ported from amdgpu commit 63948ea091a9b324327ade7ec4fc5d67ca7e6f6f)
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 1d886b526dc49f32dc6744b7a882894bdac4e846
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Aug 19 18:11:45 2015 +0900

    DRI2: Don't ignore rotated CRTCs in amdgpu_dri2_drawable_crtc
    
    Waiting for vblank interrupts works fine with rotated CRTCs. The only
    case we can't handle with rotation is page flipping, which is handled
    in can_exchange().
    
    This fixes gnome-shell hanging on rotation, probably because
    amdgpu_dri2_get_msc returned MSC/UST 0 for rotated CRTCs.
    
    (Ported from amdgpu commit 7b3212e33cd36fb6f122774df27b56ec4e1a22b8)
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 270da55340766074cabff8af4258e29fe2f0fc81
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Mon Aug 10 15:32:34 2015 -0400

    add new OLAND pci id
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit f123096877f0a0044f3d0315285441f2b5790c29
Author: Mario Kleiner <mario.kleiner.de@gmail.com>
Date:   Mon Aug 10 23:34:39 2015 +0200

    Make selection between DRI2 and DRI3 consistent with other drivers. (v2)
    
    Add Option "DRI" to allow selection of maximum DRI level.
    
    This allows the user to select the maximum level of DRI
    implementation to use, DRI2 or DRI3. It replaces the old
    option "DRI3" which had exactly the same purpose, but
    differs from the method used in both intel ddx and nouveau ddx.
    Make this consistent before a new stable driver is released.
    
    v2: Retain handling of old Option "DRI3" for backwards
        compatibility, but Option "DRI" will take precedence
        over "DRI3" if both are provided.
    
    Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>

commit 3791fceabf2cb037467dc41c15364e9f9ec1e47e
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Aug 6 16:27:01 2015 +0900

    Wait for scanout BO initialization to finish before setting mode
    
    This should avoid intermittent artifacts which could sometimes be visible
    when setting a new scanout pixmap, e.g. on server startup or when
    changing resolutions.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 4e3dfa69e4630df2e0ec0f5b81d61159757c4664
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Aug 6 16:16:38 2015 +0900

    Only call drmmode_copy_fb (at most) once on server startup
    
    It doesn't make sense to copy the screen contents from console when VT
    switching back to Xorg or when Xorg resets.
    
    Fixes intermittent artifacts when VT switching back from console to the
    gdm login screen.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 09c7cdb923965f9a1ea11d2f449bc02114408938
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Jul 30 15:58:54 2015 +0900

    glamor: Move declaration of struct radeon_pixmap out of #if/#else blocks
    
    Reviewed-by: Dave Airlie <airlied@redhat.com>

commit 936582fde0db461c5c3d78ce4f5f4c93a88a489d
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Jul 30 15:56:36 2015 +0900

    Remove unused local variable pRADEONEnt
    
    ../../src/radeon_probe.c: In function 'radeon_get_scrninfo':
    ../../src/radeon_probe.c:157:22: warning: variable 'pRADEONEnt' set but not used [-Wunused-but-set-variable]
             RADEONEntPtr pRADEONEnt;
                          ^
    
    Reviewed-by: Dave Airlie <airlied@redhat.com>

commit 5510cd6027d2387efdf33575e3bfc424cb11bfd8
Author: Dave Airlie <airlied@redhat.com>
Date:   Mon Jul 27 09:22:57 2015 +1000

    radeon: move radeon_pixmap forward declaration into other block
    
    There is already a radeon_pixmap forward decl here, the #else
    block is missing one.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit b32a0a3de84a44b9af4f1ca8be19f10d7fa31b12
Author: Dave Airlie <airlied@redhat.com>
Date:   Wed Jul 22 13:35:07 2015 +1000

    radeon: cleanup the entity rec
    
    Some of these were set, some of them were
    always opposites, so clean things up.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit fcb32231a38f9461d12720cbf72f63502197a711
Author: Emil Velikov <emil.l.velikov@gmail.com>
Date:   Tue Jul 21 23:55:20 2015 +0100

    Do not link radeon_drv.so against libpciaccess
    
    It's only used/needed by ati_drv.so
    
    Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>

commit b6d871bf299c7d0f106c07ee4d8bd3b2337f53cc
Author: Dave Airlie <airlied@gmail.com>
Date:   Thu Jul 9 19:25:36 2015 +1000

    radeon: adopt for new X server dirty tracking APIs.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 95f5d09e3667ded027ae648c97eb4737d8bf67c5
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu May 28 11:24:42 2015 +0900

    present: Handle DPMS off in radeon_present_get_ust_msc
    
    The DRM_IOCTL_WAIT_VBLANK ioctl may return an error during DPMS off,
    which would trigger an error message in drmmode_crtc_get_ust_msc.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 211862b777d0be251a4662f5dd24f2d400544c09
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri May 1 18:20:01 2015 +0900

    present: Look at all CRTCs to determine if we can flip
    
    Inspired by modesetting driver change by Kenneth Graunke.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 802d33e474a82262d9cdf11b03568b0c4929cd0d
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri May 1 18:54:16 2015 +0900

    present: Fall back to modeset for unflip operation
    
    It's not always possible to use the page flip ioctl for this, e.g.
    during DPMS off. We were previously just skipping the unflip in that
    case, which could result in hangs when setting DPMS off while a
    fullscreen Present app is running, e.g. at the GNOME3 lock screen.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit a8ed62010d5012dfb27773595c446b217f3c00c5
Author: Piotr Redlewski <predlewski@gmail.com>
Date:   Mon Jul 6 19:57:07 2015 +0200

    Do not try to enable already enabled CRTCs in DPMS hook
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91227
    
    Signed-off-by: Piotr Redlewski <predlewski@gmail.com>
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>

commit fc07c370dac4649511eb7322d05a61605a539f39
Author: Mario Kleiner <mario.kleiner.de@gmail.com>
Date:   Sun Jun 28 02:45:58 2015 +0200

    Fix inconsistent default eg_tile_split in evergreen_accel.c
    
    eg_tile_split() maps the default: switch-case to tile split
    flag 6, like for a tile split size of 4096 Bytes. All other
    instances of tile split mappings or reverse mappings in both
    the ddx and in Mesa's radeon gallium drivers assign the default:
    case to tile split flag 4, consistent with a default of 1024
    Bytes.
    
    Make this one outlier consistent with other instances of
    mappings in the code to avoid surprises.
    
    Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>

commit ddaba449e8d6fe9fc0d97085e4045843fd8d7af9
Author: Piotr Redlewski <predlewski@gmail.com>
Date:   Wed Jun 24 18:44:39 2015 +0200

    Disable CRTCs when disabling the outputs
    
    When turning the outputs off (DPMSModeOff), CRTCs stayed enabled. This led
    to higher gpu temperatures than with fglrx driver.
    
    v2: when entering DPMS also disable active CRTCs
    v3: use drmmode_set_mode_major() for enabling CRTCs when leaving DPMS
    
    Signed-off-by: Piotr Redlewski <predlewski@gmail.com>
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>

commit acc11877423ecd81a6e0a7f38466f80e43efee20
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Tue Jun 16 17:34:57 2015 +0900

    Skip disabled CRTCs in radeon_scanout_(do_)update
    
    The vblank / page flip ioctls don't work as expected for a disabled CRTC.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit fc9fadaebbc8aead6e030d93a9ccd84561f8f59e
Author: Mario Kleiner <mario.kleiner.de@gmail.com>
Date:   Mon Jun 22 00:09:17 2015 +0200

    Don't set TILE_SPLIT flags if surface.tile_split == 0.
    
    On pre-Evergreen hw, libdrm's r6_surface_best() helper
    for the surface managers radeon_surface_best() routine
    is a no-op and therefore doesn't assign any tile_split
    settings to created surfaces, so it leaves
    surface.tile_split on its "undefined" value of 0.
    
    Mesa's DRI3/Present backend creates DRI3 Pixmaps via
    the DRIImage extension and the radeon gallium driver
    implementation of that extension uses the libdrm
    surface manager for backing bo creation and treats
    an undefined surface.tile_split==0, as returned by
    the surface manager for pre-evergreen, as a signal
    to not assign any tile_split flags to the DRI3 Pixmaps
    bo.
    
    The ddx also uses libdrm surface manager to create the
    x-screen pixmap, but so far treated the returned undefined
    surface.tile_split==0 by mapping it to eg_tile_split()'s
    default tile_split flags, which are different from Mesa's
    tiling flags for DRI3 pixmaps. Under DRI3/Present this
    causes a mismatch of src pixmap and destination root
    pixmaps tiling flags and thereby prevents page flipping
    for pixmap presents.
    
    Change the ddx code to treat surface.tile_split==0 the
    same way as the radeon gallium driver to avoid mismatched
    tiling flags and thereby allow DRI3/Present page-flip to
    work on pre-Evergreen hw.
    
    Tested on RV730 and Evergreen "Juniper".
    
    Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>

commit 49f5b0bc301414df049e00d226034e3d6e56421b
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri May 1 19:02:36 2015 +0900

    Don't attempt a DRI2/Present page flip while the other one is flipping
    
    Fixes corrupted display and hangs when switching between DRI2 and DRI3
    fullscreen apps, e.g. a compositor using DRI3 and a fullscreen app using
    DRI2 or vice versa.
