1commit 7025aefcdf9673665588cf291c5d71beb39cce89
2Author: Shashank Sharma <shashank.sharma@amd.com>
3Date:   Wed Feb 22 18:00:23 2023 +0100
4
5    Bump version for the 23.0.0 release
6    
7    This release includes some bug fixes.
8    
9    Signed-off-by: Shashank Sharma <shashank.sharma@amd.com>
10
11commit 6ee320917093ad0f7d68e516d3224d3c04ca13ee
12Author: Shashank Sharma <shashank.sharma@amd.com>
13Date:   Mon Nov 28 13:08:36 2022 +0100
14
15    config: Add hotplug driver name
16    
17    This patch adds the PCI-hotplug handler driver name in the
18    DDX config file with respect to Xorg commit:82bf391c
19    
20    Cc: Alexander Deucher <alexander.deucher@amd.com>
21    Signed-off-by: Shashank Sharma <shashank.sharma@amd.com>
22
23commit 2ec854d48e0e44fc60c3955663f700cbefea3553
24Author: Mario Kleiner <mario.kleiner.de@gmail.com>
25Date:   Fri Nov 11 02:18:07 2022 +0100
26
27    Fix primary output handling in amdgpu_crtc_covering_box().
28    
29    Commit e39a3ee07c9dea73b0452b71b1ef633b6cd6f389
30    tries to reintroduce the RandR primary output as a tie breaker
31    in amdgpu_crtc_covering_box(), but that function wrongly
32    assigns a void* devPrivate, which is actually a xf86CrtcPtr,
33    to the RRCrtcPtr primary_crtc, a pointer target type mismatch!
34    
35    This causes a later pointer comparison of primary_crtc with
36    RRCrtcPtr crtc to always fail, so that the user selected
37    primary output can not ever successfully act as a tie-breaker
38    when multiple candidate crtcs cover the same box area,
39    defeating the whole purpose of that commit! Not sure how
40    this failure could have ever evaded any basic testing.
41    
42    Fix this trivially by assigning the right variable.
43    
44    Successfully tested on a multi-display setup, verifying
45    that the primary output now works as tie breaker as
46    intended.
47    
48    Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
49    Fixes: e39a3ee07c9d ("Prefer crtc of primary output for synchronization when screen has to crtcs with the same coverage")
50
51commit 9c959fac3af28d191105f63236096ad456dca614
52Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
53Date:   Thu Sep 29 16:42:09 2022 +0200
54
55    Use DRM_CAP_CURSOR_WIDTH/HEIGHT if possible
56    
57    There's no need to hardcode the cursor size if the kernel can
58    report the value it wants.
59
60commit 4e011b91fa3ef58b85327d3429889efd934b3531
61Author: Alan Coopersmith <alan.coopersmith@oracle.com>
62Date:   Tue Aug 2 15:03:19 2022 -0700
63
64    gitlab CI: enable gitlab's builtin static analysis
65    
66    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
67
68commit dc81177ef342bf8c2aa5a6fd6687c7a09b4f9709
69Author: tiancyin <tianci.yin@amd.com>
70Date:   Wed Aug 10 16:46:15 2022 +0800
71
72    Fix screen corruption on secondary GPU
73    
74    [why]
75    On RHEL9+, xorg-server.pc shows that the Xorg no longer depends on dri,
76    and dri.pc provides "/opt/amdgpu/include" path for pkg-config, this
77    cause pkg-config no longer output "-I/opt/amdgpu/include", consequently
78    the configure can't find gbm.h and HAVE_GBM_BO_USE_LINEAR is not
79    declared, that cause the corruption.
80    
81    [how]
82    Since the gbm.pc also provides the "/opt/amdgpu/include" path, in module
83    dependence checking, GBM_CFLAGS get this path, so just explicitly add
84    GBM_CFLAGS into CPPFLAGS can fix this issue.
85    
86    Signed-off-by: tiancyin <tianci.yin@amd.com>
87
88commit a3a012b649eb9b3066abefe163a72854514792fa
89Author: Kai-Heng Feng <kai.heng.feng@canonical.com>
90Date:   Mon Aug 8 10:49:11 2022 +0800
91
92    Initialize present extension for GPU screen
93    
94    Some laptops have the external outputs routed to dGPU, when the external
95    output over dGPU is the only display in reverse prime mode, we need
96    present extension so fake CRTC won't be used.
97
98commit f3f57a58342c286808220bdbe6dc6bb7098763b9
99Author: Lukasz Spintzyk <lukasz.spintzyk@displaylink.com>
100Date:   Fri Jun 11 14:54:35 2021 +0200
101
102    Do not consider disabled crtc anymore when looking for xf86crtc covering drawable.
103    
104    This is commit is removing obsolete switch done in
105    
106    xf86-video-ati at sha 61d0aec40e2521488c2fe43e7a6823e5c87d94d7:  video: add option to include disabled CRTCs in best CRTC search
107    This is not required anymore as with commit done in
108    xorg-server at sha 5c5c1b77982a9af7279a90bc3c2be48adaa9c778:     present: Add Present extension
109    That in case of lack of crtc is using fake_crtc with render 1Hz frequency
110    
111    When consider_disabled is removed then amdgpu_pick_best_crtc is doing the same what rr_crtc_covering_box is doing
112    so it can be reimplemented to reuse that function.
113    
114    Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com>
115    Signed-off-by: Shashank Sharma <contactshashanksharma@gmail.com>
116    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
117
118commit e39a3ee07c9dea73b0452b71b1ef633b6cd6f389
119Author: Lukasz Spintzyk <lukasz.spintzyk@displaylink.com>
120Date:   Mon Jun 21 11:41:40 2021 +0200
121
122    Prefer crtc of primary output for synchronization when screen has to crtcs with the same coverage
123    
124    This is adjusting randr_crtc_covering_drawable to cover scenario fixed in
125    9151f3b1c2ebcc34e63195888ba696f2183ba5e2
126    
127    Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com>
128    Signed-off-by: Shashank Sharma <contactshashanksharma@gmail.com>
129    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
130
131commit 92fb43b8e96bbda77e03b7313ccbba75a304a1b1
132Author: Lukasz Spintzyk <lukasz.spintzyk@displaylink.com>
133Date:   Fri Jun 11 08:52:58 2021 +0200
134
135    Use randr_crtc_covering_drawable used in modesetting
136    
137    Use implementation from modesetting driver that is fixing issue:
138    https://gitlab.freedesktop.org/xorg/xserver/-/issues/1028
139    
140    Instead of returning primary crtc as fallback we can now find and return crtc that belongs to secondary outputs.
141    
142    v2:
143      restore original naming scheme for amdgpu_crtc_is_enabled, amdgpu_box_intersect, amdgpu_box_area functions
144    
145    Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com>
146    Signed-off-by: Emilia Majewska <emilia.majewska@synaptics.com>
147    Signed-off-by: Shashank Sharma <contactshashanksharma@gmail.com>
148    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
149
150commit 57740ae2357ca7b973f78be31327365aaa60ed41
151Author: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com>
152Date:   Tue Jun 22 07:36:42 2021 +0200
153
154    amdgpu: fixup driver for new X server ABI
155    
156    Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com>
157    Signed-off-by: Shashank Sharma <contactshashanksharma@gmail.com>
158    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
159
160commit 89b3eb9fffe2ead4257eee6d65accbac135aedc9
161Author: Alan Coopersmith <alan.coopersmith@oracle.com>
162Date:   Sat Feb 19 12:07:46 2022 -0800
163
164    Update URLs to reflect gitlab migration
165    
166    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
167
168commit 533bd30ceaa373788b3d0bfd4d486f0f1c624d0c
169Author: Shashank Sharma <shashank.sharma@amd.com>
170Date:   Tue Feb 22 16:25:01 2022 +0100
171
172    Bump version for the 22.0.0 release
173    
174    This release includes some bug fixes and one minor feature.
175    
176    Signed-off-by: Shashank Sharma <shashank.sharma@amd.com>
177
178commit 402bfdead7d512726c01359c03fcd37b4efdc975
179Author: Alan Coopersmith <alan.coopersmith@oracle.com>
180Date:   Mon Jan 17 14:20:53 2022 -0800
181
182    Build xz tarballs instead of bzip2
183    
184    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
185
186commit c21bcdd1cbdc340a80d1ebfbf02376e2dad9c67c
187Author: Jesse Zhang <jesse.zhang@amd.com>
188Date:   Wed Feb 16 16:11:44 2022 +0100
189
190    glamor: unset AMDGPU_CREATE_PIXMAP_SCANOUT on shared pixmap
191    
192    While running multi-display test(for both APUs and DGPUs), if
193    the screen setting mode is changed from "single mode" to "share mode",
194    the screen shows tiled distortion, due to wrongly created pixmap.
195    This is a regression.
196    
197    Fixes: 0732f81a2c67 ("glamor: Make pixmap scanout compatible if its dimensions are")
198    Closes: https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/-/issues/48
199    
200    Acked-by: Shashank Sharma <shashank.sharma@amd.com>
201    Signed-off-by: Jesse Zhang <jesse.zhang@amd.com>
202    Signed-off-by: Shashank Sharma <shashank.sharma@amd.com>
203
204commit 8bc148f0c14f6a6df1c3643a774e00a00c7942c6
205Author: Alan Coopersmith <alan.coopersmith@oracle.com>
206Date:   Mon Jan 17 14:25:12 2022 -0800
207
208    Fix spelling/wording issues
209    
210    Found by using:
211        codespell --builtin clear,rare,usage,informal,code,names
212    
213    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
214
215commit 65c127366a22c03d2ffcdcdf91eec28cac733e83
216Author: Mario Kleiner <mario.kleiner.de@gmail.com>
217Date:   Tue Jan 25 03:44:47 2022 +0100
218
219    Add option for non-vsynced flips for "secondary" outputs.
220    
221    This is a straightforward port of a patch with the same name
222    "modesetting: Add option for non-vsynced flips for "secondary"
223    outputs." from X-Server master / X-Server 21.1. See server MR 742.
224    The description below is therefore identical to that X-Server commit:
225    
226    Whenever an unredirected fullscreen window uses pageflipping for a
227    DRI3/Present PresentPixmap() operation and the X-Screen has more than
228    one active output, multiple crtc's need to execute pageflips. Only
229    after the last flip has completed can the PresentPixmap operation
230    as a whole complete.
231    
232    If a sync_flip is requested for the present, then the current
233    implementation will synchronize each pageflip to the vblank of
234    its associated crtc. This provides tear-free image presentation
235    across all outputs, but introduces a different artifact, if not
236    all outputs run at the same refresh rate with perfect synchrony:
237    The slowest output throttles the presentation rate, and present
238    completion is delayed to flip completion of the "latest" output
239    to complete. This means degraded performance, e.g., a dual-display
240    setup with a 144 Hz monitor and a 60 Hz monitor will always be
241    throttled to at most 60 fps. It also means non-constant present
242    rate if refresh cycles drift against each other, creating complex
243    "beat patterns", tremors, stutters and periodic slowdowns - quite
244    irritating!
245    
246    Such a scenario will be especially annoying if one uses multiple
247    outputs in "mirror mode" aka "clone mode". One output will usually
248    be the "production output" with the highest quality and fastest
249    display attached, whereas a secondary mirror output just has a
250    cheaper display for monitoring attached. Users care about perfect
251    and perfectly timed tear-free presentation on the "production output",
252    but cares less about quality on the secondary "mirror output". They
253    are willing to trade quality on secondary outputs away in exchange
254    for better presentation timing on the "production output".
255    
256    One example use case for such production + monitoring displays are
257    neuroscience / medical science applications where one high quality
258    display device is used to present visual animations to test subjects
259    or patients in a fMRI scanner room (production display), whereas
260    an operator monitors the same visual animations from a control room
261    on a lower quality display. Presentation timing needs to be perfect,
262    and animations high-speed and tear-free for the production display,
263    whereas quality and timing don't matter for the monitoring display.
264    
265    This commit gives users the option to choose such a trade-off as
266    opt-in:
267    
268    It adds a new boolean option "AsyncFlipSecondaries" to the device section
269    of xorg.conf. If this option is specified as true, then DRI3 pageflip
270    behaviour changes as follows:
271    
272    1. The "reference crtc" for a windows PresentPixmap operation does a
273       vblank synced flip, or a DRM_MODE_PAGE_FLIP_ASYNC non-synchronized
274       flip, as requested by the caller, just as in the past. Typically
275       flips will be requested to be vblank synchronized for tear-free
276       presentation. The "reference crtc" is the one chosen by the caller
277       to drive presentation timing (as specified by PresentPixmap()'s
278       "target_msc", "divisor", "remainder" parameters and implemented by
279       vblank events) and to deliver Present completion timestamps (msc
280       and ust) extracted from its pageflip completion event.
281    
282    2. All other crtc's, which also page-flip in a multi-display configuration,
283       will try to flip with DRM_MODE_PAGE_FLIP_ASYNC, ie. immediately and
284       not synchronized to vblank. This allows the PresentPixmap operation
285       to complete with little delay compared to a single-display present,
286       especially if the different crtc's run at different video refresh
287       rates or their refresh cycles are not perfectly synchronized, but
288       drift against each other. The downside is potential tearing artifacts
289       on all outputs apart from the one of the "reference crtc".
290    
291    Successfully tested on a AMD gpu with single-display and dual-display
292    setups, and with single-X-Screen as well as dual-X-Screen "ZaphodHeads"
293    configurations.
294    
295    Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
296
297commit 69365526d0a477e0d7842571a72266631c77742d
298Author: Dor Askayo <dor.askayo@gmail.com>
299Date:   Sat Aug 21 19:11:05 2021 +0300
300
301    glamor: Set AMDGPU_CREATE_PIXMAP_SCANOUT on DRI2 and shared pixmaps
302    
303    The scanout usage flag wasn't applied for DRI2 and shared pixmaps
304    in 0732f81a2c67, resulting in GPU artifacts in some scenarios.
305    
306    Fixes: 0732f81a2c67 ("glamor: Make pixmap scanout compatible if its
307                          dimensions are")
308    Closes: https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/-/issues/41
309    Signed-off-by: Dor Askayo <dor.askayo@gmail.com>
310    Signed-off-by: Michel Dänzer <mdaenzer@redhat.com>
311    Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
312
313commit 0d68a91dce88eeacd15bf1159ddc6200a01b1f2e
314Author: Alex Deucher <alexander.deucher@amd.com>
315Date:   Thu Jul 29 13:20:16 2021 -0400
316
317    Bump version for the 21.0.0 release
318    
319    Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
320    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
321
322commit aedbf47ffc9459c3654b66d8abf6d4f8515c4815
323Author: Michel Dänzer <mdaenzer@redhat.com>
324Date:   Mon Apr 26 15:00:54 2021 +0200
325
326    Include xf86drm.h instead of sarea.h
327    
328    Fixes build against current xorg-x11-server-devel from Fedora
329    34/35/rawhide.
330    
331    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
332
333commit 6ed48634443e15a45f48e3a4ddf91e46041ad38f
334Author: Michel Dänzer <mdaenzer@redhat.com>
335Date:   Tue Feb 2 12:45:54 2021 +0100
336
337    Drop dri.h includes
338    
339    Not needed anymore.
340    
341    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
342
343commit 6234a1b2652f469071c0c9b0d8b0f4a8079efe74
344Author: Likun Gao <Likun.Gao@amd.com>
345Date:   Fri Oct 30 12:23:20 2020 +0800
346
347    Fix drmmode_crtc_scanout_create logic
348    
349    If crtc scanout create successfully, the function of
350    drmmode_crtc_scanout_create should return TURE.
351    This will fix the regression caused by commit: "Make
352    drmmode_crtc_scanout_create/destroy static" (442efe73), as it will
353    result to some function (such as drmmode_set_scanout_pixmap) go to wrong
354    code path and result to NULL pointer.
355    Fixes: 442efe73 ("Make drmmode_crtc_scanout_create/destroy static")
356    
357    Signed-off-by: Likun Gao <Likun.Gao@amd.com>
358    Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
359
360commit 6bd3dc6bd8af238868154f24a37ff13cc9aa2705
361Author: Michel Dänzer <mdaenzer@redhat.com>
362Date:   Fri Aug 28 10:50:50 2020 +0200
363
364    Check for AMDGPU_CREATE_PIXMAP_SCANOUT in amdgpu_glamor_create_pixmap
365    
366    We must not call glamor_create_pixmap or fbCreatePixmap when it's set.
367    
368    Closes: https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/-/issues/21
369
370commit 2202cdfb0ac79591b6d3a51634e3b9f507970d55
371Author: Michel Dänzer <mdaenzer@redhat.com>
372Date:   Fri Jul 10 11:24:02 2020 +0200
373
374    Replace a few more instances of "master"
375    
376    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
377
378commit 0d1d479ecca424120ae1b0f16f9009aec64e5164
379Author: Michel Dänzer <mdaenzer@redhat.com>
380Date:   Fri Jul 10 11:13:21 2020 +0200
381
382    Fix build against ABI_VIDEODRV_VERSION 25.2
383    
384    Use primary/secondary instead of master/slave where applicable.
385    
386    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
387
388commit 442efe73dd579dc36445a3b232937abbed9d2fbb
389Author: Michel Dänzer <mdaenzer@redhat.com>
390Date:   Wed Apr 22 16:47:33 2020 +0200
391
392    Make drmmode_crtc_scanout_create/destroy static
393    
394    And the latter inline.
395
396commit 99f3c82e940e35642757ccd6dc5267004e1122f6
397Author: Michel Dänzer <mdaenzer@redhat.com>
398Date:   Tue Apr 21 19:02:41 2020 +0200
399
400    Drop struct drmmode_scanout altogether in favour of PixmapPtrs
401
402commit cfce4b3e6b05b1be14b7ce716dbfb9a15e7e21f4
403Author: Michel Dänzer <mdaenzer@redhat.com>
404Date:   Tue Apr 21 18:48:06 2020 +0200
405
406    Drop bo/width/height members from struct drmmode_scanout
407    
408    The pixmap is all we really need.
409
410commit 680b9a2976f9eb8010c8160c425c2194fb5429d1
411Author: Niclas Zeising <zeising@daemonic.se>
412Date:   Wed Apr 15 10:34:32 2020 +0200
413
414    Fix return value check of drmIoctl()
415    
416    When the drmModeSetCursor2() call was replaced with bare drmIoctl() call in
417    b344e155, a bug was introduced.  With the use of drmModeSetCursor2(),
418    the return value from drmIoctl() (which calls ioctl()) were mangled, if
419    they were negative, they were replaced by -errno by a wrapper function
420    in xf86drMode.c in libdrm.  After replacing drmModeSetCursor2() with the
421    call to drmIoctl(), this mangling no longer happens, and we need to
422    explicitly check if the call to drmIoctl() fails, which is indicated by
423    returning -1, and then why it failed, by checking errno.
424    If the error indicated by errno is EINVAL, then we can't use the
425    DRM_IOCTL_MODE_CURSOR2 ioctl(), and need to fall back to the
426    DRM_IOCTL_MODE_CURSOR ioctl().
427    
428    This bug can manifest itself by an invisible hw cursor on systems where the
429    DRM_IOCTL_MODE_CURSOR2 is not implemented by the graphics driver.
430    
431    Signed-off-by: Niclas Zeising <zeising@daemonic.se>
432
433commit e923642bae6077f71a8f251fe885342757737224
434Author: Peter Hutterer <peter.hutterer@who-t.net>
435Date:   Fri May 8 11:14:32 2020 +1000
436
437    gitlab CI: update to use the latest CI templates
438    
439    Repository was moved there from wayland/ci-templates, and let's update to the
440    most recent version..
441    
442    No real functional changes, we're just making use of the various CI template
443    bits and bobs now, specifically the FDO_* variables and the
444    .fdo.container-build and .fdo.distribution-image templates.
445    
446    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
447
448commit 0732f81a2c67354ddfa7a495bee6b0997c6ef244
449Author: Michel Dänzer <mdaenzer@redhat.com>
450Date:   Tue Apr 21 10:54:47 2020 +0200
451
452    glamor: Make pixmap scanout compatible if its dimensions are
453    
454    Namely, if its dimensions match those of the screen pixmap (enough that
455    it could stand in for it). When that's the case, the pixmap may end up
456    being scanned out directly due to page flipping via the Present
457    extension, e.g. with xfwm4 --vblank=xpresent .
458    
459    v2:
460    * Use AMDGPU_CREATE_PIXMAP_SCANOUT instead of second-guessing in
461      amdgpu_alloc_pixmap_bo, fixes corruption when resizing from smaller
462      to larger virtual size via RandR.
463    
464    Closes: https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/-/issues/10
465
466commit cb27a5b1120266e4baaa3eb784ff041977ded43f
467Author: Michel Dänzer <mdaenzer@redhat.com>
468Date:   Fri Nov 29 16:37:32 2019 +0100
469
470    Handle NULL fb_ptr in pixmap_get_fb
471    
472    This can happen when HW acceleration is disabled.
473    
474    Fixes https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati/issues/188
475    (ported from radeon commit 4d84cf438e7f1bebf0053035ef0292e9fed257d1)
476    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
477
478commit e2cd67abb4aa8b5c942b46dd66dac091b9fad7ad
479Author: Michel Dänzer <mdaenzer@redhat.com>
480Date:   Mon Mar 16 17:43:54 2020 +0100
481
482    Bail from amdgpu_pixmap_get_handle with ShadowFB
483    
484    There's no pixmap private in that case. The callers handle this
485    gracefully.
486    
487    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
488
489commit 42a3148ae14c6fd0d2e2e9013971188ca721d8f8
490Author: Emil Velikov <emil.velikov@collabora.com>
491Date:   Sat Dec 10 18:53:37 2016 +0000
492
493    Factor out common code to amdgpu_probe()
494    
495    Keep the distinct pci/platform screen management in the separate probe
496    entry point and fold the rest into a single function.
497    
498    v2: Rebase
499    
500    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
501    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
502    Acked-by: Alex Deucher <alexander.deucher@amd.com>
503
504commit eeaaf370854b63966f0b5adbd00d2e6809b773c1
505Author: Emil Velikov <emil.velikov@collabora.com>
506Date:   Sat Mar 31 15:00:16 2018 +0100
507
508    Introduce amdgpu_device_setup helper
509    
510    It folds the device specifics (open fd, device init) into a single
511    place.
512    
513    v2:
514     - Rebase
515     - Pass pAMDGPUEnt to amdgpu_device_setup (Michel)
516    
517    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
518    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
519    Acked-by: Alex Deucher <alexander.deucher@amd.com>
520
521commit 1c9742e304f4d198628cdc9487049cde472c7285
522Author: Emil Velikov <emil.velikov@collabora.com>
523Date:   Sat Mar 31 14:27:52 2018 +0100
524
525    Kill off drmOpen/Close/drmSetInterfaceVersion in favour of drmDevices
526    
527    The former has very subtle semantics (see the implementation in libdrm
528    for details) which were required in the UMS days.
529    
530    With drmDevices around, we have enough information to build our
531    heuristics and avoid drmOpen all together.
532    
533    In the odd case drmGetDevices2() can take a few extra cycles, so use a
534    reasonably sized local array.
535    
536    v2:
537     - Rebase
538     - Rework now that amdgpu_kernel_mode_enabled() is staying
539     - Keep amdgpu_bus_id()
540     - Use local drmDevice array.
541    
542    v3:
543     - Correct error handling (Michel)
544     - Preserve the "am I master" check (Michel)
545     - Always initialise the fd variable
546    
547    v4:
548     - Don't print "-1" on drmGetDevices2 failure (Michel)
549     - Use uppercase DRM (Michel)
550    
551    v5:
552     - Rebase on top of amdgpu_bus_id() rework
553     - Pass both pci and platform dev to amdgpu_kernel_open_fd() (Michel)
554     - Indent local_drmIsMaster() with tabs (Michel)
555    
556    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
557    Acked-by: Alex Deucher <alexander.deucher@amd.com>
558
559commit 2dd730784e632056c75a0fd62b33206b5fc01602
560Author: Emil Velikov <emil.velikov@collabora.com>
561Date:   Tue Jul 16 22:04:57 2019 +0100
562
563    Use the device_id straight from gpu_info
564    
565    This way we can remove the PciInfo and Chipset from the AMDGPUInfoRec.
566    
567    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
568    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
569    Acked-by: Alex Deucher <alexander.deucher@amd.com>
570
571commit 655b3c55b9a6233091d4dc5d2e80a0373aa3e2d6
572Author: Emil Velikov <emil.velikov@collabora.com>
573Date:   Wed Jul 17 00:04:39 2019 +0100
574
575    Reuse the existing busid string
576    
577    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
578    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
579    Acked-by: Alex Deucher <alexander.deucher@amd.com>
580
581commit b357a8474074d911d1c03572d4d9db3ee420633a
582Author: Emil Velikov <emil.velikov@collabora.com>
583Date:   Wed Jul 17 00:01:51 2019 +0100
584
585    Store the busid string in AMDGPUEnt
586    
587    This way we can reuse it, instead of redoing it later on.
588    
589    v2: Pass the AMDGPUEnt as argument.
590    v3: free() the string at AMDGPUFreeRec (Michel)
591    v4: Inline amdgpu_bus_id, move at top of mdgpu_kernel_open_fd (Michel)
592    
593    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
594    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> (v3)
595    Acked-by: Alex Deucher <alexander.deucher@amd.com>
596
597commit 2c0c154a838060eb683599faf9cbfa3e66dd42c8
598Author: Emil Velikov <emil.velikov@collabora.com>
599Date:   Tue Jul 16 23:39:30 2019 +0100
600
601    Remove NULL check after a "cannot fail" function
602    
603    XNFasprintf cannot fail - aka busid cannot be NULL.
604    
605    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
606    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
607    Acked-by: Alex Deucher <alexander.deucher@amd.com>
608
609commit 16ae0d06c6711a36c814618e06bf2be53079af81
610Author: Emil Velikov <emil.velikov@collabora.com>
611Date:   Tue Jul 16 23:37:05 2019 +0100
612
613    Fixup the amdgpu_bus_id() string format
614    
615    The func is a u, instead of a signed int.
616    
617    v2: Drop the precision - s/1u/u/ (Michel)
618    
619    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
620    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
621    Acked-by: Alex Deucher <alexander.deucher@amd.com>
622
623commit abbe23fae70b7f3bc7033d7603d331570677d431
624Author: Emil Velikov <emil.velikov@collabora.com>
625Date:   Sat Dec 10 14:30:16 2016 +0000
626
627    Remove drmCheckModesettingSupported and kernel module loading, on Linux
628    
629    The former of these is a UMS artefact which gives incorrect and
630    misleading promise whether KMS is supported. Not to mention that
631    AMDGPU is a only KMS driver.
632    
633    In a similar fashion xf86LoadKernelModule() is a relic of the times,
634    where platforms had no scheme of detecting and loading the appropriate
635    kernel module.
636    
637    Notes:
638     - Since there is no reply from Robert the code is still around, behind
639    a FreeBSD guard.
640     - If FreeBSD still needs this they should look and fix it ASAP, as:
641       - wayland itself or compositors do _not_ load kernel modules
642       - the kernel module should be loaded early to control the clocks/fan,
643    hence temperature of the card
644    
645    v2: Keep the code as FreeBSD only, add 'Notes' in the commit message.
646    
647    Cc: Robert Millan <rmh@freebsd.org>
648    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
649    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
650    Acked-by: Alex Deucher <alexander.deucher@amd.com>
651
652commit 0b3bc7addf9b5989bfad7c2c31979a15f5ba701d
653Author: Emil Velikov <emil.velikov@collabora.com>
654Date:   Sat Dec 10 14:28:19 2016 +0000
655
656    Use ODEV_ATTRIB_PATH where possible for the device node.
657    
658    Use the device node path, if the server knows it.
659    
660    Note:
661    ODEV_ATTRIB_PATH was introduced with xserver 1.13 - the minimum version
662    required to build amdgpu. Yet it's defined in xf86platformBus.h. With
663    the header included only when XSERVER_PLATFORM_BUS is set.
664    
665    Keep things obvious and use a ODEV_ATTRIB_PATH guard.
666    
667    v2: Rebase, add commit message
668    
669    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
670    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
671    Acked-by: Alex Deucher <alexander.deucher@amd.com>
672
673commit edcbe5f52ddfceee3d66d69bbcebbceac06b6d0d
674Author: Adam Jackson <ajax@redhat.com>
675Date:   Tue Feb 4 16:38:06 2020 -0500
676
677    Fix link failure with gcc 10
678    
679    Without the 'extern' this looks like a definition not just a
680    declaration, in every file that includes the header. gcc 10 is stricter
681    about this kind of multiple definition.
682
683commit fd66f5c0bea2b7c22a47bfd5eb1f22d32d166d9c
684Author: Adam Jackson <ajax@redhat.com>
685Date:   Wed Oct 30 12:33:09 2019 -0400
686
687    kms: Handle changes to SourceValidate call chain in xserver 19
688    
689    xserver 19 expects the SourceValidate hook to always be filled in with
690    something valid. For earlier servers it's harmless to simply fill this
691    in with a do-nothing function instead of NULL.
692    
693    Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
694
695commit b467d2569a003da05ad222b0dc095bee5eec450a
696Author: Michel Dänzer <mdaenzer@redhat.com>
697Date:   Fri Oct 11 17:10:10 2019 +0200
698
699    Bump version for the 19.1.0 release
700
701commit a1b7263277c033e109629829c370c0e95978e061
702Author: Michel Dänzer <mdaenzer@redhat.com>
703Date:   Thu Sep 26 15:56:59 2019 +0200
704
705    Don't unreference FBs of pixmaps from different screens in LeaveVT
706    
707    FindClientResourcesByType finds pixmaps from all screens, but trying to
708    process ones from other screens here makes no sense and likely results
709    in a crash or memory corruption.
710    
711    Fixes: c16ff42f927d ("Make all active CRTCs scan out an all-black
712                          framebuffer in LeaveVT")
713    (Ported from radeon commit 2faaecc69b127248718e759c6c98c84d56dd1b6b)
714
715commit 5b8bc9fc505c551dcd9b0ed5ab835a49fa4f9fda
716Author: Michel Dänzer <mdaenzer@redhat.com>
717Date:   Wed Sep 18 12:55:45 2019 +0200
718
719    Don't set up black scanout buffer if LeaveVT is called from CloseScreen
720    
721    Avoids a crash described in
722    https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/merge_requests/43#note_223718
723    
724    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
725
726commit e6fce59a071220967fcd4e2c9e4a262c72870761
727Author: Michel Dänzer <michel.daenzer@amd.com>
728Date:   Wed Jul 24 16:05:05 2019 +0200
729
730    present: Don't check pixmap pitch in check_flip with non-DC >= 3.34
731    
732    The current non-DC kernel driver also handles flipping between different
733    pitches correctly.
734    
735    Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
736
737commit 5bb2580b266468f87843b5585ae64e056b63bb88
738Author: Michel Dänzer <michel.daenzer@amd.com>
739Date:   Wed Jul 24 15:55:19 2019 +0200
740
741    present: Don't check pixmap pitch in check_flip with current DC
742    
743    Current DC handles flipping between different pitches correctly.
744    
745    Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
746
747commit ac66086613cbd0974b421cd5eda872adc15242ed
748Author: Michel Dänzer <michel.daenzer@amd.com>
749Date:   Wed Jul 24 15:45:21 2019 +0200
750
751    present: Also check pixmap pitch in check_flip with current xserver
752    
753    The corresponding check in the xserver Present code was removed again,
754    because flipping between different pitches can work in some cases.
755    
756    Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
757
758commit 98f172eb2d2353e19edd8167f22215ce596811f8
759Author: Michel Dänzer <michel.daenzer@amd.com>
760Date:   Mon Jul 29 18:54:24 2019 +0200
761
762    gitlab-ci: Use templates from wayland/ci-templates
763    
764    These are already used by xserver, Mesa and some other projects.
765    
766    Current Debian testing brings e.g. GCC 8.3.0 and clang 7.0.1.
767
768commit 87f41ace4920fd2069794211683659eb25b025a6
769Author: Michel Dänzer <michel.daenzer@amd.com>
770Date:   Fri Jul 5 12:43:53 2019 +0200
771
772    Don't disable page flipping completely with SW cursor
773    
774    Even with SW cursor, page flipping can be used while no X cursor is
775    visible.
776    
777    Occurred to me in the context of xorg/xserver#828.
778
779commit 7d3fef72e0c871e1677e9e544f4cae5e238b5c52
780Author: Michel Dänzer <michel.daenzer@amd.com>
781Date:   Thu May 9 17:39:49 2019 +0200
782
783    present: Check that we can get a KMS FB for flipping
784    
785    This can legitimately fail if the pixmap's storage is shared from
786    another device, e.g. when using PRIME render offloading.
787
788commit ea19a5207054bb159fc7fb6d88e0ceb10c3da010
789Author: Michel Dänzer <michel.daenzer@amd.com>
790Date:   Thu Jun 6 11:02:15 2019 +0200
791
792    Remove dri2_drawable_crtc parameter consider_disabled
793    
794    All callers were passing TRUE.
795    
796    Reviewed-and-tested-by: Flora Cui <flora.cui@amd.com>
797
798commit 3109f088fdbd89c2ee8078625d4f073852492656
799Author: Michel Dänzer <michel.daenzer@amd.com>
800Date:   Thu Jun 6 11:22:09 2019 +0200
801
802    dri2: Re-use previous CRTC when possible if pick_best_crtc returns NULL
803    
804    This way, the MSC will continue ticking at the rate of (the last mode
805    which was enabled for) that CRTC, instead of the client running
806    unthrottled.
807    
808    Reviewed-and-tested-by: Flora Cui <flora.cui@amd.com>
809
810commit fb06fb814700a47464abd756e1111dcc76d0d776
811Author: Flora Cui <flora.cui@amd.com>
812Date:   Wed May 29 14:18:50 2019 +0800
813
814    dri2: reply to client for WaitMSC request in any case
815    
816    otherwise client would wait for reply forever and desktop appears hang.
817    
818    Signed-off-by: Flora Cui <flora.cui@amd.com>
819    Acked-by: Feifei Xu <Feifei.Xu@amd.com>
820    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
821
822commit 4b17533fcb30842caf0035ba593b7d986520cc85
823Author: Michel Dänzer <michel.daenzer@amd.com>
824Date:   Tue Apr 30 17:50:15 2019 +0200
825
826    dri3: Always flush glamor before sharing pixmap storage with clients
827    
828    Even if glamor_gbm_bo_from_pixmap / glamor_fd_from_pixmap themselves
829    don't trigger any drawing, there could already be unflushed drawing to
830    the pixmap whose storage we share with a client.
831
832commit bf61e6d7ac1a5754b1026d7f80acf25ef622c491
833Author: Michel Dänzer <michel.daenzer@amd.com>
834Date:   Thu Apr 18 19:21:40 2019 +0200
835
836    Retry get_fb_ptr in get_fb
837    
838    If get_fb_ptr returns NULL, try again after pixmap_get_handle, it should
839    work then.
840    
841    Fixes spurious Present page flipping failures using "normal" pixmaps
842    which aren't shared with direct rendering clients, e.g. with a
843    compositor using the RENDER extension.
844    
845    Bugzilla: https://bugs.freedesktop.org/110417
846    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
847
848commit bd4ffd4ebbdf1c43ab9e1ef9ba8b812fd2dde4a4
849Author: Michel Dänzer <michel.daenzer@amd.com>
850Date:   Tue Mar 19 18:44:31 2019 +0100
851
852    Bump version for the 19.0.1 release
853
854commit 6ee857726166f495abcd68e4ff60e3a09593d079
855Author: Dave Airlie <airlied@redhat.com>
856Date:   Mon Mar 23 11:33:23 2015 +1000
857
858    modesetting: add tile property support
859    
860    This adds tiling support to the driver, it retrieves the tile info from
861    the kernel and translates it into the server format and exposes the
862    property.
863    
864    (Ported from xserver commits 8fb8bbb3062f1a06621ab7030a9e89d5e8367b35
865     and 6abdb54a11dac4e8854ff94ecdcb90a14321ab31)
866    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
867
868commit 9534bf3bb33d14cd3a5af08e36ef42b309647fc7
869Author: Michel Dänzer <michel.daenzer@amd.com>
870Date:   Wed Mar 6 12:05:14 2019 +0100
871
872    Bump version for the 19.0.0 release
873
874commit a2b32e72fdaff3007a79b84929997d8176c2d512
875Author: Michel Dänzer <michel.daenzer@amd.com>
876Date:   Fri Mar 1 17:42:08 2019 +0100
877
878    present: Don't check tiling parameters with DC & DRM minor version >= 31
879    
880    Current DC handles any changes of tiling parameters for flips.
881    
882    v2:
883    * Just check all tiling bits if DRM minor < 31 or DC is disabled.
884    
885    Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
886
887commit 2798244be78df3ef3a7841597577506bfbe50156
888Author: Michel Dänzer <michel.daenzer@amd.com>
889Date:   Fri Mar 1 17:47:24 2019 +0100
890
891    Make drmmode_cm_enabled an inline function
892    
893    So that it can be used outside of drmmode_display.c as well.
894    
895    Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
896
897commit 72653455e4f652ca6c7c290c7f1e8a889b77f5ce
898Author: Michel Dänzer <michel.daenzer@amd.com>
899Date:   Fri Mar 1 17:35:48 2019 +0100
900
901    Revert "Remove set but unused amdgpu_dri2::pKernelDRMVersion"
902    
903    This reverts commit 720a61000aeb139005bd8125908cec66a6e69554.
904    
905    We're going to make use of it now.
906    
907    Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
908
909commit 28cd209ebf20561e65d14fa2e8bbfaedf6965948
910Author: Michel Dänzer <michel.daenzer@amd.com>
911Date:   Wed Feb 27 17:35:26 2019 +0100
912
913    Revert "gitlab-ci: Only run docker-image stage if relevant source files change"
914    
915    This reverts commit 9c23076b9e81c36ac2408c491f9b2d546829ee8e.
916    
917    Some scenarios have come to light where this failed to ensure the docker
918    image exists:
919    
920    * If the master branch of a forked repository is used for an MR which
921      doesn't modify .gitlab-ci.yml, the docker-image job may not run.
922    * If the docker-image job of the first pipeline in a forked repository
923      is cancelled or fails for any reason, and .gitlab-ci.yml isn't
924      modified for the next pipeline run.
925
926commit 09be74a3d1dd9604336d9a27f98d132b262dcbaf
927Author: Michel Dänzer <michel.daenzer@amd.com>
928Date:   Thu Feb 28 17:31:55 2019 +0100
929
930    dri2: Call drm_queue_handle_deferred in dri2_deferred_event
931    
932    drm_queue_handler just puts the event on the signalled list; without
933    calling drm_queue_handle_deferred, actual processing of the event may be
934    delayed indefinitely, e.g. until another event arrives from the kernel.
935    
936    This could result in DRI2 clients hanging during DPMS off.
937    
938    Fixes: 739181c8d3334 "Add amdgpu_drm_handle_event wrapper for
939                          drmHandleEvent"
940    Reviewed-by: Aaron Liu <aaron.liu@amd.com>
941    Tested-by: Aaron Liu <aaron.liu@amd.com>
942
943commit a636f42b496b0604ca00a144690ece61d1a88a27
944Author: Michel Dänzer <michel.daenzer@amd.com>
945Date:   Wed Feb 27 18:43:27 2019 +0100
946
947    present: Check that flip and screen pixmap pitches match
948    
949    If they don't, flipping will result in corrupted display.
950    
951    Test case:
952    
953    * Run Xorg at 1920x1080 with no window manager
954    * glxgears -geometry 2048x1080
955    
956    The Present extension code in xserver 1.21 will check for this.
957    
958    Tested-by: Jax Lin <jax.lin@amd.com>
959
960commit bd090f389f19f1f4a3f662ffdd891345a3899539
961Author: Michel Dänzer <michel.daenzer@amd.com>
962Date:   Tue Feb 12 17:57:17 2019 +0100
963
964    Call amdgpu_present_set_screen_vrr from amdgpu_vrr_property_update
965    
966    If the window is currently flipping.
967    
968    This might make a difference when the property gets disabled: Variable
969    refresh will now be disabled immediately in that case, instead of only
970    when the window can no longer use page flipping at all.
971    
972    Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
973
974commit d9be5d712d469595e1e610f7294bc670ca3b1985
975Author: Michel Dänzer <michel.daenzer@amd.com>
976Date:   Tue Feb 12 12:26:25 2019 +0100
977
978    Make use of property request wrappers for VRR property
979    
980    Instead of scanning for PropertyNotify events. Reasons:
981    
982    * Works even if no client listens to PropertyNotify events for the
983      window.
984    * No overhead on delivery of unrelated events, and no overhead at all
985      if Option "VariableRefresh" is disabled.
986    
987    v2:
988    * Use shorter variable name amdgpu_vrr_atom.
989    * Call MakeAtom regardless of info->instance_id, for robustness vs VRR
990      being enabled in some but not all AMDGPU screens.
991    
992    Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
993
994commit ef8fbe33b7d97f7fb5518db9c0e4d2dcbf2fab6f
995Author: Michel Dänzer <michel.daenzer@amd.com>
996Date:   Thu Jan 17 18:41:11 2019 +0100
997
998    Wrap change/delete window property request handlers
999    
1000    Preparation for the following change.
1001    
1002    v2:
1003    * Add comments explaining what the wrappers are wrapping.
1004    * Use global amdgpu_property_vectors_wrapped to keep track of whether
1005      the vectors need to be (un)wrapped, for robustness against VRR being
1006      enabled in some but not all AMDGPU screens.
1007    
1008    Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
1009
1010commit 09a45ff8fe3ac07bafa3a0822b1598c41f9ca200
1011Author: Michel Dänzer <michel.daenzer@amd.com>
1012Date:   Tue Feb 12 13:01:04 2019 +0100
1013
1014    Don't enable the VRR support code for GPU screens
1015    
1016    Windows aren't associated with GPU screens, and amdgpu_present_flip is
1017    never called for them, so VRR can never actually be enabled for them.
1018    
1019    Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
1020
1021commit 2a3d00dc7ed2b4fca698e2d699e1b94da6d0ddb8
1022Author: Michel Dänzer <michel.daenzer@amd.com>
1023Date:   Tue Feb 12 18:12:23 2019 +0100
1024
1025    Don't register a window private if VRR is disabled
1026    
1027    It's not used in that case.
1028    
1029    Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
1030
1031commit 5f91be77e059d0c4a4268ec10cbd9aa1052f53eb
1032Author: Michel Dänzer <michel.daenzer@amd.com>
1033Date:   Mon Feb 11 18:32:07 2019 +0100
1034
1035    gitlab-ci: Don't rely on $CI_PROJECT_NAME
1036    
1037    The name of a forked repository can be changed later, in which case this
1038    would fail to refer to the main repository.
1039    
1040    Pointed out by Eric Engestrom in
1041    https://gitlab.freedesktop.org/mesa/mesa/merge_requests/224 .
1042
1043commit 9c23076b9e81c36ac2408c491f9b2d546829ee8e
1044Author: Michel Dänzer <michel.daenzer@amd.com>
1045Date:   Thu Feb 7 17:35:13 2019 +0100
1046
1047    gitlab-ci: Only run docker-image stage if relevant source files change
1048    
1049    Otherwise there's normally no need to run it. It will also run when a
1050    new branch is created, which ensures that the docker image always exists
1051    (e.g. in a newly forked repository).
1052    
1053    Inspired by https://gitlab.freedesktop.org/mesa/mesa/merge_requests/143
1054
1055commit 9045fb310f88780e250e60b80431ca153330e61b
1056Author: Michel Dänzer <michel.daenzer@amd.com>
1057Date:   Thu Jan 24 18:31:40 2019 +0100
1058
1059    Keep waiting for a pending flip if drm_handle_event returns 0
1060    
1061    drm_wait_pending_flip stopped waiting if drm_handle_event returned 0,
1062    but that might have processed only some unrelated DRM events. As long as
1063    the flip is pending, we have to keep waiting for its completion event.
1064    
1065    Noticed while working on the previous fix.
1066    
1067    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1068
1069commit 3ff2cc225f6bc08364ee007fa54e9d0150adaf11
1070Author: Michel Dänzer <michel.daenzer@amd.com>
1071Date:   Tue Jan 22 18:36:56 2019 +0100
1072
1073    Call drmHandleEvent again if it was interrupted by a signal
1074    
1075    drmHandleEvent can be interrupted by a signal in read(), in which case
1076    it doesn't process any events but returns -1, which
1077    drm_handle_event propagated to its callers. This could cause the
1078    following failure cascade:
1079    
1080    1. drm_wait_pending_flip stopped waiting for a pending flip.
1081    2. Its caller cleared drmmode_crtc->flip_pending before the flip
1082       completed.
1083    3. Another flip was attempted but got an unexpected EBUSY error because
1084       the previous flip was still pending.
1085    4. TearFree was disabled due to the error.
1086    
1087    The solution is to call drmHandleEvent if it was interrupted by a
1088    signal. We can do that in drm_handle_event, because when that is called,
1089    either it is known that there are events ready to be processed, or the
1090    caller has to wait for events to arrive anyway.
1091    
1092    v2:
1093    * Use ErrorF instead of xf86DrvMsg with hard-coded screen 0.
1094    
1095    Bugzilla: https://bugs.freedesktop.org/109364
1096    Reviewed-by: Alex Deucher <alexander.deucher@amd.com> # v1
1097
1098commit e72a02ba1d35743fefd939458b9d8cddce86e7f5
1099Author: Michel Dänzer <michel.daenzer@amd.com>
1100Date:   Wed Jan 16 10:26:59 2019 +0100
1101
1102    Only update drmmode_crtc->flip_pending after actually submitting a flip
1103    
1104    And only clear it if it matches the framebuffer of the completed flip
1105    being processed.
1106    
1107    Fixes
1108    
1109     (WW) AMDGPU(0): flip queue failed: Device or resource busy
1110     (WW) AMDGPU(0): Page flip failed: Device or resource busy
1111     (EE) AMDGPU(0): present flip failed
1112    
1113    due to clobbering drmmode_crtc->flip_pending.
1114    
1115    Reproducer: Enable TearFree, run warzone2100 fullscreen, toggle
1116    Vertical sync on/off under Video Options. Discovered while investigating
1117    https://bugs.freedesktop.org/109364 .
1118    
1119    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1120
1121commit a1b479c7d0066c481af920f297d6af9009dda11e
1122Author: Michel Dänzer <michel.daenzer@amd.com>
1123Date:   Tue Jan 15 17:55:27 2019 +0100
1124
1125    Don't allow TearFree scanout flips to complete in the same vblank period
1126    
1127    We were using a relative target of 0, meaning "complete the flip ASAP".
1128    This could result in the flip sometimes, but not always completing in
1129    the same vertical blank period where the corresponding drawing occurred,
1130    potentially causing judder artifacts with applications updating their
1131    window contents synchronized to the display refresh. A good way to test
1132    this is the vsynctester.com site in a windowed browser, where the judder
1133    results in the large "VSYNC" text intermittently appearing red or cyan
1134    instead of the expected gray.
1135    
1136    To avoid this, use a relative target MSC of 1, meaning that if a
1137    vertical blank period is in progress, the flip will only complete in the
1138    next one.
1139    
1140    Reported by Julian Tempel and Brandon Wright in
1141    https://bugs.freedesktop.org/106175 .
1142    
1143    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1144
1145commit bf326f2ea19daa6c8da23d6788ff301ae70b8e69
1146Author: Michel Dänzer <michel.daenzer@amd.com>
1147Date:   Thu Jan 10 18:33:04 2019 +0100
1148
1149    glamor: Avoid glamor_create_pixmap for pixmaps backing windows
1150    
1151    If the compositing manager uses direct rendering (as is usually the case
1152    these days), the storage of a pixmap allocated by glamor_create_pixmap
1153    needs to be reallocated for sharing it with the compositing manager.
1154    Instead, allocate pixmap storage which can be shared directly.
1155    
1156    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1157
1158commit ebd32b1c07208f8dbe853e089f5e4b7c6a7a658a
1159Author: Michel Dänzer <michel.daenzer@amd.com>
1160Date:   Wed Jan 9 18:57:08 2019 +0100
1161
1162    dri2: Flush in dri2_create_buffer2 after calling glamor_set_pixmap_bo
1163    
1164    To make sure the client can't use the shared pixmap storage for direct
1165    rendering first, which could produce garbage.
1166    
1167    Bugzilla: https://bugs.freedesktop.org/109235
1168    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1169
1170commit d168532ee739f7e33a2798051e64ba445dd3859f
1171Author: Michel Dänzer <michel.daenzer@amd.com>
1172Date:   Wed Jan 9 17:24:11 2019 +0100
1173
1174    dri3: Flush if necessary in dri3_fd_from_pixmap
1175    
1176    To make sure the client can't use the shared pixmap storage for direct
1177    rendering first, which could produce garbage.
1178    
1179    Bugzilla: https://bugs.freedesktop.org/109235
1180    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1181
1182commit 2058c4c469b172d4a3b0443f75466d84281a64c7
1183Author: Michel Dänzer <michel.daenzer@amd.com>
1184Date:   Thu Jan 10 17:03:04 2019 +0100
1185
1186    Only call drmmode_validate_leases if RandR is enabled
1187    
1188    It would crash if RandR is disabled, e.g. because Xinerama is enabled.
1189    
1190    Bugzilla: https://bugs.freedesktop.org/109230
1191    (Ported from radeon commit b1c01698f577577e4a88bad0ae08fb5d998e7ebb)
1192    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1193
1194commit f3c0939a0cbb93c367ece3d41dc69824f585af42
1195Author: Michel Dänzer <michel.daenzer@amd.com>
1196Date:   Thu Jan 10 17:00:12 2019 +0100
1197
1198    Only call drmmode_uevent_init if RandR is enabled
1199    
1200    There's no point in listening for hotplug events if RandR is disabled,
1201    as there's no other mechanism for them to be propagated. We were already
1202    mostly ignoring them in that case.
1203    
1204    Inspired by
1205    https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/commit/1a489142c8e6a4828348cc9afbd0f430d3b1e2d8
1206    (via https://bugs.freedesktop.org/109230#c11).
1207    (Ported from radeon commit 38db1bbcfc019c92884c7819a6630c70e543f6b2)
1208    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1209
1210commit f3ddda618ec86650ed85f8b140a5db1394676748
1211Author: Michel Dänzer <michel.daenzer@amd.com>
1212Date:   Mon Dec 17 17:54:05 2018 +0100
1213
1214    gitlab-ci: Use kaniko instead of docker-in-docker for image generation
1215    
1216    kaniko can also work in unprivileged runners.
1217    
1218    Based on v2 of
1219    https://gitlab.freedesktop.org/xorg/xserver/merge_requests/92 .
1220    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1221
1222commit b689dc5081493377a31759d24a8dc9fcde12948a
1223Author: Michel Dänzer <michel.daenzer@amd.com>
1224Date:   Tue Dec 18 16:39:28 2018 +0100
1225
1226    Remove superfluous vrr_flipping field and clean up related code
1227    
1228    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1229
1230commit 233a0be82d5c317e58002f4daf836d4f95048465
1231Author: Michel Dänzer <michel.daenzer@amd.com>
1232Date:   Tue Dec 18 16:42:53 2018 +0100
1233
1234    Don't clear info->flip_window in present_unflip
1235    
1236    present_unflip can get called between present_check_flip and
1237    present_flip, in which case the latter would pass a NULL WindowPtr to
1238    the former, resulting in a crash.
1239    
1240    present_flip should never get called for a window which has already been
1241    destroyed, so there's no need to clear info->flip_window.
1242    
1243    Bugzilla: https://bugs.freedesktop.org/109067
1244    Fixes: 2d18b37159edc "Check last flip window instead of screen root
1245                          before flipping"
1246    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1247
1248commit d4eab5d108c4569f3a9e2892704ea89b7ee797b6
1249Author: Mario Kleiner <mario.kleiner.de@gmail.com>
1250Date:   Wed Dec 19 07:56:15 2018 +0100
1251
1252    Fix crash when page flipping in multi-X-Screen/Zaphod mode
1253    
1254    amdgpu_do_pageflip() indexed the flipdata->fb[] array
1255    indexing over config->num_crtc, but the flip completion
1256    routines, e.g., drmmode_flip_handler(), index that array
1257    via the crtc hw id from drmmode_get_crtc_id(crtc).
1258    
1259    This is mismatched and causes indexing into the wrong
1260    array slot at flip completion -> Server crash.
1261    
1262    Always use drmmode_get_crtc_id(crtc) for indexing into
1263    the array to fix this.
1264    
1265    Tested on a dual-X-Screen setup with one video output
1266    assigned to each X-Screen, page-flipping an OpenGL app
1267    on either of both X-Screens. This used to crash when
1268    flipping on X-Screen 1, now it doesn't anymore.
1269    
1270    Fixes: 9b6782c821e0 "Store FB for each CRTC in drmmode_flipdata_rec"
1271    (Ported from radeon commit 0058fd2ebf4c900b12f129984e98886a7ac84b2f)
1272    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
1273    Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
1274
1275commit 0d60233d26ec70d4e1faa343b438e33829c6d5e4
1276Author: Michel Dänzer <michel.daenzer@amd.com>
1277Date:   Thu Nov 22 19:02:20 2018 +0100
1278
1279    Use two HW cursor buffers per CRTC
1280    
1281    Switch to the other buffer when xf86_config->cursor changes. Avoids
1282    these issues possible when re-using the same buffer:
1283    
1284    * The HW may intermittently display a mix of the old and new cursor
1285      images.
1286    * If the hotspot changes, the HW may intermittently display the new
1287      cursor image at the location corresponding to the old image's hotspot.
1288    
1289    Bugzilla: https://bugs.freedesktop.org/108832
1290    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1291
1292commit b04697de5270e8e45744a7025c24df1f454a4cf0
1293Author: Michel Dänzer <michel.daenzer@amd.com>
1294Date:   Fri Nov 23 18:41:00 2018 +0100
1295
1296    Update cursor position in drmmode_show_cursor if hotspot changed
1297    
1298    The cursor position is updated to be consistent with the new hotspot in
1299    the same ioctl call.
1300    
1301    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1302
1303commit b344e1559e936046ef02c777fc4f6bcefa3830bc
1304Author: Michel Dänzer <michel.daenzer@amd.com>
1305Date:   Fri Nov 23 18:22:25 2018 +0100
1306
1307    Use drmIoctl in drmmode_show_cursor
1308    
1309    This should be functionally equivalent to what drmModeSetCursor(2) do
1310    behind the scenes, but allows for new tricks in following changes.
1311    
1312    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1313
1314commit e95044e45350870fa7e237860e89ade91ac03550
1315Author: Michel Dänzer <michel.daenzer@amd.com>
1316Date:   Thu Nov 22 17:54:45 2018 +0100
1317
1318    Drop AMDGPUInfoRec::cursor_buffer array
1319    
1320    Not needed or even useful for anything.
1321    
1322    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1323
1324commit 13c85e8a136e8626ba84656c6f8321394750f5c7
1325Author: Michel Dänzer <michel.daenzer@amd.com>
1326Date:   Thu Nov 22 17:50:19 2018 +0100
1327
1328    Don't use GBM for allocating HW cursor BOs
1329    
1330    GBM doesn't really buy us anything for the cursor BOs. This simplifies
1331    the code and following changes.
1332    
1333    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1334
1335commit bcfa6c258fdf41a9928f8a3c78fc528d0fafee25
1336Author: Michel Dänzer <michel.daenzer@amd.com>
1337Date:   Wed Nov 21 18:32:04 2018 +0100
1338
1339    Automatically try re-enabling TearFree after a flip failed
1340    
1341    Specifically, after both the page flip and vblank ioctls failed, but
1342    then the vblank ioctl started working again. This can happen
1343    intermittently e.g. when hotplugging a DP display. Previously, TearFree
1344    would stay disabled in that case until a modeset was triggered somehow.
1345    
1346    Bugzilla: https://bugs.freedesktop.org/103791
1347    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1348
1349commit 4e7a24ac5a64e402146953ec5850d13c05742116
1350Author: Michel Dänzer <michel.daenzer@amd.com>
1351Date:   Wed Nov 21 17:54:18 2018 +0100
1352
1353    Cancel pending scanout update in drmmode_crtc_scanout_update
1354    
1355    drmmode_crtc_scanout_update does the equivalent of a scanout update,
1356    so no need to do it again. This might also avoid issues if there's a
1357    pending scanout update at this point.
1358    
1359    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1360
1361commit 500fadb16285146e91f62fce3a0ce1360ca684ba
1362Author: Michel Dänzer <michel.daenzer@amd.com>
1363Date:   Wed Nov 21 12:42:22 2018 +0100
1364
1365    Perform scanout buffer update immediately if drmmode_wait_vblank fails
1366    
1367    Otherwise the damaged screen contents may never be displayed in that
1368    case.
1369    
1370    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1371
1372commit be862ed459b06ab7dfc80b5c3d1e2ac7e9327a6e
1373Author: Michel Dänzer <michel.daenzer@amd.com>
1374Date:   Tue Dec 11 11:47:16 2018 +0100
1375
1376    Generate docker image as part of CI pipeline
1377    
1378    This removes the dependency on an externally generated docker image, and
1379    should make it easier to update the docker image or make other changes
1380    related to it.
1381    
1382    v2:
1383    * If the image doesn't exist, try pulling it from the main repo's
1384      registry.
1385    * Use debian:testing-slim as the base, might result in a slightly
1386      smaller image.
1387    
1388    v3:
1389    * Prevent installation of packages which are only recommended, for an
1390      even smaller image.
1391    * Add recommendation to remove new image from source repository in
1392      favour of the main repository's.
1393    
1394    Acked-by: Alex Deucher <alexander.deucher@amd.com> # v2
1395
1396commit b11ee02c4596ddee3c9ff2141be5c91815efacc3
1397Author: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
1398Date:   Thu Oct 4 09:51:40 2018 -0400
1399
1400    Support CRTC variable refresh for windows using Present flips
1401    
1402    This patch adds support for setting the CRTC variable refresh property
1403    for suitable windows flipping via the Present extension.
1404    
1405    The "VariableRefresh" Option is added to AMDGPU in this patch. This
1406    option defaults to false, and must be set to "true" in an X conf
1407    file for variable refresh support in the driver.
1408    
1409    In order for a window to be suitable for variable refresh it must have
1410    the _VARIABLE_REFRESH property with a 32-bit CARDINAL value of 1.
1411    
1412    Then the window must pass the checks required to be suitable for
1413    Present extension flips - it must cover the entire X screen and no
1414    other window may already be flipping.
1415    
1416    With these conditions met every CRTC for the X screen will have their
1417    variable refresh property set to true.
1418    
1419    Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
1420
1421commit 2d18b37159edc526c73a36143fe9b5d6b75e610a
1422Author: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
1423Date:   Tue Nov 13 09:08:01 2018 -0500
1424
1425    Check last flip window instead of screen root before flipping
1426    
1427    A significant amount of time can pass between the X call into
1428    check_flip for a window and when amdgpu_present_flip actually occurs.
1429    To ensure that flipping is still possible there was an additional check
1430    performed on screen->root in amdgpu_present_flip - but what should
1431    be checked instead is the window itself. This only really worked before
1432    because X ensures that the window has the same dimensions as the screen
1433    to allow for present extension flipping.
1434    
1435    This patch tracks the flip window between calls to check_flip and flip
1436    and uses that window instead of screen->root.
1437    
1438    Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
1439
1440commit 13c94a373b4858a2d2aa14c22b5f98d53c84c0d9
1441Author: Michel Dänzer <michel.daenzer@amd.com>
1442Date:   Thu Nov 15 16:40:46 2018 +0100
1443
1444    Skip gamma correction of cursor data if premultiplied R/G/B > alpha
1445    
1446    The un-premultiplied R/G/B values would overflow the gamma LUT, so just
1447    pass through the data unchanged, and leave it up to the HW how to
1448    interpret such weird premultiplied alpha pixels.
1449    
1450    Bugzilla: https://bugs.freedesktop.org/108355
1451
1452commit 51ba6dddee40c3688d4c7b12eabeab516ed153b7
1453Author: Michel Dänzer <michel.daenzer@amd.com>
1454Date:   Fri Nov 9 11:00:04 2018 +0100
1455
1456    Move deferred vblank events to separate drm_vblank_deferred list
1457    
1458    It was still possible for nested xorg_list_for_each_entry_safe loops
1459    to occur over the drm_vblank_signalled list, which could mess up that
1460    list. Moving deferred events to a separate list allows processing the
1461    drm_vblank_signalled list without xorg_list_for_each_entry_safe.
1462    
1463    v2:
1464    * Refactor drm_handle_vblank_signalled helper function, less code
1465      duplication => better readability (Alex Deucher)
1466    
1467    Bugzilla: https://bugs.freedesktop.org/108600
1468    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1469
1470commit e2c7369cae65069aa93eed1c0b678f975ce5c274
1471Author: Michel Dänzer <michel.daenzer@amd.com>
1472Date:   Mon Nov 5 19:02:31 2018 +0100
1473
1474    Explicitly keep track of whether a DRM event is for a flip or not
1475    
1476    When an async flip is performed, and TearFree is enabled on the CRTC
1477    used for timing, we schedule a vblank event for completing the page
1478    flip. The DRM event queuing code treated this event like a vblank event,
1479    but it needs to be treated like a page flip event.
1480    
1481    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1482
1483commit eda571222f5a6be47f8897e82d85199bb9d95251
1484Author: Michel Dänzer <michel.daenzer@amd.com>
1485Date:   Mon Nov 5 18:07:54 2018 +0100
1486
1487    Use drm_abort_one in drm_queue_handler
1488    
1489    At this point, we've already established that e->handler is NULL, no
1490    need to check again in drm_queue_handle_one. This also makes it clearer
1491    what's happening.
1492    
1493    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1494
1495commit 426f9a49655f01863cf4d898f525e5f95984e0c4
1496Author: Michel Dänzer <michel.daenzer@amd.com>
1497Date:   Tue Nov 6 12:06:20 2018 +0100
1498
1499    Relax detection of non-premultiplied alpha cursor data
1500    
1501    The stricter detection broke the cursor in some games. Apparently those
1502    use cursor data with premultiplied alpha, but with some pixels having
1503    r/g/b values larger than the alpha value (which corresponds to original
1504    r/g/b values > 1.0), triggering the workaround.
1505    
1506    Relax the detection to match what's in the X server since 1.18.4, but
1507    keep the workaround for older versions.
1508    
1509    Bugzilla: https://bugs.freedesktop.org/108650
1510    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1511
1512commit a9da219e13bd0cdec65554382b5cd15abc3e3778
1513Author: Michel Dänzer <michel.daenzer@amd.com>
1514Date:   Wed Nov 14 09:58:28 2018 +0100
1515
1516    Add README.md to EXTRA_DIST
1517    
1518    Otherwise it isn't included in the generated tarballs.
1519    
1520    Suggested-by: Alan Coopersmith <alan.coopersmith@oracle.com>
1521    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1522
1523commit 1cb338253af9c539fc1f13fc12b255ed6303f8b1
1524Author: Michel Dänzer <michel.daenzer@amd.com>
1525Date:   Wed Oct 24 18:07:31 2018 +0200
1526
1527    man: This driver supports colour depths 8, 15 and 16
1528    
1529    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1530
1531commit 0734cdf544ffd3f2ac8749ad0e4bf43f8a5cea50
1532Author: Michel Dänzer <michel.daenzer@amd.com>
1533Date:   Fri Oct 5 12:35:37 2018 +0200
1534
1535    glamor: Can work at depth >= 15 with current xserver Git master
1536    
1537    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1538
1539commit ad6dfb0124860cf67730bde85867f81d9258c84d
1540Author: Michel Dänzer <michel.daenzer@amd.com>
1541Date:   Fri Oct 19 11:02:41 2018 +0200
1542
1543    Detect and fix up non-premultiplied cursor data
1544    
1545    X server >= 1.18 already had code for this, but it only caught cases
1546    where some pixels have 0 for alpha and non-0 for a non-alpha component.
1547    Turns out some apps (e.g. the Civilization VI game) use
1548    non-premultiplied cursor data which doesn't have such pixels, but can
1549    still result in visual artifacts.
1550    
1551    This uses the method suggested by Kamil in
1552    https://bugs.freedesktop.org/92309#c19: check for pixels where any
1553    colour component value is larger than the alpha value, which isn't
1554    possible with premultiplied alpha.
1555    
1556    There can still be non-premultiplied data which won't be caught by this,
1557    but that should result in slightly incorrect colours and/or blending at
1558    the worst, not wildly incorrect colours such as shown in the bug report
1559    below.
1560    
1561    v2:
1562    * Disable the check with current xserver Git master, which already does
1563      the same check now.
1564    
1565    Bugzilla: https://bugs.freedesktop.org/108355
1566    Suggested-by: Kamil Páral <kamil.paral@gmail.com>
1567    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1568
1569commit c9d43c1deb9a9cfc41a8d6439caf46d12d220853
1570Author: Michel Dänzer <michel.daenzer@amd.com>
1571Date:   Thu Oct 4 12:54:13 2018 +0200
1572
1573    Allow up to six instances in Zaphod mode
1574    
1575    Corresponding to up to six CRTCs being available in the hardware.
1576    
1577    v2:
1578    * Move instance overflow check from PreInit to the probe hooks, in
1579      order to further minimize wasted effort.
1580    
1581    Reviewed-by: Alex Deucher <alexander.deucher@amd.com> # v1
1582
1583commit aa572683d86174be2bfc09d4e173ae2a9907d40e
1584Author: Michel Dänzer <michel.daenzer@amd.com>
1585Date:   Wed Oct 10 17:28:35 2018 +0200
1586
1587    Fix condition for calling set_pixmap_bo in drmmode_xf86crtc_resize
1588    
1589    This matches CreateScreenResources_KMS.
1590    
1591    Fixes crash when resizing the screen (e.g. using xrandr) with depth <
1592    24.
1593    
1594    Bugzilla: https://bugs.freedesktop.org/104914
1595    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1596
1597commit 05a1ba9abc941dec616ef7f836f4c54ac93ff9be
1598Author: Michel Dänzer <michel.daenzer@amd.com>
1599Date:   Tue Oct 2 18:01:14 2018 +0200
1600
1601    Add GitLab CI configuration
1602    
1603    Builds the driver against all supported versions of xserver, with both
1604    gcc and clang for xserver >= 1.18 (older versions cause warnings with
1605    clang). Compiler warnings are treated as errors.
1606    
1607    The xserver 1.15 build uses standalone glamor, the xserver 1.13 & 1.14
1608    builds use --disable-glamor.
1609    
1610    With the latest xserver version, make install and make distcheck are
1611    tested as well.
1612
1613commit babbd38057559471ab3cb6970010b9a4adf1ef3d
1614Author: Michel Dänzer <michel.daenzer@amd.com>
1615Date:   Tue Oct 2 17:55:03 2018 +0200
1616
1617    Fix --disable-glamor build
1618    
1619    We were still relying on the glamor.h header being picked up implicitly.
1620
1621commit b6ee7f92cfaa2c134bee101cf89983db73f4c28d
1622Author: Michel Dänzer <michel.daenzer@amd.com>
1623Date:   Tue Oct 2 17:52:10 2018 +0200
1624
1625    Cast return value of amdgpu_get_marketing_name to char*
1626    
1627    Avoids compiler warning with xserver < 1.16:
1628    
1629    ../../src/amdgpu_kms.c: In function ‘AMDGPUPreInitChipType_KMS’:
1630    ../../src/amdgpu_kms.c:1203:17: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
1631      pScrn->chipset = amdgpu_get_marketing_name(pAMDGPUEnt->pDev);
1632                     ^
1633
1634commit 955373a3e69baa241a1f267e96d04ddb902f689f
1635Author: Michel Dänzer <michel.daenzer@amd.com>
1636Date:   Tue Sep 25 18:40:01 2018 +0200
1637
1638    Make wait_pending_flip / handle_deferred symmetric in set_mode_major
1639    
1640    We were always calling the latter, but not always the former, which
1641    could result in handling deferred DRM events prematurely.
1642    
1643    Acked-by: Slava Abramov <slava.abramov@amd.com>
1644    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1645
1646commit 0cd2c337d2c02b8ec2bd994d6124b4aaaad10741
1647Author: Michel Dänzer <michel.daenzer@amd.com>
1648Date:   Thu Sep 20 17:35:40 2018 +0200
1649
1650    Handle pending scanout update in drmmode_crtc_scanout_free
1651    
1652    We have to wait for a pending scanout flip or abort a pending scanout
1653    update, otherwise the corresponding event handler will likely crash
1654    after drmmode_crtc_scanout_free cleaned up the data structures.
1655    
1656    Fixes crash after VT switch while dedicated scanout pixmaps are enabled
1657    for any CRTC.
1658    
1659    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1660
1661commit ac5b6f96e97aaf95f4e668b4057006b221cffaec
1662Author: Michel Dänzer <michel.daenzer@amd.com>
1663Date:   Thu Sep 20 18:53:05 2018 +0200
1664
1665    Convert README to markdown
1666    
1667    And update it a little for the current Gitlab infrastructure.
1668
1669commit 451fe96809771ed4e2be3851a65f5360ba9912cb
1670Author: Michel Dänzer <michel.daenzer@amd.com>
1671Date:   Thu Sep 20 18:48:43 2018 +0200
1672
1673    Post-release version bump
1674
1675commit d5e17dc4c78aee5d37de399728066b9be881e044
1676Author: Michel Dänzer <michel.daenzer@amd.com>
1677Date:   Fri Sep 14 17:00:17 2018 +0200
1678
1679    Bump version for the 18.1.0 release
1680
1681commit 6572be49b713a26eca14f16e1854cabf28101288
1682Author: Michel Dänzer <michel.daenzer@amd.com>
1683Date:   Thu Sep 13 11:44:21 2018 +0200
1684
1685    Bail from drmmode_cm_init if there's no CRTC
1686    
1687    We would crash due to dereferencing the NULL mode_res->crtc pointer.
1688    
1689    Bugzilla: https://bugs.freedesktop.org/107913
1690    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1691
1692commit ca5eb9894fff153c0a1df7bdc4a4745713309e27
1693Author: Michel Dänzer <michel.daenzer@amd.com>
1694Date:   Wed Aug 29 18:50:45 2018 +0200
1695
1696    Bail early from drm_wait_pending_flip if there's no pending flip
1697    
1698    No need to process any events in that case.
1699    
1700    v2:
1701    * Re-check drmmode_crtc->flip_pending after processing each event
1702
1703commit a923bedfd91d39977dbf95f296cf9b68439490f2
1704Author: Michel Dänzer <michel.daenzer@amd.com>
1705Date:   Fri Aug 31 12:44:37 2018 +0200
1706
1707    Do not push the CM_GAMMA_LUT property values in drmmode_crtc_cm_init
1708    
1709    The crtc->gamma_lut values aren't initialized yet at this point, and
1710    the property values are pushed again from drmmode_setup_colormap
1711    anyway.
1712    
1713    Fixes intermittent flicker due to random gamma LUT values during server
1714    startup.
1715    
1716    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1717
1718commit 26770be44b89b83bf39c28f2fe284c8cb92ed0c0
1719Author: Michel Dänzer <michel.daenzer@amd.com>
1720Date:   Wed Aug 29 18:49:19 2018 +0200
1721
1722    Don't use xorg_list_for_each_entry_safe for signalled flips
1723    
1724    drm_wait_pending_flip can get called from drm_handle_event, in which
1725    case xorg_list_for_each_entry_safe can end up processing the same entry
1726    in both. To avoid this, just process the first list entry until the list
1727    is empty.
1728
1729commit 7eea3e2cd74eed22e982319144e18ae5b1087b78
1730Author: Michel Dänzer <michel.daenzer@amd.com>
1731Date:   Wed Aug 29 18:41:19 2018 +0200
1732
1733    Always delete entry from list in drm_queue_handler
1734    
1735    We left entries without a handler hook in the list, so the list could
1736    keep taking longer to process and use up more memory.
1737
1738commit b804d7f85d8a07389ba7d3f9b8af8773f852f1c7
1739Author: Michel Dänzer <michel.daenzer@amd.com>
1740Date:   Wed Aug 29 17:34:55 2018 +0200
1741
1742    glamor: Handle ihandle == -1 in amdgpu_glamor_set_shared_pixmap_backing
1743    
1744    (Ported from radeon commit de88ea2755611bdcb18d91d8234d2ab5be8ff2e9)
1745    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1746
1747commit ae2a450cb98707c4cab8a8265a284cf708bcd43d
1748Author: Michel Dänzer <michel.daenzer@amd.com>
1749Date:   Wed Aug 29 17:31:49 2018 +0200
1750
1751    Handle ihandle == -1 in amdgpu_set_shared_pixmap_backing
1752    
1753    It means to stop using the shared pixmap backing.
1754    
1755    (Ported from radeon commit 1799680f7bd84e0618f34f4c7486799521ddaf83)
1756    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1757
1758commit 34e851d1f284da5afcfe449f349cf1eb5e962408
1759Author: Michel Dänzer <michel.daenzer@amd.com>
1760Date:   Fri Aug 24 17:18:10 2018 +0200
1761
1762    Use AC_CONFIG_MACRO_DIR instead of AC_CONFIG_MACRO_DIRS
1763    
1764    Older versions of autoconf only supported the former.
1765    
1766    (Cherry picked from radeon commit cba8fe4d64819aaa8ba516aa68dbe6d2aa153046)
1767    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1768
1769commit afdfa2a1b6d4b594e0ed345b32279d4a2fd5e188
1770Author: Michel Dänzer <michel.daenzer@amd.com>
1771Date:   Fri Aug 24 17:17:43 2018 +0200
1772
1773    Add m4 directory
1774    
1775    Although normally it only warns about it, under some circumstances,
1776    aclocal can error out if this directory doesn't exist.
1777    
1778    Reported-by: John Lumby <johnlumby@hotmail.com>
1779    (Cherry picked from radeon commit 7b01c10137aba24c8f61dd9b2a19ea257ad24371)
1780    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1781
1782commit f6cd72e64e85896b6d155bee0930e59771dcb701
1783Author: Michel Dänzer <michel.daenzer@amd.com>
1784Date:   Thu Aug 16 16:31:01 2018 +0200
1785
1786    Use correct FB handle in amdgpu_do_pageflip
1787    
1788    We were always using the handle of the client provided FB, which
1789    prevented RandR transforms from working, and could result in a black
1790    screen.
1791    
1792    Fixes: 9b6782c821e0 "Store FB for each CRTC in drmmode_flipdata_rec"
1793    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1794
1795commit 85cd8eef0cbed7b409b07f58d76dacd34aa3ddea
1796Author: Michel Dänzer <michel.daenzer@amd.com>
1797Date:   Tue Jul 24 18:58:27 2018 +0200
1798
1799    Remove drmmode_crtc_private_rec::present_vblank_* related code
1800    
1801    Not needed anymore with the more robust mechanisms for preventing nested
1802    drmHandleEvent calls introduced in the previous changes.
1803    
1804    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1805
1806commit e52872da69ecc84dafb3355839e35b0383f0d228
1807Author: Michel Dänzer <michel.daenzer@amd.com>
1808Date:   Fri Jul 20 16:56:22 2018 +0200
1809
1810    Defer vblank event handling while waiting for a pending flip
1811    
1812    This is to avoid submitting more flips while we are waiting for pending
1813    ones to complete.
1814    
1815    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1816
1817commit 739181c8d3334ff14b5a607895dfdeb29b0d9020
1818Author: Michel Dänzer <michel.daenzer@amd.com>
1819Date:   Wed Jul 25 13:00:15 2018 +0200
1820
1821    Add amdgpu_drm_handle_event wrapper for drmHandleEvent
1822    
1823    Instead of processing DRM events directly from drmHandleEvent's
1824    callbacks, there are three phases:
1825    
1826    1. drmHandleEvent is called, and signalled events are re-queued to
1827       _signalled lists from its callbacks.
1828    2. Signalled page flip completion events are processed.
1829    3. Signalled vblank events are processed.
1830    
1831    This should make sure that we never call drmHandleEvent from one of its
1832    callbacks, which would usually result in blocking forever.
1833
1834commit 6029794e8a35417faf825491a89b85f713c77fc1
1835Author: Michel Dänzer <michel.daenzer@amd.com>
1836Date:   Fri Jul 20 17:07:23 2018 +0200
1837
1838    Add amdgpu_drm_wait_pending_flip function
1839    
1840    Replacing the drmmode_crtc_wait_pending_event macro.
1841    
1842    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1843
1844commit 0148283984c77f7a6e97026edc3093497547e0a4
1845Author: Michel Dänzer <michel.daenzer@amd.com>
1846Date:   Fri Jul 20 16:37:05 2018 +0200
1847
1848    Move DRM event queue related initialization to amdgpu_drm_queue_init
1849    
1850    And make amdgpu_drm_queue_handler not directly accessible outside of
1851    amdgpu_drm_queue.c.
1852    
1853    Acked-by: Alex Deucher <alexander.deucher@amd.com>
1854
1855commit 7f65a8c9e03bddf2378aaa928460632ed6b1a688
1856Author: Michel Dänzer <michel.daenzer@amd.com>
1857Date:   Fri Aug 3 17:52:28 2018 +0200
1858
1859    glamor: Check glamor module version for depth 30 support
1860    
1861    Instead of the Xorg version. This should allow glamor backported from
1862    xserver >= 1.20 to work with older Xorg versions.
1863    
1864    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1865
1866commit 08c4d42f43f80baa4bbc2ff9d0a422202cdc3538
1867Author: Michel Dänzer <michel.daenzer@amd.com>
1868Date:   Thu Aug 2 18:41:04 2018 +0200
1869
1870    glamor: Use glamor_egl_create_textured_pixmap_from_gbm_bo when possible
1871    
1872    Inspired by the modesetting driver.
1873    
1874    (Ported from radeon commit db28d35ce9fd07a2a4703f3df0633d4c8291ff9b)
1875    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1876
1877commit 9b6782c821e0bdc53336d98f87ddde752faf7902
1878Author: Michel Dänzer <michel.daenzer@amd.com>
1879Date:   Fri Jul 27 17:55:11 2018 +0200
1880
1881    Store FB for each CRTC in drmmode_flipdata_rec
1882    
1883    We were only storing the FB provided by the client, but on CRTCs with
1884    TearFree enabled, we use a separate FB. This could cause
1885    drmmode_flip_handler to fail to clear drmmode_crtc->flip_pending, which
1886    could result in a hang when waiting for the pending flip to complete. We
1887    were trying to avoid that by always clearing drmmode_crtc->flip_pending
1888    when TearFree is enabled, but that wasn't reliable, because
1889    drmmode_crtc->tear_free can already be FALSE at this point when
1890    disabling TearFree.
1891    
1892    Now that we're keeping track of each CRTC's flip FB separately,
1893    drmmode_flip_handler can reliably clear flip_pending, and we no longer
1894    need the TearFree hack.
1895    
1896    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1897
1898commit 2989d40ef74d9966e8e8df2ef7727b2cc48d4960
1899Author: Michel Dänzer <michel.daenzer@amd.com>
1900Date:   Wed Jul 25 18:37:48 2018 +0200
1901
1902    glamor: Set AMDGPU_CREATE_PIXMAP_DRI2 for DRI3 pixmaps
1903    
1904    Not doing this resulted in falling back to software for DRI3 client
1905    presentation operations with ShadowPrimary.
1906    
1907    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1908
1909commit f3b2ed37d683f8616a0a31ff63133ddb8fe1a4a3
1910Author: Michel Dänzer <michel.daenzer@amd.com>
1911Date:   Mon Jul 23 18:42:39 2018 +0200
1912
1913    Use strcpy for RandR output property names
1914    
1915    Instead of strncpy with the string length. Avoids new warnings with GCC
1916    8:
1917    
1918    ../../src/drmmode_display.c: In function ‘drmmode_output_create_resources’:
1919    ../../src/drmmode_display.c:2240:2: warning: ‘strncpy’ output truncated before terminating nul copying 8 bytes from a string of the same length [-Wstringop-truncation]
1920      strncpy(tearfree_prop->name, "TearFree", 8);
1921      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1922    ../../src/drmmode_display.c:2244:2: warning: ‘strncpy’ output truncated before terminating nul copying 3 bytes from a string of the same length [-Wstringop-truncation]
1923      strncpy(tearfree_prop->enums[0].name, "off", 3);
1924      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1925    ../../src/drmmode_display.c:2245:2: warning: ‘strncpy’ output truncated before terminating nul copying 2 bytes from a string of the same length [-Wstringop-truncation]
1926      strncpy(tearfree_prop->enums[1].name, "on", 2);
1927      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1928    ../../src/drmmode_display.c:2247:2: warning: ‘strncpy’ output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation]
1929      strncpy(tearfree_prop->enums[2].name, "auto", 4);
1930      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1931    
1932    Reviewed-by: Slava Abramov <slava.abramov@amd.com>
1933
1934commit 5f06d6b8ba570b500956ad26fee711d5ac427818
1935Author: Michel Dänzer <michel.daenzer@amd.com>
1936Date:   Tue Jul 17 19:00:51 2018 +0200
1937
1938    Remove drmmode_terminate_leases
1939    
1940    The RandR screen private is already freed when our CloseScreen runs, so
1941    this can't do anything useful. This cleanup has to be done by the X
1942    server itself.
1943
1944commit 7cc2d4515a63845a027214daf4d391cf56e35bb3
1945Author: Michel Dänzer <michel.daenzer@amd.com>
1946Date:   Thu Jul 19 16:59:22 2018 +0200
1947
1948    Remove AMDGPUInfoRec::fbcon_pixmap
1949    
1950    We always destroy the fbcon pixmap in drmmode_copy_fb anyway.
1951    
1952    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1953
1954commit 46d87187c6a0b8f941cc6f30af1f53a98ff2e635
1955Author: Michel Dänzer <michel.daenzer@amd.com>
1956Date:   Thu Jul 19 12:37:42 2018 +0200
1957
1958    Don't use DRM_IOCTL_GEM_FLINK in create_pixmap_for_fbcon
1959    
1960    We don't need it.
1961
1962commit b8d8416792488f7b15c94234d7e0e35d5ce10ed9
1963Author: Michel Dänzer <michel.daenzer@amd.com>
1964Date:   Thu Jul 19 11:36:19 2018 +0200
1965
1966    Free previous xf86CrtcRec gamma LUT memory
1967    
1968    We were leaking it.
1969    
1970    Also, don't bother allocating new memory if it's already the expected
1971    size.
1972    
1973    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1974
1975commit ae8e02c6fc4ef5d5340b8cd4739e66b19b9e3386
1976Author: Michel Dänzer <michel.daenzer@amd.com>
1977Date:   Fri Jul 13 10:38:56 2018 +0200
1978
1979    Hardcode "non-desktop" RandR property name
1980    
1981    It's a bit silly to require current randrproto just for this definition,
1982    which can't really change anyway.
1983    
1984    Suggested-by: Qiang Yu <qiang.yu@amd.com>
1985    Reviewed-by: Qiang Yu <Qiang.Yu@amd.com>
1986
1987commit 1247be21704dd185ce26097e11b3685815ffac4f
1988Author: Michel Dänzer <michel.daenzer@amd.com>
1989Date:   Fri Jul 13 18:30:04 2018 +0200
1990
1991    Support gamma correction & colormaps at depth 30 as well
1992    
1993    Only supported with the advanced colour management properties available
1994    with DC as of kernel 4.17.
1995    
1996    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
1997
1998commit 9dfbae76b179285d142b97852211b900ebfae51d
1999Author: Michel Dänzer <michel.daenzer@amd.com>
2000Date:   Tue Jul 10 18:13:39 2018 +0200
2001
2002    Move flush from radeon_scanout_do_update to its callers
2003    
2004    No functional change intended.
2005    
2006    (Ported from radeon commit 90b94d40449f665f2d12874598062a5e5e5b64cd)
2007    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2008
2009commit ace6ea016ce0013a34e1d4637aeacbf4d0e83c79
2010Author: Michel Dänzer <michel.daenzer@amd.com>
2011Date:   Tue Jul 10 18:11:04 2018 +0200
2012
2013    glamor: Bail CreatePixmap on unsupported pixmap depth
2014    
2015    Fixes crash in that case.
2016    
2017    Bugzilla: https://bugs.freedesktop.org/106293
2018    (Ported from radeon commit 65c9dfea4e841b7d6f795c7489fede58c5e9631f)
2019    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2020
2021commit c160302abcdb18eec35c377d80e34f5bd857df45
2022Author: Michel Dänzer <michel.daenzer@amd.com>
2023Date:   Thu May 17 09:50:50 2018 +0200
2024
2025    Bail from dri2_create_buffer2 if we can't get a pixmap
2026    
2027    We would store the NULL pointer and continue, which would lead to a
2028    crash down the road.
2029    
2030    Bugzilla: https://bugs.freedesktop.org/106293
2031    (Ported from radeon commit 3dcfce8d0f495d09d7836caf98ef30d625b78a13)
2032    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2033
2034commit 61040bdfa360975614fb47aa7ea1b3a1abac3427
2035Author: Keith Packard <keithp@keithp.com>
2036Date:   Mon Feb 12 13:51:56 2018 -0800
2037
2038    Add RandR leases support
2039    
2040    Signed-off-by: Keith Packard <keithp@keithp.com>
2041    (Ported from xserver commit e4e3447603b5fd3a38a92c3f972396d1f81168ad)
2042    Reviewed-by: Keith Packard <keithp@keithp.com>
2043    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2044
2045commit ab7e39c5a03e24c3ce3ee2f22ada7572bc2d9aa7
2046Author: Keith Packard <keithp@keithp.com>
2047Date:   Mon Feb 12 13:51:55 2018 -0800
2048
2049    modesetting: Create CONNECTOR_ID properties for outputs [v2]
2050    
2051    This lets a DRM client map between X outputs and kernel connectors.
2052    
2053    v2:
2054            Change CONNECTOR_ID to enum -- Adam Jackson <ajax@nwnk.net>
2055    
2056    Signed-off-by: Keith Packard <keithp@keithp.com>
2057    (Ported from xserver commit 023d4aba8d45e9e3630b944ecfb650c081799b96)
2058    Reviewed-by: Keith Packard <keithp@keithp.com>
2059    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2060
2061commit 14db71a606128c4a207f43298809af279b77e2a8
2062Author: Keith Packard <keithp@keithp.com>
2063Date:   Mon Feb 12 13:51:53 2018 -0800
2064
2065    modesetting: Record non-desktop kernel property at PreInit time
2066    
2067    Save any value of the kernel non-desktop property in the xf86Output
2068    structure to avoid non-desktop outputs in the default configuration.
2069    
2070    [Also bump randrproto requirement to a version that defines
2071    RR_PROPERTY_NON_DESKTOP - ajax]
2072    
2073    Signed-off-by: Keith Packard <keithp@keithp.com>
2074    (Ported from xserver commit b91c787c4cd2d20685db69426c539938c556128a)
2075    Reviewed-by: Keith Packard <keithp@keithp.com>
2076    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2077
2078commit baea4fa492f635cdfe746a84be2e337d9aeae8a9
2079Author: Michel Dänzer <michel.daenzer@amd.com>
2080Date:   Tue Jun 26 19:02:21 2018 +0200
2081
2082    Call drmmode_crtc_gamma_do_set from drmmode_setup_colormap
2083    
2084    Instead of from drmmode_set_mode_major. There's no need to re-set the
2085    gamma LUT on every modeset, the kernel should preserve it.
2086    
2087    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2088
2089commit 19a40758be04e1d451a030f452efb49e8aaad541
2090Author: Michel Dänzer <michel.daenzer@amd.com>
2091Date:   Wed Jun 27 18:36:43 2018 +0200
2092
2093    Remove #if 0'd code
2094    
2095    This has always been disabled, no need to keep it.
2096    
2097    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2098    Reviewed-by: Slava Abramov <slava.abramov@amd.com>
2099
2100commit 8e98195e58f77fd1f354b2707360bd4445aef5b4
2101Author: Michel Dänzer <michel.daenzer@amd.com>
2102Date:   Tue Jun 26 18:40:23 2018 +0200
2103
2104    Don't apply gamma to HW cursor data if colour management is enabled
2105    
2106    In that case (with DC as of 4.17 kernels), the display hardware applies
2107    gamma to the HW cursor.
2108    
2109    v2:
2110    * Also use all 0s when alpha == 0 in the gamma passthrough case.
2111    
2112    Bugzilla: https://bugs.freedesktop.org/106578
2113    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2114
2115commit 606075b852d8e1d40ed0a56b5a928abdd7012f95
2116Author: Leo Li (Sunpeng) <sunpeng.li@amd.com>
2117Date:   Fri Jun 15 17:05:52 2018 -0400
2118
2119    Also compose LUT when setting legacy gamma
2120    
2121    We compose the two LUTs when pushing non-legacy gamma changes, and the
2122    same needs to be done when setting legacy gamma.
2123    
2124    To do so, we just call push_cm_prop() on the gamma LUT. It will compose
2125    the LUTs for us, and fall back to using legacy LUT (upscaled to non-
2126    legacy size) if non-legacy is unavailable.
2127    
2128    It's also possible that the Kernel has no support support for non-
2129    legacy color. In which case, we fall back to legacy gamma.
2130    
2131    v2: Remove per-CRTC check for color management support.
2132    
2133    Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
2134    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2135
2136commit e0a4c0e2155a5fcfad747ea5bddcf5b4b551f151
2137Author: Leo Li (Sunpeng) <sunpeng.li@amd.com>
2138Date:   Fri Jun 15 17:12:48 2018 -0400
2139
2140    Compose non-legacy with legacy regamma LUT
2141    
2142    Frequently, a user may have non-legacy gamma enabled for monitor
2143    correction, while using legacy gamma for things like
2144    redshift/nightlight.
2145    
2146    To do so, we compose the two LUTs. Legacy gamma will be applied first,
2147    then non-legacy. i.e. non-legacy_LUT(legacy_LUT(in_color)).
2148    
2149    Note that the staged gamma LUT within the driver-private CRTC will
2150    always contain the non-legacy LUT. This is to ensure that we have a
2151    cached copy for future compositions.
2152    
2153    v2: Don't compose LUTs if legacy gamma is disabled (which is the case
2154        for deep 30bpp color). The legacy LUT won't be computed here,
2155        causing composition to spit out something invalid.
2156    
2157    v3: Use LUT sizes that are now cached in drmmode.
2158    
2159    Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
2160    
2161    [ Michel Dänzer: Replace "crtc->funcs->gamma_set == NULL" with
2162      !crtc->funcs->gamma_set ]
2163    
2164    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2165
2166commit e1fe46013c281f4644ca49915ae0ff081582a5b9
2167Author: Leo Li (Sunpeng) <sunpeng.li@amd.com>
2168Date:   Fri Jun 15 17:05:39 2018 -0400
2169
2170    Enable setting of color properties via RandR
2171    
2172    Setting a color property involves:
2173    1. Staging the property onto the driver-private CRTC object
2174    2. Pushing the staged property into kernel DRM, for HW programming
2175    
2176    Add a function to do the staging, and execute the above steps in
2177    output_property_set.
2178    
2179    v2:
2180    - Remove per-CRTC check for color management support in stage_cm_prop.
2181    - Use switch statement instead of if statements.
2182    
2183    Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
2184    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2185
2186commit 29de2859e296b4e9f0b4ae7564c353c5518f3f08
2187Author: Leo Li (Sunpeng) <sunpeng.li@amd.com>
2188Date:   Fri Jun 15 17:05:28 2018 -0400
2189
2190    Update color properties on output_get_property
2191    
2192    Notify RandR of any updated color properties on the output's CRTC when
2193    its get_property() hook is called.
2194    
2195    v2: Remove per-CRTC check for color management support.
2196    
2197    Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
2198    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2199
2200commit 639acf54b4de6f62000d12cc6dbf4f5e49cae888
2201Author: Leo Li (Sunpeng) <sunpeng.li@amd.com>
2202Date:   Fri Jun 15 17:04:58 2018 -0400
2203
2204    Configure color properties when creating output resources
2205    
2206    List color management properties on outputs if there is kernel support.
2207    Otherwise, don't list them at all.
2208    
2209    v2:
2210    - Use switch statement in configure_and_change
2211    - Also configure LUT sizes for outputs that don't have an attached CRTC.
2212      We can do this since LUT sizes are now cached on the drmmode object.
2213    
2214    Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
2215    
2216    [ Michel Dänzer: Drop const from data pointer declaration in
2217      rr_configure_and_change_cm_property, to avoid warning when building
2218      against xserver 1.13 ]
2219    
2220    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2221
2222commit 3cf5a281d8481c997029dae164d6fdeca66b9447
2223Author: Leo Li (Sunpeng) <sunpeng.li@amd.com>
2224Date:   Fri Jun 15 17:04:44 2018 -0400
2225
2226    Initialize color properties on CRTC during CRTC init
2227    
2228    And destroy them on the CRTC destroy hook.
2229    
2230    When initializing color management properties on the private
2231    drmmode_crtc, we want to:
2232    
2233    1. Default its color transform matrix (CTM) to identity
2234    2. Program hardware with default color management values (SRGB for
2235       de/regamma, identity for CTM)
2236    
2237    It's possible that cm initialization fails due to memory error or DRM
2238    error. In which case, the RandR state may not reflect the actual
2239    hardware state.
2240    
2241    v2:
2242    - Use switch statement in push_cm_prop
2243    - Get rid of per-CRTC cm support checks. Keep it simple and only check
2244      the first CRTC, since kernel will always report all or nothing for AMD
2245      hardware.
2246    - Remove per-CRTC LUT size caching, drmmode now holds that. Update
2247      commit message to reflect this.
2248    
2249    Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
2250    
2251    [ Michel Dänzer: Replace "drmmode_crtc->ctm == NULL" with
2252      !drmmode_crtc->ctm ]
2253    
2254    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2255
2256commit 810ed133cd67b3deb38d1af87e252a094e9ee8f2
2257Author: Leo Li (Sunpeng) <sunpeng.li@amd.com>
2258Date:   Fri Jun 15 17:02:57 2018 -0400
2259
2260    Cache color property IDs and LUT sizes during pre-init
2261    
2262    DRM creates property types with unique IDs during kernel driver init.
2263    Cache the color property IDs on DDX init for use later, when we need
2264    to modify these properties. Also cache the (de)gamma LUT sizes, since
2265    they are the same for all CRTCs on AMD hardware.
2266    
2267    Since these values are the same regardless of the CRTC, they can be
2268    cached within the private drmmode_rec object. We can also use any color-
2269    management-enabled CRTC to initially fetch them.
2270    
2271    Also introduce an enumeration of possible color management properties,
2272    to provide a easy and unified way of referring to them.
2273    
2274    v2:
2275    - Reorder cm property enum so that LUT sizes are at the end. This allows
2276      us to use DEGAMMA_LUT_SIZE as an anchor for iterating over mutable cm
2277      properties.
2278    - Cache (de)gamma LUT sizes within drmmode, since it's the same for all
2279      CRTCs on AMD hardware. Update commit message to reflect this.
2280    
2281    Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
2282    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2283
2284commit 940c8b39f79789d4d5ddb8ab8d25a8ae05932756
2285Author: Michel Dänzer <michel.daenzer@amd.com>
2286Date:   Tue Jun 12 18:45:08 2018 +0200
2287
2288    Check dimensions passed to drmmode_xf86crtc_resize
2289    
2290    When enabling a secondary GPU output, Xorg can try resizing the screen
2291    beyond the limit advertised by the driver, leading to drmModeAddFB
2292    failing and primary GPU outputs turning off. Check for this and bail
2293    instead.
2294
2295commit 74124f2c17dbb4b752707bb7eee398ae099e8a2c
2296Author: Michel Dänzer <michel.daenzer@amd.com>
2297Date:   Fri May 18 12:31:57 2018 +0200
2298
2299    Use drmmode_crtc_dpms in drmmode_set_desired_modes
2300    
2301    Simplifies the latter slightly.
2302    
2303    Reviewed-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
2304
2305commit ceeacb455cd058492a493aac954deab8455804b5
2306Author: Michel Dänzer <michel.daenzer@amd.com>
2307Date:   Fri May 18 12:13:23 2018 +0200
2308
2309    Call drmmode_do_crtc_dpms from drmmode_crtc_dpms as well
2310    
2311    Leo pointed out that drmmode_do_crtc_dpms wasn't getting called when
2312    turning off an output with
2313    
2314     xrandr --output <output> --off
2315    
2316    This meant that the vblank sequence number and timestamp wouldn't be
2317    saved before turning off the CRTC in this case.
2318    
2319    Reported-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
2320    Reviewed-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
2321
2322commit e8e688f3852fb06b0c34ed5bce47c9493bcd1613
2323Author: Michel Dänzer <michel.daenzer@amd.com>
2324Date:   Wed May 16 16:49:20 2018 +0200
2325
2326    Replace 'foo == NULL' with '!foo'
2327    
2328    Shorter and sweeter. :)
2329    
2330    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2331
2332commit 103bd6f44cc5f1a6cd6cc9a5cb34d0419c4cece9
2333Author: Slava Grigorev <slava.grigorev@amd.com>
2334Date:   Fri Apr 27 13:04:36 2018 -0400
2335
2336    Include xf86platformBus.h unconditionally
2337    
2338    Compilation failed with XSERVER_PLATFORM_BUS undefined:
2339    
2340    ../../src/amdgpu_probe.c: In function ‘amdgpu_kernel_open_fd’:
2341    ../../src/amdgpu_probe.c:133:21: error: dereferencing pointer to incomplete type ‘struct xf86_platform_device’
2342       dev = platform_dev->pdev;
2343                         ^~
2344    
2345    Signed-off-by: Slava Grigorev <slava.grigorev@amd.com>
2346    
2347    [ Michel Dänzer:
2348      * Fixed remaining preprocessor guards to work with xserver 1.13
2349      * Touched up commit log ]
2350
2351commit 04947b83cce3a7782e59dece2c7797cc396c1e05
2352Author: Michel Dänzer <michel.daenzer@amd.com>
2353Date:   Thu Apr 26 17:58:08 2018 +0200
2354
2355    Wait for pending flips in drmmode_output_set_tear_free
2356    
2357    This prevents a nested call to drmHandleEvent, which would hang.
2358    
2359    Fixes hangs when disabling TearFree on a CRTC while a DRI3 client is
2360    page flipping.
2361    
2362    Reviewed-by: Samuel Li <Samuel.Li@amd.com>
2363
2364commit fa30f4601de7a44edfb4a95873bd648946fd4292
2365Author: Michel Dänzer <michel.daenzer@amd.com>
2366Date:   Thu Apr 26 17:55:30 2018 +0200
2367
2368    Refactor drmmode_output_set_tear_free helper
2369    
2370    Preparation for the following fix, no functional change intended.
2371    
2372    Reviewed-by: Samuel Li <Samuel.Li@amd.com>
2373
2374commit 7db0c8e9d7586cff4312d4b93684d35de3e6376f
2375Author: Michel Dänzer <michel.daenzer@amd.com>
2376Date:   Tue Apr 24 11:56:03 2018 +0200
2377
2378    Set drmmode_crtc->scanout_id = 0 when TearFree is disabled
2379    
2380    When disabling TearFree, drmmode_crtc->scanout_id could remain as 1,
2381    but drmmode_set_mode_major would destroy drmmode_crtc->scanout[1], so
2382    scanout_do_update() would keep bailing, and the scanout buffer would
2383    stop being updated.
2384    
2385    Fixes freeze after disabling TearFree on a CRTC with active RandR
2386    rotation or other transform.
2387    
2388    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2389
2390commit 8e544b4a0de6717feb4abf00052d57c5b726b5ce
2391Author: Michel Dänzer <michel.daenzer@amd.com>
2392Date:   Mon Apr 23 18:52:02 2018 +0200
2393
2394    Simplify drmmode_handle_transform
2395    
2396    Set crtc->driverIsPerformingTransform for any case we can handle before
2397    calling xf86CrtcRotate. We already clear it afterwards when the latter
2398    clears crtc->transform_in_use.
2399    
2400    This should allow our separate scanout buffer mechanism to be used in
2401    more cases.
2402    
2403    Acked-by: Alex Deucher <alexander.deucher@amd.com>
2404
2405commit 463477661c88cab3a87746499e5838c5b9f9a13b
2406Author: Michel Dänzer <michel.daenzer@amd.com>
2407Date:   Mon Apr 23 18:44:06 2018 +0200
2408
2409    Don't call scanout_flip/update with a legacy RandR scanout buffer
2410    
2411    It means we are not using our own scanout buffers.
2412    
2413    Fixes crash when TearFree is supposed to be enabled, but
2414    drmmode_handle_transform doesn't set crtc->driverIsPerformingTransform.
2415    
2416    Bugzilla: https://bugs.freedesktop.org/105736
2417    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2418
2419commit 72c3e9c7308fbcdf85708b72f9be14a5f2f8e7b5
2420Author: Michel Dänzer <michel.daenzer@amd.com>
2421Date:   Thu Mar 8 19:07:21 2018 +0100
2422
2423    Simplify drmmode_crtc_scanout_update
2424    
2425    Use our own BoxRec for the extents, and RegionEmpty for clearing the
2426    scanout damage region.
2427
2428commit 4dcda0b48d62944c841cd9540f4ad4c7ac8dee47
2429Author: Michel Dänzer <michel.daenzer@amd.com>
2430Date:   Fri Apr 20 17:34:55 2018 +0200
2431
2432    Update RandR CRTC state if set_mode_major fails in set_desired_modes
2433    
2434    Without this, RandR would report the CRTC and its outputs as enabled,
2435    even though they were actually off due to the failure.
2436
2437commit 36d01989cd842588f12fdae5b2cba5fdcf9c91dd
2438Author: Michel Dänzer <michel.daenzer@amd.com>
2439Date:   Wed Apr 18 11:17:02 2018 +0200
2440
2441    Abort scanout_update_pending event when possible
2442    
2443    We don't need to wait for a non-TearFree scanout update before scanning
2444    out from the screen pixmap or before flipping, as the scanout update
2445    won't be visible anyway. Instead, just abort it.
2446
2447commit 04a5c5f7cfacad8d9ccffe81e388cc3da2036cb5
2448Author: Michel Dänzer <michel.daenzer@amd.com>
2449Date:   Wed Apr 18 11:03:14 2018 +0200
2450
2451    Track DRM event queue sequence number in scanout_update_pending
2452    
2453    Preparation for next change, no behaviour change intended.
2454
2455commit 8fcc3a9b43d3907052a83a96e5a2423afab5ad3f
2456Author: Michel Dänzer <michel.daenzer@amd.com>
2457Date:   Wed Apr 18 11:18:59 2018 +0200
2458
2459    Ignore AMDGPU_DRM_QUEUE_ERROR (0) in amdgpu_drm_abort_entry
2460    
2461    This allows a following change to be slightly simpler.
2462
2463commit 720a61000aeb139005bd8125908cec66a6e69554
2464Author: Emil Velikov <emil.velikov@collabora.com>
2465Date:   Wed Apr 4 15:29:51 2018 +0100
2466
2467    Remove set but unused amdgpu_dri2::pKernelDRMVersion
2468    
2469    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2470    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2471
2472commit 7fb8b49895e225b3908c8bd186539de23afe91d1
2473Author: Emil Velikov <emil.velikov@collabora.com>
2474Date:   Wed Apr 4 15:29:50 2018 +0100
2475
2476    Do not export the DriverRec AMDGPU
2477    
2478    Unused externally and should not be exported.
2479    
2480    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2481    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2482
2483commit 00c128b45fc196c3a3a788ddb4453e7521be5860
2484Author: Emil Velikov <emil.velikov@collabora.com>
2485Date:   Wed Apr 4 15:29:36 2018 +0100
2486
2487    Move amdgpu_bus_id/amgpu_kernel_mode within amdgpu_kernel_open_fd
2488    
2489    Small step towards unifying the code paths and removing a handful of
2490    duplication.
2491    
2492    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2493    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2494
2495commit 9f6a8905611b5b1d8fcd31bebbc9af7ca1355cc3
2496Author: Jim Qu <Jim.Qu@amd.com>
2497Date:   Tue Apr 17 19:11:16 2018 +0800
2498
2499    Wait for pending scanout update before calling drmmode_crtc_scanout_free
2500    
2501    There is a case that when set screen from reverse to normal, the old
2502    scanout damage is freed in modesetting before scanout update handler,
2503    so it causes segment fault issue.
2504    
2505    Signed-off-by: Jim Qu <Jim.Qu@amd.com>
2506    
2507    [ Michel Dänzer: Only call drmmode_crtc_wait_pending_event before
2508      drmmode_crtc_scanout_free is actually called, slightly tweak commit
2509      message ]
2510    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2511
2512commit c6f1559eba551a5a3bf374c7e7e875928f3b138d
2513Author: Michel Dänzer <michel.daenzer@amd.com>
2514Date:   Wed Apr 18 10:41:46 2018 +0200
2515
2516    Post-release version bump
2517
2518commit 9f37a44473ded8c669897379acbc750362c15ec6
2519Author: Michel Dänzer <michel.daenzer@amd.com>
2520Date:   Thu Mar 15 16:34:19 2018 +0100
2521
2522    Bump version for 18.0.1 release
2523
2524commit 8af989546907ad9fb491d940e1936d3bfc89276b
2525Author: Michel Dänzer <michel.daenzer@amd.com>
2526Date:   Thu Mar 8 18:48:28 2018 +0100
2527
2528    Pass extents to amdgpu_scanout_do_update by value
2529    
2530    amdgpu_scanout_extents_intersect could leave the scanout damage region
2531    in an invalid state, triggering debugging checks in pixman:
2532    
2533    *** BUG ***
2534    In pixman_region_append_non_o: The expression r->x1 < r->x2 was false
2535    Set a breakpoint on '_pixman_log_error' to debug
2536
2537commit 29649652a08ece7e07741be161b067a4484455ca
2538Author: Michel Dänzer <michel.daenzer@amd.com>
2539Date:   Wed Mar 7 17:51:25 2018 +0100
2540
2541    Wrap the whole miPointerScreenFuncRec, instead of only Set/MoveCursor
2542    
2543    We were clobbering entries in mi's global miSpritePointerFuncs struct,
2544    which cannot work correctly with multiple primary screens. Instead,
2545    assign a pointer to our own wrapper struct to PointPriv->spriteFuncs.
2546    
2547    Fixes crashes with multiple primary screens.
2548    
2549    Fixes: 69e20839bfeb ("Keep track of how many SW cursors are visible on
2550                          each screen")
2551    Reported-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2552
2553commit b4a28bdcfa7089e1cf708490ddf048b7df4c7eed
2554Author: Michel Dänzer <michel.daenzer@amd.com>
2555Date:   Tue Mar 6 17:59:26 2018 +0100
2556
2557    Only change Set/MoveCursor hooks from what we expect
2558    
2559    Since xf86CursorCloseScreen runs after AMDGPUCloseScreen_KMS,
2560    PointPriv->spriteFuncs doesn't point to the same struct in the latter as
2561    in AMDGPUCursorInit_KMS. So we were restoring info->Set/MoveCursor to
2562    the wrong struct. Then in the next server generation,
2563    info->Set/MoveCursor would end up pointing to
2564    drmmode_sprite_set/move_cursor, resulting in an infinite loop if one of
2565    them was called.
2566    
2567    To avoid this, only change the Set/MoveCursor hooks if their values
2568    match our expectations, otherwise leave them as is. This is kind of a
2569    hack, but the alternative would be invasive and thus risky changes to
2570    the way we're wrapping CloseScreen, and it's not even clear that can
2571    work without changing xserver code.
2572    
2573    Fixes: 69e20839bfeb ("Keep track of how many SW cursors are visible on
2574                          each screen")
2575    (Ported from radeon commit 504b8721b17a672caf1ed3eab087027c02458cab)
2576    Acked-by: Alex Deucher <alexander.deucher@amd.com>
2577
2578commit 5cfba7b6221779832be915993765cb128a561087
2579Author: Michel Dänzer <michel.daenzer@amd.com>
2580Date:   Fri Mar 2 18:10:40 2018 +0100
2581
2582    Bump version for 18.0.0 release
2583
2584commit 374cb8fef4fdbb648af089ee80803ec78321f1b2
2585Author: Keith Packard <keithp@keithp.com>
2586Date:   Thu Dec 21 18:54:34 2017 -0800
2587
2588    modesetting: Update property values at detect and uevent time
2589    
2590    We were updating the link-status property when a uevent came in, but
2591    we also want to update the non-desktop property, and potentially
2592    others as well. We also want to check at detect time in case we don't
2593    get a hotplug event.
2594    
2595    This patch updates every property provided by the kernel, sending
2596    changes to DIX so it can track things as well.
2597    
2598    Signed-off-by: Keith Packard <keithp@keithp.com>
2599    
2600    (Ported from xserver commit a12485ed846b852ca14d17d1e58c8b0f2399e577,
2601     slightly modifying logic to reduce indentation depth)
2602    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2603
2604commit 10054b6c3d9a755b30abb43020121b9631fa296d
2605Author: Daniel Martin <consume.noise@gmail.com>
2606Date:   Mon Nov 20 10:47:41 2017 +0100
2607
2608    modesetting: Reset output_id if drmModeGetConnector failed
2609    
2610    If drmModeGetConnector() fails in drmmode_output_detect(), we have to
2611    reset the output_id to -1 too.
2612    
2613    Yet another spot leading to a potential NULL dereference when handling
2614    the mode_output member as output_id was != -1. Though, this case should
2615    be very hard to hit.
2616    
2617    Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2618    
2619    (Ported from xserver commit 6804875662363764683a86c1614e4cf3cc70a20a)
2620    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2621
2622commit fb58e06acd6c6bd59de2dbdadbca27eb1dd0025b
2623Author: Daniel Martin <consume.noise@gmail.com>
2624Date:   Mon Oct 23 10:31:21 2017 +0200
2625
2626    modesetting: Use helper to fetch drmModeProperty(Blob)s
2627    
2628    Replace the various loops to lookup drmModeProperty(Blob)s by
2629    introducing helper functions.
2630    
2631    Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2632    
2633    (Ported from xserver commit f44935cdb7321af242ce9f242975f096807b97f7)
2634    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2635
2636commit 7854ace03f12207600ec8159ef8b2c5a562c4aee
2637Author: Christoph Haag <haagch@frickel.club>
2638Date:   Thu Mar 1 15:07:00 2018 +0100
2639
2640    fix include order for present.h configure test
2641    
2642    xorg-server.h defines _XSERVER64 which is used in X.h to choose the
2643    correct definition of XID
2644    
2645    this prevents a failure in the present.h configure test that disables
2646    DRI3 on X.Org 1.20
2647    
2648    Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer@amd.com>
2649
2650commit e3aae7a24296f640c0153d1459f3e0820485468a
2651Author: Michel Dänzer <michel.daenzer@amd.com>
2652Date:   Fri Feb 16 17:15:24 2018 +0100
2653
2654    Disable all unused CRTCs before setting desired modes
2655    
2656    This might avoid modeset failures in some cases where a CRTC which isn't
2657    used by Xorg was enabled before.
2658
2659commit f5ac5f385f41d1547cfd7ccc8bb35a537a8fffeb
2660Author: Michel Dänzer <michel.daenzer@amd.com>
2661Date:   Thu Feb 15 18:37:09 2018 +0100
2662
2663    Don't bail from drmmode_set_desired_modes immediately
2664    
2665    If we fail to find or set the mode for a CRTC, keep trying for the
2666    remaining CRTCs, and only return FALSE if we failed for all CRTCs that
2667    should be on.
2668    
2669    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2670    Acked-by: Harry Wentland <harry.wentland@amd.com>
2671
2672commit 37c7260bdef3a53b0f0295a531f33938e9aad8cf
2673Author: Michel Dänzer <michel.daenzer@amd.com>
2674Date:   Wed Feb 14 19:06:33 2018 +0100
2675
2676    If glamor is too old for depth 30, fall back to ShadowFB
2677    
2678    Instead of not starting up at all.
2679    
2680    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2681
2682commit 63b0c73a99fdf0eb7550a88df3a0052ce784e758
2683Author: Michel Dänzer <michel.daenzer@amd.com>
2684Date:   Wed Feb 14 18:50:18 2018 +0100
2685
2686    Revert "Guard against pAMDGPUEnt == NULL in AMDGPUFreeRec"
2687    
2688    This reverts commit a23d1ff700d486138c624c2023d8d251c73709af.
2689    
2690    pAMDGPUEnt cannot be NULL anymore here now that we no longer call
2691    AMDGPUFreeRec directly from AMDGPUPreInit_KMS.
2692    
2693    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2694
2695commit 103b7285845b786929fb509083c57e074c48f9be
2696Author: Michel Dänzer <michel.daenzer@amd.com>
2697Date:   Tue Feb 13 19:11:00 2018 +0100
2698
2699    Don't call AMDGPUFreeRec from AMDGPUPreInit_KMS
2700    
2701    If the latter fails, Xorg will call AMDGPUFreeScreen_KMS, which calls
2702    the former.
2703    
2704    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2705
2706commit a23d1ff700d486138c624c2023d8d251c73709af
2707Author: Michel Dänzer <michel.daenzer@amd.com>
2708Date:   Tue Feb 13 18:57:48 2018 +0100
2709
2710    Guard against pAMDGPUEnt == NULL in AMDGPUFreeRec
2711    
2712    This can happen if PreInit fails early.
2713    
2714    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2715
2716commit b3095710b7c240ddefce794033a77033806f639d
2717Author: Michel Dänzer <michel.daenzer@amd.com>
2718Date:   Tue Feb 13 18:26:06 2018 +0100
2719
2720    Always use screen depth/bpp for KMS framebuffers
2721    
2722    DRI clients can use depth 32 pixmaps while the screen is depth 24, in
2723    which case page flipping would fail.
2724    
2725    Reported-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2726    (Ported from radeon commit 733f606dd6ca8350e6e7f0858bfff5454ddc98ed)
2727    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2728
2729commit 6aee5770fb913713bb1b9a1af8f0d0892a66f21a
2730Author: Hawking Zhang <Hawking.Zhang@amd.com>
2731Date:   Sat Jul 16 00:09:21 2016 +0800
2732
2733    Add 30bit RGB color format support
2734    
2735    Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
2736    
2737    [ Michel Dänzer:
2738    * Require Xorg >= 1.19.99.1 for depth 30, otherwise it can't work with glamor
2739    * Update manpage, per radeon commit
2740      574bfab4bf1fcd95163a8f33cea2889189429d30 ]
2741    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2742
2743commit ec397f7d3bfc89a5d8b8429c96e1b9572f6ee47d
2744Author: Qiang Yu <Qiang.Yu@amd.com>
2745Date:   Thu Nov 2 14:00:23 2017 +0800
2746
2747    Disable gamma set when deep color
2748    
2749    gamma set is disabled in kernel driver when deep color.
2750    Enable it will confuse the user.
2751    
2752    Signed-off-by: Qiang Yu <Qiang.Yu@amd.com>
2753    
2754    [ Michel Dänzer: Align drmmode_pre_init change with radeon commit
2755      1f1d4b1fa7d4b22dd8553f7e71251bf17ca7a7b1 ]
2756    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2757
2758commit c849081e24377a81afc1a05f2a5634b1e60c67db
2759Author: Mario Kleiner <mario.kleiner.de@gmail.com>
2760Date:   Mon Feb 12 18:18:46 2018 +0100
2761
2762    Define per x-screen individual drmmode_crtc_funcs
2763    
2764    This allows to en-/disable some functions depending on individual screen
2765    settings.
2766    
2767    Prep work for more efficient depth 30 support.
2768    
2769    Suggested-by: Michel Dänzer <michel.daenzer@amd.com>
2770    Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2771    (Ported from radeon commit 21f6753462464acfd3c452393328c977a375ce26)
2772    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2773
2774commit 348023cea43e0474352df0c2aa6345eb0b25c2f7
2775Author: Michel Dänzer <michel.daenzer@amd.com>
2776Date:   Mon Jan 22 18:23:18 2018 +0100
2777
2778    Fix linear check in amdgpu_glamor_share_pixmap_backing
2779    
2780    We were incorrectly interpreting the tiling information.
2781    
2782    Reported-by: Marek Olšák <marek.olsak@amd.com>
2783    Acked-by: Alex Deucher <alexander.deucher@amd.com>
2784    Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2785
2786commit 69e20839bfeb3ee0b0a732d72de0a32d6c5435fc
2787Author: Michel Dänzer <michel.daenzer@amd.com>
2788Date:   Fri Dec 22 18:33:58 2017 +0100
2789
2790    Keep track of how many SW cursors are visible on each screen
2791    
2792    And use this to determine when we cannot use page flipping for DRI
2793    clients. We previously did this based on whether the HW cursor cannot
2794    be used on at least one CRTC, which had at least two issues:
2795    
2796    * Even while the HW cursor cannot be used, no SW cursor may actually be
2797      visible (e.g. because all cursors are disabled), in which case we can
2798      use page flipping for DRI clients anyway
2799    * Even while the HW cursor can be used, there may be SW cursors visible
2800      from non-core pointer devices, in which case we cannot use page
2801      flipping for DRI clients anyway
2802    
2803    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2804
2805commit dfccaa7043ccb157a1f8be7313123792bb7e7001
2806Author: Michel Dänzer <michel.daenzer@amd.com>
2807Date:   Fri Dec 22 17:09:07 2017 +0100
2808
2809    Move cursor related ScreenInit calls into AMDGPUCursorInit_KMS
2810    
2811    And bail if xf86_cursors_init fails.
2812    
2813    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2814
2815commit 1d65ac395971571094df21ca0408d5972c6b56ec
2816Author: Michel Dänzer <michel.daenzer@amd.com>
2817Date:   Wed Nov 15 18:22:27 2017 +0100
2818
2819    Add amdgpu_dirty_src_drawable helper
2820    
2821    Allows tidying up amdgpu_dirty_src_equals and redisplay_dirty slightly.
2822    
2823    v2:
2824    * Different approach for amdgpu_dirty_master
2825    
2826    Acked-by: Alex Deucher <alexander.deucher@amd.com>
2827
2828commit 3a4f7422913093ed9e26b73ecd7f9e773478cb1e
2829Author: Michel Dänzer <michel.daenzer@amd.com>
2830Date:   Wed Nov 8 18:44:25 2017 +0100
2831
2832    Use correct ScrnInfoPtr in redisplay_dirty
2833    
2834    We used the destination pixmap's screen for flushing glamor. But when
2835    we are the master screen, the destination pixmap is from the slave
2836    screen.
2837    
2838    Fixes crash when the slave screen isn't using glamor as well.
2839    
2840    Bugzilla: https://bugs.freedesktop.org/103613
2841    Fixes: e15b23663cd1 ("Adapt to PixmapDirtyUpdateRec::src being a
2842                         DrawablePtr")
2843    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2844
2845commit 875339c1064f666a2391b4a5a495eddda9407ab6
2846Author: Daniel Martin <consume.noise@gmail.com>
2847Date:   Fri Oct 20 10:05:35 2017 +0200
2848
2849    modesetting: Check crtc before searching link-status property
2850    
2851    No need to lookup the link-status property if we don't have a crtc.
2852    
2853    Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2854    (Ported from xserver commit 8d7f7e24261e68459e6f0a865e243473f65fe7ad)
2855    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2856
2857commit 91cd0ceab2cabba75e3552d0fbfcfc55f6d132ee
2858Author: Keith Packard <keithp@keithp.com>
2859Date:   Mon Sep 25 16:18:22 2017 -0700
2860
2861    modesetting: Skip no-longer-present connectors when resetting BAD links
2862    
2863    Outputs may have NULL mode_output (connector) pointers if the
2864    connector disappears while the server is running. Skip these when
2865    resetting outputs with BAD link status.
2866    
2867    (Ported from xserver commit 37f4e7651a2fd51efa613a08a1e705553be33e76)
2868    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2869
2870commit f6b39bcd45cb06976ba8a3600df77fc471c63995
2871Author: Michel Dänzer <michel.daenzer@amd.com>
2872Date:   Thu Oct 19 18:02:05 2017 +0200
2873
2874    Always call drmModeFreeProperty after drmModeGetProperty
2875    
2876    We were not doing so in all cases, leaking memory allocated by the
2877    latter.
2878    
2879    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2880
2881commit 84aad09f18fed6b52b0c073f0bbd675a6de07807
2882Author: Michel Dänzer <michel.daenzer@amd.com>
2883Date:   Thu Oct 19 17:54:13 2017 +0200
2884
2885    Call TimerFree for timer created in LeaveVT
2886    
2887    We were leaking the memory allocated by TimerSet.
2888    
2889    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2890
2891commit cfccf4c4e7e5c73fe4040fabeb1b43283cf29b33
2892Author: Michel Dänzer <michel.daenzer@amd.com>
2893Date:   Thu Oct 19 17:41:44 2017 +0200
2894
2895    Free memory returned by xf86GetEntityInfo
2896    
2897    We were leaking it.
2898    
2899    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2900
2901commit 9d84934309e4ccd9a43c73d958b8ff10ef2fc990
2902Author: Michel Dänzer <michel.daenzer@amd.com>
2903Date:   Thu Oct 19 17:28:53 2017 +0200
2904
2905    Free pAMDGPUEnt memory in AMDGPUFreeRec
2906    
2907    We were freeing it earlier but then still trying to access it in
2908    AMDGPUFreeRec.
2909    
2910    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2911
2912commit b67a2b62b20c17db7471f5bbea591ab55806cb29
2913Author: Michel Dänzer <michel.daenzer@amd.com>
2914Date:   Thu Oct 19 16:46:35 2017 +0200
2915
2916    Bail if there's a problem with ShadowFB
2917    
2918    If we hit a problem while setting up ShadowFB, just carrying on trying
2919    to set up HW acceleration instead is unlikely to work.
2920    
2921    (Ported from radeon commit 7d435354099119234d443b07e2df1c7b9f97cf3c)
2922    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2923
2924commit 55396cc45c9aae3b1985ced1044b6b93064667c3
2925Author: Michel Dänzer <michel.daenzer@amd.com>
2926Date:   Thu Oct 19 16:20:03 2017 +0200
2927
2928    Fix VT switching with ShadowFB
2929    
2930    We were trying to call acceleration specific functions from LeaveVT.
2931    Instead, memset the scanout buffer to all 0 in LeaveVT and allocate a
2932    new one in EnterVT.
2933    
2934    Bugzilla: https://bugs.freedesktop.org/102948
2935    Fixes: c16ff42f927d ("Make all active CRTCs scan out an all-black
2936                          framebuffer in LeaveVT")
2937    (Ported from radeon commit 34da04daec82077571558ac3fe1ec0c1203a01ad)
2938    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2939
2940commit 2f72be038d22c54620e436af30121dd89f79a003
2941Author: Darren Salt <devspam@moreofthesa.me.uk>
2942Date:   Wed Sep 13 03:22:19 2017 +0100
2943
2944    Clarify when TearFree is automatically enabled.
2945    
2946    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2947
2948commit 2ce59dfa1c57655137fcc7ccdf15a341e51383ff
2949Author: Michel Dänzer <michel.daenzer@amd.com>
2950Date:   Thu Oct 5 11:15:34 2017 +0200
2951
2952    Post-release version bump
2953
2954commit cf1767a9a58a3ec95622a7b8ca661113e2148da9
2955Author: Michel Dänzer <michel.daenzer@amd.com>
2956Date:   Fri Sep 8 16:19:48 2017 +0900
2957
2958    Bump version for 1.4.0 release
2959
2960commit 114de91e3548cd30b709b19f1447f597e71175e0
2961Author: Michel Dänzer <michel.daenzer@amd.com>
2962Date:   Thu Aug 31 17:59:08 2017 +0900
2963
2964    Require xserver >= 1.13
2965    
2966    xserver 1.13.0 was released on September 6th, 2012, almost 5 years ago.
2967    
2968    This allows cleaning up a bunch of backwards compatibility code.
2969    
2970    (Ported from radeon commit 5cdd334b3402c2431deb3a87a8d04ef590da53ee)
2971    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2972
2973commit 456e5841233a8a79c23ad13649bbdaf8428b50f3
2974Author: Michel Dänzer <michel.daenzer@amd.com>
2975Date:   Wed Aug 30 17:17:49 2017 +0900
2976
2977    Use a timer for unreferencing the all-black FB
2978    
2979    The timer fires 1 second after LeaveVT. This gives the next DRM master
2980    enough time to set up scanout of its own buffers.
2981    
2982    Fixes prolonged intermittent black screen when switching from Xorg to
2983    e.g. the GDM Wayland mode login VT.
2984    
2985    Fixes: c16ff42f927d ("Make all active CRTCs scan out an all-black
2986                          framebuffer in LeaveVT")
2987    (Ported from radeon commit 9d9c565c84601f4c6c73ad769f86491088683f7a)
2988    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2989
2990commit 639076efb06cdf13a211a8df1acb00c3908992b9
2991Author: Michel Dänzer <michel.daenzer@amd.com>
2992Date:   Tue Aug 29 17:24:18 2017 +0900
2993
2994    Remove drmmode_scanout_free
2995    
2996    Not used anymore.
2997    
2998    (Cherry picked from radeon commit e4a3df19d588a4310fcb889ef34e205d0e92e4d7)
2999    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3000
3001commit c16ff42f927df805619a5255bc383841474daff8
3002Author: Michel Dänzer <michel.daenzer@amd.com>
3003Date:   Tue Aug 29 17:06:58 2017 +0900
3004
3005    Make all active CRTCs scan out an all-black framebuffer in LeaveVT
3006    
3007    And destroy all other FBs. This is so that other DRM masters can only
3008    get access to this all-black FB, not to any other FB we created, while
3009    we're switched away and not DRM master.
3010    
3011    Fixes: b09fde0d81e0 ("Use reference counting for tracking KMS
3012                          framebuffer lifetimes")
3013    (Ported from radeon commit 06a465484101f21e99d3a0a62fb03440bcaff93e)
3014    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3015
3016commit 19672625df0531c12acc05999ea09ea763e5db59
3017Author: Michel Dänzer <michel.daenzer@amd.com>
3018Date:   Tue Aug 29 17:05:19 2017 +0900
3019
3020    Create amdgpu_master_screen helper
3021    
3022    Preparatory, no functional change intended yet.
3023    
3024    (Ported from radeon commit 7f0cd68d1b0c132e32ae736371bce3e12ed33c7a)
3025    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3026
3027commit 6b376c8d73b20c92755527edb0527a233886e4eb
3028Author: Michel Dänzer <michel.daenzer@amd.com>
3029Date:   Tue Aug 29 16:56:56 2017 +0900
3030
3031    Create amdgpu_pixmap_get_fb_ptr helper
3032    
3033    Preparatory, no functional change intended yet.
3034    
3035    Also inline amdgpu_pixmap_create_fb into amdgpu_pixmap_get_fb, since
3036    there's only one call-site.
3037    
3038    (Ported from radeon commit 20f6b56fdb74d88086e8e094013fedbb14e50a24)
3039    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3040
3041commit 5af396253f6a03fa3f8f92e81da231dd581b50c9
3042Author: Michel Dänzer <michel.daenzer@amd.com>
3043Date:   Tue Aug 29 16:54:10 2017 +0900
3044
3045    Create drmmode_set_mode helper
3046    
3047    Preparatory, no functional change intended yet.
3048    
3049    (Ported from radeon commit 4bc992c31059eb50e22df4ebf5b92d08411f41ef)
3050    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3051
3052commit 1afd4a526c97e77ec882988e35d4977880b9d16c
3053Author: Michel Dänzer <michel.daenzer@amd.com>
3054Date:   Tue Aug 29 16:46:33 2017 +0900
3055
3056    Create amdgpu_pixmap_clear helper
3057    
3058    Preparatory, no functional change intended yet.
3059    
3060    (Ported from radeon commit 3f6210ca2c8ef60d59efc8139151d3b9838bb875)
3061    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3062
3063commit 0de05767adb79d417284dae83e9a77857633fd80
3064Author: Martin Peres <martin.peres@linux.intel.com>
3065Date:   Tue Aug 22 18:43:24 2017 +0900
3066
3067    modesetting: re-set the crtc's mode when link-status goes BAD
3068    
3069    Despite all the careful planning of the kernel, a link may become
3070    insufficient to handle the currently-set mode. At this point, the
3071    kernel should mark this particular configuration as being broken
3072    and potentially prune the mode before setting the offending connector's
3073    link-status to BAD and send the userspace a hotplug event. This may
3074    happen right after a modeset or later on.
3075    
3076    Upon receiving a hot-plug event, we iterate through the connectors to
3077    re-apply the currently-set mode on all the connectors that have a
3078    link-status property set to BAD. The kernel may be able to get the
3079    link to work by dropping to using a lower link bpp (with the same
3080    display bpp). However, the modeset may fail if the kernel has pruned
3081    the mode, so to make users aware of this problem a warning is outputed
3082    in the logs to warn about having a potentially-black display.
3083    
3084    This patch does not modify the current behaviour of always propagating
3085    the events to the randr clients. This allows desktop environments to
3086    re-probe the connectors and select a new resolution based on the new
3087    (currated) mode list if a mode disapeared. This behaviour is expected in
3088    order to pass the Display Port compliance tests.
3089    
3090    (Ported from xserver commit bcee1b76aa0db8525b491485e90b8740763d7de6)
3091    
3092    [ Michel: Bump libdrm dependency to >= 2.4.78 for
3093      DRM_MODE_LINK_STATUS_BAD ]
3094    (Ported from radeon commit 0472a605e0ec8fec1892bbc3a84698b7ef9c5296)
3095    Acked-by: Harry Wentland <harry.wentland@amd.com>
3096    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3097
3098commit a2ee5c36c7d4fdcd067fdc1ef424be474f1ad2cb
3099Author: Michel Dänzer <michel.daenzer@amd.com>
3100Date:   Fri Aug 18 17:24:45 2017 +0900
3101
3102    Make amdgpu_scanout_do_update take a PixmapPtr instead of a DrawablePtr
3103    
3104    All callers were already passing in a pixmap.
3105    
3106    This allows simplifying the rotated scanout case slightly.
3107    
3108    (Ported from radeon commit d822a0f47070374ad0c1a97b559bae27724dc52a)
3109    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3110
3111commit 828fb44cf953f78bd65d8f391bdabe2b1b3d53ae
3112Author: Michel Dänzer <michel.daenzer@amd.com>
3113Date:   Fri Aug 18 17:22:12 2017 +0900
3114
3115    Use xorg_list_append for the DRM event list
3116    
3117    We were adding entries at the start of the list, i.e. the list was
3118    ordered from most recently added to least recently added. However, the
3119    corresponding DRM events are generally expected to arrive in the same
3120    order as they are queued, which means that amdgpu_drm_queue_alloc would
3121    generally have to traverse the whole list to find the entry
3122    corresponding to an arrived event. Fix this by adding entries at the end
3123    of the list.
3124    
3125    (Ported from radeon commit 3e24770b1b472fc15df56d06f5f04778c9db63dd)
3126    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3127
3128commit 22740f86d028cdd0f556543df7444516a86f923b
3129Author: Michel Dänzer <michel.daenzer@amd.com>
3130Date:   Fri Aug 18 17:15:54 2017 +0900
3131
3132    Consolidate amdgpu_scanout_flip_abort/handler helpers
3133    
3134    While at it, make them use crtc->driver_private.
3135    
3136    (Ported from radeon commit 36ce7920136c0d723c9397a84e7dd5926a9c7943)
3137    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3138
3139commit 2692508ae8920ce62f488a9384444c1645964913
3140Author: Michel Dänzer <michel.daenzer@amd.com>
3141Date:   Fri Aug 18 17:12:15 2017 +0900
3142
3143    Always allow DRI2 page flipping with TearFree
3144    
3145    Even if TearFree is enabled for the CRTC we're synchronizing to.
3146    
3147    (Ported from radeon commit d314cbfb228bb4b8762714f98d0c114a8ee3f061)
3148    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3149
3150commit 8c82878c6ef1b984ba289383dc17152192c916ee
3151Author: Michel Dänzer <michel.daenzer@amd.com>
3152Date:   Fri Aug 18 16:57:13 2017 +0900
3153
3154    Always allow Present page flipping with TearFree
3155    
3156    Even if TearFree is active for the the CRTC we're synchronizing to. In
3157    that case, for Present flips synchronized to vertical blank, the other
3158    scanout buffer is immediately synchronized and flipped to during the
3159    target vertical blank period. For Present flips not synchronized to
3160    vertical blank, we simply use the MSC and timestamp values of the last
3161    vertical blank period for timing purposes, and let the normal TearFree
3162    mechanism handle display updates.
3163    
3164    (Ported from radeon commit 4445765af5b97d0cfd10889fe6d6f58f2ce85659)
3165    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3166
3167commit d8e8f0107bb3e83a787917f4db16a7a54ce4768b
3168Author: Michel Dänzer <michel.daenzer@amd.com>
3169Date:   Fri Aug 18 16:46:18 2017 +0900
3170
3171    Pass extents to amdgpu_scanout_do_update
3172    
3173    Preparation for following change, no functional change intended yet.
3174    
3175    (Ported from radeon commit 65e0c5ea1b4adff21d673dbf54af99704c429627)
3176    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3177
3178commit cc1dfb88eb6714fcdcb9b576a70f400a5d0d58ca
3179Author: Michel Dänzer <michel.daenzer@amd.com>
3180Date:   Fri Aug 18 16:34:50 2017 +0900
3181
3182    Add source drawable parameter to amdgpu_scanout_do_update
3183    
3184    Preparation for following changes, no functional change intended yet.
3185    
3186    (Ported from radeon commit 1443270e52e8562bd8dc3603f301963bd4027cef)
3187    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3188
3189commit b82d1b6063a36facc9cdd0e0189fdb6932be94e2
3190Author: Michel Dänzer <michel.daenzer@amd.com>
3191Date:   Fri Aug 18 16:23:39 2017 +0900
3192
3193    Handle multiple "pending" Present flips
3194    
3195    The xserver Present code can submit a flip in response to notifying it
3196    that a vblank event arrived. This can happen before the completion event
3197    of the previous flip is processed. In that case, we were clearing the
3198    drmmode_crtc->flip_pending field prematurely.
3199    
3200    Prevent this by only clearing drmmode_crtc->flip_pending when it matches
3201    the framebuffer being scanned out since the flip whose completion event
3202    we're processing.
3203    
3204    (Ported from radeon commit 7c10ee9c88378d773c0bcf651fdc5d9f2c6dc5e5)
3205    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3206
3207commit 2cbe7f2dff5eef159486f875b3ec67516c85862d
3208Author: Michel Dänzer <michel.daenzer@amd.com>
3209Date:   Fri Aug 18 16:13:17 2017 +0900
3210
3211    Wait for pending flips synchronously before turning off a CRTC
3212    
3213    Allows removing drmmode_clear_pending_flip and the pending_dpms_mode
3214    field and cleaning up the code considerably.
3215    
3216    (Ported from radeon commit e6d7dc2070f4d21a6900916bb70a31839112882c)
3217    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3218
3219commit e8d0bfab276d47338c337955b9d2fcbff3af225f
3220Author: Michel Dänzer <michel.daenzer@amd.com>
3221Date:   Fri Aug 18 16:11:41 2017 +0900
3222
3223    Create drmmode_crtc_wait_pending_event helper macro
3224    
3225    Preparation for following change, no functional change intended yet.
3226    
3227    (Ported from radeon commit f87acdbfb1b0b6d2769764772a52ea8b81675e20)
3228    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3229
3230commit fd5b78b7edff2021111bca37642b8b508f0c3328
3231Author: Michel Dänzer <michel.daenzer@amd.com>
3232Date:   Fri Aug 18 15:12:35 2017 +0900
3233
3234    Create drmmode_wait_vblank helper
3235    
3236    Allows cleaning up the code considerably.
3237    
3238    (Ported from radeon commit 99f1d7a474af3683fe1a66f50c0bb8935478ff0a)
3239    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3240
3241commit 24b2718992e4bbc859c07e5b29b571f53314045d
3242Author: Michel Dänzer <michel.daenzer@amd.com>
3243Date:   Fri Aug 18 15:03:52 2017 +0900
3244
3245    Pass reference CRTC to amdgpu_do_pageflip directly
3246    
3247    Simplifies the code slightly.
3248    
3249    (Ported from radeon commit 49cc61ab970ee28d4509b4e2dd0a57165136889f)
3250    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3251
3252commit 87a1f577f1de62f6b628bbe221cd8d551531e708
3253Author: Michel Dänzer <michel.daenzer@amd.com>
3254Date:   Fri Aug 18 14:56:10 2017 +0900
3255
3256    Remove drmmode_crtc->scanout_destroy[] array
3257    
3258    No longer necessary since we're reference counting framebuffers.
3259    
3260    (Ported from radeon commit 3f120fa1d5d921656a367751bc079e020e9ab105)
3261    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3262
3263commit e15b23663cd1a6f85394253b3fb566b55828b1c5
3264Author: Michel Dänzer <michel.daenzer@amd.com>
3265Date:   Tue Apr 18 18:21:24 2017 +0900
3266
3267    Adapt to PixmapDirtyUpdateRec::src being a DrawablePtr
3268
3269commit 9caa9dd9cc5eb9882c4bb85275bc318948dab71f
3270Author: Michel Dänzer <michel.daenzer@amd.com>
3271Date:   Wed Aug 2 19:07:40 2017 +0900
3272
3273    Allow DRI page flipping when some CRTCs use separate scanout buffers
3274    
3275    As long as the CRTC we're synchronizing to doesn't.
3276    
3277    (Ported from radeon commit 5309bde0c4e28adf2b167191c6d7011a19e31eed)
3278    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3279
3280commit 4441c7c6dde2d71bd44c3031c5679ee3186ea8f9
3281Author: Michel Dänzer <michel.daenzer@amd.com>
3282Date:   Tue Aug 1 17:29:16 2017 +0900
3283
3284    Add drmmode_crtc_can_flip helper
3285    
3286    To reduce code duplication between DRI2 and Present. No functional
3287    change intended yet.
3288    
3289    (Ported from radeon commit 9bc3eef74452d924f9101c024f66ad9b14c404c8)
3290    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3291
3292commit 3e08409344a2fd504429522507592f98555bec05
3293Author: Michel Dänzer <michel.daenzer@amd.com>
3294Date:   Wed Aug 2 19:03:40 2017 +0900
3295
3296    Use root window (pixmap) instead of screen pixmap for scanout updates
3297    
3298    Preparation for following changes, no functional change intended yet.
3299    
3300    (Ported from radeon commit c2d26890691ec105858f086b63170ad94c6f7f05)
3301    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3302
3303commit 35106fc0a948957cbb7e1e9649c89993a3d5c95c
3304Author: Michel Dänzer <michel.daenzer@amd.com>
3305Date:   Thu Jul 27 15:22:02 2017 +0900
3306
3307    Only handle reflection in the driver with Xorg < 1.16
3308    
3309    Xorg doesn't handle the hardware cursor correctly in that case for
3310    rotation and general transforms, and we can't force the SW cursor.
3311    
3312    Fixes: ba2aa0a8c12a ("Handle rotation in the driver also with Xorg
3313                          1.12-1.18")
3314    (Cherry picked from radeon commit 7d7abf99b5441ddb04dbee99bc8fa7abc30d4c46)
3315    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3316
3317commit a47c0093338d80d84e7033ad15d051925d542ca0
3318Author: Michel Dänzer <michel.daenzer@amd.com>
3319Date:   Wed Jul 26 16:46:14 2017 +0900
3320
3321    autogen.sh: Pass -f to autoreconf
3322    
3323    To ensure that any existing copies of autotools files will be replaced
3324    with the current versions.
3325    
3326    Acked-by: Alex Deucher <alexander.deucher@amd.com>
3327
3328commit 842bad4b951296ca25f47b50cb358e502bf30ebb
3329Author: Michel Dänzer <michel.daenzer@amd.com>
3330Date:   Wed Jul 26 16:44:00 2017 +0900
3331
3332    Makefile.am: Set ACLOCAL_AMFLAGS = -I m4
3333    
3334    Suggested by one of the tools called by autoreconf.
3335    
3336    Acked-by: Alex Deucher <alexander.deucher@amd.com>
3337
3338commit 227b399badaad9bbef0be5a776ce008d0d243449
3339Author: Michel Dänzer <michel.daenzer@amd.com>
3340Date:   Wed Jul 26 16:42:58 2017 +0900
3341
3342    Add AC_CONFIG_MACRO_DIRS([m4]) to configure.ac
3343    
3344    Suggested by one of the tools called by autoreconf.
3345    
3346    Acked-by: Alex Deucher <alexander.deucher@amd.com>
3347
3348commit 4d36306bcebb8548455a21eae6a7216a9439d9e4
3349Author: Michel Dänzer <michel.daenzer@amd.com>
3350Date:   Thu Jul 13 17:40:58 2017 +0900
3351
3352    If a TearFree flip fails, fall back to non-TearFree operation
3353    
3354    In order to avoid possible freeze / log file spam in that case.
3355    
3356    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99769
3357    (Ported from radeon commit 94dc2b80f3ef0b2c17c20501d824fb0447d52e7a)
3358    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3359
3360commit 88147c1a532a9275eb57e14d8c11be41bf4c1fe1
3361Author: Michel Dänzer <michel.daenzer@amd.com>
3362Date:   Thu Jul 13 17:35:55 2017 +0900
3363
3364    Use drmmode_crtc->scanout_id instead of 0 to check for scanout buffer
3365    
3366    Preparation for following change, no functional change intended.
3367    
3368    (Ported from radeon commit aff267ee36cc6a703a532f91f82adc1ba1425ff3)
3369    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3370
3371commit e90721ba654d70db5eeb1cf552308c73151530ee
3372Author: Michel Dänzer <michel.daenzer@amd.com>
3373Date:   Tue Jun 27 18:13:05 2017 +0900
3374
3375    Only call drmmode_scanout_free for non-GPU screens in LeaveVT
3376    
3377    Destroying the scanout buffers of GPU screens resulted in a crash when
3378    switching back to the Xorg VT.
3379    
3380    Fixes: b10ecdbd89b0 ("Use drmmode_crtc_scanout_* helpers for RandR 1.4
3381                          scanout pixmaps")
3382    (Ported from radeon commit c9dd28cb0c9c3de676eadac61e727732510f6b9b)
3383    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3384
3385commit 1b6ff5fd9933c00ec1ec90dfc62e0b531927749b
3386Author: Michel Dänzer <michel.daenzer@amd.com>
3387Date:   Thu Jun 22 16:27:32 2017 +0900
3388
3389    Improve drmmode_fb_reference debugging code
3390    
3391    If a reference count is <= 0, call FatalError with the call location
3392    (in case it doesn't get resolved in the backtrace printed by
3393    FatalError).
3394    
3395    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3396
3397commit af7221e1c4d2dbdfd488eb0976a835584ea8441c
3398Author: Michel Dänzer <michel.daenzer@amd.com>
3399Date:   Wed Jun 21 19:01:54 2017 +0900
3400
3401    Increase reference count of FB assigned to drmmode_crtc->flip_pending
3402    
3403    Otherwise, it could happen that we destroy the FB before the flip
3404    completes, resulting in use-after-free and most likely a crash.
3405    
3406    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3407
3408commit 184d50e008b9b31f4dda1425e255af068b6ab068
3409Author: Adam Jackson <ajax@redhat.com>
3410Date:   Tue Jun 13 09:36:21 2017 -0400
3411
3412    modesetting: Validate the atom for enum properties
3413    
3414    The client could have said anything here, and if what they said doesn't
3415    actually name an atom NameForAtom() will return NULL, and strcmp() will
3416    be unhappy about that.
3417    
3418    [copied from xserver d4995a3936ae283b9080fdaa0905daa669ebacfc]
3419    
3420    Signed-off-by: Adam Jackson <ajax@redhat.com>
3421    Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer@amd.com>
3422
3423commit bbdac40e2af472d37aa0f4f26df77a0b1b12a830
3424Author: Michel Dänzer <michel.daenzer@amd.com>
3425Date:   Thu Jun 8 10:46:26 2017 +0900
3426
3427    Improve AMDGPUPreInitAccel_KMS log messages
3428    
3429    Now it should always be clear in the log file why acceleration isn't
3430    enabled.
3431    
3432    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3433
3434commit b09fde0d81e07fbe96139289098b4d4b9f5e3c35
3435Author: Michel Dänzer <michel.daenzer@amd.com>
3436Date:   Thu May 11 19:04:11 2017 +0900
3437
3438    Use reference counting for tracking KMS framebuffer lifetimes
3439    
3440    References are held by the pixmaps corresponding to the FBs (so
3441    the same KMS FB can be reused as long as the pixmap exists) and by the
3442    CRTCs scanning out from them (so a KMS FB is only destroyed once it's
3443    not being scanned out anymore, preventing intermittent black screens and
3444    worse issues due to a CRTC turning off when it should be on).
3445    
3446    v2:
3447    * Only increase reference count in drmmode_fb_reference if it was sane
3448      before
3449    * Make drmmode_fb_reference's indentation match the rest of
3450      drmmode_display.h
3451    
3452    (Ported from radeon commit 55e513b978b2afc52b7cafc5bfcb0d1dc78d75f6)
3453    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3454
3455commit 000e5eaeb20607508c5c5371654615a30a8a1b0b
3456Author: Michel Dänzer <michel.daenzer@amd.com>
3457Date:   Wed May 24 10:12:55 2017 +0900
3458
3459    Update URLs
3460    
3461    * Point to the amd-gfx mailing list
3462    * Specify the component in all bugzilla URLs
3463    * Use https:// for all HTML URLs
3464    
3465    (Ported from radeon commit d80d01a73c2eaba2e3649b7bc0a3541b3ff782f6)
3466    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3467
3468commit 2ea2d4d827f086098be198f110ca822ed2c290cd
3469Author: Michel Dänzer <michel.daenzer@amd.com>
3470Date:   Fri May 12 19:01:18 2017 +0900
3471
3472    Simplify tracking of PRIME scanout pixmap
3473    
3474    Remember the shared pixmap passed to drmmode_set_scanout_pixmap for each
3475    CRTC, and just compare against that.
3476    
3477    Fixes leaving stale entries in ScreenRec::pixmap_dirty_list under some
3478    circumstances, which would usually result in use-after-free and a crash
3479    down the line.
3480    
3481    (Ported from radeon commit 7dc68e26755466f9056f8c72195ab8690660693d)
3482    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3483
3484commit 8cb41b962eb06b9cb1b3a573a4087e4d89f733fb
3485Author: Eric Anholt <eric@anholt.net>
3486Date:   Wed May 17 16:11:52 2017 +0900
3487
3488    Use plain glamor_egl_create_textured_screen().
3489    
3490    Since 5064ffab631 (2014), glamor's implementation of _ext just drops the
3491    back_pixmap arg, which we were passing NULL (the default) to anyway.
3492    
3493    Signed-off-by: Eric Anholt <eric@anholt.net>
3494    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
3495    (Ported from radeon commit 2b7d77b90108911777a11ecaa63435552000c958)
3496
3497commit e900e48a11a93cde7d8d2d7bdb4a15ec705c56b1
3498Author: Michel Dänzer <michel.daenzer@amd.com>
3499Date:   Wed May 10 18:37:56 2017 +0900
3500
3501    Don't enable DRI3 without glamor
3502    
3503    Can't work currently. Fixes crash when trying to run a DRI3 client when
3504    glamor isn't enabled.
3505    
3506    Bugzilla: https://bugs.freedesktop.org/100968
3507    
3508    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3509
3510commit 462ac3341e5bfbded9086d3d9043821d19352b3e
3511Author: Michel Dänzer <michel.daenzer@amd.com>
3512Date:   Tue May 2 17:58:55 2017 +0900
3513
3514    Remove unused struct members from drmmode_display.h
3515    
3516    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3517
3518commit 82fa615f38137add75f9cd4bb49c48dd88de916f
3519Author: Michel Dänzer <michel.daenzer@amd.com>
3520Date:   Tue May 2 11:53:25 2017 +0900
3521
3522    Apply gamma correction to HW cursor
3523    
3524    The display hardware CLUT we're currently using for gamma correction
3525    doesn't affect the HW cursor, so we have to apply it manually when
3526    uploading the HW cursor data.
3527    
3528    This currently only works in depth 24/32.
3529    
3530    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3531
3532commit 981bac185cfd74ae50dffc28f57cf34623a9595f
3533Author: Michel Dänzer <michel.daenzer@amd.com>
3534Date:   Thu Mar 23 18:51:38 2017 +0900
3535
3536    Don't set modes before AMDGPUWindowExposures_oneshot is called
3537    
3538    The root window contents may be undefined before that, so we don't want
3539    to show anything yet.
3540    
3541    Fixes a crash on startup with rotation and virtual resolution set in
3542    xorg.conf.
3543    
3544    Bugzilla: https://bugs.freedesktop.org/100276
3545    Fixes: ad53635af150 ("Move DPMS check from amdgpu_scanout_do_update to
3546                          amdgpu_scanout_flip")
3547    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3548
3549commit 51e17041cb89806c934c5cf795207940a6aaccfe
3550Author: Daniel Stone <daniels@collabora.com>
3551Date:   Mon Apr 10 17:36:01 2017 +0900
3552
3553    Set correct DRM event context version
3554    
3555    DRM_EVENT_CONTEXT_VERSION is the latest context version supported by
3556    whatever version of libdrm is present. We were blindly asserting we
3557    supported whatever version that may be, even if we actually didn't.
3558    
3559    Set the version as 2, which should be bumped only with the appropriate
3560    version checks.
3561    
3562    Signed-off-by: Daniel Stone <daniels@collabora.com>
3563    (Ported from xserver commit 0c8e6ed85810e96d84173a52d628863802a78d82)
3564    v2: Remove second paragraph of commit log, we always initialize
3565            page_flip_handler2 = NULL (Emil Velikov)
3566    Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
3567    Reviewed-by: Alex Deucher <alexander.deucher@amd.com> # v1
3568
3569commit 67d155e62f5e09af242b0181527c162576dae02e
3570Author: Nicholas Molloy <nick.a.molloy@gmail.com>
3571Date:   Sun Mar 26 02:38:40 2017 +1300
3572
3573    Fix a misspelling of 'acceleration' in amdgpu_kms.c
3574    
3575    Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
3576    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3577    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
3578
3579commit 165b51447643ce37f391f25ca6aecb8d76fabaa3
3580Author: Michel Dänzer <michel.daenzer@amd.com>
3581Date:   Wed Mar 22 18:58:32 2017 +0900
3582
3583    manpage: Don't put "'" at the beginning of a line
3584    
3585    It caused the whole line to be dropped.
3586    
3587    Fixes: af0b24c1aca4 ("Allow toggling TearFree at runtime via output
3588                          property")
3589    Reported-by: Andy Furniss <adf.lists@gmail.com>
3590    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3591
3592commit 1b476d417f85fd1b97e813adbbf4970db07adf5c
3593Author: Michel Dänzer <michel.daenzer@amd.com>
3594Date:   Thu Mar 23 18:03:56 2017 +0900
3595
3596    Post-release version bump
3597
3598commit 804e30e14e51f94403a0721ef2aae28f1fa9e9f2
3599Author: Michel Dänzer <michel.daenzer@amd.com>
3600Date:   Thu Mar 16 17:28:11 2017 +0900
3601
3602    Bump version for 1.3.0 release
3603
3604commit 3a8582944ed3fef1b75f8871489e6e19963e2ea6
3605Author: Michel Dänzer <michel.daenzer@amd.com>
3606Date:   Thu Mar 9 15:56:59 2017 +0900
3607
3608    Pass TRUE to drmmode_set_desired_modes the first time for GPU screens
3609    
3610    This is the only place we call drmmode_set_desired_modes for GPU screens
3611    during server startup. Without this change, the display outputs of
3612    secondary GPUs may stay on even while Xorg isn't using them.
3613    
3614    (Ported from radeon commit 9a71445094b728f3d78db8f6808b4782ee19a453)
3615    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3616
3617commit 82b15a4da156e18da4c8fc0093500c32b549e487
3618Author: Michel Dänzer <michel.daenzer@amd.com>
3619Date:   Thu Mar 9 15:47:24 2017 +0900
3620
3621    Skip some initialization steps for GPU screens
3622    
3623    Xorg doesn't use the following functionality of GPU screens, so don't
3624    bother initializing it:
3625    
3626    * DRI page flipping
3627    * DRI3 / Present / SYNC fences
3628    * XVideo / XvMC
3629    * Root window with background None
3630    
3631    (Ported from radeon commit 67ae5e00a748ad52cf92738d401afff2947b1891)
3632    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3633
3634commit fa85331f0ce27e16a9338516518433955133840e
3635Author: Michel Dänzer <michel.daenzer@amd.com>
3636Date:   Tue Mar 7 18:02:29 2017 +0900
3637
3638    glamor: Use glamor_finish when available
3639    
3640    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3641
3642commit 7884e38e94c2cbd6c205f556f2b31ad59b4089b4
3643Author: Hans De Goede <hdegoede@redhat.com>
3644Date:   Tue Oct 18 16:48:40 2016 +0200
3645
3646    amdgpu_probe: Do not close server managed drm fds
3647    
3648    This fixes the xserver only seeing AMD/ATI devices supported by the amdgpu
3649    driver, as by the time xf86-video-ati gets a chance to probe them, the
3650    fd has been closed.
3651    
3652    This fixes e.g. Xorg not seeing the dGPU on a Lenovo Thinkpad E465 laptop
3653    with a CARRIZO iGPU and a HAINAN dGPU.
3654    
3655    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
3656    
3657    v2: Rebased on top of new patch 1.
3658    
3659    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3660
3661commit a2c360fa1d33d6a5aa64c396197e119ff77d1379
3662Author: Michel Dänzer <michel.daenzer@amd.com>
3663Date:   Mon Mar 6 18:59:23 2017 +0900
3664
3665    Refactor amdgpu_kernel_close_fd helper
3666    
3667    Preparation for the following change.
3668    
3669    Assign pAMDGPUEnt->fd = -1 instead of 0 when we're not using the file
3670    descriptor anymore.
3671    
3672    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
3673    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3674
3675commit 947017194d07e32876a43ee0efc45fdc71385748
3676Author: Michel Dänzer <michel.daenzer@amd.com>
3677Date:   Fri Mar 3 17:59:19 2017 +0900
3678
3679    glamor: Don't flush in BlockHandler with Xorg >= 1.19
3680    
3681    This was only necessary with older versions for driving the FBO cache
3682    expiry mechanism.
3683    
3684    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3685
3686commit 86907a5e4ce33154167b330570491f88218725d3
3687Author: Michel Dänzer <michel.daenzer@amd.com>
3688Date:   Mon Mar 6 18:23:41 2017 +0900
3689
3690    Only define transform_region for XF86_CRTC_VERSION >= 4
3691    
3692    Not used with older versions of Xorg. Fixes warning in that case:
3693    
3694    ../../src/amdgpu_kms.c:328:1: warning: ‘transform_region’ defined but not used [-Wunused-function]
3695     transform_region(RegionPtr region, struct pict_f_transform *transform,
3696     ^~~~~~~~~~~~~~~~
3697    
3698    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3699
3700commit 8d2b7d1758e3fcac520a18a0684c073f0ac62389
3701Author: Michel Dänzer <michel.daenzer@amd.com>
3702Date:   Mon Mar 6 18:09:58 2017 +0900
3703
3704    Use local implementation of RegionDuplicate for older xserver
3705    
3706    It was only added in xserver 1.15. Fixes build against older xserver.
3707    
3708    Reported-by: Pali Rohár <pali.rohar@gmail.com>
3709    (Ported from radeon commit 80cc892ee1ce54fad3cb7dd11bd9df18c359136f)
3710    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3711
3712commit cd73100114a18642d9c40f1df33cef8311e96a8b
3713Author: Michel Dänzer <michel.daenzer@amd.com>
3714Date:   Mon Mar 6 18:07:19 2017 +0900
3715
3716    Don't use pScrn->is_gpu in AMDGPUCreateScreenResources_KMS
3717    
3718    Looks like this snuck in accidentally.
3719    
3720    Brings us back in line with the radeon driver, and fixes the build
3721    against older versions of xserver which didn't have the is_gpu field
3722    yet.
3723    
3724    Fixes: 6bab8fabb37e ("Remove info->dri2.drm_fd and info->drmmode->fd")
3725    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3726
3727commit 351baa89b9b0ecfb6c666af3a2d10c559a9224a9
3728Author: Michel Dänzer <michel.daenzer@amd.com>
3729Date:   Fri Mar 3 16:44:15 2017 +0900
3730
3731    Don't call amdgpu_glamor_flush in drmmode_copy_fb
3732    
3733    AMDGPUWindowExposures_oneshot takes care of it.
3734    
3735    (Ported from radeon commit d63881623f0686a66a2e3e3c1f84e496aa52ec6b)
3736    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3737
3738commit ad53635af150cda9b8da413be5a011d74f972ac7
3739Author: Michel Dänzer <michel.daenzer@amd.com>
3740Date:   Fri Mar 3 16:41:49 2017 +0900
3741
3742    Move DPMS check from amdgpu_scanout_do_update to amdgpu_scanout_flip
3743    
3744    When amdgpu_scanout_do_update is called from
3745    drmmode_crtc_scanout_update, drmmode_crtc->pending_dpms_mode may still
3746    be != DPMSModeOn, e.g. during server startup.
3747    
3748    Fixes intermittently showing garbage with TearFree enabled.
3749    
3750    (Ported from radeon commit cc9d6b7db9c2078be1e530a64af6d517c6a42024)
3751    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3752
3753commit 378bd05c849ad3092f138bdc8917d35d0b967389
3754Author: Michel Dänzer <michel.daenzer@amd.com>
3755Date:   Fri Mar 3 16:36:24 2017 +0900
3756
3757    Call drmmode_set_desired_modes from a WindowExposures hook
3758    
3759    This is the earliest opportunity where the root window contents are
3760    guaranteed to be initialized, and prevents drmmode_set_mode_major from
3761    getting called before drmmode_set_desired_modes via AMDGPUUnblank ->
3762    drmmode_crtc_dpms. Also, in contrast to the BlockHandler hook, this is
3763    called when running Xorg with -pogo.
3764    
3765    Fixes intermittently showing garbage on server startup or after server
3766    reset.
3767    
3768    As a bonus, this avoids trouble due to higher layers (e.g. the tigervnc
3769    Xorg module) calling AMDGPUBlockHandler_oneshot repeatedly even after
3770    we set pScreen->BlockHandler = AMDGPUBlockHandler_KMS.
3771    
3772    Bugzilla: https://bugs.freedesktop.org/99457
3773    (Ported from radeon commits 0a12bf1085505017068dfdfd31d23133e51b45b9 and
3774    f0e7948e1c0e984fc27f235f365639e9cf628291)
3775    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3776
3777commit 8d4d73e05ce34eb353daec7b2c0e7c844113c7de
3778Author: Michel Dänzer <michel.daenzer@amd.com>
3779Date:   Fri Mar 3 16:34:16 2017 +0900
3780
3781    present: Flush before flipping
3782    
3783    This isn't necessary for DRI clients, but the Present extension can also
3784    be used for presenting normal pixmaps rendered to via the X11 protocol.
3785    
3786    (Ported from radeon commit 9035b6abea557828e672ee455f0c84e43da0906f)
3787    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3788
3789commit 88725b68cad92418c9bb03cb7f20526ce238d64e
3790Author: Michel Dänzer <michel.daenzer@amd.com>
3791Date:   Fri Mar 3 16:30:27 2017 +0900
3792
3793    present: Use async flip for unflip if possible
3794    
3795    In that case, unflip operations should finish faster in general.
3796    
3797    (Ported from radeon commit 0a4eb0e12f0c9c653cf4cea6fd62e1a507eb261c)
3798    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3799
3800commit b31489c086b4bc50c824e85fa26d97c0f43afb20
3801Author: Michel Dänzer <michel.daenzer@amd.com>
3802Date:   Fri Mar 3 16:28:41 2017 +0900
3803
3804    present: Also flush before using a flip to unflip
3805    
3806    Not doing so might result in intermittently scanning out stale contents
3807    of the screen pixmap.
3808    
3809    (Ported from radeon commit 9a951a3e551db58ba50e7a594521ceac54d90615)
3810    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3811
3812commit f6a3c87c3097e8d5c1d2159bc90d6541a46ed8be
3813Author: Michel Dänzer <michel.daenzer@amd.com>
3814Date:   Fri Mar 3 16:26:26 2017 +0900
3815
3816    present: Wait for GPU idle before setting modes for unflip
3817    
3818    To make sure the screen pixmap contents are up to date when it starts
3819    being scanned out.
3820    
3821    (Ported from radeon commit 244d4bc7f8c8f6bc90f49556c0b9344c8aa40295)
3822    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3823
3824commit 012ffffb45119059f3610fb8fd6ae103186b3e3c
3825Author: Michel Dänzer <michel.daenzer@amd.com>
3826Date:   Fri Mar 3 16:22:39 2017 +0900
3827
3828    present: Only call drmModeRmFB after setting modes for unflip
3829    
3830    Fixes display intermittently blanking when a modeset is used for unflip.
3831    
3832    (Ported from radeon commit 3ff29e5a14451916bc66b4e0028e9a317f0723f8)
3833    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3834
3835commit f4719bb473df897012f8830f46e99cb781d67b6f
3836Author: Michel Dänzer <michel.daenzer@amd.com>
3837Date:   Fri Mar 3 16:19:11 2017 +0900
3838
3839    Use drmmode_crtc_scanout_free in drmmode_fini
3840    
3841    We were leaking drmmode_crtc->scanout_damage, which caused trouble on
3842    server reset. Fixes server reset with active separate scanout pixmaps.
3843    
3844    (Cherry picked from radeon commit 0c29deb5a97d9a57e994cc0053c49ddf7aca6ecb)
3845    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3846
3847commit af0b24c1aca4cba2692d5aa410e63cb536478dbe
3848Author: Michel Dänzer <michel.daenzer@amd.com>
3849Date:   Thu Mar 2 17:24:03 2017 +0900
3850
3851    Allow toggling TearFree at runtime via output property
3852    
3853    Option "TearFree" now sets the default value of the output property.
3854    See the manpage update for details.
3855    
3856    TearFree is now enabled by default for outputs using rotation or other
3857    RandR transforms, and for RandR 1.4 slave outputs.
3858    
3859    (Ported from radeon commit 58cd1600057e41aade0106d4acf78e23eac6e44f)
3860    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3861
3862commit 77853f02e5b879e7042f55c672cf2d8e6955309f
3863Author: Michel Dänzer <michel.daenzer@amd.com>
3864Date:   Thu Mar 2 17:19:59 2017 +0900
3865
3866    Factor out drmmode_crtc_scanout_update helper
3867    
3868    Cleanup in preparation for following change, no functional change
3869    intended.
3870    
3871    (Ported from radeon commit 305e2cbf335837a2ab6a24e9ff65815afe038296)
3872    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3873
3874commit d25cc3b2b3b2d257aea247b85fea405d7e84e5b1
3875Author: Michel Dänzer <michel.daenzer@amd.com>
3876Date:   Thu Mar 2 17:15:03 2017 +0900
3877
3878    Factor out amdgpu_prime_dirty_to_crtc helper
3879    
3880    Cleanup in preparation for the following change, no functional change
3881    intended.
3882    
3883    (Ported from radeon commit 649644a88347a6d03de68f8c41db03a82deeb23b)
3884    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3885
3886commit a6d363008e2b55f0aa6151be1a99f01b97870e91
3887Author: Michel Dänzer <michel.daenzer@amd.com>
3888Date:   Thu Mar 2 17:13:06 2017 +0900
3889
3890    Don't destroy current FB if drmModeAddFB fails
3891    
3892    It would probably result in a black screen.
3893    
3894    (Ported from radeon commit 1351e48efe7a2c28eab447e16f36a00fbd02ae48)
3895    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3896
3897commit 53926db2355de0a324c205703a0377b498136f65
3898Author: Michel Dänzer <michel.daenzer@amd.com>
3899Date:   Thu Mar 2 17:08:19 2017 +0900
3900
3901    Fix flip event data leak if calloc or drmModeAddFB fails
3902    
3903    (Ported from radeon commit 481394e3c9f9f7d88bb66fe9ae8834c87952a8ab)
3904    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3905
3906commit 45a8ec6257c370eecf43b6b8010863e37b704872
3907Author: Mihail Konev <k.mvc@ya.ru>
3908Date:   Thu Mar 2 17:04:36 2017 +0900
3909
3910    autogen: add default patch prefix
3911    
3912    (Ported from radeon commit 8e6a4e96b7b27559e186f71b5547abb0a80b96dd)
3913    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3914
3915commit ba2aa0a8c12a2bea1e8be01ca3134b518d4cb0f2
3916Author: Michel Dänzer <michel.daenzer@amd.com>
3917Date:   Thu Mar 2 16:55:38 2017 +0900
3918
3919    Handle rotation in the driver also with Xorg 1.12-1.18
3920    
3921    We cannot use the HW cursor in that case, but in turn we get more
3922    efficient and less teary updates of rotated outputs.
3923    
3924    (Ported from radeon commit f2bc882f1c1082bed9f496cfab6c8f07a76bc122)
3925    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3926
3927commit 7f3abf35a2e1225ffd6a777b23f6a7a6355c1691
3928Author: Michel Dänzer <michel.daenzer@amd.com>
3929Date:   Thu Mar 2 16:47:06 2017 +0900
3930
3931    Fold drmmode_crtc_scanout_allocate into drmmode_crtc_scanout_create
3932    
3933    Not used anywhere else anymore.
3934    
3935    (Ported from radeon commit ae921a3150f69c38b5b3c88a9e37d54fdf0d5093)
3936    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3937
3938commit 03c2db3c67bf5ad3c0744add9e0bb611b6cd3df7
3939Author: Michel Dänzer <michel.daenzer@amd.com>
3940Date:   Thu Mar 2 16:42:04 2017 +0900
3941
3942    Call drmmode_crtc_scanout_create in drmmode_crtc_shadow_allocate as well
3943    
3944    Calling drmmode_crtc_scanout_allocate in drmmode_crtc_shadow_allocate
3945    resulted in drmmode_crtc_scanout_create called from
3946    drmmode_crtc_shadow_create passing an uninitialized pitch value to
3947    drmmode_create_bo_pixmap.
3948    
3949    Fixes issues such as failure to allocate the scanout pixmap or visual
3950    corruption and GPUVM faults when attempting to use rotation with Xorg
3951    <1.19.
3952    
3953    Bugzilla: https://bugs.freedesktop.org/99916
3954    Fixes: 5f7123808833 ("Pass pitch from drmmode_crtc_scanout_allocate to
3955                          drmmode_create_bo_pixmap")
3956    (Ported from radeon commit 987a34adb319923ad36e2b47a26837248f187c3e)
3957    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3958
3959commit 49b092563cb3958911d28a006f155b4f4e38ed73
3960Author: Emil Velikov <emil.l.velikov@gmail.com>
3961Date:   Thu Jan 26 11:10:12 2017 +0900
3962
3963    autogen.sh: use quoted string variables
3964    
3965    Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent
3966    fall-outs, when they contain space.
3967    
3968    Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3969    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
3970    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
3971
3972commit 457fcc5935c659aab5b88cf26d065180b47ed632
3973Author: Peter Hutterer <peter.hutterer@who-t.net>
3974Date:   Thu Jan 26 11:09:07 2017 +0900
3975
3976    autogen.sh: use exec instead of waiting for configure to finish
3977    
3978    Syncs the invocation of configure with the one from the server.
3979    
3980    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
3981    Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
3982
3983commit 5f712380883357d03c9934a753ef302e109aeb14
3984Author: Michel Dänzer <michel.daenzer@amd.com>
3985Date:   Fri Jan 6 17:42:25 2017 +0900
3986
3987    Pass pitch from drmmode_crtc_scanout_allocate to drmmode_create_bo_pixmap
3988    
3989    Mostly to align with radeon commit
3990    ea30d856ba5e7274c8ea499293b8b0e721b8e082, but also gets rid of a
3991    gbm_bo_get_stride call.
3992    
3993    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3994
3995commit b5c189473dba2cffc9e4df310ce5c86ceca99a94
3996Author: Jammy Zhou <Jammy.Zhou@amd.com>
3997Date:   Tue Dec 13 12:32:39 2016 +0900
3998
3999    Use render node for DRI3 if available
4000    
4001    Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
4002    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
4003    [ Second attempt, let's see if there's any fallout this time... ]
4004
4005commit edd276185d42962a13faf9ec9eeebc754ef284e7
4006Author: Michel Dänzer <michel.daenzer@amd.com>
4007Date:   Thu Dec 15 12:42:44 2016 +0900
4008
4009    Simplify drmmode_handle_uevents
4010    
4011    No functional change intended.
4012    
4013    Reviewed-by: Jim Qu <Jim.Qu@amd.com>
4014
4015commit 732cf4d3a248b288532ad0f3443da49e08dc7507
4016Author: jimqu <Jim.Qu@amd.com>
4017Date:   Tue Dec 13 16:33:26 2016 +0800
4018
4019    udev_monitor_receive_device() will block when hotplug monitor
4020    
4021    udev_monitor_receive_device() will block and wait for the event of udev
4022    use select() to ensure that this will not block.
4023    
4024    Signed-off-by: JimQu <Jim.Qu@amd.com>
4025    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
4026
4027commit d60ea478cf2215ded7e1acf5817a0dae07e54026
4028Author: Michel Dänzer <michel.daenzer@amd.com>
4029Date:   Wed Nov 30 16:28:27 2016 +0900
4030
4031    Call amdgpu_drm_abort_entry on failure to flip to a scanout pixmap
4032    
4033    Fixes leaking the corresponding struct amdgpu_drm_queue list entry in
4034    that case.
4035    
4036    (Ported from radeon commit e2942449171fe628a7726e59bcaab65e27d88563)
4037    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4038
4039commit aea70298ef0d53fc81aa1fd22c8566920a856223
4040Author: Michel Dänzer <michel.daenzer@amd.com>
4041Date:   Wed Nov 30 16:27:10 2016 +0900
4042
4043    Call ValidateGC after ChangeClip in amdgpu_sync_scanout_pixmaps
4044    
4045    The wrong order meant that the clipping region wasn't actually applied,
4046    so it always copied the full contents from the other scanout pixmap.
4047    
4048    (Ported from radeon commit 14c3f59f5157885ad8f941f0bad6c0c5e3db12f8)
4049    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4050
4051commit 0f79c30619168c6845b143c6ed94ade307383068
4052Author: Michel Dänzer <michel.daenzer@amd.com>
4053Date:   Wed Nov 30 16:25:52 2016 +0900
4054
4055    Fix amdgpu_scanout_extents_intersect for GPU screens
4056    
4057    Fixes incorrect screen updates with TearFree enabled on PRIME slave
4058    outputs which are not located at (0, 0).
4059    
4060    (Ported from radeon commit a995f5830916a0fee5126263d1bfe48632be3a15)
4061    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4062
4063commit 082b6b8ca1878f4b7ab0b25d16b85ba40748ac57
4064Author: Michel Dänzer <michel.daenzer@amd.com>
4065Date:   Wed Nov 30 16:21:28 2016 +0900
4066
4067    Take current scanout_id into account everywhere involved with TearFree
4068    
4069    Fixes various potential issues with TearFree enabled, e.g. outputs
4070    freezing after display configuration changes.
4071    
4072    (Ported from radeon commit e543ef3a2fb304cbe3a965fb780632af2e4186f4)
4073    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4074
4075commit 82729b1f3b9d57f3002ac2689bfbf37ece0bc3f2
4076Author: Michel Dänzer <michel.daenzer@amd.com>
4077Date:   Mon Nov 28 17:47:17 2016 +0900
4078
4079    Add amdgpu_is_gpu_screen helper
4080    
4081    This will hopefully decrease the chance of accidentally breaking the
4082    build against xserver < 1.13 in the future.
4083    
4084    (Ported from radeon commit f130b10e63f7526360b41aa0918b4940f63f662a)
4085    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4086
4087commit 7fe2a8ed67ef82916a1eb5b241c5a602a26e10b2
4088Author: Michel Dänzer <michel.daenzer@amd.com>
4089Date:   Tue Nov 22 16:50:59 2016 +0900
4090
4091    Don't install Flush/EventCallback for GPU screens
4092    
4093    Their purpose is to flush GPU rendering commands corresponding to damage
4094    events, but there can be no damage events corresponding to GPU screen
4095    rendering operations.
4096    
4097    (Ported from radeon commits 13c6bc5e382765fe567091e1c616c0a26eec04ca and
4098    487aa62a2a23b86e4ea4714fdfd465c9e513141f)
4099    
4100    v2: Squash in radeon fix for build against xserver < 1.13
4101    
4102    Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
4103
4104commit ff31320644b4d17b9b3f0abd612c99769d3d9643
4105Author: Michel Dänzer <michel.daenzer@amd.com>
4106Date:   Fri Nov 25 18:34:40 2016 +0900
4107
4108    Make libdrm >= 2.4.72 requirement explicit
4109    
4110    And drop compatibility code for older versions.
4111    
4112    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4113
4114commit f9ba1e8fd48cd967a09c4e083b277505d08d3849
4115Author: Michel Dänzer <michel.daenzer@amd.com>
4116Date:   Tue Nov 22 16:30:59 2016 +0900
4117
4118    Use DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE/RELATIVE flags when available
4119    
4120    (Ported from radeon commits 1106b2f773ad0611c729b27f4c192a26b43ef1e7
4121    and 5fea5ef2f07eee4a0f94baab427010b936f1d4b4)
4122    
4123    v2:
4124    * Squash in radeon fix for TearFree regression
4125    * Remove preprocessor guards for compatibility with libdrm < 2.4.72
4126      (Emil Velikov)
4127    
4128    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4129
4130commit e8aa4e7ea59f00d5527654b7181a05aab8c78928
4131Author: Michel Dänzer <michel.daenzer@amd.com>
4132Date:   Wed Oct 26 18:38:20 2016 +0900
4133
4134    Remove generated header files
4135    
4136    No longer used.
4137    
4138    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4139
4140commit d69fd22b6d13052d667929a0e3db61829ce1396e
4141Author: Michel Dänzer <michel.daenzer@amd.com>
4142Date:   Wed Oct 26 18:36:18 2016 +0900
4143
4144    Stop using AMDGPU(Unique)Chipsets
4145    
4146    Use libdrm_amdgpu's amdgpu_get_marketing_name for the chipset name, or
4147    "Unknown AMD Radeon GPU" as a fallback.
4148    
4149    v2: Require libdrm_amdgpu >= 2.4.72 for amdgpu_get_marketing_name
4150    
4151    Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
4152
4153commit 8a5ff54af32a75ae56d3369a828a50ae28dd1acd
4154Author: Michel Dänzer <michel.daenzer@amd.com>
4155Date:   Wed Oct 26 18:09:18 2016 +0900
4156
4157    Stop using AMDGPUPciChipsets
4158    
4159    Not actually used by Xorg.
4160    
4161    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4162
4163commit 298eaf58a57efa6acc53d374eea239b6bb55c0f8
4164Author: Michel Dänzer <michel.daenzer@amd.com>
4165Date:   Wed Oct 26 18:05:58 2016 +0900
4166
4167    Remove amdpciids.h
4168    
4169    Not useful anymore.
4170    
4171    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4172
4173commit a0881d55fe80d639d31cdfeadd6014322c037791
4174Author: Michel Dänzer <michel.daenzer@amd.com>
4175Date:   Wed Oct 26 18:02:39 2016 +0900
4176
4177    Stop using generated amdgpu_device_match
4178    
4179    Just match on PCI device ID 0x1002.
4180    
4181    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4182
4183commit 40ddc52b2ae32b17ef7eea1602fdf59b63f06f17
4184Author: Michel Dänzer <michel.daenzer@amd.com>
4185Date:   Wed Oct 26 17:42:36 2016 +0900
4186
4187    Use family information from libdrm_amdgpu / kernel
4188    
4189    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4190
4191commit 5c9d1c5097e326c69f1be4427c62a0d348e8a4a6
4192Author: Michel Dänzer <michel.daenzer@amd.com>
4193Date:   Wed Oct 26 17:32:56 2016 +0900
4194
4195    Move struct amdgpu_gpu_info out of amdgpu_get_tile_config
4196    
4197    Preparation for the following change, no functional change intended.
4198    
4199    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4200
4201commit adf7dabdf9c8acd674190e25050b0885a05d0e92
4202Author: Michel Dänzer <michel.daenzer@amd.com>
4203Date:   Mon Nov 21 17:50:22 2016 +0900
4204
4205    Post-release version bump
4206
4207commit a00032050873fc99f3ceaa3293468dad1d94d4b1
4208Author: Michel Dänzer <michel.daenzer@amd.com>
4209Date:   Thu Nov 17 15:17:10 2016 +0900
4210
4211    Bump version for 1.2.0 release
4212
4213commit a446b3af9b055056e9fb0f37069b08b979eba277
4214Author: Michel Dänzer <michel.daenzer@amd.com>
4215Date:   Thu Nov 17 15:13:59 2016 +0900
4216
4217    manpage updates for the 1.2.0 release
4218    
4219    Option "TearFree" is now effective for arbitrary transforms as well.
4220    
4221    Point to the amd-gfx mailing list instead of xorg-driver-ati.
4222
4223commit 24e36c7044a24294d5709c0306efacc8de6df072
4224Author: Michel Dänzer <michel.daenzer@amd.com>
4225Date:   Thu Nov 10 12:30:10 2016 +0900
4226
4227    Use pAMDGPUEnt to find both screens of a GPU in amdgpu_mode_hotplug
4228    
4229    Fixes misbehaviour when hotplugging DisplayPort connectors on secondary
4230    GPUs.
4231    
4232    Fixes: 14606e127f4b ("Handle Zaphod mode correctly in amdgpu_mode_hotplug")
4233    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98626
4234    (Ported from radeon commit 9760ef33cba5795eddeda4d5c2fcbe2dcce21689)
4235    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4236
4237commit 257be5b0853814a557a5337878a4311acbc89856
4238Author: Michel Dänzer <michel.daenzer@amd.com>
4239Date:   Thu Nov 10 12:28:03 2016 +0900
4240
4241    Refactor amdgpu_mode_hotplug
4242    
4243    Preparation for the next change, no functional change intended.
4244    
4245    (Cherry picked from radeon commit 35bec4937d89b48a79acfcb4f814b7370cb631b2)
4246    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4247
4248commit 1352a1d2f78cb0433d421ef86bfce2a5a1646807
4249Author: Michel Dänzer <michel.daenzer@amd.com>
4250Date:   Wed Nov 2 12:35:55 2016 +0900
4251
4252    Check Xorg version at runtime instead of build time in two places
4253    
4254    This means that all possible paths can be handled as intended, no matter
4255    which Xorg version the driver happened to be compiled against.
4256    
4257    (Ported from radeon commit 350a2645a1b127227ff294c0b62d20000d0fd48a)
4258    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4259
4260commit 5da43c5da8adc139d57d89975a52eef91a5595e1
4261Author: Michel Dänzer <michel.daenzer@amd.com>
4262Date:   Tue Nov 1 16:01:24 2016 +0900
4263
4264    Require xserver 1.10 or newer
4265    
4266    1.10.0 was released in February 2011.
4267    
4268    We've been accidentally requiring 1.10 or newer since c7d27c94cb65 ("Keep
4269    track of damage event related flushes per-client").
4270    
4271    (Ported from radeon commit 5df36de39952c3a26cb2fbc125f298139a9dd5bc)
4272    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4273
4274commit dd4a740714e481b09312a04883aa6e0f5200ca81
4275Author: Michel Dänzer <michel.daenzer@amd.com>
4276Date:   Thu Oct 27 11:22:36 2016 +0900
4277
4278    present: Check tiling info for flips
4279    
4280    The kernel driver doesn't handle flipping between buffers with
4281    different tiling parameters correctly.
4282    
4283    Fixes display corruption with fullscreen apps using different tiling
4284    modes (e.g. due to R600_DEBUG=notiling or R600_DEBUG=no2d) via DRI3.
4285    
4286    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4287
4288commit 3c1f4386ba7d0b6c16bdd2b2178f978f2f154ba8
4289Author: Michel Dänzer <michel.daenzer@amd.com>
4290Date:   Wed Oct 26 16:19:01 2016 +0900
4291
4292    Consume all available udev events at once
4293    
4294    We get multiple udev events for actions like docking a laptop into its
4295    station or plugging a monitor to the station. By consuming as many
4296    events as we can, we reduce the number of output re-evalutions.
4297    
4298    It depends on the timing how many events can be consumed at once.
4299    
4300    (Inspired by xserver commit 363f4273dd4aec3e26cc57ecb6c20f27e6c813d8)
4301    (Ported from radeon commit 22b5ce9548393ba2ff73ee234ecd82eeaf0ef6c4)
4302    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4303
4304commit c87dff3257e797cfd80d208c9a612b21978ff4eb
4305Author: Hans de Goede <hdegoede@redhat.com>
4306Date:   Wed Oct 26 16:17:04 2016 +0900
4307
4308    PRIME: Fix swapping of provider sink / source capabilities
4309    
4310    When a card has import capability it can be an offload _sink_, not a
4311    source and vice versa for export capability.
4312    
4313    This went unnoticed sofar because most gpus have both import and export
4314    capability.
4315    
4316    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
4317    (Ported from xserver commit 94a1c77259ce39ba59ad87615df39b570ffab435)
4318    (Ported from radeon commit 82d3c8f5500d2a6fb1495e217a0b79c396f1534c)
4319    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4320
4321commit 9c4416422f2d07dbfa7c0b18beb1353f122fc1a1
4322Author: Michel Dänzer <michel.daenzer@amd.com>
4323Date:   Wed Oct 26 16:15:42 2016 +0900
4324
4325    Always call PixmapStopDirtyTracking in drmmode_set_scanout_pixmap
4326    
4327    Otherwise, we may leak screen->pixmap_dirty_list entries if
4328    drmmode_set_scanout_pixmap is called repatedly with ppix != NULL, which
4329    can happen from RRReplaceScanoutPixmap.
4330    
4331    (Inspired by xserver commit b773a9c8126222e5fed2904d012fbf917a9f22fd)
4332    (Ported from radeon commit 6c940446ddadf418ee4959e46fa552b6c1cf6704)
4333    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4334
4335commit 0a91f11c03400e3f92a2b048505f39e7de7e87fc
4336Author: Michel Dänzer <michel.daenzer@amd.com>
4337Date:   Wed Oct 26 16:14:45 2016 +0900
4338
4339    Don't rely on randr_crtc->scanout_pixmap in drmmode_set_scanout_pixmap
4340    
4341    RRReplaceScanoutPixmap may set randr_crtc->scanout_pixmap = NULL before
4342    we get here.
4343    
4344    (Inspired by xserver commit f4c37eeee7953df1fe0e3196eda452acf0078e61)
4345    v2: Always return TRUE in the if (!ppix) block.
4346    (Cherry picked from radeon commit 61df12e2377cbb19a19ca9d5624df8959822da9f)
4347    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4348
4349commit b37f4774880bfd0cbe50273ac0d9c539d81995f9
4350Author: Michel Dänzer <michel.daenzer@amd.com>
4351Date:   Tue Oct 25 16:30:46 2016 +0900
4352
4353    Sayōnara, AM_MAINTAINER_MODE!
4354    
4355    If --enable-maintainer-mode got lost from config.status for any reason,
4356    builds would fail in mysterious ways after changing between different
4357    Git commits.
4358    
4359    There are more reasons for dropping it in the automake manual:
4360    
4361    https://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html
4362    
4363    I'm not aware of any reason why --disable-maintainer-mode would ever be
4364    useful with this project.
4365    
4366    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4367    (Cherry picked from radeon commit 49cf3b5032a7ce40afe514b7092440e3e19e05aa)
4368
4369commit c8d9ad0e188d3da3a35006a00536d61e23305830
4370Author: Michel Dänzer <michel.daenzer@amd.com>
4371Date:   Wed Oct 19 18:16:47 2016 +0900
4372
4373    Order unique chipsets according to first appearance in ati_pciids.csv
4374    
4375    Instead of lexically. This makes it more likely for similar generations
4376    to be close to each other in the list of unique chipsets.
4377    
4378    (Ported from radeon commit 1ce1b1656acc6211deb2091ff7f28d51b6daf86b,
4379     plus change $numunique++ => ++$numunique to fix OLAND getting listed
4380     twice)
4381    
4382    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4383
4384commit 7cc04035c55788261cda89a915c433c2add6cad9
4385Author: Michel Dänzer <michel.daenzer@amd.com>
4386Date:   Wed Sep 28 15:59:22 2016 +0900
4387
4388    Enable HW cursor support with PRIME slave output & Xorg > 1.18.99.901
4389    
4390    Supported since Xorg 1.18.99.2, but buggy until 1.18.99.901.
4391    
4392    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4393
4394commit d42773eb45baff5933730e26878a0b45fcf07b65
4395Author: Michel Dänzer <michel.daenzer@amd.com>
4396Date:   Wed Sep 28 18:17:53 2016 +0900
4397
4398    Rotate and reflect cursor hotspot position for drmModeSetCursor2
4399    
4400    We were always passing the hotspot position in the X screen coordinate
4401    space, but drmModeSetCursor2 needs it in the CRTC coordinate space. The
4402    wrong hotspot position would cause the kernel driver to adjust the
4403    HW cursor position incorrectly when the hotspot position changed.
4404    
4405    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4406
4407commit bdee9f4dd4f21015e7696e06c4b485ab2b3a16dc
4408Author: Michel Dänzer <michel.daenzer@amd.com>
4409Date:   Wed Aug 31 16:46:56 2016 +0900
4410
4411    Add support for ScreenPtr::SyncSharedPixmap
4412    
4413    This allows deferring shared pixmap updates between different drivers.
4414    
4415    (Ported from radeon commit 53be26b00e83f871f0afd39caa5a7a1d6ec4aea1)
4416    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4417
4418commit 97d7386caf7ba53d2cf398b8a9bb65d0a2a4770a
4419Author: Michel Dänzer <michel.daenzer@amd.com>
4420Date:   Fri Sep 16 16:36:23 2016 +0900
4421
4422    Untangle HAS_XORG_CONF_DIR / --with-xorg-conf-dir lines in configure.ac
4423    
4424    $sysconfigdir used to be part of the default --with-xorg-conf-dir value,
4425    but it no longer is.
4426    
4427    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4428
4429commit aa8a3fa2468094cd37959179e8417ba7ba0a326c
4430Author: Michel Dänzer <michel.daenzer@amd.com>
4431Date:   Fri Sep 16 15:59:16 2016 +0900
4432
4433    Fix handling of configure option --with-xorg-conf-dir
4434    
4435    There were two problems:
4436    
4437    I accidentally changed the variable name in the AC_ARG_WITH stanza from
4438    configdir to xorgconfigdir, so specifying --with-xorg-conf-dir wouldn't
4439    work correctly. Fix this back to configdir.
4440    
4441    If neither --with-xorg-conf-dir nor --prefix is specified on the command
4442    line, the $prefix variable doesn't contain "/usr/local" (the default
4443    prefix) yet at this point but "NONE". So make install would attempt to
4444    install 10-amdgpu.conf in ${DESTDIR}NONE/share/X11/xorg.conf.d/ . Fix
4445    this by leaving ${prefix} verbatim in the default value, to be resolved
4446    by make.
4447    
4448    Also print the configdir value along with the values of other similar
4449    configuration variables.
4450    
4451    Reported-by: Timo Aaltonen <tjaalton@debian.org>
4452    Reviewed-by: Julien Cristau <jcristau@debian.org>
4453
4454commit cd3acb75718dfd42dd25d58b4e7bd4db27b659d8
4455Author: Michel Dänzer <michel.daenzer@amd.com>
4456Date:   Wed Sep 14 18:33:42 2016 +0900
4457
4458    Use --with-xorg-conf-dir=$prefix/share/X11/xorg.conf.d by default
4459    
4460    We were using the result of `pkg-config --variable=sysconfigdir
4461    xorg-server` before, which may not be inside $prefix, so make install
4462    might fail for 10-amdgpu.conf .
4463    
4464    Fixes make distcheck in that case, and possibly also 10-amdgpu.conf
4465    seemingly missing from some distribution packages.
4466    
4467    This matches what some (though not all) input drivers are doing for their
4468    xorg.conf.d snippets.
4469
4470commit 0f8df8584ad61a3e47fe303b34cd7b0c4ed08bb0
4471Author: Michel Dänzer <michel.daenzer@amd.com>
4472Date:   Thu Sep 8 18:14:49 2016 +0900
4473
4474    Make TearFree effective with PRIME slave scanout
4475    
4476    TearFree can now prevent tearing with any possible display
4477    configuration.
4478    
4479    Note that there may still be inter-GPU tearing if the primary GPU uses
4480    a different driver.
4481    
4482    (Ported from radeon commit 38797a33117222dadbc89e5f21ed8cd5deef9bea)
4483    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4484
4485commit d6feed2cd78fe879aba4860a6d9bc2e388b9f135
4486Author: Michel Dänzer <michel.daenzer@amd.com>
4487Date:   Thu Sep 8 17:56:24 2016 +0900
4488
4489    Synchronize scanout pixmaps for TearFree
4490    
4491    Copy the damaged areas which are still valid in the other scanout pixmap
4492    from there, then only copy the remaining damaged area from the screen
4493    pixmap.
4494    
4495    This is slightly more efficient (only needs one Damage record instead of
4496    two, and only needs to copy each screen update across PCIe once with
4497    ShadowPrimary and a discrete GPU), and will be significantly more
4498    efficient for PRIME with the following change.
4499    
4500    (Ported from radeon commit eda1f3df6aaed683036369fe8820da4dac3c2ae2)
4501    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4502
4503commit 4927b84ec84bc0cb5055686cca6be54390f82803
4504Author: Michel Dänzer <michel.daenzer@amd.com>
4505Date:   Thu Sep 8 17:52:25 2016 +0900
4506
4507    Move up amdgpu_scanout_extents_intersect
4508    
4509    Will be needed higher up by the following changes. No functional change.
4510    
4511    (Ported from radeon commit 2f6e5fb15f1a9ce523c85550e493f8bda9d0c00f)
4512    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4513
4514commit 1c725f63961746258f6138b47037ec18bf508d78
4515Author: Michel Dänzer <michel.daenzer@amd.com>
4516Date:   Thu Sep 8 17:45:32 2016 +0900
4517
4518    Factor out transform_region helper
4519    
4520    (Ported from radeon commit 5a57005178fc13b6f7e513458ca6dae72a3e5783)
4521    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4522
4523commit c92842764f95fa09e145d81f80e9fa39ea8c453c
4524Author: Michel Dänzer <michel.daenzer@amd.com>
4525Date:   Thu Sep 8 17:26:18 2016 +0900
4526
4527    Only copy from screen pixmap to shared pixmap on demand for slave scanout
4528    
4529    Only copy once for each time we update the corresponding scanout pixmap.
4530    This can significantly reduce the bandwidth usage when there are
4531    frequent updates to the screen pixmap.
4532    
4533    This initial implementation only works when both the master and slave
4534    screens use this driver.
4535    
4536    (Ported from radeon commit 99232f64db52812a843cd616d263d3a6b90eef3d)
4537    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4538
4539commit 61ceefe17fe9e6ffbaaad0e216b2bd37fd39f47d
4540Author: Michel Dänzer <michel.daenzer@amd.com>
4541Date:   Thu Sep 8 17:15:03 2016 +0900
4542
4543    Track damage accurately for RandR 1.4 slave scanout
4544    
4545    This further reduces the PCIe bandwidth usage.
4546    
4547    (Ported from radeon commit b0867063abb197b9134166706d99fcbe5f204bb5,
4548     plus leak fix from 5a57005178fc13b6f7e513458ca6dae72a3e5783)
4549    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4550
4551commit 6d31fb124d4418e64c949bde9ed1facf95967762
4552Author: Michel Dänzer <michel.daenzer@amd.com>
4553Date:   Thu Sep 8 17:04:05 2016 +0900
4554
4555    Handle RandR 1.4 slave dirty updates via amdgpu_drm_queue
4556    
4557    This reduces PCIe bandwidth usage and tearing.
4558    
4559    (Ported from radeon commit ad0a0656dd0e74683e6d7789decba827aa29c221)
4560    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4561
4562commit b10ecdbd89b0a60a990c78c3e53bab6c4c96fe9f
4563Author: Michel Dänzer <michel.daenzer@amd.com>
4564Date:   Thu Sep 8 16:48:59 2016 +0900
4565
4566    Use drmmode_crtc_scanout_* helpers for RandR 1.4 scanout pixmaps
4567    
4568    This should allow using multiple CRTCs via RandR 1.4 even with xserver
4569    < 1.17. It also simplifies the code a little, and paves the way for
4570    following changes.
4571    
4572    (Ported from radeon commits 4cfa4615f79f64062e5e771cd45dd7048f48b4f6
4573     and a92c27484703abc7c410b6ae0e4b8d1efbbb8e6f)
4574    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4575
4576commit 9565981f751b0884cbfa885b8f3af3d41a965a2b
4577Author: Michel Dänzer <michel.daenzer@amd.com>
4578Date:   Wed Sep 7 18:49:54 2016 +0900
4579
4580    Wait for pending flips to complete before turning off an output or CRTC
4581    
4582    At least with older kernels, the flip may never complete otherwise,
4583    which can result in us hanging in drmmode_set_mode_major.
4584    
4585    Fixes: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/1577170
4586    
4587    (Ported from radeon commits 9090309e057dc703d1a5bffd88e6cae14108cfc3,
4588     e520ce0ec0adf91ddce5c932d4b3f9477fd49304,
4589     a36fdaff40d5b4795a1400c348a80eee94892212 and
4590     4bd2d01552f18153afa03a8947b22eebf3d67c6b)
4591    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4592
4593commit c7d27c94cb656899746898c2e55407c3e3d7cdc8
4594Author: Michel Dänzer <michel.daenzer@amd.com>
4595Date:   Wed Sep 7 18:28:23 2016 +0900
4596
4597    Keep track of damage event related flushes per-client
4598    
4599    This further reduces the compositing slowdown due to flushing overhead,
4600    by only flushing when the X server actually sends XDamageNotify events
4601    to a client, and there hasn't been a flush yet in the meantime.
4602    
4603    (Ported from radeon commit 121a6de72da5fcf9a32408eff36b2235f3dfbcfe)
4604    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4605
4606commit 58773d1945cfa8155d8a6c5eb3f95097535604ef
4607Author: Michel Dänzer <michel.daenzer@amd.com>
4608Date:   Wed Sep 7 18:14:10 2016 +0900
4609
4610    Use EventCallback to avoid flushing every time in the FlushCallback
4611    
4612    We only need to flush for XDamageNotify events.
4613    
4614    Significantly reduces compositing slowdown due to flushing overhead, in
4615    particular with glamor.
4616    
4617    (Ported from radeon commit 9a1afbf61fbb2827c86bd86d295fa0848980d60b)
4618    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4619
4620commit d166d04f6951f6a48d7d5ce5d31bba857fe0cb06
4621Author: Michel Dänzer <michel.daenzer@amd.com>
4622Date:   Wed Sep 7 18:03:05 2016 +0900
4623
4624    Add explicit AMDGPU_DRM_QUEUE_ERROR define
4625    
4626    Should make the amdgpu_drm_queue_alloc error handling clearer, and gets
4627    rid of a compile warning about it returning NULL.
4628    
4629    (Ported from radeon commit a37af701768b12d86868a831a79f1e02ee4968cf)
4630    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4631
4632commit 6a1ba044c2b71081e6060d0c096917d6238f2145
4633Author: Michel Dänzer <michel.daenzer@amd.com>
4634Date:   Mon Aug 29 16:43:59 2016 +0900
4635
4636    Only list each unique chipset family once in the log file
4637    
4638    Acked-by: Christian König <christian.koenig@amd.com>
4639    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4640
4641commit 7d050d15d49ef25e86e7abe88dafb52370715640
4642Author: Michel Dänzer <michel.daenzer@amd.com>
4643Date:   Mon Aug 29 16:13:20 2016 +0900
4644
4645    Add missing Kaveri PCI ID (1318)
4646    
4647    Found by comparing src/pcidb/ati_pciids.csv with xf86-video-ati.
4648    
4649    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4650
4651commit aa5492660958e359bdc2107cba9a211ff988c90e
4652Author: Michel Dänzer <michel.daenzer@amd.com>
4653Date:   Mon Aug 29 15:52:48 2016 +0900
4654
4655    Add Mullins PCI IDs
4656    
4657    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97472
4658    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4659
4660commit 73c8dc000ad6b2b53ba3aa7155f5e8f6b55623b7
4661Author: Qiang Yu <Qiang.Yu@amd.com>
4662Date:   Mon Aug 22 19:13:26 2016 +0800
4663
4664    DRI2: Fix amdgpu_dri2_exchange_buffers width/height copy'n'paste error
4665    
4666    Signed-off-by: Qiang Yu <Qiang.Yu@amd.com>
4667    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4668    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
4669
4670commit 5a4d3267ac3823fe58b51b0b9075b82375d7180c
4671Author: Michel Dänzer <michel.daenzer@amd.com>
4672Date:   Wed Aug 17 18:57:01 2016 +0900
4673
4674    Remove unused lut_r/g/b arrays from drmmode_crtc_private_rec
4675    
4676    Fixes: 1091f28e1fa2 ("Remove drmmode_load_palette")
4677    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4678
4679commit c4364520691d18961f0a6b77071baeeffaa80a11
4680Author: Marek Olšák <marek.olsak@amd.com>
4681Date:   Fri Aug 19 12:42:38 2016 +0200
4682
4683    Fix cursor size for SI
4684    
4685    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
4686    Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net>
4687
4688commit 2eb5d77b841e55e7328df4b95c0d41fec30ce10f
4689Author: Ronie Salgado <roniesalg@gmail.com>
4690Date:   Thu Feb 11 03:00:14 2016 -0300
4691
4692    Add SI PCI IDs
4693    
4694    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
4695
4696commit abd1a7901c95e4bc78415cf1b7923623b9177152
4697Author: Michel Dänzer <michel.daenzer@amd.com>
4698Date:   Wed Jun 29 17:54:26 2016 +0900
4699
4700    DRI2: Add interpolated_vblanks in amdgpu_dri2_get_crtc_msc
4701    
4702    We need that in amdgpu_dri2_drawable_crtc as well for priv->vblank_delta
4703    to work as intended.
4704    
4705    amdgpu_dri2_get_msc was already doing this.
4706    
4707    Fixes hangs in some cases when using VDPAU via DRI2 and moving the
4708    window between CRTCs.
4709    
4710    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4711
4712commit 978242977e5dc905e1d5a46b1b0d34b356c7af26
4713Author: Qiang Yu <Qiang.Yu@amd.com>
4714Date:   Wed Jul 13 19:25:12 2016 +0800
4715
4716    Fix amdgpu_mode_hotplug crash on multi GPU platform.
4717    
4718    On multi GPU platform, some screen is created by other GPU DDX.
4719    
4720    Signed-off-by: Qiang Yu <Qiang.Yu@amd.com>
4721    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
4722
4723commit fdd1209e26128b3e894f2867fac3a1b08fe1f29e
4724Author: Keith Packard <keithp@keithp.com>
4725Date:   Tue Jul 19 09:16:32 2016 -0700
4726
4727    Use NotifyFd for drm fd
4728    
4729    NotifyFd is available after API 22, and must be used after API 23.
4730    
4731    Signed-off-by: Keith Packard <keithp@keithp.com>
4732
4733commit 17c0cf49746a20fb25610c24a40c441f88c08365
4734Author: Adam Jackson <ajax@redhat.com>
4735Date:   Tue Jul 19 10:03:56 2016 -0400
4736
4737    Adapt Block/WakeupHandler signature for ABI 23
4738    
4739    Signed-off-by: Adam Jackson <ajax@redhat.com>
4740
4741commit b5e2b964b7884c205a7c0fa578e05e867c176fcc
4742Author: Michel Dänzer <michel.daenzer@amd.com>
4743Date:   Wed Jul 6 17:46:56 2016 +0900
4744
4745    Only use RandR APIs if RandR is enabled
4746    
4747    Fixes crash with Xinerama enabled, which disables RandR.
4748    
4749    Fixes: https://bugs.debian.org/827984
4750    
4751    (Ported from radeon commit 3be841d0ae7d505cef325993205b12d15e98dba9)
4752    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4753
4754commit 84496ebc89a9973347c774c13ff6f4667fcdbe69
4755Author: Michel Dänzer <michel.daenzer@amd.com>
4756Date:   Wed Jul 6 17:43:36 2016 +0900
4757
4758    Add .editorconfig file
4759    
4760    Basically a conversion from .dir-locals.el. EditorConfig supports many
4761    more editors and IDEs.
4762    
4763    (Ported from radeon commit aa07b365d7b0610411e118f105e49daff5f5a5cf)
4764    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4765
4766commit a576430526cbc404de64b30e1377a356644e8024
4767Author: Michel Dänzer <michel.daenzer@amd.com>
4768Date:   Fri Jun 24 16:28:25 2016 +0900
4769
4770    Clear damage in amdgpu_scanout_update if it doesn't intersect the CRTC
4771    
4772    There's no need to test that same damage again.
4773    
4774    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4775
4776commit ede7f2bcae63be65e05e3029bfe7c742e5978932
4777Author: Michel Dänzer <michel.daenzer@amd.com>
4778Date:   Fri Jun 24 16:19:15 2016 +0900
4779
4780    Remove w/h parameters from amdgpu_scanout_extents_intersect
4781    
4782    We can use the dimensions of the CRTC's mode instead.
4783    
4784    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4785
4786commit bf000ea7ef91f5ecb59fc3c1ab8ed9eddcc0841d
4787Author: Michel Dänzer <michel.daenzer@amd.com>
4788Date:   Thu Jun 23 17:28:16 2016 +0900
4789
4790    Make the dedicated scanout mechanism work with arbitrary transforms v2
4791    
4792    This makes TearFree work with arbitrary transforms, and makes transforms
4793    work better even without TearFree, with xserver >= 1.12.
4794    
4795    v2: Preserve clamping of transformed damage extents to CRTC boundaries.
4796    
4797    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4798
4799commit d96dabc71b1b32dc4b422a9633cdd4e0e95da052
4800Author: Michel Dänzer <michel.daenzer@amd.com>
4801Date:   Thu Jun 23 16:27:45 2016 +0900
4802
4803    Destroy all dedicated scanout buffers during CloseScreen
4804    
4805    Fixes leaking active scanout buffers across a server reset, which also
4806    fixes server reset with glamor and active scanout buffers.
4807    
4808    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4809
4810commit 1091f28e1fa239ee1a973d84a8376fa4a95d7247
4811Author: Michel Dänzer <michel.daenzer@amd.com>
4812Date:   Thu Jun 23 12:47:04 2016 +0900
4813
4814    Remove drmmode_load_palette
4815    
4816    Not used by any supported version of xserver.
4817    
4818    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4819
4820commit 4d506c23c9a628204fa23607931557b07ada3e31
4821Author: Michel Dänzer <michel.daenzer@amd.com>
4822Date:   Wed Jun 22 17:16:24 2016 +0900
4823
4824    present: Separate checks for flips vs unflips v2
4825    
4826    All unflip checks apply to flips as well, but not vice versa.
4827    
4828    v2: Add comment above amdgpu_present_check_unflip (Alex)
4829    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4830
4831commit decabd574f90d3df397c80ec931b3fde8a4afb49
4832Author: Michel Dänzer <michel.daenzer@amd.com>
4833Date:   Wed Jun 22 17:43:41 2016 +0900
4834
4835    dri2: Don't allow flipping when using a dedicated scanout buffer
4836    
4837    Fixes issues when mixing rotation and page flipping with current xserver
4838    Git master.
4839    
4840    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4841
4842commit 3ed28ce7cd26f89969617ba901ff253091d0d469
4843Author: Michel Dänzer <michel.daenzer@amd.com>
4844Date:   Wed Jun 22 16:54:01 2016 +0900
4845
4846    present: Don't allow flipping when using a dedicated scanout buffer
4847    
4848    Fixes issues when mixing rotation and page flipping with current xserver
4849    Git master.
4850    
4851    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4852
4853commit 9c3324715fd395fd486ea341654d78f4f298b97f
4854Author: Michel Dänzer <michel.daenzer@amd.com>
4855Date:   Wed Jun 22 16:12:32 2016 +0900
4856
4857    Make sure drmmode_crtc->scanout[] are destroyed when not needed
4858    
4859    We failed to do this when going back to scanning out directly from the
4860    screen pixmap.
4861    
4862    As a bonus, since we now destroy drmmode_crtc->scanout[] after setting
4863    the new scanout buffer, we may avoid the CRTC turning off intermittently
4864    in this case.
4865    
4866    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4867
4868commit 3bce0519a4008cf87c0e31a7a579e10f5dcdd2f3
4869Author: Michel Dänzer <michel.daenzer@amd.com>
4870Date:   Wed Jun 22 16:19:07 2016 +0900
4871
4872    Simplify drmmode_set_mode_major error handling
4873    
4874    Initialize ret = FALSE and only set it to TRUE when we've succeeded.
4875    
4876    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4877
4878commit a3ca1500703837cbb8d49c554199a25dea7d5e1e
4879Author: Hans de Goede <hdegoede@redhat.com>
4880Date:   Wed Jun 1 15:14:32 2016 +0200
4881
4882    Only add main fb if necessary
4883    
4884    If we're doing reverse-prime; or doing rotation the main fb is not used,
4885    and there is no reason to add it in this case.
4886    
4887    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
4888    (Ported from xserver commit 4313122dea0df9affc280ee698e929489061ccc6)
4889    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4890
4891commit 9ca1c24235ff5ab2e028333fc326e2eff008c574
4892Author: Hans de Goede <hdegoede@redhat.com>
4893Date:   Wed Jun 1 15:11:05 2016 +0200
4894
4895    Remove unnecessary fb addition from drmmode_xf86crtc_resize
4896    
4897    drmmode_set_mode_major() is the only user of drmmode->fb_id and will
4898    create it if necessary.
4899    
4900    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
4901    (Ported from xserver commit 877453212166fdc912e0d687cdecee11aba563b5)
4902    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4903
4904commit 0d42082108c264568e2aadd15ace70e72388bc65
4905Author: Michel Dänzer <michel.daenzer@amd.com>
4906Date:   Wed Jun 22 19:01:03 2016 +0900
4907
4908    Call amdgpu_glamor_create_screen_resources after ModifyPixmapHeader
4909    
4910    Otherwise, glamor doesn't pick up the new screen pixmap size and
4911    continues using the old size, leaving garbage in some areas after
4912    enlarging the screen.
4913    
4914    Fixes regression from commit c315c00e44afc91a7c8e2eab5af836d9643ebb88
4915    ("Propagate failure from amdgpu_set_pixmap_bo").
4916    
4917    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4918
4919commit e7e71eabbbccdeabcae1bc6fffabc27c272090ab
4920Author: Michel Dänzer <michel.daenzer@amd.com>
4921Date:   Mon Mar 28 18:49:15 2016 +0900
4922
4923    Adapt to XF86_CRTC_VERSION 7
4924    
4925    Now the HW cursor can be used with TearFree rotation.
4926    
4927    This also allows always using the separate scanout pixmap mechanism for
4928    rotation, so that should be much smoother even without TearFree enabled.
4929    
4930    (Ported from radeon commit 7835558acdce318130ba4a09ef936fd675e3197d)
4931    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4932
4933commit 7f7f9825caf3983902491da27c16d14cd8bf9b7d
4934Author: Michel Dänzer <michel.daenzer@amd.com>
4935Date:   Mon Jun 13 18:58:49 2016 +0900
4936
4937    Free priv in amdgpu_set_pixmap_bo also if priv->bo == NULL
4938    
4939    Fixes memory leak when destroying pixmaps with priv->bo == NULL.
4940    
4941    Reported-by: Qiang Yu <qiang.yu@amd.com>
4942    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4943
4944commit 397aedafee437c125b8ac1feafb1c3b466842aeb
4945Author: Michel Dänzer <michel.daenzer@amd.com>
4946Date:   Mon Jun 13 18:34:11 2016 +0900
4947
4948    glamor: Fix leak of pixmap private when replacing BO
4949    
4950    Reported-by: Qiang Yu <qiang.yu@amd.com>
4951    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4952
4953commit 5b4a8a7a6ed70a50be252fa9b34d3b3a17cdf91a
4954Author: Michel Dänzer <michel.daenzer@amd.com>
4955Date:   Tue Jun 14 19:00:18 2016 +0900
4956
4957    Use amdgpu_set_pixmap_bo in amdgpu_set_shared_pixmap_backing
4958    
4959    Fixes leaking any existing pixmap private.
4960    
4961    While we're at it, also fix leaking the GBM BO if
4962    amdgpu_glamor_create_textured_pixmap fails.
4963    
4964    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4965
4966commit c315c00e44afc91a7c8e2eab5af836d9643ebb88
4967Author: Michel Dänzer <michel.daenzer@amd.com>
4968Date:   Wed Jun 15 17:20:36 2016 +0900
4969
4970    Propagate failure from amdgpu_set_pixmap_bo
4971    
4972    Preparation for the following fixes.
4973    
4974    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4975
4976commit 74602c4221e3c84949fd69f690cbc66dcae384ea
4977Author: Michel Dänzer <michel.daenzer@amd.com>
4978Date:   Tue Jun 14 18:53:34 2016 +0900
4979
4980    glamor: Make amdgpu_glamor_create_textured_pixmap take amdgpu_buffer*
4981    
4982    Preparation for the following fixes.
4983    
4984    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4985
4986commit 0007c2f018ba663303d91d847e7c085269a23062
4987Author: Michel Dänzer <michel.daenzer@amd.com>
4988Date:   Wed Jun 8 16:27:33 2016 +0900
4989
4990    glamor: Reallocate linear pixmap BO if necessary for DRI2 PRIME
4991    
4992    Fixes corruption when using DRI2 PRIME render offloading with the master
4993    screen using this driver.
4994    
4995    Reported-by: Qiang Yu <qiang.yu@amd.com>
4996    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
4997    Tested-by: Qiang Yu <qiang.yu@amd.com>
4998
4999commit 5518bf5d793439b5bab369e5fc18de9a4a3b9dd6
5000Author: Michel Dänzer <michel.daenzer@amd.com>
5001Date:   Wed Jun 8 16:44:26 2016 +0900
5002
5003    Move DRI2's local fixup_glamor helper to amdgpu_glamor_set_pixmap_bo v2
5004    
5005    So it can be used outside of the DRI2 code.
5006    
5007    v2: Keep pixmap refcnt increment in amdgpu_dri2_create_buffer2 (Qiang Yu)
5008    
5009    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5010    Tested-by: Qiang Yu <qiang.yu@amd.com> (v1)
5011
5012commit 641f4647b7f51dfd2da330376cd10fa9702b6423
5013Author: Michel Dänzer <michel.daenzer@amd.com>
5014Date:   Wed Jun 8 16:39:10 2016 +0900
5015
5016    Consolidate get_drawable_pixmap helper
5017    
5018    There were two static helpers for the same purpose. Consolidate them
5019    into a single inline helper which can be used anywhere.
5020    
5021    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5022    Tested-by: Qiang Yu <qiang.yu@amd.com>
5023
5024commit 8e40f190e4704c2802bf0f073f17e742786d0f18
5025Author: Michel Dänzer <michel.daenzer@amd.com>
5026Date:   Wed Jun 8 16:00:21 2016 +0900
5027
5028    Add amdgpu_pixmap_get_tiling_info
5029    
5030    Retrieves the tiling information about a pixmap BO from the kernel
5031    driver.
5032    
5033    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5034    Tested-by: Qiang Yu <qiang.yu@amd.com>
5035
5036commit e7eeb6ad1133b6023d34b4489959ae330a8e15dd
5037Author: Michel Dänzer <michel.daenzer@amd.com>
5038Date:   Wed Jun 8 15:42:01 2016 +0900
5039
5040    Remove amdgpu_share_pixmap_backing
5041    
5042    Not used anymore.
5043    
5044    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5045    Tested-by: Qiang Yu <qiang.yu@amd.com>
5046
5047commit b36c77695ba77b59a0ccd868454e3af4fc04d5ff
5048Author: Michel Dänzer <michel.daenzer@amd.com>
5049Date:   Wed Jun 8 15:38:57 2016 +0900
5050
5051    glamor: Fix amdgpu_glamor_share_pixmap_backing for priv->bo == NULL
5052    
5053    Fixes crash when running a compositor and DRI_PRIME client via DRI2.
5054    
5055    Reported-by: Qiang Yu <qiang.yu@amd.com>
5056    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5057    Tested-by: Qiang Yu <qiang.yu@amd.com>
5058
5059commit 60ced5026ebc34d9f32c7618430b6a7ef7c8eb4b
5060Author: Alex Deucher <alexander.deucher@amd.com>
5061Date:   Tue May 17 16:59:41 2016 -0400
5062
5063    add missing bonaire pci id
5064    
5065    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
5066
5067commit 8e89448ee00da16e05e6777f34bb75d2dd6f7025
5068Author: Flora Cui <Flora.Cui@amd.com>
5069Date:   Tue May 17 11:02:09 2016 +0800
5070
5071    Add more Polaris 11 PCI IDs
5072    
5073    Signed-off-by: Flora Cui <Flora.Cui@amd.com>
5074    Reviewed-by: Christian König <christian.koenig@amd.com>
5075    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
5076
5077commit a59b23d64285741a7a25e314343f6261046d980f
5078Author: Flora Cui <Flora.Cui@amd.com>
5079Date:   Mon May 16 17:25:34 2016 +0800
5080
5081    Add more Polaris 10 PCI IDs
5082    
5083    Signed-off-by: Flora Cui <Flora.Cui@amd.com>
5084    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5085    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
5086    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
5087
5088commit 14606e127f4b6eb0b00fd42cec13d524a67e4c4a
5089Author: Michel Dänzer <michel.daenzer@amd.com>
5090Date:   Thu May 12 16:38:56 2016 +0900
5091
5092    Handle Zaphod mode correctly in amdgpu_mode_hotplug
5093    
5094    We need to scan both screens of the entity for existing connectors, and
5095    enumerate DVI & HDMI connectors consistently regardless of which screen
5096    they're assigned to.
5097    
5098    Fixes crash when hot-(un)plugging connectors in Zaphod mode.
5099    
5100    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93415
5101    (Ported from radeon commit c801f9f10a5d72d935faf21e72f7e7808fb4f05f)
5102    
5103    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5104
5105commit 861da1d5c243f51d6c1f76e5b13e5184aa608776
5106Author: Michel Dänzer <michel.daenzer@amd.com>
5107Date:   Thu May 12 16:34:30 2016 +0900
5108
5109    Enable DRI3 by default when building for Xorg >= 1.18.3
5110    
5111    Seems to work well enough in general now.
5112    
5113    (Ported from radeon commit 1181b9c582f10b6c523e4b2988e2ce87ecf3d367)
5114    
5115    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5116
5117commit 86f991838824494e68ac277fa27cbd88c23a5ee8
5118Author: Michel Dänzer <michel.daenzer@amd.com>
5119Date:   Tue May 10 15:57:04 2016 +0900
5120
5121    present: Support async flips
5122    
5123    The xserver Present code only calls radeon_present_flip with
5124    sync_flip=FALSE if radeon_present_screen_init sets
5125    PresentCapabilityAsync, and the latter only sets it if the kernel driver
5126    advertises support for async flips.
5127    
5128    (Ported from radeon commit 1ca677309720e2f6c953c9e76f5b34c22a4416c6)
5129    
5130    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5131
5132commit 744ac5faff7f58e26fa76974b6bdc345ea4c7c79
5133Author: Michel Dänzer <michel.daenzer@amd.com>
5134Date:   Tue May 10 15:47:55 2016 +0900
5135
5136    Add support for async flips to radeon_do_pageflip
5137    
5138    Will be used by the next change. No functional change here.
5139    
5140    (Ported from radeon commit 90a915c62d012e99193833aecc93974e68880c60)
5141    
5142    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5143
5144commit 4822ec7a23d2253c88bc403f17abb6d7a053528c
5145Author: Flora Cui <flora.cui@amd.com>
5146Date:   Tue May 10 17:14:00 2016 +0900
5147
5148    add strato pci id
5149    
5150    Signed-off-by: Flora Cui <flora.cui@amd.com>
5151    Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
5152
5153commit b93006714b8de972060492cfa311320921a73773
5154Author: Tom St Denis <tom.stdenis@amd.com>
5155Date:   Tue Apr 12 08:48:33 2016 -0400
5156
5157    dri3: Return NULL from amdgpu_dri3_pixmap_from_fd if calloc fails.
5158    
5159    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
5160    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
5161
5162commit a0bbb373f902e0ffc14570c85faec7e44134f62e
5163Author: Qiang Yu <Qiang.Yu@amd.com>
5164Date:   Fri Apr 8 17:29:17 2016 +0800
5165
5166    Remove RR_Capability_SinkOutput for GPU without CRTC.
5167    
5168    Signed-off-by: Qiang Yu <Qiang.Yu@amd.com>
5169    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5170    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
5171
5172commit 1a29c4bcc0a286b14f37ab942eb0cad47bc4f337
5173Author: Michel Dänzer <michel.daenzer@amd.com>
5174Date:   Mon Apr 11 16:27:40 2016 +0900
5175
5176    Post 1.1.0 release version bump
5177
5178commit a04f4015d6afef20c2b79e2779f6555836ee2b07
5179Author: Michel Dänzer <michel.daenzer@amd.com>
5180Date:   Thu Apr 7 16:47:25 2016 +0900
5181
5182    Bump version for 1.1.0 release
5183
5184commit aed1c17c43b2c0c983f6fc0973a5224d0faf32d9
5185Author: Michel Dänzer <michel.daenzer@amd.com>
5186Date:   Mon Apr 4 18:28:02 2016 +0900
5187
5188    glamor: Force GPU rendering to/from pixmaps created via DRI3
5189    
5190    Fixes crash when running DRI3 clients with ShadowPrimary enabled.
5191    
5192    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94799
5193    
5194    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5195
5196commit faf9d720b7d650f5f1ea657a874d08eac3972e60
5197Author: Michel Dänzer <michel.daenzer@amd.com>
5198Date:   Fri Apr 1 16:09:51 2016 +0900
5199
5200    Update manpage entry for Option "TearFree"
5201    
5202    It's now effective for rotation as well.
5203    
5204    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5205
5206commit 5ba95c3abeb8df82aa8d33a47596eae6403ea7af
5207Author: Michel Dänzer <michel.daenzer@amd.com>
5208Date:   Fri Apr 1 15:29:26 2016 +0900
5209
5210    Identify DRM event queue entries by sequence number instead of by pointer
5211    
5212    If the memory for an entry was allocated at the same address as that for
5213    a previously cancelled entry, the handler could theoretically be called
5214    prematurely, triggered by the DRM event which was submitted for the
5215    cancelled entry.
5216    
5217    (Ported from radeon commit 4693b1bd5b5c381e8b7b68a6f7f0c6696d6a68df)
5218    
5219    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5220
5221commit 8ecfa69b5a833bd4c39e773a6acfd7eef9144d13
5222Author: Michel Dänzer <michel.daenzer@amd.com>
5223Date:   Wed Mar 30 18:33:00 2016 +0900
5224
5225    DRI3: Refuse to open DRM file descriptor for ssh clients
5226    
5227    Fixes hangs when attempting to use DRI3 on display connections forwarded
5228    via SSH.
5229    
5230    Don't do this for Xorg > 1.18.99.1 since the corresponding xserver
5231    change has landed in Git master.
5232    
5233    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93261
5234    
5235    (Ported from radeon commit 0b3aac1de9db42bfca545fa331e4985836682ec7)
5236    
5237    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5238
5239commit b2a2e114eec0967f7b67f030fbab8983cf980489
5240Author: Michel Dänzer <michel.daenzer@amd.com>
5241Date:   Fri Mar 25 11:55:34 2016 +0900
5242
5243    Revert "Use render node for DRI3 if available"
5244    
5245    This reverts commit ea558e645786b08d75307716036045170e97b43e.
5246    
5247    It broke VDPAU<->GL interop with DRI3 enabled, because the Gallium VDPAU
5248    code doesn't support DRI3 yet. We can consider re-enabling this once
5249    there is a Mesa release where the Gallium VDPAU code supports DRI3.
5250    
5251    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94675
5252    
5253    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5254
5255commit e31a2d668a1b5ebaf75d423c8123cbc8e0dcbae9
5256Author: Flora Cui <Flora.Cui@amd.com>
5257Date:   Wed Nov 18 16:44:13 2015 +0800
5258
5259    add polaris10 pci id
5260    
5261    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
5262    Signed-off-by: Flora Cui <Flora.Cui@amd.com>
5263    Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
5264
5265commit 6e09b8deb77f76b9bb7d393cc1ad924ebba62eff
5266Author: Flora Cui <Flora.Cui@amd.com>
5267Date:   Thu Nov 5 14:16:39 2015 +0800
5268
5269    add polaris11 pci id
5270    
5271    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
5272    Signed-off-by: Flora Cui <Flora.Cui@amd.com>
5273    Reviewed-By: Jammy Zhou <Jammy.Zhou@amd.com>
5274    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5275
5276commit 7d32c43fff4c8df32cce150223094f793e036cf3
5277Author: Alex Deucher <alexander.deucher@amd.com>
5278Date:   Wed Oct 28 17:28:23 2015 -0400
5279
5280    add Polaris chip families
5281    
5282    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
5283    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
5284
5285commit fbf9ae18cd241b8b78936aa30441e5fbfd9ba1c5
5286Author: Michel Dänzer <michel.daenzer@amd.com>
5287Date:   Thu Mar 24 19:05:15 2016 +0900
5288
5289    Require xserver 1.9 or newer
5290    
5291    1.9.0 was released in August 2010.
5292    
5293    We were already unintentionally relying on things not available in 1.8
5294    for at least a year, and nobody has complained.
5295    
5296    (Ported from radeon commit e592f32f8b5f5873fcc18b10a69dd5e4ccf11073)
5297    
5298    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5299
5300commit 912db5fbbc6b9b1121c8a03168cb4bd870474376
5301Author: Michel Dänzer <michel.daenzer@amd.com>
5302Date:   Thu Mar 24 18:59:05 2016 +0900
5303
5304    Fix build against older versions of xserver
5305    
5306    Also slightly clean up the error handling in amdgpu_scanout_do_update.
5307    
5308    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94614
5309    
5310    (Ported from radeon commit bde466e5d44cad64b4e4eceaa5de80fdbf86356e)
5311    
5312    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5313
5314commit 3fb6280ab3b104b02841c7cab8ed68c1d463c834
5315Author: Michel Dänzer <michel.daenzer@amd.com>
5316Date:   Thu Mar 24 18:56:44 2016 +0900
5317
5318    DRI3 only works with acceleration
5319    
5320    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94214
5321    
5322    (Ported from radeon commit d21ac4669a8b2cdd4eec5e5a94d1950b7423b8b5)
5323    
5324    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5325
5326commit 3177fe817a5f2de4ed10860866a0dd6d6c6ba816
5327Author: Michel Dänzer <michel.daenzer@amd.com>
5328Date:   Thu Mar 24 18:51:59 2016 +0900
5329
5330    Check for xf86CursorResetCursor
5331    
5332    If it's available, Xorg calls it on each mode configuration change. It
5333    does what xf86_reload_cursors does (and more), so we don't need to call
5334    the latter anymore.
5335    
5336    (Ported from radeon commit d670c5c9851b4eff21c845d26c7d7e4eb5ee0fa9)
5337    
5338    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5339
5340commit a3dfce7b24e1ea01c1aa62926025a545312cbe13
5341Author: Michel Dänzer <michel.daenzer@amd.com>
5342Date:   Thu Mar 24 18:45:46 2016 +0900
5343
5344    Don't try DRI2/Present flipping while the HW cursor can't be used
5345    
5346    Flipping doesn't interact correctly with SW cursor: A flip makes the SW
5347    cursor disappear. It will only appear again when the cursor is moved,
5348    but it will be surrounded by corruption, because the SW cursor code
5349    will restore stale screen contents at the old cursor location before
5350    drawing the cursor at the new location.
5351    
5352    (Ported from radeon commit 7f3d0780ca65a90117c2a61362dbc0899bd9c0b0)
5353    
5354    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5355
5356commit ba9be8f32f0321689133e17c1681809dec8c6cf1
5357Author: Michel Dänzer <michel.daenzer@amd.com>
5358Date:   Thu Mar 24 18:44:30 2016 +0900
5359
5360    Factor out HW cursor checking code into drmmode_can_use_hw_cursor
5361    
5362    And add a check for RandR 1.4 multihead.
5363    
5364    (Ported from radeon commit 3de480e83c0a1824838d662d6d67c9fe85277298)
5365    
5366    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5367
5368commit 4a60b4b1851a3cbc2d8ad9048d68eeb6947cf132
5369Author: Michel Dänzer <michel.daenzer@amd.com>
5370Date:   Thu Mar 24 12:03:38 2016 +0900
5371
5372    Call AMDGPUBlockHandler_KMS before setting initial modes
5373    
5374    Doing it the other way around meant that there was still a possibility
5375    for the front buffer contents to be uninitialized when they start being
5376    scanned out.
5377    
5378    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5379
5380commit 37bd79652a8ec612b94a1863e8c580b1cfaf3960
5381Author: Michel Dänzer <michel.daenzer@amd.com>
5382Date:   Fri Mar 18 18:51:00 2016 +0900
5383
5384    present: Return rotated CRTCs from amdgpu_present_get_crtc
5385    
5386    Sync-to-vblank works fine with rotation. We're still checking for
5387    rotation in amdgpu_present_check_flip.
5388    
5389    Returning NULL from here resulted in the xserver present code falling
5390    back to the fake CRTC running at 1 fps.
5391    
5392    (Ported from radeon commit a03271de5ecdaa7790d1316e993c4450b91fe936)
5393    
5394    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5395
5396commit 6b930fb3285dea4a6440e31099c96f08da508d49
5397Author: Michel Dänzer <michel.daenzer@amd.com>
5398Date:   Fri Mar 18 18:47:10 2016 +0900
5399
5400    present: Clear drmmode->fb_id before calling set_mode_major for unflip
5401    
5402    Without this, drmmode_set_mode_major may just re-set the FB for the
5403    last flipped BO, in which case the display will probably freeze.
5404    
5405    Reproduction recipe: Enable rotation while a fullscreen client is
5406    flipping.
5407    
5408    (Ported from radeon commit 40191d82370eb7e58bd34c44966cbf44c3703229)
5409    
5410    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5411
5412commit 6889e091442b6ba1b9351e72bd067425e87d96e9
5413Author: Michel Dänzer <michel.daenzer@amd.com>
5414Date:   Fri Mar 18 18:18:04 2016 +0900
5415
5416    Make Option "TearFree" effective for rotated/reflected outputs as well
5417    
5418    Support varies by xserver version:
5419    
5420    < 1.12:    No support for the driver handling rotation/reflection
5421    1.12-1.15: Support for driver handling rotation/reflection, but there's
5422               a bug preventing the HW cursor from being visible everywhere
5423               it should be on rotated outputs, so we can only support
5424               TearFree for reflection.
5425    >= 1.16:   While the bug above is still there (fixes pending review),
5426               the driver can force SW cursor for rotated outputs, so we
5427               can support TearFree for rotation as well.
5428    
5429    (Ported from radeon commit 798c4fd16d339b1ad5fd729cc884be084c60e38b)
5430    
5431    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5432
5433commit da4e0c66fcbcf63143372720e3d606a462332e3a
5434Author: Michel Dänzer <michel.daenzer@amd.com>
5435Date:   Fri Mar 18 18:15:34 2016 +0900
5436
5437    Consolidate pScreen usage in drmmode_set_mode_major
5438    
5439    We were already relying on pScrn->pScreen being non-NULL in some cases,
5440    which is supposedly always true ever since this function is no longer
5441    getting called from ScreenInit.
5442    
5443    (Ported from radeon commit eb611a2e4ecce7a1ab85fd72b9b78e3269311dd5)
5444    
5445    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5446
5447commit 0bbf09dd7ef54133b3e534becb3ba15c0cf3eed2
5448Author: Michel Dänzer <michel.daenzer@amd.com>
5449Date:   Fri Mar 18 18:14:28 2016 +0900
5450
5451    Remove check for XF86_CRTC_VERSION 3
5452    
5453    We require xserver >= 1.8, which was already at version 3.
5454    
5455    (Ported from radeon commit 06602171386e538081c298645fb7ca1a70fe80cc)
5456    
5457    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5458
5459commit 3485ca0051a224d00135d4024a97a6c4e85a9644
5460Author: Michel Dänzer <michel.daenzer@amd.com>
5461Date:   Fri Mar 18 18:07:07 2016 +0900
5462
5463    Deal with modesets and page flips crossing on a CRTC
5464    
5465    If we set a mode while a flip is pending, the kernel driver may program
5466    the flip to the hardware after the modeset. If that happens, the hardware
5467    will display the BO from the flip, whereas we will assume it displays the
5468    BO from the modeset. In other words, the display will most likely freeze,
5469    at least until another modeset.
5470    
5471    Prevent this condition by waiting for a pending flip to finish before
5472    setting a mode.
5473    
5474    Fixes display freezing when setting rotation or a transform with
5475    TearFree enabled.
5476    
5477    (Ported from radeon commit a88985f5d1e39caca49ceb65678aaa9cb622a0d2)
5478    
5479    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5480
5481commit b9d00fa7aaf946d985897380bfa42faafbf1b3fb
5482Author: Michel Dänzer <michel.daenzer@amd.com>
5483Date:   Fri Mar 18 17:18:00 2016 +0900
5484
5485    Make DRM event queue xf86CrtcPtr based instead of ScrnInfoPtr based
5486    
5487    This allows for a minor simplification of the code.
5488    
5489    (Ported from radeon commit f5d968cbba3c9b7ec202161f2157d8d64778c817)
5490    
5491    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5492
5493commit e0ed26151bfeadf309da53d001751c0a014dbd24
5494Author: Michel Dänzer <michel.daenzer@amd.com>
5495Date:   Fri Mar 18 17:11:47 2016 +0900
5496
5497    Remove amdgpu_scanout_flip_handler
5498    
5499    No longer necessary now that amdgpu_drm_queue_handler can handle
5500    e->handler == NULL.
5501    
5502    (Ported from radeon commit d5dbb07db22d5420c81dfebc060f0dd86e7b8a20)
5503    
5504    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5505
5506commit acd5da56f502d6ad115501e77bce06fe72b1895c
5507Author: Michel Dänzer <michel.daenzer@amd.com>
5508Date:   Fri Mar 18 17:14:49 2016 +0900
5509
5510    DRI2: Also clear dri2_flipping when client disconnects before event
5511    
5512    Fixes the following problem:
5513    
5514    With DRI3 enabled, run glxgears with LIBGL_DRI3_DISABLE=1, make it
5515    fullscreen and press Escape while it's still fullscreen. This could
5516    result in dri2_flipping not getting cleared, spuriously preventing apps
5517    using DRI3 from flipping.
5518    
5519    (Ported from radeon commit e87365117acbd80b7d80fbb5eb30890ef7153291)
5520    
5521    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5522
5523commit a58bfa98208cc092014d3f36a08714eb1e0d8814
5524Author: Michel Dänzer <michel.daenzer@amd.com>
5525Date:   Fri Mar 18 17:07:47 2016 +0900
5526
5527    drm_queue: Don't abort events immediately from amdgpu_drm_abort_client
5528    
5529    Keep them around until the DRM event arrives, but then call the abort
5530    functions instead of the handler functions.
5531    
5532    This is a prerequisite for the following fix.
5533    
5534    (Ported from radeon commit 3989766edde85d1abe7024577b98fc9b007bc02a)
5535    
5536    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5537
5538commit e4888df6e32bb817bf0d6166a22b19c14e189a84
5539Author: Michel Dänzer <michel.daenzer@amd.com>
5540Date:   Fri Mar 18 17:04:10 2016 +0900
5541
5542    Fix RandR CRTC transforms
5543    
5544    Currently, Xorg will only transform the cursor as of the first time the
5545    cursor image changes after a transform is set.
5546    
5547    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80678
5548    
5549    (Ported from radeon commit 9483a3d777919b224f70c3b4d01e4b320a57db31)
5550    
5551    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5552
5553commit 43af92ede0968f2108f9562aa4c2c861ac703617
5554Author: Michel Dänzer <michel.daenzer@amd.com>
5555Date:   Fri Mar 18 16:58:07 2016 +0900
5556
5557    Build RandR 1.4 provider name from chipset name and bus ID
5558    
5559    Instead of just "amdgpu", it's now e.g. "TONGA @ pci:0000:01:00.0".
5560    
5561    (Ported from radeon commit c7cf00487cd6d4a5d0f39d5b92ff04f6420d6a32)
5562    
5563    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5564
5565commit 5ec1797a2858d693d18d21326e2307d71555e1db
5566Author: Michel Dänzer <michel.daenzer@amd.com>
5567Date:   Wed Feb 24 17:33:49 2016 +0900
5568
5569    DRI2: Use amdgpu_pixmap_get_handle
5570    
5571    Now we can share pixmaps with no struct amdgpu_buffer via DRI2.
5572    
5573    Fixes VDPAU video playback freezing when using an OpenGL compositor with
5574    DRI3 enabled and mpv VAAPI hardware decoding with OpenGL output.
5575    
5576    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89755
5577    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93804
5578    
5579    (ported from radeon commit f8b0f23e9f4af9f9097ee5e72d53b45173163c41)
5580    
5581    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5582
5583commit df60c635e1e632233de9dd4b01d63c2b963003f8
5584Author: Michel Dänzer <michel.daenzer@amd.com>
5585Date:   Wed Feb 24 17:06:43 2016 +0900
5586
5587    glamor: Avoid generating GEM flink names for BOs shared via DRI3 (v2)
5588    
5589    We can't create our own struct amdgpu_buffer representation in this case
5590    because destroying that would make the GEM handle inaccessible to glamor
5591    as well. So just get the handle directly via dma-buf.
5592    
5593    (ported from radeon commit 391900a670addec39515f924265bfa9f8bfa9ec0,
5594     extended to cache BO handles in the private for non-DRI3 pixmaps as
5595     well)
5596    
5597    v2: Swap whole pixmap privates instead of just BOs in
5598        amdgpu_dri2_exchange_buffers to avoid invalidating cached BO handles
5599    
5600    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5601
5602commit e463b849f3e9d7b69e64a65619a22e00e78d297b
5603Author: Michel Dänzer <michel.daenzer@amd.com>
5604Date:   Tue Feb 23 18:10:29 2016 +0900
5605
5606    Make amdgpu_do_pageflip take a pixmap instead of a BO
5607    
5608    (inspired by radeon commit 7b4fc4a677d252d01c2bf80d162bc35814059eaa)
5609    
5610    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5611
5612commit 1ee341f9d909f3b7ba2984fc912dabdb98c34b19
5613Author: Michel Dänzer <michel.daenzer@amd.com>
5614Date:   Tue Feb 23 18:42:19 2016 +0900
5615
5616    Add amdgpu_pixmap_get_handle helper
5617    
5618    (inspired by radeon commits dfad91fffb5bd013785223b42d78886df839eacf
5619     and ccbda955ebae1d457d35293833f12791e0f9fb0b)
5620    
5621    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5622
5623commit a36bbfd98b96426bbe0be3923c64da7ec0e565d0
5624Author: Michel Dänzer <michel.daenzer@amd.com>
5625Date:   Mon Feb 15 18:41:51 2016 +0900
5626
5627    HAS_DIRTYTRACKING_ROTATION also supports multiple CRTCs
5628    
5629    (ported from radeon commit ff9a6b6f079a8419f4e6fadfee778060618bf735)
5630    
5631    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5632
5633commit a37746ffceaed83e48e48fb05439be7e020dd2ea
5634Author: Michel Dänzer <michel.daenzer@amd.com>
5635Date:   Mon Feb 15 18:35:54 2016 +0900
5636
5637    Load fb module before glamoregl/shadow modules
5638    
5639    Fixes unresolved symbols on some systems.
5640    
5641    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93105
5642    (ported from radeon commit 78fbca095ae9887a2d3de48bb07975e2d1126e68)
5643    
5644    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5645
5646commit 59c0a6807110eca829c6708e16585a38f39a5c17
5647Author: Michel Dänzer <michel.daenzer@amd.com>
5648Date:   Mon Feb 15 18:28:13 2016 +0900
5649
5650    Don't advertise any PRIME offloading capabilities without acceleration
5651    
5652    Acceleration is required even for display offloading. Trying to enable
5653    display offloading without acceleration resulted in a crash.
5654    
5655    (ported from radeon commit b19417e2fddf4df725951aea5ad5e9558338f59e)
5656    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5657
5658commit a3eac85d812ecc605436e6bd5b9ee7ebf307e3d3
5659Author: Michel Dänzer <michel.daenzer@amd.com>
5660Date:   Tue Jan 26 16:12:28 2016 +0900
5661
5662    Only map front buffer if glamor acceleration is disabled (v2)
5663    
5664    Otherwise the front buffer may not be accessible by the CPU, because Mesa
5665    sets the AMDGPU_GEM_CREATE_NO_CPU_ACCESS flag for tiled buffers, because
5666    accessing tiled buffers with the CPU makes little sense.
5667    
5668    v2: Also handle Option "AccelMethod" "none"
5669    
5670    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5671
5672commit 2fcb7dadd3c71cd405cbbaafc777697538ca9c29
5673Author: jimqu <Jim.Qu@amd.com>
5674Date:   Mon Jan 25 09:47:00 2016 +0800
5675
5676    glamor: Return NullPixmap on failure to create shareable pixmap
5677    
5678    If we were asked to create a shareable pixmap, it doesn't make sense
5679    to return a pixmap which isn't shareable. Doing so caused trouble down
5680    the line such as a crash with older versions of glamor when trying to
5681    use GLX pixmaps of bpp < 32 via DRI2.
5682    
5683    Signed-off-by: JimQu <jim.qu@amd.com>
5684    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
5685
5686commit 5269a2228bff6023c1a7f3e8534027e1d7addc25
5687Author: jimqu <Jim.Qu@amd.com>
5688Date:   Mon Jan 25 10:12:02 2016 +0800
5689
5690    Move amdgpu_glamor_destroy_pixmap before amdgpu_glamor_create_pixmap
5691    
5692    The next commit will call the former from the latter. No functional
5693    change.
5694    
5695    Signed-off-by: JimQu <jim.qu@amd.com>
5696    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
5697
5698commit 54c959c163288caa87f612911b70df73f87d29d6
5699Author: Tom St Denis <tom.stdenis@amd.com>
5700Date:   Wed Jan 20 09:37:36 2016 -0500
5701
5702    Move memset() after variable declarations
5703    
5704    To make the code more "C" like move the function calls
5705    after the variable declarations.
5706    
5707    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
5708    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5709    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
5710
5711commit 8853b07ae8169c409740c40d45cd335bd608f2a7
5712Author: Michel Dänzer <michel.daenzer@amd.com>
5713Date:   Tue Jan 19 17:35:11 2016 +0900
5714
5715    Set the RandR primary output on startup if Xorg hasn't
5716    
5717    Fixes xrandr (XRRGetOutputPrimary) not reporting any output as primary
5718    after startup.
5719    
5720    (Ported from radeon commit b16856b25086ffb27365ac2249b8da921066ce62)
5721    
5722    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5723
5724commit bd5c65daceaf633c36fcec86ff061df10c364bc0
5725Author: Michel Dänzer <michel.daenzer@amd.com>
5726Date:   Thu Jan 7 15:53:41 2016 +0900
5727
5728    Only call amdgpu_bus_id once in each probe path (v2)
5729    
5730    Instead of up to twice as before.
5731    
5732    v2: Remove free(busIdString) call from amdgpu_kernel_mode_enabled, the
5733        bus ID string is now managed by its callers.
5734    
5735    Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
5736
5737commit 6e42c58375a4c3229da93c27bbd104af145c6163
5738Author: Michel Dänzer <michel.daenzer@amd.com>
5739Date:   Thu Jan 7 15:57:38 2016 +0900
5740
5741    Remove pci_dev test from amdgpu_get_scrninfo
5742    
5743    The pci_dev parameter can never be NULL since we only support KMS.
5744    
5745    Reported-by: Tom St Denis <tom.stdenis@amd.com>
5746    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5747
5748commit 8e09180798a06af5afa030d754938e4ca06e272f
5749Author: Michel Dänzer <michel.daenzer@amd.com>
5750Date:   Thu Jan 7 15:35:35 2016 +0900
5751
5752    Re-use PCI bus ID code from kernel_open_fd in kernel_mode_enabled
5753    
5754    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5755
5756commit 4eb9cedca080b30c57ded349a397620ee7d0cd46
5757Author: Mykola Lysenko <Mykola.Lysenko@amd.com>
5758Date:   Wed Jan 13 14:03:55 2016 +0800
5759
5760    Initialize drmmode_crtc dpms_mode to DPMSModeOff
5761    
5762    This disables query of disabled pipes for drmWaitVBlank on X start
5763    
5764    Signed-off-by: Mykola Lysenko <Mykola.Lysenko@amd.com>
5765    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
5766
5767commit 1d0b0c1794e65e581a48aa9fb19679d928d82a5d
5768Author: Michel Dänzer <michel.daenzer@amd.com>
5769Date:   Thu Dec 10 18:08:12 2015 +0900
5770
5771    sync: Check if miSyncShmScreenInit symbol is resolved at runtime
5772    
5773    It may be disabled in the Xorg build, either explicitly or because the
5774    xshmfence library isn't available.
5775    
5776    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5777
5778commit f4107f67f147e2500582fc36cf0f0f76bc1ef098
5779Author: Mykola Lysenko <Mykola.Lysenko@amd.com>
5780Date:   Wed Dec 23 11:58:47 2015 -0500
5781
5782    Check for NULL koutput in drmmode_output_dpms
5783    
5784    This situation happens whit start of usage of DRM DP MST framework,
5785    when connectors created and destroyed dynamically.
5786    
5787    Signed-off-by: Mykola Lysenko <Mykola.Lysenko@amd.com>
5788    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
5789
5790commit ea558e645786b08d75307716036045170e97b43e
5791Author: Jammy Zhou <Jammy.Zhou@amd.com>
5792Date:   Fri Nov 20 17:03:05 2015 +0800
5793
5794    Use render node for DRI3 if available
5795    
5796    Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
5797    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
5798
5799commit 43c2dc1aab682d5b6ad49d24983d6382c4f305bb
5800Author: Michel Dänzer <michel.daenzer@amd.com>
5801Date:   Thu Nov 19 17:05:05 2015 +0900
5802
5803    glamor: Deal with glamor_egl_destroy_textured_pixmap being removed
5804    
5805    When it's not available, it's safe to call down to the glamor
5806    DestroyPixmap hook instead.
5807    
5808    (ported from radeon commit 10b7c3def58bb34acc38f076bc230e25b454ab79)
5809    
5810    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5811
5812commit 84cab5738a315e9825bd0864c4f0fc5b03eb81a1
5813Author: Michel Dänzer <michel.daenzer@amd.com>
5814Date:   Thu Nov 19 16:44:22 2015 +0900
5815
5816    glamor: Restore all ScreenRec hooks during CloseScreen
5817    
5818    (ported from radeon commit 535e5438b2c32f774b9c8c27ee0289b4749548ef)
5819    
5820    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5821
5822commit a00c050c2e5667ed815c51979a3cadb5146136ff
5823Author: Michel Dänzer <michel.daenzer@amd.com>
5824Date:   Thu Nov 19 17:55:53 2015 +0900
5825
5826    Post 1.0.0 release version bump
5827
5828commit 755e6ff2337cf615e3ba0854ccd533baec7144db
5829Author: Michel Dänzer <michel.daenzer@amd.com>
5830Date:   Thu Nov 19 17:28:19 2015 +0900
5831
5832    Bump version for 1.0.0 release
5833
5834commit 49c7d2be99aaf6d040e553065bdc461ce8d4769a
5835Author: Michel Dänzer <michel.daenzer@amd.com>
5836Date:   Thu Nov 19 17:14:54 2015 +0900
5837
5838    Add amdgpu_pixmap.h to src/Makefile.am's EXTRA_DIST
5839    
5840    Fixes make distcheck.
5841
5842commit d069ec5d27f5c8d2ab17b759b85293ef4113acf3
5843Author: Stephen Chandler Paul <cpaul@redhat.com>
5844Date:   Wed Nov 11 18:10:55 2015 +0900
5845
5846    Handle failures in setting a CRTC to a DRM mode properly
5847    
5848    This fixes a bug where running the card out of PPLL's when hotplugging
5849    another monitor would result in all of the displays going blank and
5850    failing to work properly until X was restarted or the user switched to
5851    another VT.
5852    
5853    [Michel Dänzer: Pass errno instead of -ret to strerror()]
5854    
5855    Signed-off-by: Stephen Chandler Paul <cpaul@redhat.com>
5856    (ported from radeon commit 7186a8713ba004de4991f21c1a9fc4abc62aeff4)
5857    
5858    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5859
5860commit c8bddcf6c97b1338be3715f1fc5e0b17ce71c195
5861Author: Michel Dänzer <michel.daenzer@amd.com>
5862Date:   Wed Nov 11 18:09:59 2015 +0900
5863
5864    Call xf86CrtcRotate from initial drmmode_set_desired_modes call
5865    
5866    Fixes various problems when rotation is specified in xorg.conf.
5867    
5868    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92475
5869    
5870    (ported from radeon commit 548e97b3b7d1e94075a54ca2bb4eb683025098a7)
5871    
5872    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5873
5874commit 12815156f38ce3357f03901a78402db834577d11
5875Author: Emil Velikov <emil.l.velikov@gmail.com>
5876Date:   Wed Nov 11 18:04:01 2015 +0900
5877
5878    Do not link amdgpu_drv.so against libpciaccess
5879    
5880    Not used directly.
5881    
5882    Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
5883    (ported from radeon commit fcb32231a38f9461d12720cbf72f63502197a711)
5884    
5885    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5886
5887commit a02982b0ae0b79d2f183a1628edc05cafed8703a
5888Author: Michel Dänzer <michel.daenzer@amd.com>
5889Date:   Wed Nov 11 17:59:14 2015 +0900
5890
5891    Skip disabled CRTCs in amdgpu_scanout_(do_)update
5892    
5893    The vblank / page flip ioctls don't work as expected for a disabled CRTC.
5894    
5895    (ported from radeon commit acc11877423ecd81a6e0a7f38466f80e43efee20)
5896    
5897    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5898
5899commit 0ddd20600d0046afd17aa47ffebe86dfd91a2215
5900Author: Michel Dänzer <michel.daenzer@amd.com>
5901Date:   Wed Nov 11 17:44:16 2015 +0900
5902
5903    Prefer drmModeSetCursor2 over drmModeSetCursor
5904    
5905    The former includes information about the position of the hotspot within
5906    the cursor image.
5907    
5908    Copied from xf86-video-modesetting.
5909    
5910    (ported from radeon commit c9f8f642fd495937400618a4fc25ecae3f8888fc)
5911    
5912    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5913
5914commit 83a47c0ebe17caa79d12a8b2f94b59cc945452f5
5915Author: Michel Dänzer <michel.daenzer@amd.com>
5916Date:   Wed Nov 11 17:37:54 2015 +0900
5917
5918    PRIME: Don't advertise offload capabilities when acceleration is disabled
5919    
5920    Xorg tends to crash if the user tries to actually use the offload
5921    capabilities with acceleration disabled.
5922    
5923    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57200
5924    (ported from radeon commit c74de9fec13fac2c836bb2a07ae6f90e1d61e667)
5925    
5926    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5927
5928commit 560b7fe6dc66405762020f00e9a05918a36f3a17
5929Author: Michel Dänzer <michel.daenzer@amd.com>
5930Date:   Wed Nov 11 17:31:34 2015 +0900
5931
5932    Rename Option "NoAccel" to "Accel"
5933    
5934    Removes the need for a double negation when forcing acceleration on.
5935    
5936    Note that this change is backwards compatible, as the option parser
5937    automagically handles the 'No' prefix.
5938    
5939    (ported from radeon commit cc615d06db0332fc6e673b55632bcc7bf957b44b)
5940    
5941    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5942
5943commit ad77ad32c4a723447d3191d527cfa6de9f54d7ce
5944Author: Adam Jackson <ajax@redhat.com>
5945Date:   Wed Nov 11 17:20:21 2015 +0900
5946
5947    Use own thunk function instead of shadowUpdatePackedWeak
5948    
5949    I plan to delete the Weak functions from a future server.
5950    
5951    Signed-off-by: Adam Jackson <ajax@redhat.com>
5952    (ported from radeon commit 851b2cf8714618843725f6d067915375485ade9d)
5953    
5954    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5955
5956commit f5ccea99c03b62acf3a25984aba617c665d80b7c
5957Author: Michel Dänzer <michel.daenzer@amd.com>
5958Date:   Wed Nov 11 17:16:58 2015 +0900
5959
5960    dri2: Handle PRIME for source buffer as well in amdgpu_dri2_copy_region2
5961    
5962    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77810
5963    
5964    (ported from radeon commit c84230d686c078aac1dc98d82153f8b02521b2e1)
5965    
5966    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5967
5968commit 92e7c93d2f9c3036da1a17d7fccccb6f9e9eaa3d
5969Author: Michel Dänzer <michel.daenzer@amd.com>
5970Date:   Mon Nov 2 18:29:24 2015 +0900
5971
5972    Move scrn/info declaration inside USE_GLAMOR in amdgpu_dri3_fd_from_pixmap
5973    
5974    Fixes warning when building with --disable-glamor:
5975    
5976    ../../src/amdgpu_dri3.c: In function 'amdgpu_dri3_fd_from_pixmap':
5977    ../../src/amdgpu_dri3.c:135:16: warning: unused variable 'info' [-Wunused-variable]
5978      AMDGPUInfoPtr info = AMDGPUPTR(scrn);
5979                    ^
5980    
5981    Reported-by: Jammy Zhou <Jammy.Zhou@amd.com>
5982    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5983
5984commit c9bd1399a13cea2e1331af2c826ca054b88db071
5985Author: Michel Dänzer <michel.daenzer@amd.com>
5986Date:   Mon Nov 2 18:21:50 2015 +0900
5987
5988    Call AMDGPUFreeRec from AMDGPUFreeScreen_KMS even if info == NULL
5989    
5990    It's safe now.
5991    
5992    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
5993
5994commit fb8444e731765588c0ff1e9053c1c7b73f5f0907
5995Author: Michel Dänzer <michel.daenzer@amd.com>
5996Date:   Mon Nov 2 18:20:41 2015 +0900
5997
5998    Don't use AMDGPUEntPriv in AMDGPUFreeRec
5999    
6000    It crashes if info == NULL.
6001    
6002    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6003
6004commit 8e7ee03f55c2f3874f6e84daeb5700f8b8037a51
6005Author: Michel Dänzer <michel.daenzer@amd.com>
6006Date:   Wed Oct 28 17:53:27 2015 +0900
6007
6008    Remove amdgpu_reference_drm_fd
6009    
6010    Increase pAMDGPUEnt->fd_ref in the probe code instead when we're reusing
6011    the existing fd.
6012    
6013    The previous reference counting was imbalanced, so pAMDGPUEnt->fd_ref
6014    could never go to 0.
6015    
6016    Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
6017
6018commit 6bab8fabb37eb131e131ce59446c214ded28f779
6019Author: Michel Dänzer <michel.daenzer@amd.com>
6020Date:   Wed Oct 28 17:44:09 2015 +0900
6021
6022    Remove info->dri2.drm_fd and info->drmmode->fd
6023    
6024    Use pAMDGPUEnt->fd everywhere instead.
6025    
6026    Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
6027
6028commit 0530e39cc6b7340163e7f6bb6d82719d102ee6e9
6029Author: Jammy Zhou <jammy.zhou@amd.com>
6030Date:   Thu Oct 29 17:08:01 2015 +0900
6031
6032    Pass struct pci_device *pci_dev directly to amdgpu_get_scrninfo
6033    
6034    Instead of throwing away the type information by passing it as a void*.
6035    
6036    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
6037    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6038
6039commit edf72afee3a25eae9827b4de3a013b541b78e213
6040Author: Jammy Zhou <Jammy.Zhou@amd.com>
6041Date:   Wed Oct 28 21:24:29 2015 +0800
6042
6043    Fix crash in PCI probe path (v4)
6044    
6045    The crash is caused by the NULL value returned by AMDGPUPTR(pScrn),
6046    because the driverPrivate is not allocated yet in PciProbe phase,
6047    and it is usually done in the PreInit phase.
6048    
6049    Use pAMDGPUEnt->fd instead of info->dri2.drm_fd to avoid AMDGPUInfoPtr
6050    related code in amdgpu_open_drm_master, so that the crash can be fixed.
6051    
6052    v4: (md) Remove unused parameter entity_num, split out logically
6053        separate changes
6054    v3: some more cleanup
6055    v2: switch to pAMDGPUEnt->fd, and update the commit message
6056    
6057    Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
6058    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
6059    Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v3)
6060
6061commit cef725121eb0e56aa54d9c4665e36047373f4db7
6062Author: Michel Dänzer <michel.daenzer@amd.com>
6063Date:   Wed Oct 28 17:56:13 2015 +0900
6064
6065    Remove dead code from probe paths
6066    
6067    amdgpu_get_scrninfo allocates the memory pointed to by pAMDGPUEnt just
6068    before it calls amdgpu_open_drm_master, so pAMDGPUEnt->fd is always 0
6069    in the latter.
6070    
6071    Also, no need to clear pAMDGPUEnt->fd just before freeing the memory
6072    it's stored in.
6073    
6074    Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
6075
6076commit 3b0a3c89b53b3ebe21a9d703a4dbff6e57c65a57
6077Author: Samuel Li <samuel.li@amd.com>
6078Date:   Thu Oct 22 12:50:21 2015 -0400
6079
6080    Add Stoney support
6081    
6082    (agd): rebase
6083    
6084    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6085    Signed-off-by: Samuel Li <samuel.li@amd.com>
6086
6087commit 9c8b7ebe15eec7abd5dc10ad6ccecbc57225494a
6088Author: Michel Dänzer <michel.daenzer@amd.com>
6089Date:   Wed Oct 21 17:18:44 2015 +0900
6090
6091    Revert "Handle RandR CRTC transforms properly"
6092    
6093    This reverts commit 175251645fec1a3d19f498e1cd1e655374c67801.
6094    
6095    I accidentally pushed this patch.
6096
6097commit 0a6ba4bf50128464a30951721b0c72e748fb89bc
6098Author: Darren Powell <darren.powell@amd.com>
6099Date:   Tue Oct 20 16:56:54 2015 -0400
6100
6101    Add Option "TearFree" to manpage
6102    
6103    This was missed in commit c57da33308a81fa575179238a0415abcb8b34908.
6104    
6105    Signed-off-by: Darren Powell <darren.powell@amd.com>
6106    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6107    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6108
6109commit 175251645fec1a3d19f498e1cd1e655374c67801
6110Author: Michel Dänzer <michel.daenzer@amd.com>
6111Date:   Thu Oct 15 16:35:51 2015 +0900
6112
6113    Handle RandR CRTC transforms properly
6114
6115commit 6000aef4e2f0a121b94023484406fb6f04688f74
6116Author: Tom St Denis <tom.stdenis@amd.com>
6117Date:   Wed Oct 14 13:25:59 2015 -0400
6118
6119    Clean up amdgpu_dri2_create_buffer2()
6120    
6121    Remove the depth_pixmap variable from the function and clear
6122    out any dead/odd behaviour that results.
6123    
6124    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6125
6126commit 21e72fb2418b5cc7fc849a9cf951186e209036b0
6127Author: Michel Dänzer <michel.daenzer@amd.com>
6128Date:   Fri Oct 9 18:38:47 2015 +0900
6129
6130    Properly handle drmModeAddFB failure in drmmode_crtc_scanout_allocate
6131    
6132    We were printing an error message, but not propagating the failure. That
6133    would probably lead to trouble down the road.
6134    
6135    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6136
6137commit 8da1d0c870e1081d77925807d6e3bbc61a23f54f
6138Author: Michel Dänzer <michel.daenzer@amd.com>
6139Date:   Fri Oct 9 18:59:16 2015 +0900
6140
6141    Eliminate redundant data parameter from drmmode_crtc_scanout_create
6142    
6143    drmmode_crtc_scanout_create just needs to call
6144    drmmode_crtc_scanout_allocate when scanout->bo is NULL.
6145    
6146    This makes it clearer to the reader / compiler that
6147    drmmode_crtc_scanout_create doesn't dereference scanout->bo when it's
6148    NULL.
6149    
6150    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6151
6152commit dc40582d5ff94d812cbc08f95cf14b80cd0f410d
6153Author: Michel Dänzer <michel.daenzer@amd.com>
6154Date:   Wed Oct 7 16:19:22 2015 +0900
6155
6156    Don't advertise rotation support without hardware acceleration v2
6157    
6158    Rotation currently doesn't work without acceleration (doesn't actually
6159    rotate with Option "NoAccel", crashes with Option "AccelMethod" "none"
6160    or when glamor fails to initialize) and would probably be too slow
6161    anyway.
6162    
6163    v2: Also remove now dead code checking for ShadowFB from
6164        drmmode_crtc_scanout_allocate().
6165    
6166    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6167
6168commit 460560502a1bdf26d06f3c30df46fa9f28ffb9e5
6169Author: Tom St Denis <tom.stdenis@amd.com>
6170Date:   Tue Oct 6 08:49:54 2015 -0400
6171
6172    Simplify drmmode_set_mode_major() and avoid leaking memory.
6173    
6174    The function would leak the memory allocated for output_ids.  This
6175    patch addresses that as well as simplifies the logic somewhat.
6176    
6177    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6178    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6179
6180commit 56398d6651dfc4935cbd117ad861e1800077c73c
6181Author: Tom St Denis <tom.stdenis@amd.com>
6182Date:   Tue Oct 6 08:43:12 2015 -0400
6183
6184    Avoid NULL dereference if drmmode_crtc_scanout_allocate fails
6185    
6186    This avoids a NULL dereference if the memory allocation fails.
6187    
6188    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6189    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6190
6191commit 4b92b960c7705be8b3a5dee17b2341864d7ca9bb
6192Author: Tom St Denis <tom.stdenis@amd.com>
6193Date:   Mon Oct 5 10:00:09 2015 -0400
6194
6195    cleanup the entity rec
6196    
6197    Based on radeon commit: b32a0a3de84a44b9af4f1ca8be19f10d7fa31b12
6198    
6199    Some of these were set, some of them were
6200    always opposites, so clean things up.
6201    
6202    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6203    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6204
6205commit fe100fd6bf483228eaf64b959c56a68e8dac4447
6206Author: Tom St Denis <tom.stdenis@amd.com>
6207Date:   Mon Oct 5 10:45:33 2015 -0400
6208
6209    present: Handle DPMS off in radeon_present_get_ust_msc
6210    
6211    Based on radeon commit: 95f5d09e3667ded027ae648c97eb4737d8bf67c5
6212    
6213    The DRM_IOCTL_WAIT_VBLANK ioctl may return an error during DPMS off,
6214    which would trigger an error message in drmmode_crtc_get_ust_msc.
6215    
6216    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6217    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6218
6219commit bfa925a04815cee5fd57b99447cb2ee0e158036c
6220Author: Tom St Denis <tom.stdenis@amd.com>
6221Date:   Mon Oct 5 10:10:51 2015 -0400
6222
6223    present: Look at all CRTCs to determine if we can flip
6224    
6225    Based on radeon commit 211862b777d0be251a4662f5dd24f2d400544c09
6226    
6227    Inspired by modesetting driver change by Kenneth Graunke.
6228    
6229    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6230    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6231
6232commit a1e47e76322619ed037ebce27974a4e3792940c2
6233Author: Tom St Denis <tom.stdenis@amd.com>
6234Date:   Mon Oct 5 10:41:22 2015 -0400
6235
6236    present: Fall back to modeset for unflip operation
6237    
6238    Based on radeon commit: 802d33e474a82262d9cdf11b03568b0c4929cd0d
6239    
6240    It's not always possible to use the page flip ioctl for this, e.g.
6241    during DPMS off. We were previously just skipping the unflip in that
6242    case, which could result in hangs when setting DPMS off while a
6243    fullscreen Present app is running, e.g. at the GNOME3 lock screen.
6244    
6245    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6246    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6247
6248commit bac21dfc8e60a07f08158b13fab1f3a9b9d27d1b
6249Author: Tom St Denis <tom.stdenis@amd.com>
6250Date:   Mon Oct 5 10:37:50 2015 -0400
6251
6252    Don't attempt a DRI2/Present page flip while the other one is flipping
6253    
6254    Based on radeon commit 49f5b0bc301414df049e00d226034e3d6e56421b
6255    
6256    Fixes corrupted display and hangs when switching between DRI2 and DRI3
6257    fullscreen apps, e.g. a compositor using DRI3 and a fullscreen app using
6258    DRI2 or vice versa.
6259    
6260    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6261    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6262
6263commit a5f7f2e68bad1935f5ad52286033237467f77302
6264Author: Tom St Denis <tom.stdenis@amd.com>
6265Date:   Mon Oct 5 13:12:23 2015 -0400
6266
6267    Move amdgpu_drm_handler/abort_proc fields to drmmode_flipdata_re
6268    
6269    Based on radeon commit de5ddd09db82141b263338dcf0c28e01f58268ee
6270    
6271    Their values are the same for all DRM flip ioctl calls within a single
6272    radeon_do_pageflip() call.
6273    
6274    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6275    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6276
6277commit e14e3560bff2537d3ad4c93d2b31442a122cde66
6278Author: Tom St Denis <tom.stdenis@amd.com>
6279Date:   Mon Oct 5 13:08:43 2015 -0400
6280
6281    Simplify amdgpu_do_pageflip() error handling slightly more
6282    
6283    Based on radeon commit e8c0f6319fbf4c3ea11e22ab1a68837031bdec8c
6284    
6285    We don't need the local variable old_fb_id.
6286    
6287    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6288    
6289    [ Michel Dänzer: fix up slightly to better match radeon formatting ]
6290    
6291    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6292
6293commit e9621ec0e2400f62db320c560a739b29258edb87
6294Author: Tom St Denis <tom.stdenis@amd.com>
6295Date:   Mon Oct 5 09:34:47 2015 -0400
6296
6297    Increase robustness against DRM page flip ioctl failures
6298    
6299    Based on radeon commit 8fc22360d5520469c82092ccb0fcf2af330c573f
6300    
6301    Centralize cleanup, only clean up things that have been allocated for
6302    the failed ioctl call.
6303    
6304    Fixes double-free after a flip ioctl failure.
6305    
6306    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89681
6307    
6308    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6309    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6310
6311commit db3bb2061b9ac16b0922d9afae99874820356a04
6312Author: Tom St Denis <tom.stdenis@amd.com>
6313Date:   Tue Sep 29 13:07:04 2015 -0400
6314
6315    Clean up allocation in AMDGPUInitVideo()
6316    
6317    The allocation of the adapters should use the correct sizeof (even if
6318    allocating an array of pointers).
6319    
6320    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6321    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6322
6323commit 94caf7ac777134b8396aa762a506053179bbb4c6
6324Author: Tom St Denis <tom.stdenis@amd.com>
6325Date:   Thu Oct 1 13:08:41 2015 -0400
6326
6327    Avoid leaking memory on output.
6328    
6329    Based on radeon commit 63dc36dc49f93cb00111b497ab6805194bc9d240
6330    
6331    and 2nd patch:
6332    
6333    Proper leak fix, previous leak fix was bogus.
6334    
6335    Based on radeon commit b8ec9ed4fe86952763b963c86f0af0dcae69aa6c
6336    
6337    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6338    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6339
6340commit f035faec041cb5df65c78effa58eb50197cedf88
6341Author: Tom St Denis <tom.stdenis@amd.com>
6342Date:   Thu Oct 1 12:56:05 2015 -0400
6343
6344    add support for DP 1.2 display hotplug
6345    
6346    Based on radeon commit 2f11dcd43966cf2ee26e61960fd72e6644f5e037
6347    
6348    > This allows for dynamic creation of conneectors when the
6349    > kernel tells us.
6350    >
6351    > v2: fix dpms off crash
6352    
6353    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6354    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6355
6356commit aee72b29210d79dbf41bde6eef16d7fe817e6cf4
6357Author: Tom St Denis <tom.stdenis@amd.com>
6358Date:   Thu Oct 1 12:29:36 2015 -0400
6359
6360    move output name creation to its own function
6361    
6362    Based on radeon commit c88424d1f4aaa78b569e5d44f0b4a47de2f422f4
6363    
6364    > The secondary indent is deliberate to make the next patch more
6365    > parseable for mst support.
6366    
6367    Signed-off-by:  Tom St Denis <tom.stdenis@amd.com>
6368    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6369
6370commit 0846abeace649d27a5f2c17373e717f92d246797
6371Author: Tom St Denis <tom.stdenis@amd.com>
6372Date:   Thu Oct 1 12:13:21 2015 -0400
6373
6374    stop caching mode resources
6375    
6376    Based on radeon commit 32b003cb7657e07d5af6338ad44d768eda87fd33
6377    
6378    > This is step one towards MST connector hotplug support,
6379    > it stop caching the mode resources structure, and
6380    > just passes a pointer to it around.
6381    
6382    With a few tweaks to match the state of the AMDGPU tree.
6383    
6384    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6385    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6386
6387commit 4ca8f957e0b417b099f625470db98a54531a731d
6388Author: Tom St Denis <tom.stdenis@amd.com>
6389Date:   Thu Oct 1 13:16:15 2015 -0400
6390
6391    Silence type mismatch warning.
6392    
6393    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6394    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6395
6396commit a79735ab1499c1f7814036d1b19ff465705c5f45
6397Author: Tom St Denis <tom.stdenis@amd.com>
6398Date:   Thu Oct 1 10:51:07 2015 -0400
6399
6400    Add support for server managed fds
6401    
6402    Based on radeon commit ed0cfbb4fe77146b0b38f777bc28f3a4ea6da07f
6403    
6404    and 2nd patch:
6405    
6406    Fix building on older servers without xf86platformBus.h
6407    
6408    Based on radeon commit b50da3b96c212086cb58501dbe988d64f1f35b6d
6409    
6410    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6411    
6412    [ Michel Dänzer: Fixed up amdgpu_kernel_open_fd() not to need
6413      AMDGPUEntPriv(), which doesn't work yet at that point ]
6414    
6415    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
6416    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6417
6418commit b93934a9ed5e92f3a6eac6554c5c4fa2967a6dd0
6419Author: Tom St Denis <tom.stdenis@amd.com>
6420Date:   Thu Oct 1 10:05:36 2015 -0400
6421
6422    Add amdgpu_open_drm_master helper function
6423    
6424    Based on radeon commit 3d7861fe112f25874319d4cdc12b745fbcd359cf
6425    
6426    > This is a preparation patch for adding server-managed-fd support without it
6427    > turning into a goto fest.
6428    
6429    With appropriate modifications because the open call stack is different
6430    in the amdgpu tree.
6431    
6432    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6433    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6434
6435commit f5c3fd0b57cf9e392bf591110568637937a1d338
6436Author: Tom St Denis <tom.stdenis@amd.com>
6437Date:   Thu Oct 1 09:13:57 2015 -0400
6438
6439    Cleaning up for server-fd support
6440    
6441    Based on radeon commit a63342ad15408071437c80b411d14196f3288aed
6442    
6443    > radeon_open_drm_master get rid of unnecessary goto
6444    
6445    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6446    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6447
6448commit 3055724aef76a624718f26d5f0f9e9d567ffbcfb
6449Author: Tom St Denis <tom.stdenis@amd.com>
6450Date:   Thu Sep 24 13:08:31 2015 -0400
6451
6452    Simplify pick best crtc to fold two loops into one
6453    
6454    This patch folds the two for loops from amdgpu_pick_best_crtc() into
6455    one to reduce the LOC and make the routine easier to read.
6456    
6457    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6458    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6459
6460commit 9945b4ae1664ab815b39ff07e7b66cfa7f942dfa
6461Author: Tom St Denis <tom.stdenis@amd.com>
6462Date:   Wed Sep 9 09:38:02 2015 -0400
6463
6464    Avoid use-after-free in drmmode_output_destroy()
6465    
6466    The encoders array is freed before potentially all of the elements of
6467    the array are individually freed.
6468    
6469    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6470    Reviewed-by: Christian König <christian.koenig@amd.com>
6471    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6472    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> (cosmetic fixups)
6473
6474commit 36b3faebdd1d2090a286616eeeb131d15e9a1386
6475Author: Tom St Denis <tom.stdenis@amd.com>
6476Date:   Wed Sep 9 09:36:59 2015 -0400
6477
6478    Avoid use-after-free in amdgpu_kernel_open_fd()
6479    
6480    If the device cannot be opened avoid re-using busid after it has been
6481    freed.
6482    
6483    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6484    Reviewed-by: Christian König <christian.koenig@amd.com>
6485    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6486    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> (cosmetic fixups)
6487
6488commit 8823c3d4c6db70cff7699b31088f2d92db8faaf4
6489Author: Tom St Denis <tom.stdenis@amd.com>
6490Date:   Wed Sep 9 09:34:38 2015 -0400
6491
6492    dri2: Avoid calculation with undefined msc value
6493    
6494    If the get_msc() call fails for any reason we should avoid updating the
6495    vblank counter delta with undefined data.
6496    
6497    Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
6498    Reviewed-by: Christian König <christian.koenig@amd.com>
6499    Acked-by: Alex Deucher <alexander.deucher@amd.com>
6500    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> (minor fixups)
6501
6502commit 63948ea091a9b324327ade7ec4fc5d67ca7e6f6f
6503Author: Michel Dänzer <michel.daenzer@amd.com>
6504Date:   Fri Aug 14 18:41:57 2015 +0900
6505
6506    DRI2: Keep MSC monotonic when moving window between CRTCs
6507    
6508    This mirrors the DRI3 implementation in xserver. Fixes VDPAU video
6509    playback hanging when moving the window between CRTCs.
6510    
6511    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66384
6512    
6513    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6514
6515commit 55a4461bd95698cb8d52f9f6c28583f8f81afb4e
6516Author: Michel Dänzer <michel.daenzer@amd.com>
6517Date:   Fri Aug 7 11:46:31 2015 +0900
6518
6519    Wait for scanout BO initialization to finish before setting mode
6520    
6521    This should avoid intermittent artifacts which could sometimes be visible
6522    when setting a new scanout pixmap, e.g. on server startup or when
6523    changing resolutions.
6524    
6525    (Ported from radeon commit 3791fceabf2cb037467dc41c15364e9f9ec1e47e)
6526    
6527    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6528
6529commit 4c425e9c5c038504a0f0498dd800ab1fb40bf0c5
6530Author: Michel Dänzer <michel.daenzer@amd.com>
6531Date:   Fri Aug 7 12:39:24 2015 +0900
6532
6533    glamor: Add amdgpu_glamor_finish to wait for glamor rendering to finish
6534    
6535    This is a bit sneaky, because it calls glFinish directly from the driver,
6536    but it seems to work fine.
6537    
6538    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6539
6540commit bb989e173dc364a7d68e50d7e819d0e0ee133d2f
6541Author: Michel Dänzer <michel.daenzer@amd.com>
6542Date:   Fri Aug 7 11:43:48 2015 +0900
6543
6544    Only call drmmode_copy_fb (at most) once on server startup
6545    
6546    It doesn't make sense to copy the screen contents from console when VT
6547    switching back to Xorg or when Xorg resets.
6548    
6549    Fixes intermittent artifacts when VT switching back from console to the
6550    gdm login screen.
6551    
6552    (Ported from radeon commit 4e3dfa69e4630df2e0ec0f5b81d61159757c4664)
6553    
6554    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6555
6556commit ebe2c020fbf2ef8de01fc50b201ab23ddb9fb13b
6557Author: Mario Kleiner <mario.kleiner.de@gmail.com>
6558Date:   Mon Aug 10 23:34:40 2015 +0200
6559
6560    Make selection between DRI2 and DRI3 consistent with other drivers. (v2)
6561    
6562    Add Option "DRI" to allow selection of maximum DRI level.
6563    
6564    This allows the user to select the maximum level of DRI
6565    implementation to use, DRI2 or DRI3. It replaces the old
6566    option "DRI3" which had exactly the same purpose, but
6567    differs from the method used in both intel ddx and nouveau ddx.
6568    Make this consistent before a new stable driver is released.
6569    
6570    v2: Retain handling of old Option "DRI3" for backwards
6571        compatibility, but Option "DRI" will take precedence
6572        over "DRI3" if both are provided.
6573    
6574    Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
6575    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6576
6577commit c9611a2aa0f8d3bb55c552353740d60f6e4f63a0
6578Author: Alex Deucher <alexander.deucher@amd.com>
6579Date:   Tue Jul 7 22:46:34 2015 -0400
6580
6581    add fiji pci id
6582    
6583    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6584    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6585
6586commit 2622ac1554761b8824bfbbb2e3051a632ee38ce7
6587Author: Alex Deucher <alexander.deucher@amd.com>
6588Date:   Tue Jul 7 22:46:08 2015 -0400
6589
6590    Add fiji support
6591    
6592    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6593    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6594
6595commit 7a49d8728d17875206a84fd1023f62b37c4a9f51
6596Author: Michel Dänzer <michel.daenzer@amd.com>
6597Date:   Thu Aug 6 18:21:30 2015 +0900
6598
6599    On screen resize, clear the new buffer before displaying it
6600    
6601    Fixes garbage being intermittently visible during a screen resize.
6602    
6603    (Ported from radeon commit 80f3d727f93cb6efedd2b39338d2301035965fe2)
6604    
6605    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6606
6607commit 9f988bf1dc9d4cb92926c051ed8f15e9ba58a016
6608Author: Michel Dänzer <michel.daenzer@amd.com>
6609Date:   Thu Aug 6 17:50:11 2015 +0900
6610
6611    Make drmmode_copy_fb() work with glamor
6612    
6613    Needed for Xorg -background none.
6614    
6615    (Ported from radeon commit 3999bf88cdb192fe2f30b03bd2ed6f6a3f9f9057)
6616    
6617    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6618
6619commit 13cf61bd8d46b0059f26120a8902da6f86e6bd11
6620Author: Michel Dänzer <michel.daenzer@amd.com>
6621Date:   Thu Aug 6 17:46:38 2015 +0900
6622
6623    Update scanout pixmap contents before setting a mode with it
6624    
6625    This ensures the scanout pixmaps used for Option "TearFree" and Option
6626    "ShadowPrimary" have been initialized when their initial mode is set.
6627    
6628    (Ported from radeon commit a4a8cdbcc10c1c5f07485a2af9e9e81e490c3e1d)
6629    
6630    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6631
6632commit 15050aabf256c17250d1fca0bfac97fc6707b195
6633Author: Michel Dänzer <michel.daenzer@amd.com>
6634Date:   Thu Aug 6 17:37:11 2015 +0900
6635
6636    Defer initial modeset until the first BlockHandler invocation
6637    
6638    This ensures that the screen pixmap contents have been initialized when
6639    the initial modes are set.
6640    
6641    (Ported from radeon commits 673e1c7637687c74fc9bdeeeffb7ace0d04b734f and
6642    1584dc545c78e0bce8d4b4b9f26b568e2c211453)
6643    
6644    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6645
6646commit 96b5364496222f1b3afb9caad458f16f156b6c47
6647Author: Michel Dänzer <michel.daenzer@amd.com>
6648Date:   Thu Aug 6 17:32:45 2015 +0900
6649
6650    Defer initial drmmode_copy_fb call until root window creation
6651    
6652    That's late enough for acceleration to be fully initialized, but still
6653    early enough to set pScreen->canDoBGNoneRoot.
6654    
6655    (Ported from radeon commit 37874a4eeace5df04b02c8fc28f67b824e3f0f5f)
6656    
6657    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6658
6659commit 0fb45f2bba89379ba25d4c863091937b6384bda9
6660Author: Michel Dänzer <michel.daenzer@amd.com>
6661Date:   Thu Aug 6 17:25:53 2015 +0900
6662
6663    Only copy fbcon BO contents if bgNoneRoot is TRUE
6664    
6665    Otherwise, the X server will initialize the screen pixmap contents
6666    anyway.
6667    
6668    (Ported from radeon commit 39c497f3efca5ca08343b884f44c93215dcdef31)
6669    
6670    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6671
6672commit cac553d3b691d26eaad24fbdcba06097b6728a6d
6673Author: Michel Dänzer <michel.daenzer@amd.com>
6674Date:   Thu Aug 6 17:20:22 2015 +0900
6675
6676    Add .dir-locals.el file with Emacs indentation settings
6677    
6678    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6679
6680commit ea32253541959cc36a40fb0118200a8f493dc98a
6681Author: Jammy Zhou <Jammy.Zhou@amd.com>
6682Date:   Wed Jul 15 11:26:28 2015 +0800
6683
6684    Adapt to the interface change of amdgpu_bo_alloc v3
6685    
6686    The amdgpu_bo_alloc_result structure is removed from libdrm_amdgpu,
6687    and the amdgpu_bo_handle is returned directly
6688    
6689    v2: remove the va_map/unmap
6690    v3: simply the code a bit
6691    
6692    Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
6693    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6694
6695commit 3010d3259d3bc74263d526e54e02bc169c8d4b4d
6696Author: Mario Kleiner <mario.kleiner.de@gmail.com>
6697Date:   Wed Jul 15 09:54:59 2015 +0200
6698
6699    Allow/Fix use of multiple ZaphodHead outputs per x-screen.
6700    
6701    Defining multiple ZaphodHead outputs per x-screen in a
6702    multiple x-screen's per gpu configuration caused all
6703    outputs except one per x-screen to go dark, because
6704    there was a fixed mapping x-screen number -> crtc number,
6705    limiting the number of crtc's per x-screen to one.
6706    
6707    On a ZaphodHead's setup, be more clever and assign
6708    as many crtc's to a given x-screen as there are
6709    ZaphodHeads defined for that screen, assuming
6710    there are enough unused crtc's available.
6711    
6712    (Ported from radeon commit afab7839fc15722dbaa7203d00fe7f6ce5336b9d)
6713    
6714    Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
6715    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6716
6717commit 159c5d460a330cf0a24678f3c6c3e2fbaf23c571
6718Author: Dave Airlie <airlied@gmail.com>
6719Date:   Tue Jul 14 17:04:14 2015 +0900
6720
6721    Adopt for new X server dirty tracking APIs.
6722    
6723    Signed-off-by: Dave Airlie <airlied@redhat.com>
6724    
6725    (Ported from radeon commit b6d871bf299c7d0f106c07ee4d8bd3b2337f53cc)
6726    
6727    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6728
6729commit 7b3212e33cd36fb6f122774df27b56ec4e1a22b8
6730Author: Michel Dänzer <michel.daenzer@amd.com>
6731Date:   Thu Jul 9 17:57:29 2015 +0900
6732
6733    DRI2: Don't ignore rotated CRTCs in amdgpu_dri2_drawable_crtc
6734    
6735    Waiting for vblank interrupts works fine with rotated CRTCs. The only
6736    case we can't handle with rotation is page flipping, which is handled
6737    in can_exchange().
6738    
6739    This fixes gnome-shell hanging on rotation, probably because
6740    amdgpu_dri2_get_msc returned MSC/UST 0 for rotated CRTCs.
6741    
6742    Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
6743
6744commit 5587a7b43d02d6371ed4675a6260427492ebad94
6745Author: Piotr Redlewski <predlewski@gmail.com>
6746Date:   Wed Jul 8 20:59:14 2015 +0200
6747
6748    Do not try to enable already enabled CRTCs in DPMS hook
6749    
6750    (Ported from radeon commit a8ed62010d5012dfb27773595c446b217f3c00c5)
6751    
6752    Signed-off-by: Piotr Redlewski <predlewski@gmail.com>
6753    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6754
6755commit b176e63df20b345cb378fe962afd14eed43421d3
6756Author: Piotr Redlewski <predlewski@gmail.com>
6757Date:   Sun Jun 28 23:20:22 2015 +0200
6758
6759    Enable/disable CRTCs in DPMS hook
6760    
6761    The CRTC DPMS hook hasn't enabled or disabled hardware CRTCs.
6762    
6763    (Based on radeon commit 48e5be1d5a82c1e0ccf6b7d52924c92a630e52a8)
6764    
6765    Signed-off-by: Piotr Redlewski <predlewski@gmail.com>
6766    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6767
6768commit d94d4a609c593b46ab718544ee24c25530732f22
6769Author: Michel Dänzer <michel.daenzer@amd.com>
6770Date:   Thu Jun 11 17:49:33 2015 +0900
6771
6772    Handle CRTC DPMS from output DPMS hooks
6773    
6774    This fixes at least two issues:
6775    
6776    The CRTC DPMS hook isn't called after a modeset, so the vertical blank
6777    interrupt emulation code considered the CRTC disabled after a modeset. As
6778    a side effect, page flipping was no longer used after a modeset.
6779    
6780    This change also makes sure the vertical blank interrupt emulation code
6781    runs before the hardware CRTC is disabled and after it's enabled from the
6782    output DPMS hook. The wrong order could cause gnome-shell to hang after
6783    a suspend/resume and/or DPMS off/on cycle.
6784    
6785    (Ported from radeon commit c4ae0e2cbcc0e2ebf9f13ee92d59b5120254a1dc)
6786    
6787    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6788
6789commit c57da33308a81fa575179238a0415abcb8b34908
6790Author: Michel Dänzer <michel.daenzer@amd.com>
6791Date:   Tue Jun 9 12:39:21 2015 +0900
6792
6793    Add Option "TearFree"
6794    
6795    Avoids tearing by flipping between two scanout BOs per (non-rotated) CRTC
6796    
6797    (Cherry picked from radeon commit 43159ef400c3b18b9f4d3e6fa1c4aef2d60d38fe)
6798    
6799    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6800
6801commit bd0aca09770543fa77b934e1728a832c9c2dc90c
6802Author: Michel Dänzer <michel.daenzer@amd.com>
6803Date:   Tue Jun 9 11:57:59 2015 +0900
6804
6805    glamor: Remove the stride member of struct radeon_pixmap
6806    
6807    Its value was always the same as that of the PixmapRec devKind member.
6808    
6809    (Cherry picked from radeon commit ed401f5b4f07375db17ff05e294907ec95fc946d)
6810    
6811    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6812
6813commit e5dfb6c2667994701ee451bf82c4142cbf343405
6814Author: Michel Dänzer <michel.daenzer@amd.com>
6815Date:   Wed Mar 18 16:23:24 2015 +0900
6816
6817    glamor: Add Option "ShadowPrimary"
6818    
6819    When this option is enabled, most pixmaps (including the screen pixmap)
6820    are allocated in system RAM and mostly accessed by the CPU. Changed areas
6821    of the screen pixmap are copied to dedicated per-CRTC scanout pixmaps
6822    regularly, triggered by the vblank interrupt.
6823    
6824    (Cherry picked from radeon commits ae92d1765fa370a8d94c2856ad6c45d273ec3c69
6825    and 1af044d7eee211fd4b248c236280274a68334da5)
6826    
6827    [ Michel Dänzer: Additional adjustements for the amdgpu driver ]
6828    
6829    Signed-off-by: Darren Powell <darren.powell@amd.com>
6830    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6831
6832commit 08da7b691d556735dcc22b1351c886a5079dfd3f
6833Author: Michel Dänzer <michel.daenzer@amd.com>
6834Date:   Wed Jun 10 16:21:21 2015 +0900
6835
6836    Add AMDGPU_CREATE_PIXMAP_GTT flag
6837    
6838    When set, the pixmap memory is allocated in GTT instead of in VRAM.
6839    
6840    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6841
6842commit 59bdb578266a2637fda8d11168b9332f6845157c
6843Author: Michel Dänzer <michel.daenzer@amd.com>
6844Date:   Wed Jun 10 12:04:29 2015 +0900
6845
6846    Factor out amdgpu_bo_get_handle helper
6847    
6848    The helper transparently handles BOs allocated from GBM and
6849    libdrm_amdgpu.
6850    
6851    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6852
6853commit 9a6eff506b6804481a6e8139d362355fc5ffdbfb
6854Author: Michel Dänzer <michel.daenzer@amd.com>
6855Date:   Wed Jun 10 12:10:24 2015 +0900
6856
6857    Set AMDGPU_BO_FLAGS_GBM for cursor buffers allocated from GBM
6858    
6859    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6860
6861commit d3ea8a69b02b308f8f23662be6e0c7bd81c1a2c9
6862Author: Michel Dänzer <michel.daenzer@amd.com>
6863Date:   Fri May 29 18:53:50 2015 +0900
6864
6865    glamor: Add wrappers for the X server rendering hooks
6866    
6867    They can choose between using the GPU or CPU for the operation.
6868    
6869    (cherry picked from radeon commits eea79472a84672ee4dc7adc4487cec6a4037048a
6870    and e58fc380ccf2a581d28f041fd74b963626ca5404)
6871    
6872    Signed-off-by: Darren Powell <darren.powell@amd.com>
6873    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6874
6875commit 895e4d73d5f042afa13065b64a78f5625ecb5612
6876Author: Michel Dänzer <michel.daenzer@amd.com>
6877Date:   Fri May 29 18:53:40 2015 +0900
6878
6879    glamor: Remove unused function radeon_glamor_pixmap_is_offscreen
6880    
6881    (cherry picked from radeon commit 2fa021f77372ca93375a3d13a0c43a9089674899)
6882    
6883    Signed-off-by: Darren Powell <darren.powell@amd.com>
6884    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6885
6886commit cc5671c587d575b2a7d2802d17e8af0384a2cea5
6887Author: Michel Dänzer <michel.daenzer@amd.com>
6888Date:   Fri May 29 18:53:36 2015 +0900
6889
6890    Add RADEON_CREATE_PIXMAP_SCANOUT flag
6891    
6892    It means that the pixmap is used for scanout exclusively.
6893    
6894    (cherry picked from radeon commit e96349ba6281fd18b8bf9c76629128276b065e6c)
6895    
6896    Signed-off-by: Darren Powell <darren.powell@amd.com>
6897    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6898
6899commit 21834953ee64920438dee1c94f3a1e53dc58b82d
6900Author: Michel Dänzer <michel.daenzer@amd.com>
6901Date:   Fri May 29 18:53:32 2015 +0900
6902
6903    Split out struct drmmode_scanout for rotation shadow buffer information
6904    
6905    Will be used for other kinds of dedicated scanout buffers as well.
6906    
6907    (cherry picked from radeon commit 9be7dd382e86d2b804de81d4e2af7431b2e16843)
6908    
6909    Signed-off-by: Darren Powell <darren.powell@amd.com>
6910    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6911
6912commit e4e4f7b83e7d7e43993fa0793d666d6dec2980f8
6913Author: Michel Dänzer <michel.daenzer@amd.com>
6914Date:   Fri May 29 18:53:21 2015 +0900
6915
6916    Rename scanout_pixmap_x field to prime_pixmap_x
6917    
6918    To avoid confusion with upcoming changes.
6919    
6920    (cherry picked from radeon commit c32b0530302739f6512755bccf281c2300617376)
6921    
6922    Signed-off-by: Darren Powell <darren.powell@amd.com>
6923    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6924
6925commit edfff6b1a3a19953644b8052b30076f76f7dc337
6926Author: Michel Dänzer <michel.daenzer@amd.com>
6927Date:   Tue Jun 2 17:04:21 2015 +0900
6928
6929    Add DRI3 support
6930    
6931    Must be enabled with
6932    
6933            Option  "DRI3"
6934    
6935    in xorg.conf.
6936    
6937    (Cherry picked from radeon commits 64e1e4dbdd3caee6f5d8f6b6c094b4533fa94953,
6938    694e04720b886060fe3eefdce59741f218c8269f,
6939    f940fd741b15f03393037c5bb904cd74f012de9d,
6940    fcd37f65f485291084c174666bd605e215bf1398,
6941    4b0997e56dec0053cb2cb793e0f4ae35055ff7e6,
6942    f68d9b5ba0c91a725b5eec9386c61bea8824c299 and
6943    98fb4199e63fedd4607cddee64bf602d6398df81)
6944    
6945    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6946
6947commit d295b5b3310bc5c23d232c4be4170165a057c090
6948Author: Michel Dänzer <michel.daenzer@amd.com>
6949Date:   Tue Jun 2 17:01:06 2015 +0900
6950
6951    amdgpu_set_shared_pixmap_backing: Add support for GBM / glamor v2
6952    
6953    v2: Initialize reference count of imported GBM BOs to 1, fixes leaking
6954        them.
6955    
6956    Reviewed-by: Alex Deucher <alexander.deucher@amd.com> [v1]
6957
6958commit 03ad0fa0185d215f7d4234006e04406af1ab63ca
6959Author: Michel Dänzer <michel.daenzer@amd.com>
6960Date:   Fri May 29 18:53:45 2015 +0900
6961
6962    glamor: Add radeon_pixmap parameter to radeon_glamor_create_textured_pixmap
6963    
6964    (cherry picked from radeon commit 051d46382656ffc3e6cac1aab3aee7efdf5b623a)
6965    
6966    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6967    Signed-off-by: Darren Powell <darren.powell@amd.com>
6968    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6969
6970commit fafb8c6ac925ad16073e5a60dbf60d5add11bb25
6971Author: Michel Dänzer <michel.daenzer@amd.com>
6972Date:   Tue Jun 2 17:00:46 2015 +0900
6973
6974    Add support for the Present extension
6975    
6976    (Cherry picked from radeon commits 3c65fb849e1ba9fb6454bcaa55b696548902f3fc,
6977    694e04720b886060fe3eefdce59741f218c8269f,
6978    e3be8b0a8cf484ff16597413a6172788178e80c8,
6979    80eede245d1eda27eaba108b0761a24bfd69aff6 and
6980    5f82a720374c9c1caebb42bfbeea1f0cf8847d28)
6981    
6982    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6983
6984commit 5b51f0e7e396ea946ef85429a8e9be5c1d5c39c3
6985Author: Michel Dänzer <michel.daenzer@amd.com>
6986Date:   Tue Jun 2 16:58:27 2015 +0900
6987
6988    Add support for SYNC extension fences
6989    
6990    (Cherry picked from radeon commits 8fc9a241ab59ffbcdc178d6415332c88a54e85fe,
6991    af1862a37570fa512a525ab47d72b30400d2e2d6,
6992    aa7825eb29cdf6ac9d7b28ad18186807ff384687,
6993    af6076241c0d322b295a4e898407ae2472bd8eb4 and
6994    d64a13ebe0ecd241ee3260dbffd8f4a01e254183)
6995    
6996    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6997
6998commit a30060d22a42688371166a861e5050fdd5ce8f7b
6999Author: Michel Dänzer <michel.daenzer@amd.com>
7000Date:   Mon Jun 1 18:33:33 2015 +0900
7001
7002    DRI2: Split out helper for getting UST and MSC of a specific CRTC
7003    
7004    (Cherry picked from radeon commits 76c2923ac5c7230a8b2f9f8329c308d28b44d9c0
7005    and d7c82731a8bf3d381bc571b94d80d9bb2dd6e40d)
7006    
7007    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
7008
7009commit 9a554a683b970660b467566cf05b921393705a20
7010Author: Michel Dänzer <michel.daenzer@amd.com>
7011Date:   Mon Jun 1 17:32:56 2015 +0900
7012
7013    DRI2: Use helper functions for DRM event queue management
7014    
7015    This is mostly in preparation for Present support, but it also simplifies
7016    the DRI2 specific code a little.
7017    
7018    (Cherry picked from radeon commit 6c3a721cde9317233072b573f9502348dcd21b16)
7019    
7020    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
7021
7022commit e6164ad340f65ff8ee6f6a6934302591af875a43
7023Author: Michel Dänzer <michel.daenzer@amd.com>
7024Date:   Mon Jun 1 17:29:30 2015 +0900
7025
7026    DRI2: Move amdgpu_dri2_flip_event_handler
7027    
7028    In preparation for the next change, which will modify it to a static
7029    function which needs to be in the new place. No functional change.
7030    
7031    (Cherry picked from radeon commit c3fa22a479e61d1899fa9d327d9c4e2a7f64b0c1)
7032    
7033    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
7034
7035commit 5419e13da7ec3cffd43510ac88106076ea81124c
7036Author: Michel Dänzer <michel.daenzer@amd.com>
7037Date:   Mon Jun 1 17:25:23 2015 +0900
7038
7039    DRI2: Remove superfluous assignments to *_info->frame
7040    
7041    That field is only used for page flipping.
7042    
7043    (Cherry picked from radeon commit 65045112fdc8a9fa36e0e00f46739a6152b775ff)
7044    
7045    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
7046
7047commit f4c2b640be17ab1f8694b35d4cb74ccfce3d1385
7048Author: Michel Dänzer <michel.daenzer@amd.com>
7049Date:   Mon Jun 1 17:11:30 2015 +0900
7050
7051    DRI2: Simplify blit fallback handling for scheduled swaps
7052    
7053    Also use amdgpu_dri2_schedule_event when possible.
7054    
7055    (Cherry picked from radeon commit ad27f16f308079d06a2b1c788b3cb0947531253a)
7056    
7057    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
7058
7059commit 13a7284e061081a12180b375d66f9b8394cf8753
7060Author: Michel Dänzer <michel.daenzer@amd.com>
7061Date:   Mon Jun 1 16:58:00 2015 +0900
7062
7063    Add DRM event queue helpers
7064    
7065    (Cherry picked from radeon commit b4af8a327ed8420f0ff4ea0f113f4a59406ed4d3)
7066    
7067    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
7068
7069commit eb7c6958dff5cb8b0aad02d1d5673483dae4e3d4
7070Author: Michel Dänzer <michel.daenzer@amd.com>
7071Date:   Mon Jun 1 16:52:40 2015 +0900
7072
7073    Move xorg_list backwards compatibility to new amdgpu_list.h header
7074    
7075    (Cherry picked from radeon commits 7c3470f4b659206ed23f761948936ede3a2dba3d
7076    and 4a98f60117c387a228d5cbaadb6e298fb4e865df)
7077    
7078    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
7079
7080commit 69d161a54b4ea0d8033a0873210f2857c91ceae8
7081Author: Michel Dänzer <michel.daenzer@amd.com>
7082Date:   Mon Jun 1 16:46:30 2015 +0900
7083
7084    Require at least xserver 1.8
7085    
7086    So we can rely on the list.h header.
7087    
7088    xserver 1.8 was released in April 2010.
7089    
7090    (Cherry picked from radeon commit 7388d0b6c54b9d536fdb161e3aa61b326627b939)
7091    
7092    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
7093
7094commit 7363156b7c077def2aaf9a4573410817f5e92610
7095Author: Jammy Zhou <Jammy.Zhou@amd.com>
7096Date:   Sat May 30 00:31:44 2015 +0800
7097
7098    Check GBM_BO_USE_LINEAR correctly v2
7099    
7100    v2: remove the check for gbm.h
7101    
7102    Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
7103    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
7104    Reviewed-by: Alex Deucher <alexander.deucher@amd.com> [v1]
7105
7106commit e75e9f39c95b8b563885882bf29d776861cd6ca3
7107Author: Brian Paterni <bpaterni@gmail.com>
7108Date:   Sat May 16 15:00:14 2015 -0500
7109
7110    extend conditional group GBM_BO_USE_LINEAR
7111 over both usages
7112    
7113    Fixes 'GBM_BO_USE_LINEAR' undeclared error when compiling against older
7114    libgbm
7115    
7116    Signed-off-by: Brian Paterni <bpaterni@gmail.com>
7117    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
7118
7119commit 37b389ee9e13f065fb080d1269f9a6aed616c210
7120Author: Michel Dänzer <michel.daenzer@amd.com>
7121Date:   Fri May 15 10:24:24 2015 +0900
7122
7123    glamor: Deal with glamor_glyphs_init being removed from xserver
7124    
7125    Port of radeon commit 818c180c8932233b214a35ba0647af82f7bcec3d.
7126
7127commit 22917044e419023d487f816e0d4f094695b55fa6
7128Author: Alex Deucher <alexander.deucher@amd.com>
7129Date:   Tue May 12 13:29:00 2015 -0400
7130
7131    add some new tonga pci ids
7132    
7133    Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
7134    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
7135    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7136
7137commit e71be4a22799ec4c02051b75c5fed16a3a953c7b
7138Author: Alex Deucher <alexander.deucher@amd.com>
7139Date:   Tue May 12 13:25:02 2015 -0400
7140
7141    add new bonaire pci id
7142    
7143    Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
7144    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
7145    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7146
7147commit b795d1e137b34a314b4b41d025d96ca9251d6bbe
7148Author: Michel Dänzer <michel.daenzer@amd.com>
7149Date:   Thu May 7 18:05:32 2015 +0900
7150
7151    Link against libgbm
7152    
7153    Fixes unresolved symbol "gbm_create_device".
7154    
7155    Reported-and-Tested-by: Brian Paterni <bpaterni@gmail.com>
7156
7157commit 7e3b27390a03e423772717fca3c757cf5cc4d7b4
7158Author: Jammy Zhou <Jammy.Zhou@amd.com>
7159Date:   Tue May 12 05:34:49 2015 +0800
7160
7161    Disable tiling for PRIME shared pixmap
7162    
7163    Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
7164    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
7165
7166commit 4840f918ab7d61b4f55bcdff3afdac7b34e45d88
7167Author: Jammy Zhou <Jammy.Zhou@amd.com>
7168Date:   Tue May 12 00:09:42 2015 +0800
7169
7170    Use gbm_bo_get_fd to get DMA_BUF fd
7171    
7172    When GBM is used for buffer allocation, gbm_bo_get_fd should be
7173    used to get the DMA_BUF fd.
7174    
7175    Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
7176    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
7177
7178commit b69c5b3cc2d7da3bb85acd687db9b5a021258914
7179Author: Marek Olšák <marek.olsak@amd.com>
7180Date:   Fri Mar 27 22:56:37 2015 +0100
7181
7182    ddx: use amdgpu_query_crtc_from_id
7183    
7184    Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
7185    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
7186
7187commit 91aa694a7da7b690a3e5d59a1a8fa42cbb3ebda4
7188Author: Marek Olšák <marek.olsak@amd.com>
7189Date:   Fri Mar 27 22:22:35 2015 +0100
7190
7191    ddx: remove AMDGPUIsAccelWorking
7192    
7193    libdrm fails to initialize without acceleration, so this always returns true.
7194    
7195    Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
7196    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
7197
7198commit afc33040f862e2e13ba7f132bb363cf16fb6a1d7
7199Author: Marek Olšák <marek.olsak@amd.com>
7200Date:   Fri Mar 27 22:14:37 2015 +0100
7201
7202    ddx: enable acceleration by default on Hawaii
7203    
7204    Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
7205    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
7206
7207commit 8a34a8149860ac15e83ccdbd8d9a527d8d3e5997
7208Author: Jammy Zhou <Jammy.Zhou@amd.com>
7209Date:   Mon Apr 27 14:27:34 2015 +0800
7210
7211    Remove throttling from amdgpu_dri2_copy_region2
7212    
7213    Throttling should be handled by the client-side drivers.
7214    
7215    Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
7216    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
7217
7218commit 9f61a5506b1028d30c99cb5866abcec35d5c9cb8
7219Author: Alex Deucher <alexander.deucher@amd.com>
7220Date:   Fri Apr 24 11:47:32 2015 -0400
7221
7222    fixup README
7223    
7224    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
7225    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7226
7227commit a49ad11af18dad74506c2f69d7bbda07b67529d2
7228Author: Michel Dänzer <michel.daenzer@amd.com>
7229Date:   Fri Apr 24 09:57:27 2015 +0900
7230
7231    Add 10-amdgpu.conf xorg.conf.d snippet
7232    
7233    This instructs Xorg >= 1.16 to try loading the amdgpu driver for devices
7234    managed by the amdgpu kernel driver.
7235    
7236    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
7237
7238commit fa4aed6cf56048a6520eac57514e38db3685cd15
7239Author: Michel Dänzer <michel.daenzer@amd.com>
7240Date:   Fri Apr 24 09:53:33 2015 +0900
7241
7242    Document Option "AccelMethod" in the manpage
7243    
7244    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
7245
7246commit fe4a4b6836252cc8caa642a32fb3910c8590076b
7247Author: Michel Dänzer <michel.daenzer@amd.com>
7248Date:   Fri Apr 24 09:52:04 2015 +0900
7249
7250    Fix build when gbm.h doesn't define GBM_BO_USE_LINEAR
7251    
7252    Option "AccelMethod" "none" is ignored in that case.
7253    
7254    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
7255
7256commit 84df3e7114fb71b5e10c1a6f7869ab1505fef5b0
7257Author: Michel Dänzer <michel.daenzer@amd.com>
7258Date:   Fri Apr 24 09:51:22 2015 +0900
7259
7260    glamor: Handle GLAMOR_* flags removed from xserver
7261    
7262    The behaviour is the same as when the removed flags were passed in.
7263    
7264    (cherry picked from radeon commit b16609b453bb1a181198cf27778f205dc23fb642)
7265    
7266    Reviewed-by: Christian König <christian.koenig@amd.com>
7267
7268commit b947f4bf4efa8841bea4d306d0b0d21c7511c724
7269Author: Michel Dänzer <michel.daenzer@amd.com>
7270Date:   Fri Apr 24 09:50:51 2015 +0900
7271
7272    Move #include "radeon_glamor.h" from amdgpu_drv.h to where it's needed
7273    
7274    (cherry picked from radeon commit 4b8adebb80158bcf81ada83bb88517febe931b12)
7275    
7276    Reviewed-by: Christian König <christian.koenig@amd.com>
7277
7278commit ff62bf6e9dce55dbde92baf4fa30193c7344ee8a
7279Author: Alex Deucher <alexander.deucher@amd.com>
7280Date:   Mon Apr 20 11:57:52 2015 -0400
7281
7282    amdgpu: add the xf86-video-amdgpu driver
7283    
7284    This adds the new xf86-video-amdgpu driver for
7285    newer AMD GPUs.
7286    
7287    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7288