From: Michel Dänzer <michel.daen...@amd.com>

Preparation for the following fix, no functional change intended.

Signed-off-by: Michel Dänzer <michel.daen...@amd.com>
---
 src/drmmode_display.c | 31 +++++++++++++++++++------------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 793027d50..cf1e5d1f1 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -1739,6 +1739,22 @@ static void 
drmmode_output_create_resources(xf86OutputPtr output)
        }
 }
 
+static void
+drmmode_output_set_tear_free(AMDGPUEntPtr pAMDGPUEnt,
+                            drmmode_output_private_ptr drmmode_output,
+                            xf86CrtcPtr crtc, int tear_free)
+{
+       if (drmmode_output->tear_free == tear_free)
+               return;
+
+       drmmode_output->tear_free = tear_free;
+
+       if (crtc) {
+               drmmode_set_mode_major(crtc, &crtc->mode, crtc->rotation,
+                                      crtc->x, crtc->y);
+       }
+}
+
 static Bool
 drmmode_output_set_property(xf86OutputPtr output, Atom property,
                            RRPropertyValuePtr value)
@@ -1782,18 +1798,9 @@ drmmode_output_set_property(xf86OutputPtr output, Atom 
property,
                        for (j = 0; j < p->mode_prop->count_enums; j++) {
                                if (!strcmp(p->mode_prop->enums[j].name, name)) 
{
                                        if (i == (drmmode_output->num_props - 
1)) {
-                                               if (drmmode_output->tear_free 
!= j) {
-                                                       xf86CrtcPtr crtc = 
output->crtc;
-
-                                                       
drmmode_output->tear_free = j;
-                                                       if (crtc) {
-                                                               
drmmode_set_mode_major(crtc,
-                                                                               
       &crtc->mode,
-                                                                               
       crtc->rotation,
-                                                                               
       crtc->x,
-                                                                               
       crtc->y);
-                                                       }
-                                               }
+                                               
drmmode_output_set_tear_free(pAMDGPUEnt,
+                                                                            
drmmode_output,
+                                                                            
output->crtc, j);
                                        } else {
                                                
drmModeConnectorSetProperty(pAMDGPUEnt->fd,
                                                                            
drmmode_output->output_id,
-- 
2.17.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to