Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp4927391imm; Fri, 18 May 2018 13:08:07 -0700 (PDT) X-Google-Smtp-Source: AB8JxZoSUoilp111WhCaLAjGGV2ycMD3ikwMr6MN/W1MxQkpE8RFdSET2g48BhNzq/0raFSwntma X-Received: by 2002:a65:65d5:: with SMTP id y21-v6mr8279827pgv.277.1526674087685; Fri, 18 May 2018 13:08:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526674087; cv=none; d=google.com; s=arc-20160816; b=YnbZIQAp7NTuitp3pN8vH/GLZJp8bPjSXXT6PtVraD6iVfQwoYNEF0uSsvOcJmsG9d b39Zbf8CbiCV2s0Y9qdRZF7VdVgzr861oRNzhPAjntbTFXfU+GSEvS3dZ/niw+9YqtK3 Q8JRmrxqspIeIocP0O2UMG9D6ak5vqsfc1I58jxV084aIEtR6tnHeG8sruibnDpDhFJY ZEAczV9Mh8w8DaggKjq6NX0MovZv5D9OZHCetZ/N7+ZccjN0USqvYGa0OFWqLnPtrQFR BQdBLxRmrRjDFeTA9O0wg9Xy9tEwZik50d3bpuJuhDBN/RW/k06ZmJi1vvt5XvmCYYef DHkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:arc-authentication-results; bh=eBGBuSCNxKunko2ITG4BQFE6AQoKJ7YsO3v+Fm5mzZ4=; b=GlctnjjQPEU5EtDX3Q272HQ23nYpJOx9tp84zdwKoDIipTZ0/2ngwo/shbQ5ae2gTZ sEzVedC1Hcqt2wfgYCAMjFvouZeuBA9WS4JrMQQcjW0TMQUiysDDDkNWhZ84Bajd6THe U05Kou0vVj5Xz+zrDeagjl7J2jDpyjyKdDdd8YNE8kuMG54huKrVb+7rMSGJqo9brxBj pV+clPN8wujMZH+XaaPxdyKPnQI9XN1FNFrBde2G0qbZ2dfDW7+ch+/heg3gQKVmrmTm xdP8B941bgDHN0e2SdFBRmE5tBtVed9zCUOxrNjsAHfM+5rIZTjCZG85gkvco8F6paAO M98Q== 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 x10-v6si6382952pgr.45.2018.05.18.13.07.53; Fri, 18 May 2018 13:08:07 -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 S1751920AbeERUGc (ORCPT + 99 others); Fri, 18 May 2018 16:06:32 -0400 Received: from mout.gmx.net ([212.227.15.15]:60089 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751156AbeERUG0 (ORCPT ); Fri, 18 May 2018 16:06:26 -0400 Received: from [192.168.20.60] ([89.247.38.74]) by mail.gmx.com (mrgmx002 [212.227.17.190]) with ESMTPSA (Nemesis) id 0LdYxu-1ebJzs2zys-00iiRB; Fri, 18 May 2018 22:05:54 +0200 Subject: Re: [PATCH 02/20] dma-mapping: provide a generic dma-noncoherent implementation To: Alexey Brodkin , "hch@lst.de" Cc: "deanbo422@gmail.com" , "linux-sh@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "nios2-dev@lists.rocketboards.org" , "linux-m68k@lists.linux-m68k.org" , "linux-alpha@vger.kernel.org" , "linux-hexagon@vger.kernel.org" , "linux-snps-arc@lists.infradead.org" , "iommu@lists.linux-foundation.org" , "green.hu@gmail.com" , "openrisc@lists.librecores.org" , "linux-arm-kernel@lists.infradead.org" , "monstr@monstr.eu" , "linux-parisc@vger.kernel.org" , "linux-c6x-dev@linux-c6x.org" , "linux-arch@vger.kernel.org" , "sparclinux@vger.kernel.org" , James Bottomley References: <20180511075945.16548-1-hch@lst.de> <20180511075945.16548-3-hch@lst.de> From: Helge Deller Message-ID: <0c5d27e9-2799-eb38-8b09-47a04c48b5c7@gmx.de> Date: Fri, 18 May 2018 22:05:51 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:dbWqGZkrneC2PXCfX6aBO4SyRmjNp/wfiM9LtaMukYwZXYlHQxv jz4n7wg5rGJtnaBkFZ03R0Tcq10Qaftrg1yaGhe+vKwpDliOtvDkMLP3jrubI3Pt5Q9A8hy ThSgsvAX/hZsL8sI6qZ218VFUwL8O1Y9YfPtHlEZYXejlqT3fb08NvgvazJRa78rNmIvmMe pojZopBZxyKl6TxHQ/C3w== X-UI-Out-Filterresults: notjunk:1;V01:K0:wJHJ2Ioh6vM=:9NoVMjYeCNBYtG9aazO7XR f2zt1tXloI3vYOqTqN7tOZVJqXc5LXciOLNKtNQZ0YSMsmKBG14L+WmbYuCeQlpfg/zXBOpLG TmjLUz3msEI2gShw8IebNUzfCjCyyV61N6OZqGE8XTcfgGFsIRIPHaqhpLSQEhZVUMqVpB/aO HCeulVegkInx+Af5TRkjlPaFq69qXJYvQjiVRzHdh26lS3oI1/ZFJs8Ww4ji+j0GjmMqSuVQQ +WUfdjVALVGHOMeN0sCrX6RQK3EIzqNaurcMa6JEXu4qHLjX3jXpNv7EmFxMU0JB3sCw5rGf7 NVgDlzFbGWY3yuU9mbzKkxHQC+h885SUCEhh5zHKrArE8HoTOSMnfCHLp2DOLbRFmBQ1LTO1l YIai4pFYabrUyderIa45BVBQVXsDQpPnFa0GT7irJTt2LE430RS0//hWryC10qMB8jGnOH4jV 7giHLCgtJ41H1IaJJjbBrkIQhi7ZOkjtAQGagbkObmmA6p2YhOso5hbp9z18QM1rOx09XCKHm LQIsIDmkdB4o+5I2hjkv5pbP3sCrx8fPSqCAsRbiMxRHiKarFXfWmfxG/KKomCH69UvSK/N4R FLldPcb7Lb/9b3Z8dfoZ2fK3/DINp5rs/HV/dhZIllKLL4vRaPnmBQJb/EO9i7mylik1nBHGo XvtexbgH+iWhshCmYX9MpTk2IV5OF8AvOw8HvjKGjlkF+Slt0Lk6ZDBOTndDlPXQGnHNDASNj 0Ix5qzWSrOZpL7JRztJ5lKWK291WDRy/C3MFAXYvcohzIZvQdHNth0je/+RRJTppPdeBEI160 kGe+/sm Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 18.05.2018 15:03, Alexey Brodkin wrote: > But the real fix of my problem is: > ---------------------------------------->8------------------------------------ > --- a/lib/dma-noncoherent.c > +++ b/lib/dma-noncoherent.c > @@ -35,7 +35,7 @@ static dma_addr_t dma_noncoherent_map_page(struct device *dev, struct page *page > > addr = dma_direct_map_page(dev, page, offset, size, dir, attrs); > if (!dma_mapping_error(dev, addr) && !(attrs & DMA_ATTR_SKIP_CPU_SYNC)) > - arch_sync_dma_for_device(dev, page_to_phys(page), size, dir); > + arch_sync_dma_for_device(dev, page_to_phys(page) + offset, size, dir); > return addr; > } > ---------------------------------------->8------------------------------------ > > You seem to lost an offset in the page so if we happen to have a buffer not aligned to > a page boundary then we were obviously corrupting data outside our data :) Good. This patch seems to fix the dma issues I faced on my 32bit B160L parisc box. So it leaves only one open issue on parisc: Now every 32 bit parisc system is unnecessarily non-coherent. Helge