Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp3964805ybc; Tue, 26 Nov 2019 01:23:58 -0800 (PST) X-Google-Smtp-Source: APXvYqwnGh0i9GRP0Yazk4i05BY4m32gArQH9tdW7DLx7ac1gT5EDMjeCgdS0r0ttRZsQ59nVFp3 X-Received: by 2002:a50:9fa4:: with SMTP id c33mr24180654edf.176.1574760238449; Tue, 26 Nov 2019 01:23:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574760238; cv=none; d=google.com; s=arc-20160816; b=CwTP7x5t1vAeWK4aR4CGfHrlBnbvU0BUxwRyLQqH32mrsXcXi1/ZsfOycQ83jLYV16 o/ufVidb2QK2nZM3FEqkP1sjq5Fd5xeVDYK24kWLzYtkJIVRrjsGGxPUC/I4KeQ5LemH d5YfK0UYg8yfvi2cojdCRkSohmTSkEWcudnG1S9N8Y9jXyHsZiH303M9rZbGfn8jh+ko O/rLnbF3R1CmQJf5qyOJol4Bm13NuUonIZB8n9K6he5A0UIdvAiG+PKkkhaPjg3mKRtp ekESgYNYwtAOlqGaVxY44bdyuN/L1zRKyJLWT4vv8R93Pbm8pMoISJRM4MEDK2wavry0 8URQ== 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-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=Cl2OwLAS5ByjzNC47oURNBs2WCaLPhuKHlHGUaWTpTw=; b=rt3yBWrsAXs7ri0PP3YLZnvodbZgBWbmSCCBnvUUyrfppsjNukt9WvoYVC9/E/iIQ/ qosYzIERDCj4FB+B4E7SaHE99niOVsCJtCqkAiSmKOiptzEL1FzvxJoHJwRag2noug9p 2xqLNEQ13cMDdbyrNHy6NyfMhTkHboFjtKDjFMTvifDcyKZ3XL1HIPi2B0NZE0S/WKpp BfruJ7xE0NWryhD8KYml2HR9yiA9Oyfl5pdFb2aOBM6tLIJKTgrTSBRx3HKMYCBIu6V1 fl6n4bIck6ybdWkvlNXLcqOD+CL5gwWAGMSYEN9HeidglFj1IWqGr5Kmt4GfAmwOxG/T oIzQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dBf8P9Ow; 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 q20si6436731eja.339.2019.11.26.01.23.34; Tue, 26 Nov 2019 01:23:58 -0800 (PST) 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; dkim=pass header.i=@kernel.org header.s=default header.b=dBf8P9Ow; 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 S1727479AbfKZJTb (ORCPT + 99 others); Tue, 26 Nov 2019 04:19:31 -0500 Received: from mail.kernel.org ([198.145.29.99]:46336 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727150AbfKZJTb (ORCPT ); Tue, 26 Nov 2019 04:19:31 -0500 Received: from localhost (unknown [84.241.194.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 411842073F; Tue, 26 Nov 2019 09:19:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574759970; bh=Iqz6aTqwrpGHW7R4infB/EOGkNdfCfDKkSzCxC6kw14=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=dBf8P9OwXY/kAat+PpZvnrDhYOsTxpOHy1o62o6qi6+RiG/Sr5MVqvy20q1IWiY0k +bgDn/K9hTRbqGZvo8UpA5JbElIhKq/2ijMXUMCR5a7OhpBmiFl/iircUikAGSUX88 b67L/U1Z/fc3mQi1fCRozVw3hrI+9ofixjPJXEdw= Date: Tue, 26 Nov 2019 10:19:26 +0100 From: Greg Kroah-Hartman To: Mateusz Holenko Cc: Rob Herring , Mark Rutland , Jiri Slaby , devicetree@vger.kernel.org, "open list:SERIAL DRIVERS" , Stafford Horne , Karol Gugala , Mauro Carvalho Chehab , "David S. Miller" , "Paul E. McKenney" , Filip Kokosinski , Joel Stanley , Jonathan Cameron , Maxime Ripard , Shawn Guo , Heiko Stuebner , Sam Ravnborg , Icenowy Zheng , Laurent Pinchart , linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 2/4] litex: add common LiteX header Message-ID: <20191126091926.GB1372654@kroah.com> References: <20191023114634.13657-0-mholenko@antmicro.com> <20191023114634.13657-2-mholenko@antmicro.com> <20191120192648.GA3087498@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.12.2 (2019-09-21) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Nov 26, 2019 at 10:02:18AM +0100, Mateusz Holenko wrote: > śr., 20 lis 2019 o 20:26 Greg Kroah-Hartman > napisał(a): > > > > On Wed, Oct 23, 2019 at 11:47:04AM +0200, Mateusz Holenko wrote: > > > +#ifdef __LITTLE_ENDIAN > > > +# define LITEX_READ_REG(addr) ioread32(addr) > > > +# define LITEX_READ_REG_OFF(addr, off) ioread32(addr + off) > > > +# define LITEX_WRITE_REG(val, addr) iowrite32(val, addr) > > > +# define LITEX_WRITE_REG_OFF(val, addr, off) iowrite32(val, addr + off) > > > +#else > > > +# define LITEX_READ_REG(addr) ioread32be(addr) > > > +# define LITEX_READ_REG_OFF(addr, off) ioread32be(addr + off) > > > +# define LITEX_WRITE_REG(val, addr) iowrite32be(val, addr) > > > +# define LITEX_WRITE_REG_OFF(val, addr, off) iowrite32be(val, addr + off) > > > +#endif > > > > I just noticed this. > > > > Ick, this is not good. You will run into problems in the future with > > this, I can guarantee it. What about systems where the CPU is one > > endian and the hardware in the other? It will happen trust us. > > As mentioned in the previous comment, LiteX CSRs are guaranteed to be > always little-endian - this includes configurations with both > big-endian and little-endian CPUs. What enforces that guarantee? > The aim of including the ifdef section was exactly to target situation > where endianness is different for CPU and devices. As such this > approach *should* work. "should" :) We have seen it happen all the time that some hardware team hooks this up backwards, no matter what the "spec" required. So be careful here. good luck! greg k-h