Received: by 2002:a25:b794:0:0:0:0:0 with SMTP id n20csp6607833ybh; Thu, 8 Aug 2019 02:56:42 -0700 (PDT) X-Google-Smtp-Source: APXvYqzcxNVjc6f5Kl728joQY+rQaYNuTgzv0mu6fB0uZ37qbnfX6DOUmlqGGJssGg/87Yu5xqzb X-Received: by 2002:a17:902:b789:: with SMTP id e9mr12575704pls.294.1565258202432; Thu, 08 Aug 2019 02:56:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565258202; cv=none; d=google.com; s=arc-20160816; b=IrCNyhQHj6aKflG9igmU0hk1KYndToSahn44961b3/XmCndus3NgnLpy2fRcb4hBu6 iE852VJ287IwC01wCU/GXr2alGcBqyhbaRINOZX6RWZ6CTewax2/0w3OeDyIgZxWyh6f lBrMtVNbTysgDyhiw6MwRu75Vtn6LgNOPyUZj3/dc9zHGa03j801T10Xx8bUe+IkMiat UqMpqrnHMmmsg6I7oPboD+/f0VLRc2yOyIXPH0E6OXKamoHVSv3P5fC+JbKMznnkRdbM CjDOpqTQ1qZ/KiUydoZ60kSSQAz3Edf7ZD90rjoP92epck14J05caHR3WmWLvyATXXIB 22iA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=ItTzj0SpfWC0vu72cBnP+/1W7Ynh269SZNW8DzyS+rk=; b=BWH6jTGEafKOnoqzuPTFl6UJYlDakvQj6bmXR12/WWsSs26RiUGSPBSJCzKFT8KG52 N6ggncWR9OaNidIg/nWWh81KXHVK5YpLeMMrEF+FR2UqMJr3rwKgqc5BzgJfKSR6U61Q IER06/joSvLs4Cgbd2kiHbpi3bsOCgZoNKKJa3yGrvlijbQZj4gJBl5+RpSYxoXoHXOF Ih4KWGdeSLHnaPb8hE7dc5flp4pFsPsPfLj/0GUC83Uy+QWYW4MnnUop9mB0DoNSmkKU ZbWDN54dOTKPHwoLTb+8KCgSaAc4VoPvjpcCdBxqGWE2POM1vHeq+ZpvM0uso493tMI3 +0WQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 61si1198282plq.168.2019.08.08.02.56.26; Thu, 08 Aug 2019 02:56:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731839AbfHHJzN (ORCPT + 99 others); Thu, 8 Aug 2019 05:55:13 -0400 Received: from verein.lst.de ([213.95.11.211]:45154 "EHLO verein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731550AbfHHJzN (ORCPT ); Thu, 8 Aug 2019 05:55:13 -0400 Received: by verein.lst.de (Postfix, from userid 2407) id 2AB2168AFE; Thu, 8 Aug 2019 11:55:07 +0200 (CEST) Date: Thu, 8 Aug 2019 11:55:06 +0200 From: Christoph Hellwig To: Daniel Vetter Cc: Christoph Hellwig , Rob Clark , Rob Clark , dri-devel , Catalin Marinas , Will Deacon , Maarten Lankhorst , Maxime Ripard , Sean Paul , David Airlie , Allison Randal , Greg Kroah-Hartman , Thomas Gleixner , Linux ARM , LKML Subject: Re: [PATCH 1/2] drm: add cache support for arm64 Message-ID: <20190808095506.GA32621@lst.de> References: <20190805211451.20176-1-robdclark@gmail.com> <20190806084821.GA17129@lst.de> <20190806155044.GC25050@lst.de> <20190807062545.GF6627@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.17 (2007-11-01) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Aug 07, 2019 at 10:48:56AM +0200, Daniel Vetter wrote: > > other drm drivers how do they guarantee addressability without an > > iommu?) > > We use shmem to get at swappable pages. We generally just assume that > the gpu can get at those pages, but things fall apart in fun ways: > - some setups somehow inject bounce buffers. Some drivers just give > up, others try to allocate a pool of pages with dma_alloc_coherent. > - some devices are misdesigned and can't access as much as the cpu. We > allocate using GFP_DMA32 to fix that. Well, for shmem you can't really call allocators directly, right? One thing I have in my pipeline is a dma_alloc_pages API that allocates pages that are guaranteed to be addressably by the device or otherwise fail. But that doesn't really help with the shmem fs. > Also modern gpu apis pretty much assume you can malloc() and then use > that directly with the gpu. Which is fine as long as the GPU itself supports full 64-bit addressing (or always sits behind an iommu), and the platform doesn't impose addressing limit, which unfortunately some that are shipped right now still do :( But userspace malloc really means dma_map_* anyway, so not really relevant for memory allocations.