Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751758AbdGaUzK (ORCPT ); Mon, 31 Jul 2017 16:55:10 -0400 Received: from mail-co1nam03on0048.outbound.protection.outlook.com ([104.47.40.48]:8068 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751017AbdGaUzH (ORCPT ); Mon, 31 Jul 2017 16:55:07 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=alex.g@adaptrum.com; Subject: Re: [PATCH 4/5] mtd: spi-nor: Add driver for Adaptrum Anarion QSPI controller To: Marek Vasut , linux-snps-arc@lists.infradead.org, linux-kernel@vger.kernel.org References: <20170728220707.13960-1-alex.g@adaptrum.com> <20170728220707.13960-5-alex.g@adaptrum.com> <135fdf95-1029-2d34-2802-1283a73588e5@gmail.com> Cc: David Woodhouse , Brian Norris , Boris Brezillon , Richard Weinberger , Cyrille Pitchen , Rob Herring , Mark Rutland , linux-mtd@lists.infradead.org, devicetree@vger.kernel.org From: Alexandru Gagniuc Message-ID: <63953f85-795e-20a2-04aa-4d486db608cc@adaptrum.com> Date: Mon, 31 Jul 2017 13:54:58 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <135fdf95-1029-2d34-2802-1283a73588e5@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [198.0.218.81] X-ClientProxiedBy: DM5PR06CA0062.namprd06.prod.outlook.com (10.168.110.152) To CY4PR04MB0840.namprd04.prod.outlook.com (10.172.138.17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3c7cc184-e6b8-420b-579d-08d4d8566b2d X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(2017082002075)(300000503095)(300135400095)(201703131423075)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:CY4PR04MB0840; X-Microsoft-Exchange-Diagnostics: 1;CY4PR04MB0840;3:qjmm+oozLfXCxreku+54vsVN85iUEy5q4VNBCqVaOV3EgH92EebwiBZSzGlqxrcTIiB5ZWXOJvfyGvvNQj+/i1/MsrFrueUhNUO/HS2Z9fE0HWSx3dZN4u+b07Kll6Ho2bB3v3nNdw4/5IivfVCrfN+no3urvm/8LHhy9B+JyzeeL12IcI3IUDcfSDlb5woCdNfot1BhGDkoST0kkJsDHADmxyt04nxXD6OqB/17hH/F97Pd7tOiVj1GXDVfXez3S5VwVfHGCjlTU+h8xYgFzK+EEqCG2LGVgy+V3itXKtspsynbxaLoxkfMjSRZ4fKH2WC6xNxBgYbwsjFPRIw1zi1bqJcioKg8UihIdNiQpA67JYmb8J8UiNuuAGFdEExJAo4Z+nxL04teAZGSGfGTvmLcGwDn/XKawZx7x4eZxyE6TMEprOIuT2nAFpcMR9rsleGLO04AxGPlfxhGDHYIFOw1pvHslfCP7gXFvv0YaNt8LRop71LMrZ8yaODTJE6KGu+rpo+gR3vNMv35e2iTEKZm/QtjTGzYNJleA7o5xcOU3ea63mzJSHjGvt1PpP00QwkIOr7AwhazHCjnxFHITYBljN0U0AjKSOiD+5zpZVXNdS90j2p1cpZWGv2LwyLkt4v3UrLp2b5oSEDPTE6ObopxlknqH0bL1kzHZrn4UgsC1v4aoGCzKrY9FwYdR5ddqS33I0tq+HpMtWMtERXQ+UDBVVlgj0ROjxm2jhSg+izAgSIVD52v4ryuEi09nN0ZssM1NC49q1ODp2Yo/Oezt3lZBIfJJuex3rAWEsgMwYE= X-MS-TrafficTypeDiagnostic: CY4PR04MB0840: X-Microsoft-Exchange-Diagnostics: 1;CY4PR04MB0840;25:56sdi4P+ZpsGiNumG+IJZ3gaVE0gCJhrqyNEA+yzrIL3j2XPhIxwbYVcSrBJ6MuRB3SsScF5KJUp+7/8rvacMnlZD5inljfIKlbnFE2maabaIk3L2LqA6zo/v2jK2Si3//4xhEVyQPY1+DHpS31Cp8qXeJAR0rvmu9S33000bJK9xrV2lAY/c2gXcr/3kem/JtWI/LyW5wgyH0k5nRaLhyMNJgqwCdf0ZDoHwaAER4eFo0sfTags+SxY7pAhj1NacI0wnjyITt3SAo8LvxB5R3kuQ4xkaOKYDtX2MO/wXase9h1gtzVJwV+1/s1133JMojDBXdx3UdsFVthNbiaVUg351okeToIZIa8cspr+TkulC1RuQO6oG9bHeFxCrir06DeMxl2PWws/WxdhmjgIfz9Sw2DYPMuNr6i9IXBavaTzKwuxQNSs3TIn92Pmmhri7n58jklNSkiEJRZz02onMWeYetP2P1Dlrly+VmVfJ/cicE4x4PvhL8qqs64PMxO2sTxjT/6tw+qBYvhJUx7h+hh1lxElQwhWJMGJt1Xum6Qb5jAxXhoOe9uPhLPRIlWvULAx9mUbtWF0LSVq42cRNnU1S/zYSIw4Vv1WTJkhRkwnEioAUIFJ1VML2X3IX1/Q0P2elSiIZjKNMA4Tx/+fImGW866qhubm6mQ+eywjUzfz5K+Q1B471CZQ54irGXyPQMwYdrIX+a6jaqGK4OCVt9Gu7+/xyMj1EFi4/DM1xwOwiXnBD1Dkf82GBm4gFUIwPl9aWFluh/T9bg5o+5tDLyx733KzSAOWBoVr4xYGgXdJCTbmOcYs/WLy0M1c/BCE36aCTaAB66dCjcc0aHtp9iF6TxjRHKvhnOAVrX6uPyu0ZZW1BjABKW49dt1kpGNvkK1CYztoYIRLCMIOjywF7EVGMs3y4huJjZunlsFdJi4= X-Microsoft-Exchange-Diagnostics: 1;CY4PR04MB0840;31:kT+pWNFrp6Nt7UNugTyLLiPNAfyeWPAEfJKh0VBaTU93KtY3HySf41fHl+z4Qd+OI/27IvlKPR6SB0V4MUtV2Qn904KSRcRYRqr1YkNwW4j8XLP0YMqbcfNLafN4B6qxhKwu0ZwUlOtIZZyydyLIdl/5yAfyURi29RMPNOxHtqdULaYuZ0AHQrcHhXmzBtYYoPFX85dW0BvBSQnV8aA3/mNLyGYxmWJggvljp/4awKX8SyvZKli+D7GkKSZyIj/BaxPmhqA8gXJ+cCG/hZJlUhz2zP1HWXErQCli7pjmLT9w30CftKZ/FUWP6cL5N+Sm8EigBfOnSTy2EHc5Nyiv3neEuTxM6dKjpHWgpQO+6uVMPR0NEIxA9WA3wBVsEfqXqia7A7SGFnh15T0BMyw6jJau3QwjA6KpwLWRYYxiu8tGs/5NKNV1355RIavAL86LW1S5LXXHIBM+1bEh5yT4742nV1yT10AfV23ik9wNDtI5m/aUttadTvUglvm28d8OIrPdp0nLcg29OIfR0ZRTshKZUwry37wFWgcmzwVwm5OIni2dIuqhR/OgZk59HcSFVZQMIZvULb2lyKZ4QX7DpRXRRmg0Ay7/+eOok5TF80d3bahpZYXZb409RTxO/8th+Ui7c9nNhY9TicRtKIYBnljHGn0AYpOOSZMNCwm9lJ7FofUI5ycoQ56wmw4FRb9PCi51sd+WCCll0lg3Hdw2PA== X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(3002001)(6041248)(20161123555025)(20161123564025)(20161123560025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(2016111802025)(6043046)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CY4PR04MB0840;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CY4PR04MB0840; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjA0TUIwODQwOzQ6OHE2OGhLS05adUFXNTJEelNDSTB0OGhlblNt?= =?utf-8?B?bC9tRXFzS3BTVnhLR0ErbFFOSnpIQ1JOVjB6V3V3MElraUUxbXBxaGlKMW5a?= =?utf-8?B?djJmOS96VXlVb01janZoUVRpeXQrTHQ4N0o5V3pjS2F3blhQTXZ5eFR4V0tw?= =?utf-8?B?ekhweEZxS1NTZk4vUlZObGJiWHEwVVQxZjg4ekJPUm5Pd3kwbmxLM3A1NG5D?= =?utf-8?B?QjNNRXEvcHcvVk5SWjl6b3JYdTZuQUJ2YUV0Znk0c2hDQWZqT2ppaUt6NVZT?= =?utf-8?B?bW5YWGdqNUQ5NjBQRU9XcWxRSDg0UVR5NG9tTVZPMDlpOVRzWDkwbUxzSGZD?= =?utf-8?B?SkMvM21KSHUwdUprL0ZjcVl3WWE3N3FNTVBEOStvS2FuSFFOYW8rVXZPL1FL?= =?utf-8?B?clYvRHFwbzd6NjYvZUZMakdETEF1SEpPTWhJaWptOFU4dUdmNkNWekJNalVl?= =?utf-8?B?NURGYVlkOHdYQXZhNU1ReDhHSW1vRUc4UERxZEJjVFYwWGhtb3J5YlE2cmRx?= =?utf-8?B?RHJqNTVsMjRPSysyZHp6dmQrSnZ5SUsxYUNHSCs4ODlHbmxxOHBtZTZVWnlM?= =?utf-8?B?UXdaQXgyWVpVVk9lWENNK3N4RzJhcjh5M1VndmkvQ0VYN3J1dXBtUEtLeDJx?= =?utf-8?B?bXRIdWJlSG14YzFWd0Z3S3MvT1B5OHF2YlVuY1RtdjBTV1dFcDJkL0NBUURC?= =?utf-8?B?cFJ3eExjUE9aU0lQZXNQZUhKaFJtRWxmUVFJZWZPMldMUzlwV09od241VHlh?= =?utf-8?B?dDV0OEhrYmRDS2ZGbW5oVW5tcEo1aFBaeGQ3eXFzVEVZZmZTdTZkcDQ0THRK?= =?utf-8?B?VDRBWmhnVnhsaDJvY0ZBSjdoME9xaWhIN1MvcUNQVEM0emd2SWJFTW94dnFt?= =?utf-8?B?dTVVZlNTQmhNYTQvYTY3eEE0VVJ1Q3F1blRmL2p4ZGVtVkg1V2lUYTdzcTF2?= =?utf-8?B?bDhPNGJ1ZFhTTHdXaEI3QjBYNHphelhwd2kxakZmZ0JwcEh5M2pySjVEd0Z4?= =?utf-8?B?U1h4VWhpSUdueHE5N2tLNUh5ZnlBUERkdGdiWGxDeTBOM0lueVR2d2VobHpr?= =?utf-8?B?V0RLblplWkVlWnpXMTlyOGI1ZGY5WVVvN0N6djNtNHlMNERXZHlHSUczN0pH?= =?utf-8?B?WVU2bSt0MXFmb2MxdTFrRkJQaWlwaEMyVDNWdXl0dkdVTGw1Q0pqUkNTUjdz?= =?utf-8?B?SXBXbEhiR295ZVpCQ1hINm80S2E5NGlTT20vOXFvZlI5YWFVeUtaKzNCV3Qw?= =?utf-8?B?UHF4dDQ5VjR6VTlSREIyWVRBSTNDMW9INTlzVmY1NTJxcmtXU3owOUw4Y1lJ?= =?utf-8?B?OHN4RTg0ZTJoajJiWm9rbC85ZkNXS0VTcGsyMkpHa2llWXY3Yk5NM2svbGVS?= =?utf-8?B?UTc5K3MvbHFuM1R5OVdvbkdpbjM1Um0xOVI0UE9pcS9zR3YwcmZnc0ZMT1Mr?= =?utf-8?B?anRwNGNsVDFvL1F2bjRvazJLeXdZZ1dEOG5MRU5CWnZrb2NHc0tuQ3BZbE53?= =?utf-8?B?SDV3cWNzWkw1ZUF5NWdCcjJmZXZEajdidWRlZ2NnRGpuY2k1UVdhR2Q2ZWN5?= =?utf-8?B?ZDRZdXRzaDA4dGtSL2tWYk9XbGFWZ3FsZGxFbUVOelNGaHVydmZ6enhOOW8y?= =?utf-8?Q?QtZgqvIkvVA+tW4V3gm?= X-Forefront-PRVS: 03853D523D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(7370300001)(4630300001)(6009001)(39450400003)(39830400002)(39410400002)(39400400002)(189002)(24454002)(199003)(377454003)(105586002)(31696002)(42186005)(64126003)(230700001)(23676002)(50466002)(106356001)(7736002)(305945005)(8676002)(81156014)(81166006)(189998001)(66066001)(47776003)(5660300001)(54906002)(65826007)(68736007)(65806001)(65956001)(7416002)(31686004)(97736004)(2906002)(7350300001)(54356999)(76176999)(6506006)(6116002)(3846002)(33646002)(6512007)(53936002)(101416001)(110136004)(6246003)(36756003)(50986999)(4326008)(83506001)(86362001)(38730400002)(53546010)(6666003)(4001350100001)(478600001)(6486002)(229853002)(2950100002)(25786009);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR04MB0840;H:dev2.adaptrum;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjA0TUIwODQwOzIzOlhEWWxXQlZYeEVPVVBpaTRsQktLc0RONXZW?= =?utf-8?B?bnlRcHBUOEM0a3c0MGlsSEFPQzJIbnltYkVmMHhCWG5OSlcySG5iV2lpbm05?= =?utf-8?B?TVNkV2tQcDlhZnlzcE9Ga1JpY1pKTEJmL3ZrbHVxcDFYanlvNWk0TVdrNG03?= =?utf-8?B?MGlveGNCSDNVY21JWEkvMzVBaDYzYUtHa3JaK3JTL21zNFg4NnA3OVBhZUJN?= =?utf-8?B?a1BldTJnL09ZZVdyYWsrQmNjT0U1aVUza0pINDcwNU1yeGVNMmR4bDMxUVdv?= =?utf-8?B?Z2d1dXZ4V3l4MENRR2xwTUxXM3JZSUN6cG9jQTIzSlIyc1hrUWVuSmpnMjAy?= =?utf-8?B?R1F5VHBEVG5pUEdWVERtVU9xMjc4N1NoRGdWb2tPUEZjOC9IYzlHK0d6RGYw?= =?utf-8?B?RVg3ZDJRU0hhd1NrRzFSWFF3VHRGK21VcS8wNndBeEhncWR4RW5LS3dDNjkx?= =?utf-8?B?Tm55WHN6MXFDelNhUmE4RlpSaUczU05DVXlkNURYOTgxbnJMdEs1KzFDcDl1?= =?utf-8?B?dWMvOVBFUFJuRC9udjFDallDT3ZOaExkck9ieE0vTE1HRktVckdJVlVmcGlV?= =?utf-8?B?enNpUmpHNUMyNk1qR1BuMTBvSm4zcnVIUG10VW9MRUFXSWJlL29Fcy8zUTRz?= =?utf-8?B?cHVkSG4xQ251SkdMQ2s1QjFSYnU4NGtwUzdjeVNoNW5ybHZHMUpKWWNuMjNa?= =?utf-8?B?M093bkZReUdZajYvVm1KYVp2SEU5dWlncHBGZTRIYWY2TklKR1hkc1JVZmZv?= =?utf-8?B?c2ZoSFVFUUlRU0tPanRKRWl4bzJSeXc2NWZnNUlLbFE1WXhBbWhJdWg4RXQ3?= =?utf-8?B?OHFyU0haV2FwSVhzbjcwamdyeW1TMHJabERyWHF6SzdrOWRlbVhuUTRZc2hN?= =?utf-8?B?NnoyeUhJdVVpUEpxQVBIMFh3MWJxSndSR1A1UHgxU2lOeUZyWWVyVnNJekdT?= =?utf-8?B?R0RDckFIQVoyWVdkMGROZVBEM2ZLMzZBMDQwTmhtM0FMcHRodXVBVHFQZitL?= =?utf-8?B?WHJJcmlWUjdDVDZrajRSSDVNalpvTW0zRjgzUGt0MU94RU1EdEw2czVDTU9D?= =?utf-8?B?Qy9PTTMzL3B4cmxLOThmR2xSbHdXeE9KaEFqeDhLVHhHTExCbWVUZGpVVmUz?= =?utf-8?B?SUNPNk9mQnZJSDdpWENqTFg0NnZkUzc1S2VCVFpWK1BBWFBQNWJ0R3o5blpO?= =?utf-8?B?YWYrNEdwN05MNkJBODdwYXdHV21ZdW9tYjEzcXJHb2JDY1prYmhwYmgyZkc4?= =?utf-8?B?ZjdJcW1BMlFUL3pXSGRIU0xCTWZYbmpDc0haMFJxT3FNSW5ETk85OHNXYjln?= =?utf-8?B?RnRFOHAyaG9OZkhuR3FCZkRZcXR6N0U0TVZIN3BNMER3OXpsWEhaYy9HQkgy?= =?utf-8?B?S2F4ZnpaOHZ0TnBEZkt0RmozeDd5MXRtQVRZYU50bXZXSWdGNVA3ZXpTcUh3?= =?utf-8?B?SHNzNDh2SUQrV3lHeE5FQjFFNXArSlU5ZCtFc296cDExTzhHa2xEblhuWjZ6?= =?utf-8?B?bjNlSkx6ZkhucytmVkZrbm5vL0VlN010b05FeFpBeUxxR3ZiZGVmd1Z6dHR6?= =?utf-8?B?NXNPcGcyaEdndW93bUIwNFMyL1RVQ1hPQnlaL1hzeHg0ZHJmMVJzNzlTc2ww?= =?utf-8?B?QmxUWUJlNHltby9yUTkxUzFrRUhFM28vTjBCK1NGaHlxNmxIZmlMaW95WlFn?= =?utf-8?B?bFQ1RmRxbHByNnNtWW5XL2sraituMExUTVRhbkRtcnU0YVBFVDVOaXlOVWdj?= =?utf-8?B?dG5rYUFHZkdKZU1lR1dQcGlrclphRXMrdFlBS0NSOFRJMFZQOE80WVppNUtn?= =?utf-8?B?NG9yS3I1eldIOEtqamttZ2owelFsZjdaUzlBS1ZTck1VWUl2MTkwZGJaV1gz?= =?utf-8?B?VEp6b2ZKc3Z5d21raGMvYkUya1l4NTV3Y3hMNC9RN2JQVG5seTkyTW91K29h?= =?utf-8?B?QWhuOVl3RUkzWURZcFVTdFRrMFdlZTRSeVlxMHdhL29Zc0E2UGJhZ2V3eWhQ?= =?utf-8?B?em41THFUUjk0NWQwYkJVV0d0NVNlbnV4TGpJZkRKcmJpWEkreGVWanZLQkk3?= =?utf-8?Q?nyy7CZ+uMUXTp8gQGSKsEdcNf?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjA0TUIwODQwOzY6SVdOVDFTbktRRkpsQmhMK2NENnY5V3JZNDY5?= =?utf-8?B?K3F6VDFVTzZpVkVRV1BrR2djNyt6U21EeGFYQlVxS2pqdjc4bjhqYlBKaEx2?= =?utf-8?B?RHRFaDdSMlY0TzB2K1NJdTliZlVma0NqSUNSanlzcy82bkpxTjg2S1BwQnJY?= =?utf-8?B?SWpJbVM0aTI1Sm0yYUE1Sm4yT3crWTFKb0xWSWpnR2VFNGlMUnprTDVsWkEw?= =?utf-8?B?eEJNZE9HYXhQaVdnczAyTkk4SXdGWjlPM3UvTXYzUCsvN3I2WHNXVkhUc1pI?= =?utf-8?B?N3lvNzZNKzdSa3dHVkx1ODBNL1VCd0FDWFFZdUdBemZSNHhyTjJyVEpkc2hD?= =?utf-8?B?bWc5cFNNVGlVeHZPRDNDLzJSTEFQc0xiY2xvV29qOEF4eEVzOURxZlcwNUZP?= =?utf-8?B?OXBSODNOUVIwcEVacUlteXZOSUdkWFlxa05JS2x4LzBmdGh5dVo4WTI4YVlN?= =?utf-8?B?NHk1bU9XWUxOU1MzUVNGWDdSSDVGMFdrL0xZUkNhWEtYWUNtUzFoSTZiUUtt?= =?utf-8?B?SEx1UGZqOUY5TnZzclgyMUgvSnFlcGZocDZybUJiU1VTNENzZ3NZUVcra2Fh?= =?utf-8?B?TTZLZERRaGo1RFdneEFrMERTRnRuVWx3d1F3WURkWlRyLzU5WGFTTktlRktH?= =?utf-8?B?YVA1TmdFMnJPNlo0Nkpqb1VDVThIMGhKMFhMTk8xWFIzQklyRW85bXBoeUdG?= =?utf-8?B?NlhCbGdkb015ZW5ZaDROVWZzV0szYzFheG9NdC8wem9LbjFlZGk5KzVySDVu?= =?utf-8?B?NHRNTzFuZHdLamt6T05tVXR5eWdwaUdicnd4cmtQakRlK3ZVQ1NFenNCRU9v?= =?utf-8?B?c3NpdHYrZm95ZzllaUxXU05wUlN4ekFIa2I5ckMyN1lkSTB5eElqNTFTaWdF?= =?utf-8?B?aEtGTVI1b2FxeGhHVytyVVIza2Ewc09yL29tRUJjbWYvOHVFdXNhblJkSFhh?= =?utf-8?B?dDdXQnJGbjh0UTVwd2xLaHNiQkFNWmdtd2ZDODg2MTdtbnM4UXJIMkI5Y3Zz?= =?utf-8?B?dGRwa0xzdDc5RG5BU1BiSVhRL1VTMVdFb1FYQzRUYU5XemI3TThFK0hKNXN4?= =?utf-8?B?ekZWdUM0WWhMdlJtd3RsRXRuTllVZHBZanROcjBBMUh0elBQR3EzQkxucXJp?= =?utf-8?B?MUtjSXhicElWQ1RhRVBpTi9ONWt3NmlaWlZFUmJCWjhFL0t5NmFHZTV4aTlM?= =?utf-8?B?SFM1S2RPaWFPYWs5SXA0UWMxaTBvQ2d2eEp4UVQ4OWhmaGN0NzFFb3BsUzZo?= =?utf-8?B?eUprNVBzZHcxWDdmclpjU1VJK2Q1N1h0L3lHRjdKbzBJUWlsWmlPV01jd01t?= =?utf-8?Q?aYsyPKWVe9aBqOQaxbjcpPeRdz6XeFw=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR04MB0840;5:/aGl/FE3ejAzfx1GoJHn7ryQ2P8/Nbw/8xtpJBApsu0lygVoPH3twyjbepRPtbbooHNCQ+1KujU5MwOj5+r7QTL5Munevlo2CZ2GiNBL1X9/KZ3bl8QYKq4Sgh+9tdLZQYdoLwsTcyUGlsTLsbnPGS2uwtyQvpB1UDf2rF3Z1atgfA55M/0AF7zcy2TTfYnfFSr5lFy9MesXZ+D/XAa6V8rukJPYXA0JZnv6M8rBD8hHWOEvmcXkaBZwRVU+qKGGRTREAunKksH38cOFcw2ok+7TQjXBwKZvoF7+kIJbUnrqLUyH3ubpVEUuKNw8lnvrcnRzqH8mShUN7lKVLSS2XHoLnWvuc+GiDX8iOWgZVJoEYu9gzz8uv/nQ4ok1Y/AE3UFtngxdgthyqhpnfCmML9F42+w0nCmiHv1jzYQsVCuUVphBEDsjgFmfEsv1EwcO36lY62wfTD/ArxJR5DdeQI2wVa3WOmP/zDRvyp6qbRr6FwjXbO5Fu8K8vmqWieSw;24:Ih4ulGfXT8iW4/LnYXbkkk6DsVjIKvjQJy5aqNOFBifGirREgK9Ec6oQdwdEY5iELYh7+rxmTmZsZZaAQTpRhW1MXZ97WYJTHeiXGr3/L9A= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR04MB0840;7:T0qFat92rzlwB5vWZg9yzncMMVpG6QyFdlzKVvoiP96Ej1zDasti17Q232JfMFPi/yG0Xtb1lxWmTLpSVnopy+F+AGqt2s2L+c3slGIJp3nzzQTvopNpk9aD0Be+PoB3pEHD5Aj5N8SAYRffIboGwOS8pa2L/19nqXIunMzKUztrKdd9VMNOLcqjEOfiFPGFFaG9MJP/YHlPJn0kazQl0j/1iUnytcbDy5HIOQ/m6ZMtWkongqTG/TePdkygZMFsthT4Wzio141ZfTzckFAiA3fgLPkDnrMtuNAiw8t3eMhvFi/VobTDDdP51iVdnuEjnD9Z254IrXpbbB2t9RLdfnNel6AcXd1UPEd4j+tOIcMyVFZfWPav9MYijRRd996ArWFIOHUake/VSIsutG0TqLXoJv6wwWdoru4KvUFyUGt5PzwEqYfnHQ8CVTMIcX9PEwM4s9OmZdOjPRsPyNKsaEI9fFc/J+SigHD9h6eJlUJvuQ0PNBCX5IPGxSTI9r5KUIbM/QLUGcEFoBt/fgUo9fE8JcsRTwsO90QCw2GSFWGH4CuPk/BhNxETbpALVlKKYB1b7CvNwT1O6mOHtcyY+NZbnuoRG/Wcgcd/243FOZjUI4pBuPW5Qte+aofokgjzpyMe1avXbH2oNE7LsQsMVRkdGKQHQXotgzSrCs5wkmrRGbhcIjWR2PJFaCTTc7BNl9s8zrA9cfRsiA4b4b4LGNwNdIsh7jTalzV38Fq+otJmrzMYp3yS+msdyZWaalAuFLxMVZUFY2rV4zmMkc1/BUlOWm42oaLVo+GnxejuRQw= X-OriginatorOrg: adaptrum.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2017 20:55:03.2534 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0840 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1863 Lines: 71 Hi Marek, Me again! On 07/29/2017 02:34 AM, Marek Vasut wrote: > On 07/29/2017 12:07 AM, Alexandru Gagniuc wrote: >> +static void aspi_drain_fifo(struct anarion_qspi *aspi, uint8_t *buf, size_t len) >> +{ >> + uint32_t data; > > Is this stuff below something like ioread32_rep() ? > [snip] >> + aspi_write_reg(spi, ASPI_REG_BYTE_COUNT, sizeof(uint32_t)); >> + while (len >= 4) { >> + memcpy(&data, buf, sizeof(data)); >> + aspi_write_reg(spi, ASPI_REG_DATA1, data); > > iowrite32_rep ? > >> + buf += 4; >> + len -= 4; >> + } I looked at using io(read|write)32_rep in these two places, and I've run into some issues. First, I'm seeing unaligned MMIO accesses, which are not supported on ARC. Note that 'buf' has an alignment of 1, while the register requires an alignment of 4. The memcpy() in-between takes care of that, which was the original intent. Other than that, we still need to break off the tail because we need to update ASPI_REG_BYTE_COUNT before writing/reading any more data from the FIFO. We have to keep track of the remainder, so we're not really saving any SLOC. I'd like to keep the original version as I find it to be much more symmetrical and readable. Thanks, Alex >> + >> + if (len) { >> + aspi_write_reg(spi, ASPI_REG_BYTE_COUNT, len); >> + memcpy(&data, buf, len); >> + aspi_write_reg(spi, ASPI_REG_DATA1, data); >> + } >> +} Exhibit A: aspi_seed_fifo with writesl() static void aspi_seed_fifo(struct anarion_qspi *spi, const uint8_t *buf, size_t len) { uint32_t data; void __iomem *data_reg = (void *)(spi->regbase + ASPI_REG_DATA1); aspi_write_reg(spi, ASPI_REG_BYTE_COUNT, sizeof(uint32_t)); writesl(data_reg, buf, len / 4); buf += len & ~0x03; len &= 0x03; if (len) { aspi_write_reg(spi, ASPI_REG_BYTE_COUNT, len); memcpy(&data, buf, len); aspi_write_reg(spi, ASPI_REG_DATA1, data); } }