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