From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753570AbbJUGrC (ORCPT ); Wed, 21 Oct 2015 02:47:02 -0400 Received: from mail-by2on0092.outbound.protection.outlook.com ([207.46.100.92]:45088 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753091AbbJUGq7 (ORCPT ); Wed, 21 Oct 2015 02:46:59 -0400 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; topic.nl; dkim=none (message not signed) header.d=none;topic.nl; dmarc=bestguesspass action=none header.from=xilinx.com; Subject: Re: [PATCHv2] fpga: zynq-fpga: Change fw format to handle bin instead of bit. To: Moritz Fischer , References: <1445361596-12024-1-git-send-email-moritz.fischer@ettus.com> <1445361596-12024-2-git-send-email-moritz.fischer@ettus.com> CC: , , , , , , From: Michal Simek Message-ID: <562734BD.2000909@xilinx.com> Date: Wed, 21 Oct 2015 08:46:21 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <1445361596-12024-2-git-send-email-moritz.fischer@ettus.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.0.0.1202-21890.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD012;1:qJapMEmn8QRfQPjbn7N2LFhSPakzfyzlWT3Yo+D85SPMNFo84bG48ap9eqefc5neKnOfbUGWePv35xrfwWvfvnV6ZYGjd+CzNLjWyNz3vjJS15KvovJqeXpZ7dHfa2pWZrkzRT5eywpwzOYVtXiF/FljH7RVQ3JgsNvZnFmwfN+X+erq3rGko+IbXo90AWLOQq2J4FBTn7DPvKA8wDFPtBAMgD3ykXR3+P4cYzDaimUH6j+q45rcPToKujS9A5x1CfabmL1J1UQg/tzWESd6AVCPGl+M787OjnD2y8iVOYGUSmzBnpNkKKGud3Bz2LKAwQD9Os5SASqt9nkWo6dlnklqB/CznuQ89czfjl1iuJ4dkXOQlmDr1fpl0TRTUEaNgzqqHOs7U1rV1NFK76p7zE1BJ/Oq3eF70T/tObBqnrY= X-Forefront-Antispam-Report: CIP:149.199.60.100;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(438002)(479174004)(24454002)(164054003)(189002)(377454003)(199003)(5008740100001)(59896002)(6806005)(81156007)(99136001)(5001770100001)(4001350100001)(63266004)(36386004)(23746002)(2950100001)(16796002)(92566002)(46102003)(5007970100001)(11100500001)(36756003)(86362001)(83506001)(50986999)(87266999)(76176999)(54356999)(33656002)(106466001)(77096005)(5001960100002)(80316001)(19580405001)(19580395003)(189998001)(64706001)(65806001)(65956001)(50466002)(87936001)(64126003)(47776003)(65816999)(107986001)(5001870100001);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2FFO11HUB004;H:xsj-pvapsmtpgw02;FPR:;SPF:Pass;PTR:xapps1.xilinx.com,unknown-60-100.xilinx.com;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11HUB004;2:ZQGwHJWPn5dMtILQ4Kx4dsAvl/oMc2Q+wcDCFtK/P9mgPMZrPiFkjdxbqbpgz4vV7lyCv6cZhPBSEpmSLWMbjr5u0whuJUbFfytmEn+saZPpjMh5pBprM2V06VrW7WJDPD+yYJ43NRpoQNdnRqAX8DrhCz6rD/0aJe2fi0r2NhI=;3:39iahK6I8GO0wnp9gfXy+5oknEua85eZBRc2IqCmGiBHEmML7QG/Br2pbD0ECzDZYZDTCiFcUYZ9+W10Ww9omm9IavmXTJWzWY8Av+r+490P7a1JlpTR0iAqB9sinq9HlAg3aP+CIMGUf4PluD3JGUJhVIgHn5+xvpPn8bIg6rACcZHwW14MuuwC41Ppokv+s5VaCo+VzMrsQtuJwwnoSlGEANMgUOoqykvtOEc2tlMk0YYs9NKvBrJhBJdHwR4B1e1dA5T373RmLngr/bGevQ==;25:Z2PCKj0Tjd3Yq+7wpatH8FWULS8XfdLwjtBCKQwDgo4vXrWNc2LyopE/hUrDQOjCLeJLzNaafJtY9CY6URd0ddRiErMHiI2a3onQaEnauShWV3YJQHAmP5tbe3FHkTnAUun5GP7CiL8Wskzz314Shd9Khaqh0w9zlt7R8pKmyZKrA8p1WJXlCh7bmseJJAXZ9djVFFFqno6f/qZspXb6L4qixjloVz3x+NXt+12j7ABGBYHA4DTj6AjKA66VFzXmclB0WKQ2l+cz2t9L4R9zQw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501001);SRVR:BY2FFO11HUB004; X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11HUB004;20:kV3gnU7eaeBZ12CAgHYLYlqzrr6Iw8MkC+HAscIP9mRPXsqOpPmzEascasWRYn+1P5tOkdOHG3Nt6YN6QI2QtP9EyMiXhbGVgVx19yFx9upL9Pfuh5kvVXwg27CDyQ5pKvuPDNvNI4OpVwP7q3ZJsK8xb4DKu44BwpSqUTC+nHQbVBu7XvVdn0fL6ZvtGsyTHRSf0ixNehUGejjqjqz8pMhkaLTpiKQx9ScNOwb7tqbR8ut7V0VmfjqbRGjWQhNmyVj+mX/F6FPRimRsTIM8aL617SJ4oG2YIhOy0of7uut6+XimHLq0Zl5Q9Te67T23AzADRUeqSXGhb5AVAwnDFpSD1M+pRipvLtTvWZNOPOUvau3lo06N4ju3p9uBgmP/D1DlV22/bxECHUJIEGkF/7oTSmszQtQs+sNyvtUsVazMcAVOtC9HjRyZtZyjpYTS6VhPczIqXx+pTI++dy5RoI0SDjabbTbFIs8ug0OwrZpjmDKzL5GGZoXtlXHplqWC;4:czE1gJFOz2kW4dFcbM4p3hBpiq1Br7bwsXFDnjL8ruq/N556blG4/UFbyHUXAvHGdD1mFh3oTTUfISHs3LRaehTFlQLrqoDRHDepn9FbQhNsyzkABpz1oatZGWe1y/RowUdZWCwI1I2Gi7J2c1lWGoVyEqnTvA0lwc3+jLdt+QJr5HKo+bIHDjVNaBTNrrjMq+i+t1NHRd3vBxweh+TMXqLLmFM0exxUgO51w+wuukbrZk4IQu9+LfISoo5hqdC8wiUIz1sER4dGQjKkbGKK/j6qOgjtxP0jFhqE7Sl08mcOQIrY54DuTWYzrh75RSi36HF278bEkTp30Oby3org43us2pKtXE211Oce43S6XmHM8DxbUyav4x924KDdckVQebdtxQS/fov/NpowJdwmAg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(8121501046)(5005006)(3002001)(102115017)(10115024);SRVR:BY2FFO11HUB004;BCL:0;PCL:0;RULEID:;SRVR:BY2FFO11HUB004; X-Forefront-PRVS: 073631BD3D X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;BY2FFO11HUB004;23:3IwH8Ggs7tErwStjgZoCKy7UHVFX4o75+u4C?= =?Windows-1252?Q?BA4rv+nHfsXcmyPgyv2faAHRQNgVAYymmUPtZJuQ2EKPSim4PV0Py+dd?= =?Windows-1252?Q?TIZI7ljJlG4SiwqbvQsCy9UMrwLH01gx8w7HIFw9MLGTnjP1+o0EcY2Z?= =?Windows-1252?Q?UqzikaJtdSyF94Ta1r94Hpsqhgs3XB1kb13BGo85ZUjAdAfuXPaoB/Xw?= =?Windows-1252?Q?UF+gj5tRNCUtMJ1gtd8lMsGFbcrFJYbr+N9JISHA/IDG5p265PizDrdW?= =?Windows-1252?Q?xbwhBApZHzn6oLZHxYoey3TwnoG+KRsYOgGedc/tLxoEmzE7qS9/Xgd6?= =?Windows-1252?Q?mdAc3IHyUwNsHLj+FhRUiEAFC1pmz5F8zIUMT9FPttkOSQAwocKuifhk?= =?Windows-1252?Q?tZVeyAO4DgKFR0BxNbtX327Ylk3iaTG+h3D8hUDVDR0M4w4Kki9GDD4y?= =?Windows-1252?Q?ZjmvEPL2oxrvo7zgRtAE3ro32ffD62AZYE3FYbZ2I70n+vXdtTlLdGXB?= =?Windows-1252?Q?YRrP9RJU9k+FgvJOvL0rP0l8uoGABuP8M+f0ResNjveX9gtqSY9UyimO?= =?Windows-1252?Q?m0oR9Ye955wjwq4vAqIp9an1brCAeKPcYmZdNRg6Bo946XcJnTrmZgrn?= =?Windows-1252?Q?IPnLdxmo7vSiVVaPMCFeoY6iNbFJsyIzQKMaIKRviT1vBx362P9H2Bu9?= =?Windows-1252?Q?n2busfHaHSuM3VjQt33W8BK2xGR/7JHtaxdCvlo+xQMQW/GA18Eh7Yr9?= =?Windows-1252?Q?6WCKs15kUG17JhTlpSSJ5C1H4VQsIjrthTNqdK7S5/wMfgJ7kiPMeQmA?= =?Windows-1252?Q?5QKDrrZ3Wc1w6uYmyKFXGbEeYF1mW1Zy/XwT3ULd0E24si44Vqu+nxsr?= =?Windows-1252?Q?a/iHFtAbiFIL0con0MKG80wOpz/GYxrjBQoWpo74BX+29zEs3052pA+O?= =?Windows-1252?Q?mscf4GL5FmX3sSrpAZdeKb9nh18PkCT5DsQjxkk+J/XvKsagOcfGxqXy?= =?Windows-1252?Q?GPYvGYsZjAJWPSEDl6TOW+EP/0ejsQM2fPFqFRma1PEORdqFRUalFsWU?= =?Windows-1252?Q?8UqVBbw8XwxQYhMK+FOun1zSABs3LLEwb6sQrl444LY34pSuTj0TShsf?= =?Windows-1252?Q?40MapQokCyglDqUVhcJFPIJwkU1fq8O8zv9Qq/4/L7Kd65IrhsJ9LcO9?= =?Windows-1252?Q?vkQ4MV4ii/+hgXdwT0LY6vUulQTzMlUV9UbBD0yeGQL8KGcHjbHKsuvA?= =?Windows-1252?Q?ftD/nkyLP+YSzOtRtBUYuaNWz3P2DeLZ/iMW7wLCicY2EUGrFp1cpFWs?= =?Windows-1252?Q?yPb6Tu4bZbMfHyPjendgL8BwbYKXTcHzokMTjA362CRyY3zh5fMsjCL6?= =?Windows-1252?Q?J8WstdFl/qTdA/XmWRMzA2ZuB9rrswpwsVDHuNva29Gz6F9vwWirtLA?= =?Windows-1252?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11HUB004;5:+h6jy5fmmQWvrvmb2JIxUI0xjxIdyK1oBzNr7CUIexrzAzOtUYcX1SszgoY5dNFQQQ1VrEkOVM9Yf4q+8Uslv22tguDpi898zbNPlzMO72K3go1SMdTpau9cNvE6iZ3M8XACD9L7ugEX82Dy2I8m3Q==;24:SgjD1vR8/ynWej3rH2lOCFyarUgUy6Wy/XuPv6F35dedF8xX8Vcrq/H53UqC5UMRSy3+S2Bcs0pwVyLAjHHdWt6CnWx00t/RlfPOWIGWYeU= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2015 06:46:58.1883 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.60.100];Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2FFO11HUB004 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/20/2015 07:19 PM, Moritz Fischer wrote: > This gets rid of the code to strip away the header and byteswap, > as well as the check for the sync word. > > Signed-off-by: Moritz Fischer > --- > v2: > - Removed early exit path in case synq seq is not found > --- > drivers/fpga/zynq-fpga.c | 24 ++---------------------- > 1 file changed, 2 insertions(+), 22 deletions(-) > > diff --git a/drivers/fpga/zynq-fpga.c b/drivers/fpga/zynq-fpga.c > index 617d382..31db550 100644 > --- a/drivers/fpga/zynq-fpga.c > +++ b/drivers/fpga/zynq-fpga.c > @@ -287,9 +287,9 @@ static int zynq_fpga_ops_write(struct fpga_manager *mgr, > struct zynq_fpga_priv *priv; > int err; > char *kbuf; > - size_t i, in_count; > + size_t in_count; > dma_addr_t dma_addr; > - u32 transfer_length = 0; > + u32 transfer_length; > u32 intr_status; > > in_count = count; > @@ -301,26 +301,6 @@ static int zynq_fpga_ops_write(struct fpga_manager *mgr, > > memcpy(kbuf, buf, count); > > - /* look for the sync word */ > - for (i = 0; i < count - 4; i++) { > - if (memcmp(kbuf + i, "\xAA\x99\x55\x66", 4) == 0) { > - dev_dbg(priv->dev, "Found swapped sync word\n"); > - break; > - } > - } > - > - /* remove the header, align the data on word boundary */ > - if (i != count - 4) { > - count -= i; > - memmove(kbuf, kbuf + i, count); > - } > - > - /* fixup endianness of the data */ > - for (i = 0; i < count; i += 4) { > - u32 *p = (u32 *)&kbuf[i]; > - *p = swab32(*p); > - } > - > /* enable clock */ > err = clk_enable(priv->clk); > if (err) > Looks good. Acked-by: Michal Simek Thanks, Michal