From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 64B3DC43381 for ; Fri, 1 Mar 2019 14:08:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3F86B20850 for ; Fri, 1 Mar 2019 14:08:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728212AbfCAOIY (ORCPT ); Fri, 1 Mar 2019 09:08:24 -0500 Received: from mga09.intel.com ([134.134.136.24]:53248 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727418AbfCAOIX (ORCPT ); Fri, 1 Mar 2019 09:08:23 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Mar 2019 06:08:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,427,1544515200"; d="scan'208";a="278934109" Received: from elsaidmo-mobl2.ger.corp.intel.com (HELO [10.252.61.31]) ([10.252.61.31]) by orsmga004.jf.intel.com with ESMTP; 01 Mar 2019 06:08:21 -0800 Subject: Re: [PATCH 12/17] drm/rcar-du: Convert to using __drm_atomic_helper_crtc_reset() for reset. To: Laurent Pinchart Cc: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, Kieran Bingham , linux-renesas-soc@vger.kernel.org References: <20190301125627.7285-1-maarten.lankhorst@linux.intel.com> <20190301125627.7285-13-maarten.lankhorst@linux.intel.com> <20190301131358.GC32244@pendragon.ideasonboard.com> From: Maarten Lankhorst Message-ID: <93a242fe-41fc-bbe5-0ccd-f26eb729fe85@linux.intel.com> Date: Fri, 1 Mar 2019 15:08:20 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <20190301131358.GC32244@pendragon.ideasonboard.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US Sender: linux-renesas-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-renesas-soc@vger.kernel.org Op 01-03-2019 om 14:13 schreef Laurent Pinchart: > Hi Maarten, > > Thank you for the patch. > > On Fri, Mar 01, 2019 at 01:56:22PM +0100, Maarten Lankhorst wrote: >> Convert rcar-du to using __drm_atomic_helper_crtc_reset(), instead of >> writing its own version. Instead of open coding destroy_state(), call >> it directly for freeing the old state. > I don't think the second sentence applies to this patch. > >> Signed-off-by: Maarten Lankhorst >> Cc: Laurent Pinchart >> Cc: Kieran Bingham >> Cc: linux-renesas-soc@vger.kernel.org >> --- >> drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 11 +++-------- >> 1 file changed, 3 insertions(+), 8 deletions(-) >> >> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c >> index 4cdea14d552f..7766551e67fc 100644 >> --- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c >> +++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c >> @@ -891,22 +891,17 @@ static void rcar_du_crtc_cleanup(struct drm_crtc *crtc) >> >> static void rcar_du_crtc_reset(struct drm_crtc *crtc) >> { >> - struct rcar_du_crtc_state *state; >> + struct rcar_du_crtc_state *state = kzalloc(sizeof(*state), GFP_KERNEL); >> >> - if (crtc->state) { >> + if (crtc->state) >> rcar_du_crtc_atomic_destroy_state(crtc, crtc->state); >> - crtc->state = NULL; >> - } >> >> - state = kzalloc(sizeof(*state), GFP_KERNEL); >> + __drm_atomic_helper_crtc_reset(crtc, &state->state); > state may be NULL here if the above kzalloc() failed. Let's keep the > original order of the function, and simply call > __drm_atomic_helper_crtc_reset() after the NULL check below. There were 10 different ways crtc was implemented, I felt it was good to settle on one. We don't handle during reset at all, would need to start propagating this first before we should handle errors, imho. Looking more closely, it's the same way that errors in rcar_du_plane_reset() are handled. :) Cheers, ~Maarten From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH 12/17] drm/rcar-du: Convert to using __drm_atomic_helper_crtc_reset() for reset. Date: Fri, 1 Mar 2019 15:08:20 +0100 Message-ID: <93a242fe-41fc-bbe5-0ccd-f26eb729fe85@linux.intel.com> References: <20190301125627.7285-1-maarten.lankhorst@linux.intel.com> <20190301125627.7285-13-maarten.lankhorst@linux.intel.com> <20190301131358.GC32244@pendragon.ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190301131358.GC32244@pendragon.ideasonboard.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Laurent Pinchart Cc: linux-renesas-soc@vger.kernel.org, intel-gfx@lists.freedesktop.org, Kieran Bingham , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T3AgMDEtMDMtMjAxOSBvbSAxNDoxMyBzY2hyZWVmIExhdXJlbnQgUGluY2hhcnQ6Cj4gSGkgTWFh cnRlbiwKPgo+IFRoYW5rIHlvdSBmb3IgdGhlIHBhdGNoLgo+Cj4gT24gRnJpLCBNYXIgMDEsIDIw MTkgYXQgMDE6NTY6MjJQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6Cj4+IENvbnZl cnQgcmNhci1kdSB0byB1c2luZyBfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoKSwgaW5z dGVhZCBvZgo+PiB3cml0aW5nIGl0cyBvd24gdmVyc2lvbi4gSW5zdGVhZCBvZiBvcGVuIGNvZGlu ZyBkZXN0cm95X3N0YXRlKCksIGNhbGwKPj4gaXQgZGlyZWN0bHkgZm9yIGZyZWVpbmcgdGhlIG9s ZCBzdGF0ZS4KPiBJIGRvbid0IHRoaW5rIHRoZSBzZWNvbmQgc2VudGVuY2UgYXBwbGllcyB0byB0 aGlzIHBhdGNoLgo+Cj4+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVu Lmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4+IENjOiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVy ZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+Cj4+IENjOiBLaWVyYW4gQmluZ2hhbSA8a2ll cmFuLmJpbmdoYW0rcmVuZXNhc0BpZGVhc29uYm9hcmQuY29tPgo+PiBDYzogbGludXgtcmVuZXNh cy1zb2NAdmdlci5rZXJuZWwub3JnCj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL3JjYXItZHUv cmNhcl9kdV9jcnRjLmMgfCAxMSArKystLS0tLS0tLQo+PiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5z ZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNh cl9kdV9jcnRjLmMKPj4gaW5kZXggNGNkZWExNGQ1NTJmLi43NzY2NTUxZTY3ZmMgMTAwNjQ0Cj4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jCj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jCj4+IEBAIC04OTEsMjIgKzg5MSwx NyBAQCBzdGF0aWMgdm9pZCByY2FyX2R1X2NydGNfY2xlYW51cChzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCj4+ICAKPj4gIHN0YXRpYyB2b2lkIHJjYXJfZHVfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCj4+ICB7Cj4+IC0Jc3RydWN0IHJjYXJfZHVfY3J0Y19zdGF0ZSAqc3RhdGU7Cj4+ ICsJc3RydWN0IHJjYXJfZHVfY3J0Y19zdGF0ZSAqc3RhdGUgPSBremFsbG9jKHNpemVvZigqc3Rh dGUpLCBHRlBfS0VSTkVMKTsKPj4gIAo+PiAtCWlmIChjcnRjLT5zdGF0ZSkgewo+PiArCWlmIChj cnRjLT5zdGF0ZSkKPj4gIAkJcmNhcl9kdV9jcnRjX2F0b21pY19kZXN0cm95X3N0YXRlKGNydGMs IGNydGMtPnN0YXRlKTsKPj4gLQkJY3J0Yy0+c3RhdGUgPSBOVUxMOwo+PiAtCX0KPj4gIAo+PiAt CXN0YXRlID0ga3phbGxvYyhzaXplb2YoKnN0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4+ICsJX19kcm1f YXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KGNydGMsICZzdGF0ZS0+c3RhdGUpOwo+IHN0YXRlIG1h eSBiZSBOVUxMIGhlcmUgaWYgdGhlIGFib3ZlIGt6YWxsb2MoKSBmYWlsZWQuIExldCdzIGtlZXAg dGhlCj4gb3JpZ2luYWwgb3JkZXIgb2YgdGhlIGZ1bmN0aW9uLCBhbmQgc2ltcGx5IGNhbGwKPiBf X2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoKSBhZnRlciB0aGUgTlVMTCBjaGVjayBiZWxv dy4KClRoZXJlIHdlcmUgMTAgZGlmZmVyZW50IHdheXMgY3J0YyB3YXMgaW1wbGVtZW50ZWQsIEkg ZmVsdCBpdCB3YXMgZ29vZCB0byBzZXR0bGUgb24gb25lLgoKV2UgZG9uJ3QgaGFuZGxlIGR1cmlu ZyByZXNldCBhdCBhbGwsIHdvdWxkIG5lZWQgdG8gc3RhcnQgcHJvcGFnYXRpbmcgdGhpcyBmaXJz dCBiZWZvcmUgd2Ugc2hvdWxkIGhhbmRsZSBlcnJvcnMsIGltaG8uCgpMb29raW5nIG1vcmUgY2xv c2VseSwgaXQncyB0aGUgc2FtZSB3YXkgdGhhdCBlcnJvcnMgaW4gcmNhcl9kdV9wbGFuZV9yZXNl dCgpIGFyZSBoYW5kbGVkLiA6KQoKQ2hlZXJzLAoKfk1hYXJ0ZW4KCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==