From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/rect: remove useless call to clamp_t Date: Wed, 20 Nov 2019 18:25:44 +0200 Message-ID: <20191120162544.GH1208@intel.com> References: <20191119133435.22525-1-benjamin.gaignard@st.com> <20191120152234.GG1208@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Return-path: Content-Disposition: inline In-Reply-To: <20191120152234.GG1208@intel.com> Sender: linux-kernel-owner@vger.kernel.org To: Benjamin Gaignard Cc: maarten.lankhorst@linux.intel.com, mripard@kernel.org, sean@poorly.run, airlied@linux.ie, daniel@ffwll.ch, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org On Wed, Nov 20, 2019 at 05:22:34PM +0200, Ville Syrjälä wrote: > On Tue, Nov 19, 2019 at 02:34:35PM +0100, Benjamin Gaignard wrote: > > Clamping a value between INT_MIN and INT_MAX always return the value itself > > and generate warnings when compiling with W=1. > > > > Signed-off-by: Benjamin Gaignard > > --- > > drivers/gpu/drm/drm_rect.c | 8 ++++---- > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/gpu/drm/drm_rect.c b/drivers/gpu/drm/drm_rect.c > > index b8363aaa9032..681f1fd09357 100644 > > --- a/drivers/gpu/drm/drm_rect.c > > +++ b/drivers/gpu/drm/drm_rect.c > > @@ -89,7 +89,7 @@ bool drm_rect_clip_scaled(struct drm_rect *src, struct drm_rect *dst, > > u32 new_src_w = clip_scaled(drm_rect_width(src), > > drm_rect_width(dst), diff); > > Hmm. I think we borked this a bit when introducing clip_scaled(). > 'diff' can exceed dst width here so clip_scaled() should be able to > return a negative value. > > Probably we should make this more consistent and do something like: > diff = clip->x1 - dst->x1; > if (diff > 0) { > - u32 new_src_w = clip_scaled(drm_rect_width(src), > - drm_rect_width(dst), diff); > + int dst_w, new_src_w; > > - src->x1 = clamp_t(int64_t, src->x2 - new_src_w, INT_MIN, INT_MAX); > - dst->x1 = clip->x1; > + dst_w = drm_rect_width(dst); > + diff = min(diff, dst_w); > + new_src_w = clip_scaled(drm_rect_width(src), dst_w, diff); > + > + src->x1 = src->x2 - new_src_w; > + dst->x1 += diff; > } > > etc. I tried to refine that a bit more and sent it out as two patches. > > > > > - src->x1 = clamp_t(int64_t, src->x2 - new_src_w, INT_MIN, INT_MAX); > > + src->x1 = src->x2 - new_src_w; > > dst->x1 = clip->x1; > > } > > diff = clip->y1 - dst->y1; > > @@ -97,7 +97,7 @@ bool drm_rect_clip_scaled(struct drm_rect *src, struct drm_rect *dst, > > u32 new_src_h = clip_scaled(drm_rect_height(src), > > drm_rect_height(dst), diff); > > > > - src->y1 = clamp_t(int64_t, src->y2 - new_src_h, INT_MIN, INT_MAX); > > + src->y1 = src->y2 - new_src_h; > > dst->y1 = clip->y1; > > } > > diff = dst->x2 - clip->x2; > > @@ -105,7 +105,7 @@ bool drm_rect_clip_scaled(struct drm_rect *src, struct drm_rect *dst, > > u32 new_src_w = clip_scaled(drm_rect_width(src), > > drm_rect_width(dst), diff); > > > > - src->x2 = clamp_t(int64_t, src->x1 + new_src_w, INT_MIN, INT_MAX); > > + src->x2 = src->x1 + new_src_w; > > dst->x2 = clip->x2; > > } > > diff = dst->y2 - clip->y2; > > @@ -113,7 +113,7 @@ bool drm_rect_clip_scaled(struct drm_rect *src, struct drm_rect *dst, > > u32 new_src_h = clip_scaled(drm_rect_height(src), > > drm_rect_height(dst), diff); > > > > - src->y2 = clamp_t(int64_t, src->y1 + new_src_h, INT_MIN, INT_MAX); > > + src->y2 = src->y1 + new_src_h; > > dst->y2 = clip->y2; > > } > > > > -- > > 2.15.0 > > > > _______________________________________________ > > dri-devel mailing list > > dri-devel@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > > -- > Ville Syrjälä > Intel -- Ville Syrjälä Intel 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=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 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 1ECA4C432C3 for ; Wed, 20 Nov 2019 16:25:52 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EDE25206F4 for ; Wed, 20 Nov 2019 16:25:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EDE25206F4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 624886E6C3; Wed, 20 Nov 2019 16:25:51 +0000 (UTC) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 643146E894 for ; Wed, 20 Nov 2019 16:25:49 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Nov 2019 08:25:48 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,222,1571727600"; d="scan'208";a="196910415" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by orsmga007.jf.intel.com with SMTP; 20 Nov 2019 08:25:45 -0800 Received: by stinkbox (sSMTP sendmail emulation); Wed, 20 Nov 2019 18:25:44 +0200 Date: Wed, 20 Nov 2019 18:25:44 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Benjamin Gaignard Subject: Re: [PATCH] drm/rect: remove useless call to clamp_t Message-ID: <20191120162544.GH1208@intel.com> References: <20191119133435.22525-1-benjamin.gaignard@st.com> <20191120152234.GG1208@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191120152234.GG1208@intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: airlied@linux.ie, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, sean@poorly.run Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191120162544.84kKn2IPKCZVDW0TAIl12uVIY4BRpzW3h2OYGfXOIds@z> T24gV2VkLCBOb3YgMjAsIDIwMTkgYXQgMDU6MjI6MzRQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFR1ZSwgTm92IDE5LCAyMDE5IGF0IDAyOjM0OjM1UE0gKzAxMDAsIEJlbmph bWluIEdhaWduYXJkIHdyb3RlOgo+ID4gQ2xhbXBpbmcgYSB2YWx1ZSBiZXR3ZWVuIElOVF9NSU4g YW5kIElOVF9NQVggYWx3YXlzIHJldHVybiB0aGUgdmFsdWUgaXRzZWxmCj4gPiBhbmQgZ2VuZXJh dGUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBXPTEuCj4gPiAKPiA+IFNpZ25lZC1vZmYt Ynk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdC5jb20+Cj4gPiAtLS0K PiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX3JlY3QuYyB8IDggKysrKy0tLS0KPiA+ICAxIGZpbGUg Y2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9yZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3Jl Y3QuYwo+ID4gaW5kZXggYjgzNjNhYWE5MDMyLi42ODFmMWZkMDkzNTcgMTAwNjQ0Cj4gPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vZHJtX3JlY3QuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9yZWN0LmMKPiA+IEBAIC04OSw3ICs4OSw3IEBAIGJvb2wgZHJtX3JlY3RfY2xpcF9zY2FsZWQo c3RydWN0IGRybV9yZWN0ICpzcmMsIHN0cnVjdCBkcm1fcmVjdCAqZHN0LAo+ID4gIAkJdTMyIG5l d19zcmNfdyA9IGNsaXBfc2NhbGVkKGRybV9yZWN0X3dpZHRoKHNyYyksCj4gPiAgCQkJCQkgICAg ZHJtX3JlY3Rfd2lkdGgoZHN0KSwgZGlmZik7Cj4gCj4gSG1tLiBJIHRoaW5rIHdlIGJvcmtlZCB0 aGlzIGEgYml0IHdoZW4gaW50cm9kdWNpbmcgY2xpcF9zY2FsZWQoKS4KPiAnZGlmZicgY2FuIGV4 Y2VlZCBkc3Qgd2lkdGggaGVyZSBzbyBjbGlwX3NjYWxlZCgpIHNob3VsZCBiZSBhYmxlIHRvCj4g cmV0dXJuIGEgbmVnYXRpdmUgdmFsdWUuCj4gCj4gUHJvYmFibHkgd2Ugc2hvdWxkIG1ha2UgdGhp cyBtb3JlIGNvbnNpc3RlbnQgYW5kIGRvIHNvbWV0aGluZyBsaWtlOgo+ICAgICAgICAgZGlmZiA9 IGNsaXAtPngxIC0gZHN0LT54MTsKPiAgICAgICAgIGlmIChkaWZmID4gMCkgewo+IC0gICAgICAg ICAgICAgICB1MzIgbmV3X3NyY193ID0gY2xpcF9zY2FsZWQoZHJtX3JlY3Rfd2lkdGgoc3JjKSwK PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRybV9yZWN0X3dp ZHRoKGRzdCksIGRpZmYpOwo+ICsgICAgICAgICAgICAgICBpbnQgZHN0X3csIG5ld19zcmNfdzsK PiAgCj4gLSAgICAgICAgICAgICAgIHNyYy0+eDEgPSBjbGFtcF90KGludDY0X3QsIHNyYy0+eDIg LSBuZXdfc3JjX3csIElOVF9NSU4sIElOVF9NQVgpOwo+IC0gICAgICAgICAgICAgICBkc3QtPngx ID0gY2xpcC0+eDE7Cj4gKyAgICAgICAgICAgICAgIGRzdF93ID0gZHJtX3JlY3Rfd2lkdGgoZHN0 KTsKPiArICAgICAgICAgICAgICAgZGlmZiA9IG1pbihkaWZmLCBkc3Rfdyk7Cj4gKyAgICAgICAg ICAgICAgIG5ld19zcmNfdyA9IGNsaXBfc2NhbGVkKGRybV9yZWN0X3dpZHRoKHNyYyksIGRzdF93 LCBkaWZmKTsKPiArCj4gKyAgICAgICAgICAgICAgIHNyYy0+eDEgPSBzcmMtPngyIC0gbmV3X3Ny Y193Owo+ICsgICAgICAgICAgICAgICBkc3QtPngxICs9IGRpZmY7Cj4gICAgICAgICB9Cj4gCj4g ZXRjLgoKSSB0cmllZCB0byByZWZpbmUgdGhhdCBhIGJpdCBtb3JlIGFuZCBzZW50IGl0IG91dCBh cyB0d28gcGF0Y2hlcy4KCj4gCj4gPiAgCj4gPiAtCQlzcmMtPngxID0gY2xhbXBfdChpbnQ2NF90 LCBzcmMtPngyIC0gbmV3X3NyY193LCBJTlRfTUlOLCBJTlRfTUFYKTsKPiA+ICsJCXNyYy0+eDEg PSBzcmMtPngyIC0gbmV3X3NyY193Owo+ID4gIAkJZHN0LT54MSA9IGNsaXAtPngxOwo+ID4gIAl9 Cj4gPiAgCWRpZmYgPSBjbGlwLT55MSAtIGRzdC0+eTE7Cj4gPiBAQCAtOTcsNyArOTcsNyBAQCBi b29sIGRybV9yZWN0X2NsaXBfc2NhbGVkKHN0cnVjdCBkcm1fcmVjdCAqc3JjLCBzdHJ1Y3QgZHJt X3JlY3QgKmRzdCwKPiA+ICAJCXUzMiBuZXdfc3JjX2ggPSBjbGlwX3NjYWxlZChkcm1fcmVjdF9o ZWlnaHQoc3JjKSwKPiA+ICAJCQkJCSAgICBkcm1fcmVjdF9oZWlnaHQoZHN0KSwgZGlmZik7Cj4g PiAgCj4gPiAtCQlzcmMtPnkxID0gY2xhbXBfdChpbnQ2NF90LCBzcmMtPnkyIC0gbmV3X3NyY19o LCBJTlRfTUlOLCBJTlRfTUFYKTsKPiA+ICsJCXNyYy0+eTEgPSBzcmMtPnkyIC0gbmV3X3NyY19o Owo+ID4gIAkJZHN0LT55MSA9IGNsaXAtPnkxOwo+ID4gIAl9Cj4gPiAgCWRpZmYgPSBkc3QtPngy IC0gY2xpcC0+eDI7Cj4gPiBAQCAtMTA1LDcgKzEwNSw3IEBAIGJvb2wgZHJtX3JlY3RfY2xpcF9z Y2FsZWQoc3RydWN0IGRybV9yZWN0ICpzcmMsIHN0cnVjdCBkcm1fcmVjdCAqZHN0LAo+ID4gIAkJ dTMyIG5ld19zcmNfdyA9IGNsaXBfc2NhbGVkKGRybV9yZWN0X3dpZHRoKHNyYyksCj4gPiAgCQkJ CQkgICAgZHJtX3JlY3Rfd2lkdGgoZHN0KSwgZGlmZik7Cj4gPiAgCj4gPiAtCQlzcmMtPngyID0g Y2xhbXBfdChpbnQ2NF90LCBzcmMtPngxICsgbmV3X3NyY193LCBJTlRfTUlOLCBJTlRfTUFYKTsK PiA+ICsJCXNyYy0+eDIgPSBzcmMtPngxICsgbmV3X3NyY193Owo+ID4gIAkJZHN0LT54MiA9IGNs aXAtPngyOwo+ID4gIAl9Cj4gPiAgCWRpZmYgPSBkc3QtPnkyIC0gY2xpcC0+eTI7Cj4gPiBAQCAt MTEzLDcgKzExMyw3IEBAIGJvb2wgZHJtX3JlY3RfY2xpcF9zY2FsZWQoc3RydWN0IGRybV9yZWN0 ICpzcmMsIHN0cnVjdCBkcm1fcmVjdCAqZHN0LAo+ID4gIAkJdTMyIG5ld19zcmNfaCA9IGNsaXBf c2NhbGVkKGRybV9yZWN0X2hlaWdodChzcmMpLAo+ID4gIAkJCQkJICAgIGRybV9yZWN0X2hlaWdo dChkc3QpLCBkaWZmKTsKPiA+ICAKPiA+IC0JCXNyYy0+eTIgPSBjbGFtcF90KGludDY0X3QsIHNy Yy0+eTEgKyBuZXdfc3JjX2gsIElOVF9NSU4sIElOVF9NQVgpOwo+ID4gKwkJc3JjLT55MiA9IHNy Yy0+eTEgKyBuZXdfc3JjX2g7Cj4gPiAgCQlkc3QtPnkyID0gY2xpcC0+eTI7Cj4gPiAgCX0KPiA+ ICAKPiA+IC0tIAo+ID4gMi4xNS4wCj4gPiAKPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4gPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiBkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+IAo+IC0tIAo+IFZpbGxlIFN5cmrDpGzD pAo+IEludGVsCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==