From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754840AbcBCNld (ORCPT ); Wed, 3 Feb 2016 08:41:33 -0500 Received: from mout.kundenserver.de ([217.72.192.73]:62455 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750750AbcBCNla (ORCPT ); Wed, 3 Feb 2016 08:41:30 -0500 From: Arnd Bergmann To: Zubair Lutfullah Kakakhel Cc: tj@kernel.org, hdegoede@redhat.com, david.daney@cavium.com, aleksey.makarov@caviumnetworks.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org Subject: Re: [PATCH v6] SATA: OCTEON: support SATA on OCTEON platform Date: Wed, 03 Feb 2016 14:41:10 +0100 Message-ID: <3554031.r9sGg8j827@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <56B1FF7A.3040906@imgtec.com> References: <1454437485-48009-1-git-send-email-Zubair.Kakakhel@imgtec.com> <1930324.vU65IL0x0g@wuerfel> <56B1FF7A.3040906@imgtec.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:JPlQPCArVXVE6ZGgF2nisbfjjWTlX2jMngbJc91TUcJjILalzO6 A1kSlahTVBj8xAQAJzo+DGi3WuK/C5ff81mb3zwJ5PmiEZNK2C1L1dZrtFVIJz7F+MI8Nn1 7ShgRy4jqcmvNBCeEk64gA5Qbt3ufZxiKBwzeb0kMNcT9yhVathnPYa4h0hnl29u3OmcYI2 T90PfofXewEEkts0+9sRA== X-UI-Out-Filterresults: notjunk:1;V01:K0:n1FWZw+EoEY=:nH9ZxBAZDxmwQli+YCl4cc tL6/2o/AQYtiB5QwBnLpaJEV6t93rFdYl5meqEsSNMBs+OP+7SQ9AzcU/4Kaows2CRJU6rBFI kXlQz+WlSsT2DZmO2nIFCVI/uLxmJsWzSqYdn23gHX8/5/zqJhPurRSDT7fgRHDE0Jll/pJhY xWTV2vnI4VWrLc7arVdn680/fIkZz9N7LBPa7lzEXS1rLUB7HuMrF+MU40HhW9HWKD98l5JHv 4xrySnzQwSobrXybVejAnX+sX8VHeDZK/3zsTBH6xXfvcG1Bff+jDU9UPXMQFCSehq1lIVaBG mdyMX4XuSfx2jESONfY372ZkkNVqA9A1VfdtD78xw8PFC00oKz4SNbOXZoWqjFWFJ8/ooGV9S uCFCPcuOlTybowunB0jVbGuXGDcz0q1lRZNaOHMrcqRHWgLCKhEWShpq6W6IoZ/RVs/1dLZRz y3789U7AVvPs8DDtTJGZty8dPAeLJ8P0VIXLbwS1O8RCZ7e44MA2PiXscTlZQTgS07PKr0trw XjE3Nbe5N2rk2SkP7ktnw/gqsof7ImMLgH1v9+NNiyMx9kL9OfUjJqOzRC37398ZlCA12MGUG 1289/diy0veL2ETrdpziQSWft7x8/DO2RfUZiGee0wvX2TO2hZnXPXoM5Q3YKBIJ7PGusZ5dL APUSss/xZ7POrtBWf5P5kAKlNY+ET5LDgTruHti2K4Ojq6XMRRyqxB8ZcxLuREHapvL50yHt+ /hiWuD/SE4ifXMHc Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wednesday 03 February 2016 13:24:10 Zubair Lutfullah Kakakhel wrote: > > Bitfields for both endians are used and handled by mips. > Mainly used by cavium. > > As this is a cavium driver, would it be acceptable? > > Or should I replace with the following. > > v = cvmx_read_csr((uint64_t)base + CVMX_SATA_UCTL_SHIM_CFG); > v &= ~(SATA_UCTL_ENDIAN_MODE_E_MASK << DMA_ENDIAN_MODE); > v &= ~(SATA_UCTL_ENDIAN_MODE_E_MASK << CSR_ENDIAN_MODE); > #ifdef __BIG_ENDIAN > v |= SATA_UCTL_ENDIAN_MODE_E_BIG << DMA_ENDIAN_MODE; > v |= SATA_UCTL_ENDIAN_MODE_E_BIG << CSR_ENDIAN_MODE; > #else > v |= SATA_UCTL_ENDIAN_MODE_E_LITTLE << DMA_ENDIAN_MODE; > v |= SATA_UCTL_ENDIAN_MODE_E_LITTLE << CSR_ENDIAN_MODE; > #endif > v |= 1 << DMA_READ_CMD; > cvmx_write_csr((uint64_t)base + CVMX_SATA_UCTL_SHIM_CFG, v); I think something like this would be more conventional, yes. Or maybe define the macros so you don't have to do the shift everywhere: v &= ~SATA_UCTL_ENDIAN_MODE_E_MASK | SATA_UCTL_ENDIAN_MODE | SATA_UCTL_DMA_READ_CMD; Arnd