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=-5.5 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=no 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 91DDEC2B9F7 for ; Mon, 24 May 2021 16:46:29 +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 574B160FDA for ; Mon, 24 May 2021 16:46:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 574B160FDA Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.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 C54E46E8D6; Mon, 24 May 2021 16:46:26 +0000 (UTC) Received: from mail-qt1-x831.google.com (mail-qt1-x831.google.com [IPv6:2607:f8b0:4864:20::831]) by gabe.freedesktop.org (Postfix) with ESMTPS id E55E46E8CF; Mon, 24 May 2021 16:46:24 +0000 (UTC) Received: by mail-qt1-x831.google.com with SMTP id s12so11873718qta.3; Mon, 24 May 2021 09:46:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=MQmBssjPsUtpDE9GBpD1aczql94NKYN/XiQEp1XJLz0=; b=MK3kPDg6zlGJfH+vfNJhjgak4lAvbkC5299fz/gt485KvoKv6/0UBJ+dRJ3O+Q7Ddm hJ/J5rCeG4NH0arBFWmV3Y2yAsx5chzAAxs+gcYI9oV6hT/iTTVSeUgJcclkPcqTqHvq S/cPVm0+hWiWUgxRf3eosTtxiZOxkCDs+sUR4x6cgwoUl5H+lWU9MgHHXwHbbJdygCh2 SpfUTqOdwDLjezl57WTjCt553w423vQ9U3Rm7oIl+dk+hI+qgJxS/MQwAoHcpAJSITJV kRD0Is+UufZ0v8pwtXaY9L6khXDDVNfqw91CQqfHgA1bbN2isYPgDWT1sUjvxPgjVOa8 N5gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=MQmBssjPsUtpDE9GBpD1aczql94NKYN/XiQEp1XJLz0=; b=PXY8VytP2SQNK96yU49NHeZ+hRDJGQEVOuMaEQxu94V6QpENsf7vC7v7W9DUp8JHpL OSXXscWNG624fi8hDPra8peFE6WOxd0xfcaOfym+KMlKSnvsb48OvHMyIj+rVsFnOAJe UTRa0+KkXjhx5+JTz8uRubcqA0OzetK1yDAG9muTbhN+QyM21qDYanOb88S+6J0DstDe gaCu9H4PFhhYIUvGxXPqsWDfcwdI/EyUrQYngDQpRlpSvy6TYhajYXWKPdG8LwBhyZnV 7+kq1lXrs77ikSKh9Yy9cTvhArbXaiejc2Au8A3DvKaA/TJWV7oCaIr2CD+HAYgnztms eodQ== X-Gm-Message-State: AOAM5318zGlPjtUxELHKLBwTYtfq/nxY/3frumpR3GCwYAMk3fvto933 i5sl8V4LOmU4qs3+gUxYU0rq+TOj2tLMfIIWXsw= X-Google-Smtp-Source: ABdhPJzQWUt3+VClwnFef0YSts2d7QcfvgAswlEaCUf1qsZ9UHaEdWyAqJl3wHiUWIGJWunYGgJDrkYix9uHw4Cszqg= X-Received: by 2002:ac8:60d:: with SMTP id d13mr28265498qth.223.1621874784123; Mon, 24 May 2021 09:46:24 -0700 (PDT) MIME-Version: 1.0 References: <20210521153253.518037-1-thomas.hellstrom@linux.intel.com> <20210521153253.518037-8-thomas.hellstrom@linux.intel.com> In-Reply-To: <20210521153253.518037-8-thomas.hellstrom@linux.intel.com> From: Matthew Auld Date: Mon, 24 May 2021 17:45:58 +0100 Message-ID: Subject: Re: [Intel-gfx] [PATCH v3 07/12] drm, drm/i915: Move the memcpy_from_wc functionality to core drm To: =?UTF-8?Q?Thomas_Hellstr=C3=B6m?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Daniel Vetter , Intel Graphics Development , =?UTF-8?Q?Christian_K=C3=B6nig?= , ML dri-devel Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Fri, 21 May 2021 at 16:33, Thomas Hellstr=C3=B6m wrote: > > Memcpy from wc will be used as well by TTM memcpy. > Move it to core drm, and make the interface do the right thing > even on !X86. > > Cc: Christian K=C3=B6nig > Cc: Daniel Vetter > Cc: Dave Airlie > Signed-off-by: Thomas Hellstr=C3=B6m > --- > + > +#ifdef CONFIG_X86 > +bool drm_memcpy_from_wc(void *dst, const void *src, unsigned long len); > +bool drm_memcpy_from_wc_dbm(struct dma_buf_map *dst, > + const struct dma_buf_map *src, > + unsigned long len); > +void drm_unaligned_memcpy_from_wc(void *dst, const void *src, unsigned l= ong len); > + > +/* The movntdqa instructions used for memcpy-from-wc require 16-byte ali= gnment, > + * as well as SSE4.1 support. drm_memcpy_from_wc() will report if it can= not > + * perform the operation. To check beforehand, pass in the parameters to > + * drm_can_memcpy_from_wc() - since we only care about the low 4 bits, > + * you only need to pass in the minor offsets, page-aligned pointers are > + * always valid. > + * > + * For just checking for SSE4.1, in the foreknowledge that the future us= e > + * will be correctly aligned, just use drm_has_memcpy_from_wc(). > + */ > +#define drm_can_memcpy_from_wc(dst, src, len) \ > + drm_memcpy_from_wc((void *)((unsigned long)(dst) | (unsigned long= )(src) | (len)), NULL, 0) > + > +#define drm_has_memcpy_from_wc() \ > + drm_memcpy_from_wc(NULL, NULL, 0) > + > +void drm_memcpy_init_early(void); > + > +#else > + > +#define drm_memcpy_from_wc(_dst, _src, _len) (false) > +#define drm_memcpy_from_wc_dbm(_dst, _src, _len) (false) > +#define drm_can_memcpy_from_wc(_dst, _src, _len) (false) > +#define drm_has_memcpy_from_wc() (false) Does the compiler not complain for these on !x86, if called without checking the result of the statement? Maybe just make these function stubs? Otherwise, Reviewed-by: Matthew Auld > +#define drm_unaligned_memcpy_from_wc(_dst, _src, _len) WARN_ON(1) > +#define drm_memcpy_init_early() do {} while (0) > +#endif /* CONFIG_X86 */ > +#endif /* __DRM_MEMCPY_H__ */ > -- > 2.31.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx 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=-5.5 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=no 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 F3E05C04FF3 for ; Mon, 24 May 2021 16:46:26 +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 B053E610FC for ; Mon, 24 May 2021 16:46:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B053E610FC Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 370BB6E8D7; Mon, 24 May 2021 16:46:26 +0000 (UTC) Received: from mail-qt1-x831.google.com (mail-qt1-x831.google.com [IPv6:2607:f8b0:4864:20::831]) by gabe.freedesktop.org (Postfix) with ESMTPS id E55E46E8CF; Mon, 24 May 2021 16:46:24 +0000 (UTC) Received: by mail-qt1-x831.google.com with SMTP id s12so11873718qta.3; Mon, 24 May 2021 09:46:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=MQmBssjPsUtpDE9GBpD1aczql94NKYN/XiQEp1XJLz0=; b=MK3kPDg6zlGJfH+vfNJhjgak4lAvbkC5299fz/gt485KvoKv6/0UBJ+dRJ3O+Q7Ddm hJ/J5rCeG4NH0arBFWmV3Y2yAsx5chzAAxs+gcYI9oV6hT/iTTVSeUgJcclkPcqTqHvq S/cPVm0+hWiWUgxRf3eosTtxiZOxkCDs+sUR4x6cgwoUl5H+lWU9MgHHXwHbbJdygCh2 SpfUTqOdwDLjezl57WTjCt553w423vQ9U3Rm7oIl+dk+hI+qgJxS/MQwAoHcpAJSITJV kRD0Is+UufZ0v8pwtXaY9L6khXDDVNfqw91CQqfHgA1bbN2isYPgDWT1sUjvxPgjVOa8 N5gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=MQmBssjPsUtpDE9GBpD1aczql94NKYN/XiQEp1XJLz0=; b=PXY8VytP2SQNK96yU49NHeZ+hRDJGQEVOuMaEQxu94V6QpENsf7vC7v7W9DUp8JHpL OSXXscWNG624fi8hDPra8peFE6WOxd0xfcaOfym+KMlKSnvsb48OvHMyIj+rVsFnOAJe UTRa0+KkXjhx5+JTz8uRubcqA0OzetK1yDAG9muTbhN+QyM21qDYanOb88S+6J0DstDe gaCu9H4PFhhYIUvGxXPqsWDfcwdI/EyUrQYngDQpRlpSvy6TYhajYXWKPdG8LwBhyZnV 7+kq1lXrs77ikSKh9Yy9cTvhArbXaiejc2Au8A3DvKaA/TJWV7oCaIr2CD+HAYgnztms eodQ== X-Gm-Message-State: AOAM5318zGlPjtUxELHKLBwTYtfq/nxY/3frumpR3GCwYAMk3fvto933 i5sl8V4LOmU4qs3+gUxYU0rq+TOj2tLMfIIWXsw= X-Google-Smtp-Source: ABdhPJzQWUt3+VClwnFef0YSts2d7QcfvgAswlEaCUf1qsZ9UHaEdWyAqJl3wHiUWIGJWunYGgJDrkYix9uHw4Cszqg= X-Received: by 2002:ac8:60d:: with SMTP id d13mr28265498qth.223.1621874784123; Mon, 24 May 2021 09:46:24 -0700 (PDT) MIME-Version: 1.0 References: <20210521153253.518037-1-thomas.hellstrom@linux.intel.com> <20210521153253.518037-8-thomas.hellstrom@linux.intel.com> In-Reply-To: <20210521153253.518037-8-thomas.hellstrom@linux.intel.com> From: Matthew Auld Date: Mon, 24 May 2021 17:45:58 +0100 Message-ID: To: =?UTF-8?Q?Thomas_Hellstr=C3=B6m?= Subject: Re: [Intel-gfx] [PATCH v3 07/12] drm, drm/i915: Move the memcpy_from_wc functionality to core drm X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Daniel Vetter , Intel Graphics Development , =?UTF-8?Q?Christian_K=C3=B6nig?= , ML dri-devel Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gRnJpLCAyMSBNYXkgMjAyMSBhdCAxNjozMywgVGhvbWFzIEhlbGxzdHLDtm0KPHRob21hcy5o ZWxsc3Ryb21AbGludXguaW50ZWwuY29tPiB3cm90ZToKPgo+IE1lbWNweSBmcm9tIHdjIHdpbGwg YmUgdXNlZCBhcyB3ZWxsIGJ5IFRUTSBtZW1jcHkuCj4gTW92ZSBpdCB0byBjb3JlIGRybSwgYW5k IG1ha2UgdGhlIGludGVyZmFjZSBkbyB0aGUgcmlnaHQgdGhpbmcKPiBldmVuIG9uICFYODYuCj4K PiBDYzogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgo+IENjOiBE YW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+IENjOiBEYXZlIEFpcmxpZSA8 YWlybGllZEBnbWFpbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogVGhvbWFzIEhlbGxzdHLDtm0gPHRo b21hcy5oZWxsc3Ryb21AbGludXguaW50ZWwuY29tPgo+IC0tLQoKPHNuaXA+Cgo+ICsKPiArI2lm ZGVmIENPTkZJR19YODYKPiArYm9vbCBkcm1fbWVtY3B5X2Zyb21fd2Modm9pZCAqZHN0LCBjb25z dCB2b2lkICpzcmMsIHVuc2lnbmVkIGxvbmcgbGVuKTsKPiArYm9vbCBkcm1fbWVtY3B5X2Zyb21f d2NfZGJtKHN0cnVjdCBkbWFfYnVmX21hcCAqZHN0LAo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBzdHJ1Y3QgZG1hX2J1Zl9tYXAgKnNyYywKPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgbG9uZyBsZW4pOwo+ICt2b2lkIGRybV91bmFsaWduZWRfbWVtY3B5 X2Zyb21fd2Modm9pZCAqZHN0LCBjb25zdCB2b2lkICpzcmMsIHVuc2lnbmVkIGxvbmcgbGVuKTsK PiArCj4gKy8qIFRoZSBtb3ZudGRxYSBpbnN0cnVjdGlvbnMgdXNlZCBmb3IgbWVtY3B5LWZyb20t d2MgcmVxdWlyZSAxNi1ieXRlIGFsaWdubWVudCwKPiArICogYXMgd2VsbCBhcyBTU0U0LjEgc3Vw cG9ydC4gZHJtX21lbWNweV9mcm9tX3djKCkgd2lsbCByZXBvcnQgaWYgaXQgY2Fubm90Cj4gKyAq IHBlcmZvcm0gdGhlIG9wZXJhdGlvbi4gVG8gY2hlY2sgYmVmb3JlaGFuZCwgcGFzcyBpbiB0aGUg cGFyYW1ldGVycyB0bwo+ICsgKiBkcm1fY2FuX21lbWNweV9mcm9tX3djKCkgLSBzaW5jZSB3ZSBv bmx5IGNhcmUgYWJvdXQgdGhlIGxvdyA0IGJpdHMsCj4gKyAqIHlvdSBvbmx5IG5lZWQgdG8gcGFz cyBpbiB0aGUgbWlub3Igb2Zmc2V0cywgcGFnZS1hbGlnbmVkIHBvaW50ZXJzIGFyZQo+ICsgKiBh bHdheXMgdmFsaWQuCj4gKyAqCj4gKyAqIEZvciBqdXN0IGNoZWNraW5nIGZvciBTU0U0LjEsIGlu IHRoZSBmb3Jla25vd2xlZGdlIHRoYXQgdGhlIGZ1dHVyZSB1c2UKPiArICogd2lsbCBiZSBjb3Jy ZWN0bHkgYWxpZ25lZCwganVzdCB1c2UgZHJtX2hhc19tZW1jcHlfZnJvbV93YygpLgo+ICsgKi8K PiArI2RlZmluZSBkcm1fY2FuX21lbWNweV9mcm9tX3djKGRzdCwgc3JjLCBsZW4pIFwKPiArICAg ICAgIGRybV9tZW1jcHlfZnJvbV93Yygodm9pZCAqKSgodW5zaWduZWQgbG9uZykoZHN0KSB8ICh1 bnNpZ25lZCBsb25nKShzcmMpIHwgKGxlbikpLCBOVUxMLCAwKQo+ICsKPiArI2RlZmluZSBkcm1f aGFzX21lbWNweV9mcm9tX3djKCkgXAo+ICsgICAgICAgZHJtX21lbWNweV9mcm9tX3djKE5VTEws IE5VTEwsIDApCj4gKwo+ICt2b2lkIGRybV9tZW1jcHlfaW5pdF9lYXJseSh2b2lkKTsKPiArCj4g KyNlbHNlCj4gKwo+ICsjZGVmaW5lIGRybV9tZW1jcHlfZnJvbV93YyhfZHN0LCBfc3JjLCBfbGVu KSAoZmFsc2UpCj4gKyNkZWZpbmUgZHJtX21lbWNweV9mcm9tX3djX2RibShfZHN0LCBfc3JjLCBf bGVuKSAoZmFsc2UpCj4gKyNkZWZpbmUgZHJtX2Nhbl9tZW1jcHlfZnJvbV93YyhfZHN0LCBfc3Jj LCBfbGVuKSAoZmFsc2UpCj4gKyNkZWZpbmUgZHJtX2hhc19tZW1jcHlfZnJvbV93YygpIChmYWxz ZSkKCkRvZXMgdGhlIGNvbXBpbGVyIG5vdCBjb21wbGFpbiBmb3IgdGhlc2Ugb24gIXg4NiwgaWYg Y2FsbGVkIHdpdGhvdXQKY2hlY2tpbmcgdGhlIHJlc3VsdCBvZiB0aGUgc3RhdGVtZW50PyBNYXli ZSBqdXN0IG1ha2UgdGhlc2UgZnVuY3Rpb24Kc3R1YnM/CgpPdGhlcndpc2UsClJldmlld2VkLWJ5 OiBNYXR0aGV3IEF1bGQgPG1hdHRoZXcuYXVsZEBpbnRlbC5jb20+Cgo+ICsjZGVmaW5lIGRybV91 bmFsaWduZWRfbWVtY3B5X2Zyb21fd2MoX2RzdCwgX3NyYywgX2xlbikgV0FSTl9PTigxKQo+ICsj ZGVmaW5lIGRybV9tZW1jcHlfaW5pdF9lYXJseSgpIGRvIHt9IHdoaWxlICgwKQo+ICsjZW5kaWYg LyogQ09ORklHX1g4NiAqLwo+ICsjZW5kaWYgLyogX19EUk1fTUVNQ1BZX0hfXyAqLwo+IC0tCj4g Mi4zMS4xCj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==