All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH xf86-video-ati 0/3] Misc fixes
@ 2017-02-21  9:03 Michel Dänzer
       [not found] ` <20170221090340.10647-1-michel-otUistvHUpPR7s880joybQ@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Michel Dänzer @ 2017-02-21  9:03 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

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

Miscellaneous fixes for minor problems I stumbled across while working
on the previous series.

Michel Dänzer (3):
  Use drmmode_crtc_scanout_free in drmmode_fini
  present: Only call drmModeRmFB after setting modes for unflip
  present: Wait for screen pixmap BO idle before setting modes for
    unflip

 src/drmmode_display.c | 9 ++-------
 src/radeon_present.c  | 6 +++++-
 2 files changed, 7 insertions(+), 8 deletions(-)

-- 
2.11.0

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH xf86-video-ati 1/3] Use drmmode_crtc_scanout_free in drmmode_fini
       [not found] ` <20170221090340.10647-1-michel-otUistvHUpPR7s880joybQ@public.gmane.org>
@ 2017-02-21  9:03   ` Michel Dänzer
  2017-02-21  9:03   ` [PATCH xf86-video-ati 2/3] present: Only call drmModeRmFB after setting modes for unflip Michel Dänzer
  2017-02-21  9:03   ` [PATCH xf86-video-ati 3/3] present: Wait for screen pixmap BO idle before " Michel Dänzer
  2 siblings, 0 replies; 5+ messages in thread
From: Michel Dänzer @ 2017-02-21  9:03 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

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

We were leaking drmmode_crtc->scanout_damage, which caused trouble on
server reset. Fixes server reset with active separate scanout pixmaps.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
---
 src/drmmode_display.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 5b0236da4..fd22a19ba 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -2618,13 +2618,8 @@ void drmmode_fini(ScrnInfoPtr pScrn, drmmode_ptr drmmode)
 #endif
 	}
 
-	for (c = 0; c < config->num_crtc; c++) {
-		xf86CrtcPtr crtc = config->crtc[c];
-		drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
-
-		drmmode_crtc_scanout_destroy(&info->drmmode, &drmmode_crtc->scanout[0]);
-		drmmode_crtc_scanout_destroy(&info->drmmode, &drmmode_crtc->scanout[1]);
-	}
+	for (c = 0; c < config->num_crtc; c++)
+		drmmode_crtc_scanout_free(config->crtc[c]->driver_private);
 }
 
 
-- 
2.11.0

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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH xf86-video-ati 2/3] present: Only call drmModeRmFB after setting modes for unflip
       [not found] ` <20170221090340.10647-1-michel-otUistvHUpPR7s880joybQ@public.gmane.org>
  2017-02-21  9:03   ` [PATCH xf86-video-ati 1/3] Use drmmode_crtc_scanout_free in drmmode_fini Michel Dänzer
@ 2017-02-21  9:03   ` Michel Dänzer
  2017-02-21  9:03   ` [PATCH xf86-video-ati 3/3] present: Wait for screen pixmap BO idle before " Michel Dänzer
  2 siblings, 0 replies; 5+ messages in thread
From: Michel Dänzer @ 2017-02-21  9:03 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

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

Fixes display intermittently blanking when a modeset is used for unflip.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
---
 src/radeon_present.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/radeon_present.c b/src/radeon_present.c
index 29800fec0..b36e29b19 100644
--- a/src/radeon_present.c
+++ b/src/radeon_present.c
@@ -371,6 +371,7 @@ radeon_present_unflip(ScreenPtr screen, uint64_t event_id)
     struct radeon_present_vblank_event *event;
     PixmapPtr pixmap = screen->GetScreenPixmap(screen);
     uint32_t handle;
+    int old_fb_id;
     int i;
 
     if (!radeon_present_check_unflip(scrn))
@@ -400,7 +401,7 @@ modeset:
     /* info->drmmode.fb_id still points to the FB for the last flipped BO.
      * Clear it, drmmode_set_mode_major will re-create it
      */
-    drmModeRmFB(info->drmmode.fd, info->drmmode.fb_id);
+    old_fb_id = info->drmmode.fb_id;
     info->drmmode.fb_id = 0;
 
     for (i = 0; i < config->num_crtc; i++) {
@@ -417,6 +418,7 @@ modeset:
 	    drmmode_crtc->need_modeset = TRUE;
     }
 
+    drmModeRmFB(info->drmmode.fd, old_fb_id);
     present_event_notify(event_id, 0, 0);
 
     info->drmmode.present_flipping = FALSE;
-- 
2.11.0

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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH xf86-video-ati 3/3] present: Wait for screen pixmap BO idle before setting modes for unflip
       [not found] ` <20170221090340.10647-1-michel-otUistvHUpPR7s880joybQ@public.gmane.org>
  2017-02-21  9:03   ` [PATCH xf86-video-ati 1/3] Use drmmode_crtc_scanout_free in drmmode_fini Michel Dänzer
  2017-02-21  9:03   ` [PATCH xf86-video-ati 2/3] present: Only call drmModeRmFB after setting modes for unflip Michel Dänzer
@ 2017-02-21  9:03   ` Michel Dänzer
       [not found]     ` <20170221090340.10647-4-michel-otUistvHUpPR7s880joybQ@public.gmane.org>
  2 siblings, 1 reply; 5+ messages in thread
From: Michel Dänzer @ 2017-02-21  9:03 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

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

To make sure the screen pixmap contents are up to date when it starts
being scanned out.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
---
 src/radeon_present.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/radeon_present.c b/src/radeon_present.c
index b36e29b19..1b0ddcb82 100644
--- a/src/radeon_present.c
+++ b/src/radeon_present.c
@@ -404,6 +404,8 @@ modeset:
     old_fb_id = info->drmmode.fb_id;
     info->drmmode.fb_id = 0;
 
+    radeon_cs_flush_indirect(scrn);
+    radeon_bo_wait(info->front_bo);
     for (i = 0; i < config->num_crtc; i++) {
 	xf86CrtcPtr crtc = config->crtc[i];
 	drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
-- 
2.11.0

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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH xf86-video-ati 3/3] present: Wait for screen pixmap BO idle before setting modes for unflip
       [not found]     ` <20170221090340.10647-4-michel-otUistvHUpPR7s880joybQ@public.gmane.org>
@ 2017-02-21 21:08       ` Alex Deucher
  0 siblings, 0 replies; 5+ messages in thread
From: Alex Deucher @ 2017-02-21 21:08 UTC (permalink / raw)
  To: Michel Dänzer; +Cc: amd-gfx list

On Tue, Feb 21, 2017 at 4:03 AM, Michel Dänzer <michel@daenzer.net> wrote:
> From: Michel Dänzer <michel.daenzer@amd.com>
>
> To make sure the screen pixmap contents are up to date when it starts
> being scanned out.
>
> Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>

Series is:
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  src/radeon_present.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/src/radeon_present.c b/src/radeon_present.c
> index b36e29b19..1b0ddcb82 100644
> --- a/src/radeon_present.c
> +++ b/src/radeon_present.c
> @@ -404,6 +404,8 @@ modeset:
>      old_fb_id = info->drmmode.fb_id;
>      info->drmmode.fb_id = 0;
>
> +    radeon_cs_flush_indirect(scrn);
> +    radeon_bo_wait(info->front_bo);
>      for (i = 0; i < config->num_crtc; i++) {
>         xf86CrtcPtr crtc = config->crtc[i];
>         drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
> --
> 2.11.0
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-02-21 21:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-21  9:03 [PATCH xf86-video-ati 0/3] Misc fixes Michel Dänzer
     [not found] ` <20170221090340.10647-1-michel-otUistvHUpPR7s880joybQ@public.gmane.org>
2017-02-21  9:03   ` [PATCH xf86-video-ati 1/3] Use drmmode_crtc_scanout_free in drmmode_fini Michel Dänzer
2017-02-21  9:03   ` [PATCH xf86-video-ati 2/3] present: Only call drmModeRmFB after setting modes for unflip Michel Dänzer
2017-02-21  9:03   ` [PATCH xf86-video-ati 3/3] present: Wait for screen pixmap BO idle before " Michel Dänzer
     [not found]     ` <20170221090340.10647-4-michel-otUistvHUpPR7s880joybQ@public.gmane.org>
2017-02-21 21:08       ` Alex Deucher

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.