Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp1278448pxk; Fri, 2 Oct 2020 05:51:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz1N1PMIwFMJCuo5nocEfkPu2aGpbUG0N0LcOfrrJ1YR8NIUvigNgP2OcGnw1IkkBf9qYEF X-Received: by 2002:a17:906:1f42:: with SMTP id d2mr2055243ejk.407.1601643093798; Fri, 02 Oct 2020 05:51:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601643093; cv=none; d=google.com; s=arc-20160816; b=kIZg591h1mD+Fvhu4EZcUQJ4vkr+q32Lfz3JS64zI+v1Phzwl9/Jqx9DKvJbVu55Kq 9Bd5osrB/+VhorTo9EUiqOd3AsH11i34z2j8WS3oBHYJeODMnBBGN4Unu2AiStJMXH0Q M/0bmyY+SBnkNUIy7HR3RwXFB/EL/BdXyYkVd39gI7Hb1sfAp1Lbx0mPzaq9doCuXCAP MXtCvmgByd6b/XxPTl9CbH65qCYdoxylxPv+WVStkYh102JniaKujlwewfpWBJOhx3l+ tflJDRBF/WhlST3ZzVbh0gQSDlVmeALw86V2Ol1IjMlqAnnO66+gc+vRDoa0vskRQhB4 DjDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=qqs8ifS6kGN7LaOJsBRoUbMeD52hvAgPJsDQbcB16Ww=; b=VBAA9XSObJNwWy+YSKB+0T6PZHkGjdG/V1NNvNZYPU5j8u9t48XR1uu/yfM9a5Shlo RoJwfgOfsOH9z+RRtDXLTKepb0067xIYoBBC+53NdreDlKeM+rBv0apwVaPhIp76nbD+ +pgRUXakhBdQVx8kwwNd/nwiOrhtPiF1kckB6KALeDs2+D4rUwxJwsJpw05yPJi1Iy3t 1YQcN5n9hEyo7imHpQbT9c7dP2DRzyoZ6bLSGPo6w4PskBc6QBX/CPz++s84faRT0ppH jmiuV7Yix8xL814bOciVrlV1OC3DknPDFkA6d6lxixGZoesO5pMJ/uYT9gtGP+7+pUS4 DJ+w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@marek-ca.20150623.gappssmtp.com header.s=20150623 header.b=teN6lt9d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b2si572921edt.336.2020.10.02.05.51.11; Fri, 02 Oct 2020 05:51:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@marek-ca.20150623.gappssmtp.com header.s=20150623 header.b=teN6lt9d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733260AbgJBMsK (ORCPT + 99 others); Fri, 2 Oct 2020 08:48:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38882 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725964AbgJBMsK (ORCPT ); Fri, 2 Oct 2020 08:48:10 -0400 Received: from mail-qk1-x742.google.com (mail-qk1-x742.google.com [IPv6:2607:f8b0:4864:20::742]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 14AABC0613D0 for ; Fri, 2 Oct 2020 05:48:10 -0700 (PDT) Received: by mail-qk1-x742.google.com with SMTP id d20so1138129qka.5 for ; Fri, 02 Oct 2020 05:48:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marek-ca.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=qqs8ifS6kGN7LaOJsBRoUbMeD52hvAgPJsDQbcB16Ww=; b=teN6lt9dYbTfeK4iHJe5EwHYYiMp8qbujal8f2CalekS8vb2pw+hAbarMaC3Dyy9/g ZfIA6rxZ9+yK1ffdf1KM9aXD59XN5OfD6qRSiLddDtflDi4Ns2xS4ysacecYmjOd7o/Y yxEz9yyXAVHbarO0UEK5GcYkbh6LYgtCsMFINrC1goIVzmQcfcXJ0TdsTCOQ04mn42DW /AlRtZTPtEqGBYUA1DQfKR//S00/OvShWyJNcVZIzaLAcz9/Wc+28PbrogAtHRSlGAAI sQsJAebzVERb8ad8PnaY3cuZPZc9FzzPw7D1bDFLlaueXV9yx3ZzezN5CqLgQgId8xb4 aB8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=qqs8ifS6kGN7LaOJsBRoUbMeD52hvAgPJsDQbcB16Ww=; b=n6WzT97SEJ9MW41Aeh1xiY7/5dGcc1paRRUyFjAaC4qNqbev/GoRPiN6YWywWCADQy Wq4/SSXRba5VHthUo+AvtYq7XcY7HV+MGFeM/j56kq0ee7PZ2iuQnKbzNATf+L9tzzsE E6IVPIY8XgRwHN2aAnD0PHTqA5sCpIsMEm4GTbC2GXbujcqn1RavvWoqOBWK7LL3MEv5 VH4DmRSwiQ3hYQR/ny8CQQxWxmjRAWWMDXNe7Dlm/x+laMQSkRFmtK2kk3XcLfvsK3ED mWYiL6GZOW8KC6wBvrvAVGtOL3bakmfOhRAh6TumD1hScAhgfVQ7KKGfLlseLbjSSQ9P 6SSg== X-Gm-Message-State: AOAM5332Svi437Scea++MEX8WUVQNNuY6PXhllLTxp3e63wNl+xZqQBr VuJn9O5YECMIxpc9GdId80goNGgWqsI+Nzt6 X-Received: by 2002:a05:620a:13f9:: with SMTP id h25mr1764964qkl.283.1601642888962; Fri, 02 Oct 2020 05:48:08 -0700 (PDT) Received: from [192.168.0.189] ([147.253.86.153]) by smtp.gmail.com with ESMTPSA id j25sm921577qtr.83.2020.10.02.05.48.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 02 Oct 2020 05:48:08 -0700 (PDT) Subject: Re: [PATCH 2/3] drm/msm: add DRM_MSM_GEM_SYNC_CACHE for non-coherent cache maintenance To: Christoph Hellwig Cc: freedreno@lists.freedesktop.org, Rob Clark , Sean Paul , David Airlie , Daniel Vetter , "open list:DRM DRIVER FOR MSM ADRENO GPU" , "open list:DRM DRIVER FOR MSM ADRENO GPU" , open list References: <20201001002709.21361-1-jonathan@marek.ca> <20201001002709.21361-3-jonathan@marek.ca> <20201002075321.GA7547@infradead.org> From: Jonathan Marek Message-ID: Date: Fri, 2 Oct 2020 08:46:35 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 MIME-Version: 1.0 In-Reply-To: <20201002075321.GA7547@infradead.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/2/20 3:53 AM, Christoph Hellwig wrote: >> @@ -8,6 +8,7 @@ >> #include >> #include >> #include >> +#include > > NAK, dma-noncoherent.h is not for driver use. And will in fact go > away in 5.10. > Not actually used, so can be removed. >> >> #include >> >> @@ -808,6 +809,20 @@ int msm_gem_cpu_fini(struct drm_gem_object *obj) >> return 0; >> } >> >> +void msm_gem_sync_cache(struct drm_gem_object *obj, uint32_t flags, >> + size_t range_start, size_t range_end) >> +{ >> + struct msm_gem_object *msm_obj = to_msm_bo(obj); >> + >> + /* TODO: sync only the required range, and don't invalidate on clean */ >> + >> + if (flags & MSM_GEM_SYNC_CACHE_CLEAN) >> + sync_for_device(msm_obj); >> + >> + if (flags & MSM_GEM_SYNC_CACHE_INVALIDATE) >> + sync_for_cpu(msm_obj); > > And make to these ones as well. They are complete abuses of the DMA > API, and while we had to live with that for now to not cause regressions > they absoutely must not be exposed in a userspace ABI like this. > How do you propose that cached non-coherent memory be implemented? It is a useful feature for userspace.