From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754308AbbJ0Xk2 (ORCPT ); Tue, 27 Oct 2015 19:40:28 -0400 Received: from e38.co.us.ibm.com ([32.97.110.159]:41055 "EHLO e38.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751475AbbJ0Xk0 (ORCPT ); Tue, 27 Oct 2015 19:40:26 -0400 X-IBM-Helo: d03dlp02.boulder.ibm.com X-IBM-MailFrom: nacc@linux.vnet.ibm.com X-IBM-RcptTo: linux-kernel@vger.kernel.org;sparclinux@vger.kernel.org Date: Tue, 27 Oct 2015 16:40:19 -0700 From: Nishanth Aravamudan To: Julian Calaby Cc: David Miller , willy@linux.intel.com, keith.busch@intel.com, benh@kernel.crashing.org, paulus@samba.org, mpe@ellerman.id.au, aik@ozlabs.ru, david@gibson.dropbear.id.au, Christoph Hellwig , linux-nvme@lists.infradead.org, "linux-kernel@vger.kernel.org" , linuxppc-dev@lists.ozlabs.org, sparclinux Subject: Re: [PATCH 0/5 v3] Fix NVMe driver support on Power with 32-bit DMA Message-ID: <20151027234018.GA48779@linux.vnet.ibm.com> References: <20151023205420.GA10197@linux.vnet.ibm.com> <20151026.182746.1323901353520152838.davem@davemloft.net> <20151027222010.GD7716@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Operating-System: Linux 3.13.0-40-generic (x86_64) User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15102723-0029-0000-0000-00000DB17218 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 28.10.2015 [09:57:48 +1100], Julian Calaby wrote: > Hi Nishanth, > > On Wed, Oct 28, 2015 at 9:20 AM, Nishanth Aravamudan > wrote: > > On 26.10.2015 [18:27:46 -0700], David Miller wrote: > >> From: Nishanth Aravamudan > >> Date: Fri, 23 Oct 2015 13:54:20 -0700 > >> > >> > 1) add a generic dma_get_page_shift implementation that just returns > >> > PAGE_SHIFT > >> > >> I won't object to this patch series, but if I had implemented this I > >> would have required the architectures to implement this explicitly, > >> one-by-one. I think it is less error prone and more likely to end > >> up with all the architectures setting this correctly. > > > > Well, looks like I should spin up a v4 anyways for the powerpc changes. > > So, to make sure I understand your point, should I make the generic > > dma_get_page_shift a compile-error kind of thing? It will only fail on > > architectures that actually build the NVME driver (as the only caller). > > But I'm not sure how exactly to achieve that, if you could give a bit > > more detail I'd appreciate it! > > He's suggesting that you _don't_ put a generic implementation in > /include/linux/dma-mapping.h and instead add it to _every_ > architecture. Ah, I see! Well, I don't know much about the DMA internals of most architectures -- and my approach kept things functionally the same everywhere (using PAGE_SHIFT) except: a) Power, where I know it doesn't work as-is and b) sparc, where the code implied that a different value than PAGE_SHIFT should be used. Thanks, Nish