From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932259AbcJGSYL (ORCPT ); Fri, 7 Oct 2016 14:24:11 -0400 Received: from mail-sn1nam01on0067.outbound.protection.outlook.com ([104.47.32.67]:54400 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755108AbcJGSYH (ORCPT ); Fri, 7 Oct 2016 14:24:07 -0400 Authentication-Results: spf=fail (sender IP is 66.35.236.227) smtp.mailfrom=opensource.altera.com; vger.kernel.org; dkim=fail (signature did not verify) header.d=altera.onmicrosoft.com;vger.kernel.org; dmarc=none action=none header.from=opensource.altera.com; Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=atull@opensource.altera.com; Date: Fri, 7 Oct 2016 13:21:15 -0500 From: atull X-X-Sender: atull@linuxheads99 To: Moritz Fischer CC: Joshua Clayton , Rob Herring , Mark Rutland , Shawn Guo , Sascha Hauer , Fabio Estevam , Russell King , "Devicetree List" , Linux Kernel Mailing List , linux-arm-kernel , Subject: Re: [PATCH 1/3] fpga manager: Add cyclonespi driver for Altera fpgas In-Reply-To: Message-ID: References: <4b4432c04b4ea92a2af814e3d7866c33f2eb12ea.1475783742.git.stillcompiling@gmail.com> User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-Originating-IP: [64.129.157.38] X-ClientProxiedBy: CY1PR14CA0026.namprd14.prod.outlook.com (10.163.13.164) To CY1PR03MB1520.namprd03.prod.outlook.com (10.163.17.26) X-MS-Office365-Filtering-Correlation-Id: b9fdb870-3c13-44d8-62a4-08d3eedf1e9d X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1520;2:MkL1laJPl3Gt9aqOKPACIcSnagpotesix6MAm2vNO5xS1bmifVjzTUkQPVHbixaIAqgfks0jmmjvqFqijhGLog1Jwo7G583m69sc8AL/k9a6MI6LLeOGoexx8Ozziakr8fuyLdtIoDDioOoJTIdgqQxgLgRfVkKWoFmrBxZsNV1PrXvW6bRpeK8nPHOF2b+24aU6pI0PmSxXTi4C+5caqA==;3:iSnZtsNFZf4+QjeKbrXDlyFkAW7PIBWGTJDlYYXMbLXyl84ksMuSbdV+wKZ+9L/f4e9R3bq0RTx8y5//7YbuBoqKYQglAkoN8ftQ5P1x8g+41lp0UGCL9JNcceh7RKss1uhF398akVTCCuWI+uXPMA== X-Microsoft-Antispam-Untrusted: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1520; X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1520;25:80UlvYDxt8h9nuM25NEWUK09K4n0o4624BLX2ZfQjKps0orNTsf5qMjOaPkmSEUHmVFTGV6KZTDzlAgiZXzDJ4tFp+w2w+MT08bcJDedaF0EZBrjv08H6b9N/EDu/dW+LlEw61J+gTLRBI3RHExZuBl72Iu2gRLNt3fKu9jy/5H3K9nz72BVVpSEjo4HtUVepR8WRPC/x7XOv4MKms1LTPDN+pSay5pEsuTpso/+jqzQzxp0iyTJobcOA4cJcRhqaCov+oaUHB2Lu+/5Mp1jfLORuRMybewIvk3DC0sqiWe3Qw+MZvi8TJY+R8JfxP7YwawlcnNX3jRoQ6jndPSuNBdNGy8t1gVnvlnL2qMWrMjIAy2y3F0Dfm8oW7OANkqnhi0ohz0fuceKJYEPFh0ZKst7wk+1yfq7ijTP2jeUw1dIyvhC4jTJSCYSQQ2YFASKyLbl/kDZnUVT+LRo7L3W59pcZUakNaYsYTcUp/mPjV3Bmpay0gqDU6RGsTnsDCYKdSD/LjfzmvSt0ahey0ygWQr9XlZCbmdtEePFSfO99l9bPgr05X2LWrQtTOc5FTD2mARThy4IAX+0HB267bSbS4p54RWLIXuUI/zqGaErKlCGzWDF6jMT9GhyEqw8IIsiFXknVf62Vhxyc2hCNxS6Yei4iI6RkPm4jWX8jro/NbfyJ889Ywt8CbN+hmpTQoi6oK1sasS4NBZQ/xVZPPwc+UN5cRbpZz+9IbTlwnbm5iGmM4qwyalZpJ0BdV3dcJhC X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1520;31:wrCmWIxH1Vg8qzR0cZgQ8NQVkKkpBgzy688SMbjxLpHYrdR3h2EzRABHTZiXUcjt1HKs+OyBZh2SunhkQmiOA78mN0cHt89KHW2AHlnQaWHKdA6nVu0LI6vX6q0MDyXMCFnm485fcsrcEiOR2xzn1khTfinK/emWyl1sAFAseK/LPojJ5t+f68vRE1LR2UZ0Dr1RAonOoZNtyi2uSIgTh5TMKOmMUno41tF+nw5cPdQDC3yEakdpXvSttxmYY75V;20:qEBNHVgZCcFnzaaVWBGHcIsZzHxwiHD+mTt2/6nAYCw9QNbvGOemb4q/hsNO9OSoH3EvWLcbo261N0Qu0UltzUPyPZi16A6ETduZVmteR9gJcXAtvHn3ejiLGerIEoxlBjf/i1LPWBAIcUXZf9h5R9Zk6lk9qa1WZzBwZLFJeRg=;4:UC9XbevGpZhjpqiZfXi68yi++6C8oCrudCPbLy7mi0nnq7/4NuKl0ohl8DIIPbh5kx83lreUTvdD/XrCS+gu9MKdOEc+oQE8h9N8+iw/c6ehAymfmcWzPY80O4KTRRv6Fm8qkChEwXir+YHrttvEZhBAtCgKU/CI++0nY/Mn492xLnjYNN7eJsxZbAYUOwrykBjIrIUsIV2XWb7e2EpdmwuzHAdfjeBnm5wQzob0T959I/fePruauK4SAzzSJNle0pX3Z8H3w+o+S5aX8hSadribWWhn66gxH6cwCmQqEIwN8+Ihwq7E5IiTb3Kciee89SwTTj0Y2MduhVLZYASWVRrh2gcq/5PpHIUQ7Lr6lj9mJ4QYnMIISzzjl5Re2Dk5PQC13gZu0+NnboMYvGZEolxWKeOoLOBplJ2rS+U8x5s= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:;UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026);SRVR:CY1PR03MB1520;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1520;BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(13023025)(5005006)(13018025)(13017025)(13024025)(13015025)(3002001)(10201501046)(6055026);SRVR:DM2PR03MB496;BCL:0;PCL:0;RULEID:;SRVR:DM2PR03MB496; X-Forefront-PRVS: 0088C92887 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(199003)(24454002)(189002)(105586002)(86152002)(6666003)(110136003)(23726003)(2906002)(586003)(101416001)(8676002)(6916009)(2950100002)(42882006)(47776003)(81156014)(33716001)(54356999)(575784001)(66066001)(4326007)(6116002)(76176999)(106356001)(50986999)(53416004)(86362001)(189998001)(3846002)(81166006)(42186005)(7846002)(68736007)(92566002)(9686002)(97736004)(305945005)(5660300001)(69596002)(83506001)(4001350100001)(7736002)(8666005)(7416002)(77096005)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR03MB1520;H:linuxheads99.altera.com;FPR:;SPF:None;PTR:InfoNoRecords;A:0;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics-untrusted: =?us-ascii?Q?1;CY1PR03MB1520;23:a59zcubZQgvEquPXildOT6tyAbdS3VXQLZK6quAbi?= =?us-ascii?Q?NEi0hx2sLB3UnI2MTC1IE1lJMBat0xJSB2yR8KY+L3RgwcWvWWdmvrJ1hD6X?= =?us-ascii?Q?ZdCxUeZqzZ3oyUbyctpOra2gcalxAEkGaJC5CQGeVMnJynY67aOT+0vhmOJm?= =?us-ascii?Q?D+f8dt8QVCrJhLhB4oLKvqFt0bqtN2k33Rovf8dmeETYBdV+9ffAKDMeU8r5?= =?us-ascii?Q?B5zulNUQwy0oCJhAf6TZqae4XiTcqqBZ7hVS7TnvIlwi9J6x8v9AzW38D/UT?= =?us-ascii?Q?xiBAILBkcZcFWpPN9eEx28PM5PGrrFgfyR6sUIh82UMXsWrqqlt0rJssqpNH?= =?us-ascii?Q?U/ZOjljLuejPZw61xo05xGQfZTnyZg7YUM7Pf3Y0vN/wpQQxRAi8j+9pxjs0?= =?us-ascii?Q?XFiO3TzBkBViEcevMAHFAcC7OXfz7n/eAzwKSMTXSthkl5GOUIRu3rlG4F8/?= =?us-ascii?Q?4dgfYf6AQb4/pYRq/l+6/xFuYXQOmTRvkW+Mq7WtfCw2u6xae1+6oVlznb0m?= =?us-ascii?Q?q4PVwWF29C2sVtw/7xR7UmiVkv+JIxV72cH3Gnyy3jVfUClzCBt0cGHqItyT?= =?us-ascii?Q?RlvqZZfkgNpR/IlBYcwT7HBOjqFeYnkX0yKoJYTUjxZzep/h9Qhc9Fd+zfAd?= =?us-ascii?Q?0SeIUQAzKX9FwyT2h4jmV4Sq/GgWDMKt/NPZLW7Npoxbdi6co9k3yYyeZJtf?= =?us-ascii?Q?x97wJhz2ZlSn+9uoeeVjF97KuxX+y2oDTLPp6AKlbv88P8s9zXmyKecXhg7q?= =?us-ascii?Q?7GQf4CiEn4F1btXsBBW2rLUXiwFfYZsYKA8S1uODtsjWBCna5NMiM8tTJ6KQ?= =?us-ascii?Q?CcaG92wUuwDMywLrSubrMNUiu0eas9Kh7dpYSct4MrtNVWg0DJQz0rZ1IxHo?= =?us-ascii?Q?jZF0lDn6eKQ6vWvt14Kb1mbtmB8FheQaYxA1MgEGeg8PtTy9eCBMpt43T2W/?= =?us-ascii?Q?121i4EmNq9pt2gBt1sBPhfLO7MskhJNj+ZrS9jmzN4C2cD0LjHMqziifuutA?= =?us-ascii?Q?DBtqmhIwFG5Fr49tOGJuHnjVAW8KgC/h3zgiZobnrKo3yQE/KVn8FP0OPvK6?= =?us-ascii?Q?IH6WTe3deCrBACsWN8MXn8u6IZ0jeRbLsq48KgwiYg4K/F/asgDTZ24WYTPe?= =?us-ascii?Q?ushjAn9JSCioytS4CVz9bQdWN9uOPnZKy3TduZOpkc6UYKs34/cSOUPtubTH?= =?us-ascii?Q?ai+v332TcTH1sY=3D?= X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1520;6:CTdB1MgtbBKp50xnO5qRftmlMOIpkgbvDCBTaO/yH4MkIha4HNj4I7OkIXwJ7i3UOh4XhNieq2y4YoJg/dCI9QFcfhc1ojARk7rQKKYs3oVANaHP8XENQ/sSNlpmavZkaUoBKd9Og8m/jqC1qNyBl9ORBqb8aey98I+A4W6rkBICTKtdU5/PvmRd0bYh+Bq9a6djsUN917lbCRjFefFuEURTcUECQvsEO559pMfA8WfhKNoN6p9eb66/WGiVp6LXohqaUGBJD4RDTuJ9Za817E97nWOmrSBVrFzYhJCorMWr/gfj9IShTSnOiSSSbLhYda/UXT6w3nePzWXpQyhz3Ja1fS4IQ5IObK8llkpuRhY=;5:ZF5iIt83S/3v/RYQpjE3UU7lIQHHoF2N7sR8Psj9Qu5lakAv2WMjpJKTtn9mvfFNr6sj1AWRHURrQt0rKSpJOcOlaBevJw67oDQMgyGacQm0ECMDhfmiEELDaXG3+320Lcw11ndB5I/6i9YXjyvUooU1K8De0X16tJAjCQD5hT4=;24:CEgp3RfEuRtaxdPjrrM8RKg9ic1ZQ8/lzuENqHkeOzC/JYjRyt0X0XtPDzV0XD+Zll9t5LbTS3JQ387IltFcOWiNLdZYsaG9A8ZPfZ28aUw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1520;7:0vf+TmCTPIf1qG7kgiwsMY3smu+J6Xy2fVSdhSGmqrjEPY6mxw+/uC+hoadtu1KoS11F4spEphkFUPzG6SIkWS2Eu4mzOvassuFtBT4B/2TbOI4z/GxZz57z8yVxNlyg8B5iLbPomdrwix3Jxh2ffVOpn3bV3YuvF0goHCeR8UUpnOoqJx3f93jMn3QRG2ubRO0tYjee1qroItFYe6cQyqsKKZI1L8gzothelMhFqMRe03cwDuHE/XgPoRlKgv+QhckcyVO0SEJ5INAKjm14WltuMi/tyapLWYWqY8C7ybK51HrjU4pB8XI5LC+eWPGbYaPj29HejUDu4mS5pkqLkg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB1520 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:66.35.236.227;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(24454002)(6116002)(3846002)(586003)(85426001)(81156014)(8676002)(575784001)(6666003)(87936001)(92566002)(46406003)(47776003)(83506001)(2950100002)(23726003)(6916009)(42882006)(956001)(86152002)(86362001)(11100500001)(189998001)(97736004)(4001350100001)(106466001)(81166006)(6070500001)(77096005)(33716001)(4326007)(66066001)(9576002)(53416004)(5660300001)(7416002)(8666005)(356003)(7846002)(3720700001)(105606002)(336002)(68736007)(54356999)(50986999)(76176999)(305945005)(7736002)(8936002)(50466002)(110136003)(9686002)(2906002)(626004)(7099028)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:DM2PR03MB496;H:sj-itexedge03.altera.priv.altera.com;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:0;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11FD051;1:g+T2mylPNKkrBnFHSG/jZezanjX22U42Cc8unUUoSsoAAbLP93ah4zPmSst7jMYLC0D/pRIWUgtn0+aANC+H5lCDvvA1YRNBnKht3R4lZa/hjt24T+AOHvdYAV78XB1l+3hNZqfqv0eFL66QALzFVXU8SfSPvp8GeBGCAI36iFCc7ID7Wfi/Y8kBuPMQ5WUMy0Y4XCE3xa1lmT1G5HygP0hIZBliZwVF36Z7sACk6mp2RkgBMmTqEoQvBZIWC+/LvQERFbNI0wvcUc0tT/xOVgciNj0mNhg+9tKDOHwM1GgdlbUpfSjWRsD8X23nWoVzKbzfU9kKH/YoiEfQ/d+KnCjsTC9Yb3/IhWgw/kL8r2W3DfBlVskxRv+rM3zOfDZQTcqgI55WpdwJGCV08OvxMizBdGEGJSwgQ/SJNhzLeX+iCdtLJ+K+Tvdz/BANEkXBfwm0ZmzAvMCmSbJ9TJYvK33NB/HTRKjPXKqE5JrKwvw2FgJznfCCaYnJuPk0yR9buxFHq+6BTnsgVTetPgpHwmKux9aivf4kn8R5h0dzB9Y5GRZtjr+B9NZAaQJQ52HjvNOoY5GwzJpy/WjT5VQwg4uHVS98q8JZIwWGRqEaLXg= X-MS-Exchange-Transport-CrossTenantHeadersStripped: BL2FFO11FD051.protection.gbl X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB496;2:WIJDmOqMHSFfmHusQ1NcdwIhp/B4j2zCmEiUU1LZvW3VpLA7Ai8DRUluYmIq2PGHANG00mT7NzCKdUhuBblbhhabLBtkPV5+mtwl2S1UzjztyX3m1K1DjYWa1YOzHYHQkQ2+yeN+bls9/kVYTiEr+U96tSYBlp3urfkJFEYEmIAirs6a15pxs11Yo8jCLaHyTOlYYuUQSyS93ZbdJsJ7Cw==;3:ePNSnl7VS3/k1EQuM6jOTcKAttVdRxUQVFcIcQdCV48jIpanCv0Np9bOqqKy033Ahe7msou/eozgFJutVsEOW5nPsa/QCBc9VW4Ame/xwTOKAZt5yVxAnSdCIJSjwfeBrRpiPHQ414CPlIBKNOqca20AYwrC7mE5Z4knd3vSXzaUnNDEUrmwg1Mm1HKbNI/BYFDIFfDkI1bAQeo9N9phPD+kwfHPOXqt2f8KexsNBq2Dg0G/DnXLsoPmqTGq15x4LoUexc+hAFZYz3+dDKYmgA==;25:Mwfl1565wqdZO3JsxXtzEQU28nS2TAn43/veuVUbKlCJNafDsJbcrMSz5tcR+IC7HH4OsCTtMxJB7gys2yJ/gAK1gaxrWWbRejnIR4CAfiVpsM+ZE46DKrN64sFenWRcnIgJ32AXvGVlaRJG0nqk6G5K/u7BeoLGRqr6HAw5c5rhy2ZqU3Eaq8g6Bp+twgMwAclvYBEsTKRvJAmlMrsmcGYhZMNcRREh1z0EuKUpEVKIygREti4baW9lICy8q2TPb5AQwoiMQa2+5UI2OOBzK0ktNWIjfTkm609q8RvRkmHJ2cjxTFGxjPQ9vucqBC0hIb7N0PvZxPxSLSmDOvGBtaE8Ree6VV22D9YMsZcfw3bIPHR6DZwCtWS7GheHoG6vqTog0zPlcjnWDW4neaBVI9kGsFJ60LfV1mm8MFp/784jJP6tT51Rc5jya/EhRARY X-DkimResult-Test: Failed X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(3002016);SRVR:DM2PR03MB496; X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB496;31:O8wTxoSY/QL1K3jjpa04aIJMPxVx1Lc9Syax/UXyZqBJnTWkourLfKiYmAwOgx5IHUMpuB4wWrttoB8qWJuKZZokwIFEJe6psWgsJIb6/H31OIW/bYBkw1PAbSpf6WsyRGCTUGgdYseR3uC/JQAX6QTKaBk5md8YCmJB355JUJc61OKMI7eTezYezB4D5GjqEwzGSigYntc/00O17ziegpkzfej7gfUCeLDkwSvU1YJ/B4+UlerDxuycexSDUNZe4aVQpm9aZ4LZzpnqlX55tg==;20:xkmjX4Gl/MWnO1/BygeiwaedNof2c3iYmpPXthdDDvV2elm1ej/e8oSY0GT7O7chsBFYrGMTAqYJqjbTdCCwX/xVGRfiAcn+NbpXF2YWQR7MOGGYyCXt/4TaoU8VGrwvJHOv1i7i7dXf6bQRKzlIWZmY9Ja2jAfyHWC3XFb39fo= X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB496;4:OZemA1YvXBpzilxWI0q2Vwtan/uIKANnxpj6Fm8j0HeV7xaIK4VDmIUH5QDgBetoWX52ZYmu5GcUqa0Hs2nv1PnpqXM/X4UwVc4zwCLkTzGS9oI+ifKdsE8NPdTOgjFEMBvn/iOpNxW3wAtnxjoLbx98uhu0t7YFVzgJ1H/Qevu2l2sUkcDOC5+cFwtLr3Kzreu1LJkfzDeFPA0sbc5UG8wSpYiQ1ZxtF8R4ym7zVw2kM2mjCEYxGrIX0V2lfUXZXJN0DYntnF4fQYtabvmkaaPZM7Eluhs+oAzBoT7YBWJ7jfrp5owSg80OMM6abxmSYGGztyWM7LQato38mt5AaBARgPforRaVa1exji4+AP8jGVW5iLQmicz5cY08glJEmN8Syd+DMYtuhiZAUJ2f/89WEQArYxlM91106Yrn6q/v1Dau7WEx1EH+lBC2dd9MT1oQNb3+aXkWdm/iC2hbw0rJ/bzs8B2QbUIkDixunDJ+cq5PQYTwjY2ZI5/7SNO8Xwz6P8CwL3+eSDbyaEaCcQ== X-Forefront-PRVS: 0088C92887 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM2PR03MB496;23:vWd1x994p//gpBOPJqIJuf8lR+uwuSG4GjthV4DSWz?= =?us-ascii?Q?eO8ie1EN7qnRnwxrcGGgnE4VBYXoIF/QgXDD7SI89jcru2ohaDIiWvptqijh?= =?us-ascii?Q?i3+UO+7p9NM5Ts6IZfbeRBcX0pNJNpt9YoMlAEoPx1wO17Acf13RoGxFWUTB?= =?us-ascii?Q?HBmyh6GkJH4tQacjnHI3VF6tXPvUS+PuOo51xAcG6hdUaBGcSwSlDl0KtjP6?= =?us-ascii?Q?UNofCKZ9ZEEqP1t7StxFewkbXkjcoBZIvYKgc4Rq2KG7SDY41qd/WQAtISas?= =?us-ascii?Q?wqdGQZu5gA3dp8W0M3Mv6q+R8mS/4KI4KNy/hGdGtoyBnM7Pl8GMQyshhZFk?= =?us-ascii?Q?itwLSnfMtKtjmT56aea5TfcfMwDo3ISONhSjsdKPwIq41xn4P5a7llsLIrnu?= =?us-ascii?Q?gpnTssbHI7LruonvMgYeUYs4wI+DRKYVgMJgw7XtnGlfpfE/hrS12HyyENoK?= =?us-ascii?Q?dTqofLf0GKXFBFVnJkTu20iACb63smlfDGL7DwQQHQNweDmc55fN4rZf72gT?= =?us-ascii?Q?BbrCvKONMBAIC/wO0XXP9b0WL9i0PtOj5gBO27dVkiNMUV1CLyVPLz4CQfPg?= =?us-ascii?Q?m004FNtoL3zo+Fl7mbf7lhbreYZiUM3TMvuxkKTAGfr5I5gsdhT1aBYcL4Zc?= =?us-ascii?Q?oiRBqiWzMGJkPDUk6rV5D+PdSZhOgZDuy6Zk9SwYfhWv8abxfM66K7Ds0Akp?= =?us-ascii?Q?R9+2F04be9MLJY9jfbrGJ8U3Y25hzozhxjnySg9AmPXljQe2WlVGxrOZjrUn?= =?us-ascii?Q?6N2cW84F3Fq19Lpg60sZkgPJMubhn1lxK+8dWt5zW+PlBJVk3+OfKFcWXiOl?= =?us-ascii?Q?1pe2fqA4yBOvdv4KF91SSNvQDWKAr2fjIrFBcsHJ9y8iKt9AYX0ZeK/G7usl?= =?us-ascii?Q?G/DndjLQNy1TulSUn7hfuFkZMTIjbBjP7c8T15qMAlcL4l1XeNUZmU2RMTJp?= =?us-ascii?Q?fmdTww0Enq2dcykrRwm+8foPt0CNhRadnzhmeOGDgStJ05o+/4HkULyS5/A8?= =?us-ascii?Q?5SADF2/RSJpygX/VkWeqkfbPZ46+mvEXVAw7hc2MPRATYnrL1ffzk6CRXvpx?= =?us-ascii?Q?rqPK4Hv/+8KMUf8wYBffKM2ZkGpu8D+/D46idOTd5uFKoCbLS0uAJb9pZNPH?= =?us-ascii?Q?Iy9kZUNulPvl/HgOVqYtwkic4rWyJFFGwnxllo29Hr7Aj0Nqy7szunspEtec?= =?us-ascii?Q?iKUNl7P46Cv3Xm1RHxyAVXWiDIJc8uIs0qRgHaHPjIFD1TGQfWMxlhwC5CES?= =?us-ascii?Q?T1blQvqGb8iP0X3iYqKbsqFwCrhtKNQFd3v8SlX6Z57N+7UvCN6EJpJOQe61?= =?us-ascii?Q?0lTdUGD8x/sU0u0ENuFTBuJwCV70v9fwtF+AVGVJy6EmAJ/orGaCgpIe4vpf?= =?us-ascii?Q?MHUutnsuJ1LAb1tOMYcTIcAmsaYQRow4bd1hEbj6w2193cby/e+6UTuTQzzQ?= =?us-ascii?Q?lcShd5iRS1Xoa6ymXmDBhsp5B3MNcpGhWOFLcYjkB/juEmQdjl?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB496;6:zAC3owFEtkmtzffGvX68z0R65+BE8l7Gc5ROcp73fJ32OS/nqQdxyKfTi0bJcj0RlIvZdhKNG0ggr2SVLAottiCpFLYYB5tfTE08111A6+RuAd+b1sVYoKfSsGyxwsf4Ru/Q30/xCwB4m4fyzIey15LwyeFm5JDvaNOS4NwxHKTB2PodAmERxOtwqfwxb/1jtXkTizEdFOpi/1lWi7EeJIMb2NTgxW9pOaTfwZXrEVSQiJUA2nrIrYbWmpEZDKqEg70yTHu3mLHJmsCe6l1rC3LsLYTcWfAETvTOiieZTOHzOJTV983U4yzRSqandkAz7fwOuo1A+gmOaKpKKxkvpXUkUcjoc06W0rGUc84ZYfQ=;5:3EPTfWdMQk9qCATgYnHDxueGag3vIamgO7ptVmG+XgOYr4Poohk+eHq2PqHxizLo0PdKga5zTTib1UZiYxk9y6s6Nu/3+kK7hijnmbGG0gDiO3czPHgX1oBbsc76cwJTJ3+cjyA8ZN63ENsNzlNs5A==;24:fKU5FrUpbRok/M6OoiCPmeSKoQqyTyc6QaexvysOyELPYj/Nof2UeHI4yIQbVQ54f4obGJtNDgjwwUfY2miC5/5+ts3vghsWjxebwsTDjjg=;7:kNGeL91QWRtwVOEF1Wma1/ZGVk0q68PsBCL5Mv/ayEy4Z/qO7s8UuncVBKyxviqMMlOTjY+3HG2nZO0JXkcBY1IGG0tW1HZSd4OuswjsiHVWFjAM2B34LkbubBdMeQI5rptcC54e/5VRc0oquIpbKj+xgiZaCXqS8b3Y48/fOx9YOAHpEhDgefWycs4t8GLiXezLYAKOhnrCOkDaxq8ea3Y1S1voZ9775b7avPvYrriBGUSzM+3zh7zKZ3hK9ZiPJRwWXUNd3xy2QQnJA1kCc6lQuli7F9A3CGdhxK6ZAYk= X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2016 18:24:04.1880 (UTC) X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fbd72e03-d4a5-4110-adce-614d51f2077a;Ip=[66.35.236.227];Helo=[sj-itexedge03.altera.priv.altera.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR03MB496 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 7 Oct 2016, Moritz Fischer wrote: > > +static inline u32 revbit8x4(u32 n) > > +{ > > + n = ((n & 0xF0F0F0F0UL) >> 4) | ((n & 0x0F0F0F0FUL) << 4); > > + n = ((n & 0xCCCCCCCCUL) >> 2) | ((n & 0x33333333UL) << 2); > > + n = ((n & 0xAAAAAAAAUL) >> 1) | ((n & 0x55555555UL) << 1); > > + return n; > > +} > > During the Zynq FPGA manager reviews we decided that manipulating the bitstream > to be consumable by the driver is userland's job. Moritz, Can you remind me what that issue was there (or point me to that email, I can't find it)? I don't think I had a problem with that in your case. In general I think if these drivers can take the bitstream that comes from the manufacturer's tools and stuff it into the FPGA, then we are accomplishing what we want. So I am OK with this here. The intent of the driver is to load a standard rbf, same as the other Altera FPGA drivers. There is a problem here though it will be easy to fix. This call to revbit8x4 should happen in cyclonespi_write(), not in cyclonespi_write_init(). The reason for that is that write_init() may just get the first chunk of the image (the header) and that write() will be called multiple times for the remaining chunks. The current FPGA manager API won't show this problem since you have to give fpga_mgr_buf_load the whole image buffer at once. But it is easy to imagine that some time in the future we may want to expand the FPGA manager API to support streaming where we don't have the whole buffer. Thanks for submitting, Joshua. Will be looking at this over the next several days. Alan From mboxrd@z Thu Jan 1 00:00:00 1970 From: atull Subject: Re: [PATCH 1/3] fpga manager: Add cyclonespi driver for Altera fpgas Date: Fri, 7 Oct 2016 13:21:15 -0500 Message-ID: References: <4b4432c04b4ea92a2af814e3d7866c33f2eb12ea.1475783742.git.stillcompiling@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Return-path: In-Reply-To: Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Moritz Fischer Cc: Joshua Clayton , Rob Herring , Mark Rutland , Shawn Guo , Sascha Hauer , Fabio Estevam , Russell King , Devicetree List , Linux Kernel Mailing List , linux-arm-kernel , julia-acOepvfBmUk@public.gmane.org List-Id: devicetree@vger.kernel.org On Fri, 7 Oct 2016, Moritz Fischer wrote: > > +static inline u32 revbit8x4(u32 n) > > +{ > > + n = ((n & 0xF0F0F0F0UL) >> 4) | ((n & 0x0F0F0F0FUL) << 4); > > + n = ((n & 0xCCCCCCCCUL) >> 2) | ((n & 0x33333333UL) << 2); > > + n = ((n & 0xAAAAAAAAUL) >> 1) | ((n & 0x55555555UL) << 1); > > + return n; > > +} > > During the Zynq FPGA manager reviews we decided that manipulating the bitstream > to be consumable by the driver is userland's job. Moritz, Can you remind me what that issue was there (or point me to that email, I can't find it)? I don't think I had a problem with that in your case. In general I think if these drivers can take the bitstream that comes from the manufacturer's tools and stuff it into the FPGA, then we are accomplishing what we want. So I am OK with this here. The intent of the driver is to load a standard rbf, same as the other Altera FPGA drivers. There is a problem here though it will be easy to fix. This call to revbit8x4 should happen in cyclonespi_write(), not in cyclonespi_write_init(). The reason for that is that write_init() may just get the first chunk of the image (the header) and that write() will be called multiple times for the remaining chunks. The current FPGA manager API won't show this problem since you have to give fpga_mgr_buf_load the whole image buffer at once. But it is easy to imagine that some time in the future we may want to expand the FPGA manager API to support streaming where we don't have the whole buffer. Thanks for submitting, Joshua. Will be looking at this over the next several days. Alan -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 From: atull@opensource.altera.com (atull) Date: Fri, 7 Oct 2016 13:21:15 -0500 Subject: [PATCH 1/3] fpga manager: Add cyclonespi driver for Altera fpgas In-Reply-To: References: <4b4432c04b4ea92a2af814e3d7866c33f2eb12ea.1475783742.git.stillcompiling@gmail.com> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Fri, 7 Oct 2016, Moritz Fischer wrote: > > +static inline u32 revbit8x4(u32 n) > > +{ > > + n = ((n & 0xF0F0F0F0UL) >> 4) | ((n & 0x0F0F0F0FUL) << 4); > > + n = ((n & 0xCCCCCCCCUL) >> 2) | ((n & 0x33333333UL) << 2); > > + n = ((n & 0xAAAAAAAAUL) >> 1) | ((n & 0x55555555UL) << 1); > > + return n; > > +} > > During the Zynq FPGA manager reviews we decided that manipulating the bitstream > to be consumable by the driver is userland's job. Moritz, Can you remind me what that issue was there (or point me to that email, I can't find it)? I don't think I had a problem with that in your case. In general I think if these drivers can take the bitstream that comes from the manufacturer's tools and stuff it into the FPGA, then we are accomplishing what we want. So I am OK with this here. The intent of the driver is to load a standard rbf, same as the other Altera FPGA drivers. There is a problem here though it will be easy to fix. This call to revbit8x4 should happen in cyclonespi_write(), not in cyclonespi_write_init(). The reason for that is that write_init() may just get the first chunk of the image (the header) and that write() will be called multiple times for the remaining chunks. The current FPGA manager API won't show this problem since you have to give fpga_mgr_buf_load the whole image buffer at once. But it is easy to imagine that some time in the future we may want to expand the FPGA manager API to support streaming where we don't have the whole buffer. Thanks for submitting, Joshua. Will be looking at this over the next several days. Alan