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=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 9810FC7618B for ; Fri, 26 Jul 2019 11:04:29 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 750E121994 for ; Fri, 26 Jul 2019 11:04:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726256AbfGZLE2 (ORCPT ); Fri, 26 Jul 2019 07:04:28 -0400 Received: from foss.arm.com ([217.140.110.172]:41314 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726129AbfGZLE2 (ORCPT ); Fri, 26 Jul 2019 07:04:28 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 300D4344; Fri, 26 Jul 2019 04:04:27 -0700 (PDT) Received: from [10.1.197.57] (e110467-lin.cambridge.arm.com [10.1.197.57]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 86A963F71A; Fri, 26 Jul 2019 04:04:24 -0700 (PDT) Subject: Re: [RFC, v3 9/9] media: platform: Add Mediatek ISP P1 shared memory device To: Tomasz Figa , Christoph Hellwig Cc: devicetree@vger.kernel.org, =?UTF-8?B?U2VhbiBDaGVuZyAo6YSt5piH5byYKQ==?= , Mauro Carvalho Chehab , =?UTF-8?B?UnlubiBXdSAo5ZCz6IKy5oGpKQ==?= , Linux Media Mailing List , srv_heupstream , Rob Herring , =?UTF-8?B?UnlhbiBZdSAo5L2Z5a2f5L+uKQ==?= , =?UTF-8?B?RnJhbmtpZSBDaGl1ICjpgrHmloflh7Ep?= , Hans Verkuil , Jungo Lin , Sj Huang , "moderated list:ARM/Mediatek SoC support" , Laurent Pinchart , ddavenport@chromium.org, =?UTF-8?B?RnJlZGVyaWMgQ2hlbiAo6Zmz5L+K5YWDKQ==?= , "list@263.net:IOMMU DRIVERS" , Joerg Roedel , linux-arm-kernel@lists.infradead.org, Matthias Brugger References: <20190611035344.29814-1-jungo.lin@mediatek.com> <20190611035344.29814-10-jungo.lin@mediatek.com> <20190701072532.GB137710@chromium.org> <1562297618.1212.46.camel@mtksdccf07> <1562313579.1212.73.camel@mtksdccf07> <1563870117.1212.455.camel@mtksdccf07> <20190726074116.GA19745@infradead.org> From: Robin Murphy Message-ID: <4460bc91-352a-7f3a-cbed-1b95e743ca8c@arm.com> Date: Fri, 26 Jul 2019 12:04:23 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 7bit Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org On 26/07/2019 08:42, Tomasz Figa wrote: > On Fri, Jul 26, 2019 at 4:41 PM Christoph Hellwig wrote: >> >> On Fri, Jul 26, 2019 at 02:15:14PM +0900, Tomasz Figa wrote: >>> Could you try dma_get_sgtable() with the SCP struct device and then >>> dma_map_sg() with the P1 struct device? >> >> Please don't do that. dma_get_sgtable is a pretty broken API (see >> the common near the arm implementation) and we should not add more >> users of it. If you want a piece of memory that can be mapped to >> multiple devices allocate it using alloc_pages and then just map >> it to each device. > > Thanks for taking a look at this thread. > > Unfortunately that wouldn't work. We have a specific reserved memory > pool that is the only memory area accessible to one of the devices. > Any idea how to handle this? If it's reserved in the sense of being outside struct-page-backed "kernel memory", then provided you have a consistent CPU physical address it might be reasonable for other devices to access it via dma_map_resource(). Robin.