From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/i915: release cursor when crtc is destroyed Date: Wed, 29 May 2013 14:16:15 +0200 Message-ID: <20130529121615.GK15743@phenom.ffwll.local> References: <1366727228-6207-1-git-send-email-mika.kuoppala@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mail-ea0-f177.google.com (mail-ea0-f177.google.com [209.85.215.177]) by gabe.freedesktop.org (Postfix) with ESMTP id B9778E5CCB for ; Wed, 29 May 2013 05:16:19 -0700 (PDT) Received: by mail-ea0-f177.google.com with SMTP id q14so5217232eaj.36 for ; Wed, 29 May 2013 05:16:19 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1366727228-6207-1-git-send-email-mika.kuoppala@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Mika Kuoppala Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Tue, Apr 23, 2013 at 05:27:08PM +0300, Mika Kuoppala wrote: > crtc is holding a reference to a cursor bo and it needs > to be released when crtc is destroyed so that we don't leak > the cursor bo. > = > v2: Enhance set and move cursor so that disabled > cursor is handled correctly (Ville Syrj=E4l=E4) > = > Signed-off-by: Mika Kuoppala I've wondered a bit whether we shouldn't shove the last part into crtc_off, but that would constitute a bit an api change. Queued for -next, thanks for the patch. -Daniel > --- > drivers/gpu/drm/i915/intel_display.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > = > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/= intel_display.c > index 74156e2..f5cdd91 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -6554,7 +6554,7 @@ static int intel_crtc_cursor_set(struct drm_crtc *c= rtc, > intel_crtc->cursor_width =3D width; > intel_crtc->cursor_height =3D height; > = > - intel_crtc_update_cursor(crtc, true); > + intel_crtc_update_cursor(crtc, intel_crtc->cursor_bo !=3D NULL); > = > return 0; > fail_unpin: > @@ -6573,7 +6573,7 @@ static int intel_crtc_cursor_move(struct drm_crtc *= crtc, int x, int y) > intel_crtc->cursor_x =3D x; > intel_crtc->cursor_y =3D y; > = > - intel_crtc_update_cursor(crtc, true); > + intel_crtc_update_cursor(crtc, intel_crtc->cursor_bo !=3D NULL); > = > return 0; > } > @@ -7087,6 +7087,8 @@ static void intel_crtc_destroy(struct drm_crtc *crt= c) > kfree(work); > } > = > + intel_crtc_cursor_set(crtc, NULL, 0, 0, 0); > + > drm_crtc_cleanup(crtc); > = > kfree(intel_crtc); > -- = > 1.7.9.5 > = > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- = Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch