From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932522AbcHHTXh (ORCPT ); Mon, 8 Aug 2016 15:23:37 -0400 Received: from mail-bn3nam01on0061.outbound.protection.outlook.com ([104.47.33.61]:38064 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752845AbcHHTX1 (ORCPT ); Mon, 8 Aug 2016 15:23:27 -0400 Authentication-Results: spf=fail (sender IP is 66.35.236.236) smtp.mailfrom=opensource.altera.com; vger.kernel.org; dkim=pass (signature was verified) 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: Mon, 8 Aug 2016 14:18:16 -0500 From: atull X-X-Sender: atull@linuxheads99 To: Paul Gortmaker CC: Rob Herring , Mark Rutland , Greg Kroah-Hartman , Moritz Fischer , Ian Campbell , Dinh Nguyen , , "linux-arm-kernel@lists.infradead.org" , LKML , , Matthew Gerlach Subject: Re: [PATCH v18 6/6] ARM: socfpga: fpga bridge driver support In-Reply-To: Message-ID: References: <20160712193645.9098-1-atull@opensource.altera.com> <20160712193645.9098-7-atull@opensource.altera.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: BLUPR08CA0035.namprd08.prod.outlook.com (10.141.200.15) To BLUPR03MB1507.namprd03.prod.outlook.com (10.163.81.25) X-MS-Office365-Filtering-Correlation-Id: ba76370c-dd6d-4630-aa0b-08d3bfc17754 X-Microsoft-Exchange-Diagnostics-untrusted: 1;BLUPR03MB1507;2:icGe351oFZrgTzxJgXnZ9QnRZIWwSDEV1jVEesBreXyBvOY4xAoaJUgtVMksDikghASxDcXfAopLb+VQjXVrfaQhpCrOU9aRtagP21r6Qot/tQ5uA4uGj7YEMx6JKmMO8ubOpnGGSdCUUiyU9bqbfqK6XPK9GJ8CbYt5VYDDijHI0UzonTZhjgjD+R24GSZU;3:fkKk5V+LDw23/ynFKsWgvoz+2e4GOkgeuTIrRpb6YIooKHJoArLAM8tcgA2VcP+NXwKMZ5paDevUgGGKsSJe+GzgJhUnWcvhTADynPomqynlTcPNFlTsK3jXmRdu+sCC X-Microsoft-Antispam-Untrusted: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1507; X-Microsoft-Exchange-Diagnostics-untrusted: 1;BLUPR03MB1507;25:7yx0+vaEIrTyeHumS/LczOKyEKX/qs+TBK1Mi6jTxuadoMPRztEU3z777FtNcs31JdLeYGpDKUcCpFa7Z3Y1tw3EvZa0RfrZPr72g4nVnacHq3R2YjbEHwXO0p4RTpfaUH3sI19PoRcYwvqJcfOHG0aWXOV+XHww2cOLgJ5n8b1OPOt7jP8CmqvJ1lOZAkBGxqCWfNn8keIXm2agKEkr2IXB/AzHJi1MN4Mi052hLTTfPzDtMgwfAtFZviVSHYCaT5Y+Ff3V88jLERof1tCy/ArH5CIA1sIEyikUmqAPWdF4GK5zfL4uBjAoMg/fC9GG+FNnZlJoHCtFz3d9GUU6RGCPFtM+VpE81Ba1CVBpo9L8j58ZGIGi5iMGcBzBIZFAeHRmnlhjFiHoKWBLuLWq9vDpHfVUvmZpsc1B12JGp6e5nWywRx3htU6J98qoDEs2g1ud9Sp0nqZpslJeGsDTg8Q+WI30Nik9UyN9e9gDHxMuC8UIge8xBD7KwXmnzo6mP8mkc7YxHsqM0t2a48o92M12gvThuMwP/4rS8bkjm7lQ3m+GVKB2FNIgMxnzLPrcZNXOjwyW/esFHspsPJUFmdNVARazxhrSpC3AQiqQxi+3JX+MN0xLnq+6/BrhyuC2HB0SDqtLxSCDmbjR9gopNeZ2OX0HEqCBhca1NWssVGMv1uMJqNVxgB4vviY8wiWmDUiRuXdEoVVIWcvJKn2dnk29qMqym0+MToDluIJDsj6utcFTqqbuevQ1pD2+V530eFWR8Wd01H6/Lsy7CEB4bS/dSs25nu2zdROA1FqaiZQ= X-LD-Processed: fbd72e03-d4a5-4110-adce-614d51f2077a,ExtAddr X-Microsoft-Exchange-Diagnostics-untrusted: 1;BLUPR03MB1507;31:yzJU8NN0GVj5szgkLWzsnA3eb7QwNWSbYZi2EoK0ZOa1CAg4v4WaQPAbV8Wdw8sH7LVycPrVXbIxcDlEe28Mrgs3cJDqr7fd26PHPmo9VThHRRcPEF9diAHFBxUEUBGxtp9qx4bZqALBhrxK//7cASFzk3x8S7MSA5T2X4H4ixSbee122OlpXyAMT6HzdSB/9PyIOCWT0T64e4lUFQxJNObPauBF/8GkmnQsc8IwjrI=;20:AeXgvaPjQYlwm/Cr+of1Kk/I6kiOrzXfCeV0fNlSPgeKnv80nJrrFdhVM3/RZ5L6kd3g6n62Of5dwkVIZDyYjyIV7xKwK6T/G37dFwKKpxSV+X9Hk9XwacOdVy7p0oBZFnPxHbxdgV5ozPHmb3ESQVRbvMOhc7rbHF2kH1TcjcQ=;4:5jaOb9/MWx/fN+BUoOqP9Jld6+HbXYe5z6q/9NCfPviEr9gI9E/R+WYvOcPGRVbjt80QVYRDmYceD9Txnn4ou8ds4AfjyUR/skrTUsQQKgCDol+l4CVNPstiGOx4BS1vPx3NM646KJg/m4ptqX/QHbWXm4jvFPziQ2mU/3/ssrGC+9wph+z6khjPVfqsvgzC/feYaCvS8Nhpzp+rEFliUxq2iilB36kuJ0w4KV8l4FdKlxvh82y6zzqJyRUwROIaFi2I1h4/zXltdOUq1r3P8XgvhTMZfFRg1Uyof6+e2Bv1YfAqgFsSemJgcMZDXrBmczqbUvT8vtvCxeHVx0qCd0mgQB12pScNprX4bIJAxh8vR8QBXf4dIlLiqMi+njhqkXx2QzdkWevHhNXeIa9+4G5r+8b5ok+JrLit7GL4O2GZGkrp4J5NeiB+4rycZ2SS98WARa7e6CM+KLesf6eTQEd60VhmFqZYe9D/NE6muRraBmfB+XChsIfot8rWHaWr X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(250305191791016)(22074186197030)(80048183373757);UriScan:(250305191791016)(22074186197030)(80048183373757); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026);SRVR:BLUPR03MB1507;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1507;BCL:0;PCL:0;RULEID:(601004)(2401047)(13017025)(8121501046)(5005006)(13023025)(13018025)(13015025)(13024025)(3002001)(10201501046)(6055026);SRVR:CY1PR0301MB0699;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB0699; X-Forefront-PRVS: 00286C0CA6 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(51914003)(24454002)(199003)(189002)(377454003)(53416004)(68736007)(105586002)(2906002)(9686002)(4326007)(92566002)(86362001)(86152002)(3846002)(2950100001)(23726003)(6116002)(42186005)(77096005)(15975445007)(46406003)(97736004)(4001350100001)(110136002)(305945005)(107886002)(66066001)(33716001)(7846002)(50466002)(50986999)(76176999)(7736002)(189998001)(106356001)(101416001)(47776003)(8676002)(81166006)(19580405001)(81156014)(19580395003)(83506001)(586003)(4001430100002)(7416002)(54356999)(69596002)(2004002);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR03MB1507;H:linuxheads99.altera.com;FPR:;SPF:None;PTR:InfoNoRecords;A:0;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics-untrusted: =?us-ascii?Q?1;BLUPR03MB1507;23:AcukctJvQtt7Th8ol+mNTiEOLjqHiWXiQUaB09EXh?= =?us-ascii?Q?ZaWrbjdL0ulVLS0eJkYcGPW6ImoF0J5cR6fqfjZvlelEeELU/5TvTUl0C1u6?= =?us-ascii?Q?HjsENiXiJ4I+LTqrKGE32V84PjuvzIe4z7f9TE7BQbPoXFym6eUMXhjc9GBh?= =?us-ascii?Q?kx0SvIrOFgKYWj2GIO0C7mlROdfp66HUIwczFKxqBTYEeyh4tbVYweLUoY8w?= =?us-ascii?Q?LQlS5yo1LZBop9lBDFIdiR43scYQHLaIUbqXcpoZSKp4NGQqZ774YWkc9yyU?= =?us-ascii?Q?SI8WzjISi1GKCztJzytHZS8GrDjFuEBU4eXS1K3B9vB81les37iorCmeN+24?= =?us-ascii?Q?pb1FmUHbIemewr8l8kOLqzyJipy67fqU7vwHU43F6m0Sco0HejU2vdPCHQ2f?= =?us-ascii?Q?kjVR/qzmH/3Byf37MoaUEXFCc5HP3eRHMXt0cNWS+rEDv8NWkB5S364c34s9?= =?us-ascii?Q?+RgocXEcIZgFkf7Dcd6C+7mmC/YinKEAT372we4Gbsm0Ed81W17Q2ojiKW1l?= =?us-ascii?Q?Cb5l799fIUbBWCaF8Rdd/3+pddz7yIAGc319xW1nm5aEaEWSv1ilBVKF1Ed3?= =?us-ascii?Q?vB/eG7vTG5ZLd/OtPyGAvkehgfTWT4bVOAO9PvAmEpGZxJ4BQt/bgReQ/Vyi?= =?us-ascii?Q?wIY4jk/Ynu0r7qp5e49pVRCFJ9VAR9B6uQ2/u0DYmycSg4pNUl0eozPxbRdB?= =?us-ascii?Q?g5w2v/KgZkj4ojs0qlXcfIjs2ZY1/Aa+9DGofG7zpc36tLoqb+xeDvlDsyb0?= =?us-ascii?Q?3CGvzNEtw7iHiXsc1SM8qitH90eet1j8Pcsq4Hjd9bT4C2IBTksLJqKr0brQ?= =?us-ascii?Q?BX+Kih+TkhE96AhLL4fZjNL3jKkeJEMdQY2BFUofM30HUwnr4Mv1eeJpAbAq?= =?us-ascii?Q?KH3kefE2Ariz+7o9QbSm9M+JGQzs4eoBgwJXZzyj6KX5iVzrUA0GZaIOrN/O?= =?us-ascii?Q?BPNsFDCEQCbcNxVm7zGG6M+IewtYUshu4Yt7x6T/hNZvJJFLM2Hu6EJaIDSo?= =?us-ascii?Q?iaRhuegabrQe7PWi0DMXci3+KBKYjTfBDYnVmiFJ7H2qsyD2Fi7S17Y3BsXn?= =?us-ascii?Q?vgekRBBt8McHvoKm/skOYgv5yvhzJLbXkrHlbdUiHh0VjoD0kfITr4cv7ztO?= =?us-ascii?Q?4Qb3MwvV8+/6V1R2Bj8b1gyXqSfza9ImhiNTypus1PesD/I5B8ex+UmbUbm5?= =?us-ascii?Q?e8xEu23b/bAPe6pDZRV/oODA+u7MTPm3+de5aOSbtiF2bhOKjqi5b74DOWZA?= =?us-ascii?Q?HRhiZGUE8Cfvxw6lmfkxQYeuOopIE6s/Uz9ph0u?= X-Microsoft-Exchange-Diagnostics-untrusted: 1;BLUPR03MB1507;6:ty+qLuo1R5Omes7L19A1N0YJSe6n8Okt4HsWykHW8MgZtV/ZET3mjlZT7N0fPmI3CwVvAwafh/EEZrzzX/6GVvC5cFy/RBHEQZIWCKw5rIRShYqvE1TXTk/SI8051XGwzxUC0Os13PtWGqsIKJy0UOXTIhRatkIL51k3x4r7t9ZcI6mchAU3Ggzi3y7f0oBSnlUkc81s8X7k9zIt2jAT2c3+Xh1ErLKbgydjCDQLQd91tCDU/bxUbNgxtNjIlZ5rurzZe344d8Pp3bBalf7dKCa4Rmlssrc2BHG7XDQ+Q2C/MMPxSCyDag8DrlrytF4Cow5opLe0S9V82ZbbXjyIFA==;5:k0j9vO69tnM56sa9ahCTENB/JNcuiNjGCxu7zEOtrw/mCMSLsHfnebKGAj0UN5O5ErXCqMp03iuEch0qrBBEkfaMUXvIm7ztduzpCQ36wyeZjC3UdBVb/r1YAminwV5KS2/fxTw5ss9iPIyQA9jQ0g==;24:PKYn8GvHOc/FTdp3HjoMrDnwItp7GPYrf1mLD0P2XVvxGx3guuYwJVPZkcQl1jYznH8Dogx+mdCRUVls4uc6HLknJ8FSR8xoYMtDRAHXa1Q=;7:+tzX5+0XI6s0h/wYCfYMP4a5pC65cMARTlfL+/gWy/dFsdnoFLxI55EUAlUiB8p6j08oI2PqmVH89FJ9R+V5xV0s+yWq0x75E70h88NqSqfgA4Y89agwVw83Qg/XCVM0FEb8bw1YrHdTfm7Kd2G+jZecuAXw38ajevlxBsWBeFTCL0QMWacHDCPX06eUl1rnbO9tGZ8+sf5iPSp7+vX1aVIZyzgU8nagO60KxYQ+RxIb80RWKc1i6Rg5UH3W4ef0 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB1507 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: BN1AFFO11FD031.protection.gbl X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:66.35.236.236;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(199003)(51914003)(377454003)(24454002)(189002)(76176999)(9576002)(50986999)(54356999)(53416004)(4326007)(9686002)(47776003)(6116002)(3846002)(8936002)(46406003)(2906002)(7416002)(16796002)(33716001)(8676002)(68736007)(23726003)(81166006)(81156014)(83506001)(2950100001)(106466001)(15975445007)(50466002)(66066001)(7846002)(86362001)(87936001)(586003)(86152002)(85426001)(92566002)(4001430100002)(19580395003)(356003)(19580405001)(97736004)(110136002)(6070500001)(189998001)(107886002)(77096005)(7736002)(305945005)(956001)(105606002)(3720700001)(4001350100001)(11100500001)(7099028)(2004002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR0301MB0699;H:sj-itexedge04.altera.priv.altera.com;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:0;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD031;1:GDWJJmLNiIDA9VvDiXIcmL5tuHoIqowLHhJrNSYaCIvyts6UMo5T9tcOCMRBW1mLjpBVnSDypV5uBY9AIJG/+hyNumBcYwPJdpmRu1VutYdU3lF9lWuHiPALZVIHc3iahTtauF0YAdgUcYTJC3YCo2DvQ9hngVmdBTzNH0YgjISs++6F8foywMVVoLbs88jDWbQs9G3eIRKT+WRmvUtrvreBLjbjViXRbZGiP2rpdvjakHWhuJFzGPmIgV/qPJOx8oyF+71+OZfYQ7S92JWXfcMyEaSCV+9jVugjW9axTRh9HEqGkh5M7CZ6LLguTICCTCSpCrOrRIj7AxrrSwYwVED6tdQrkq13NjfOdUz7AzFIJsxvrwJCFpn5bv509JTP49GYDrg3toQxsxlHULvt6QUTEyaYPHDVCHO25rIbbQYNTMjvLFWQDnXL3FCVo/bItX/rfmKSMwuQ6s2Y0epdRSAZCXBySaxDY4zBH/Oo3tlSR3EOC6U7zbzxhH/0CNBa3Ffa3qQwjlfsnVxRirC4XwQ0ED3p0scODiw+heWrJEj/I5+R91qYgBVz2cbfp+gkI5VuOYn0XGqtgNIpiFMnMUbK7cgbjx0yDyl4bu+oH80= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0699;2:4jtitD0QsMqtvaoV7wxBrQ+nty3lOLCXIkFzndqfDD5iv1Z4AKNNdFA6o0UmSW7Ghx+KN2diGEXX+m+IwFU+7LqqtCK8T9xt4Hs8fBn2TdOdaKk1xPK+LOYnI4k9Jsx7f/C4usYn3GWpIStwJbI0BQAmiepmDijdJgsEOpyQTwBH0ozOPQNmSDtsf1g3nMFQ;3:9y+S0O4xgjgkh4Xf05K15pwl76rQh335IGvUgzRvLwBe+Op/xp8TV6aPP/qcbSKBO33xjuh39j6TFky9O02f6ttNmEeMG5/3V/roxK8lO0wWB8RNKD8vEzMw12VxkoI2qW7BAfQ2DqziSG6JemXyVD2eBgP5dGEBzR5nPgjPDYajKzHYZybewgcYKx5GcnlmeBQrcDxbRlxgkLynYimn0H8gqnWEwZ070UQkpRHa+YHsRbrAE2KnI3uA//l/9mF2 X-DkimResult-Test: Passed X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(3001016);SRVR:CY1PR0301MB0699; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0699;25:2zRPH8KSVdLXyBOgj+Ic7H0rrF+GlSjLE+D0M/s/F6I3zRAohBTRAWv2DqZfY2zrbZz5Cw15cewWC7R2jJ3qmsbSmPhmiPNZHFwS/AcmOdthTXGmNq1yqY5q7jZ3ygBkVN+j2Nug2uZvMUePb3TYT3mZfgib9KbAILXotibxf/HfLo3bKcDSVmVQ8WkHu9N1RkLMFR9mVVa1FJFbgq80L6bbIIimMfQnixS5nPPTOPPJleT3n3SH4Ws4vXkgidBgWpAelhJE7SY5wklQMzC/CKTAOugx8BUzNwQcltEwKVtyBR4XX+/BrIYOhAWPy+tjBGN3ide5DmwYBpusuUbxdMr+EQ0DCIiV6Wg9o66nG20/V0CDS7nhWarQnswVuO6PWtRcXuV2TixB6hvf03dDrJf4Fql+H/qxoO0V1UGoSlto3ookE6J21iQ9NE4moHI8h9yKyWy2/y3+qQ7OyZe6ZVCWZqcclzASvUX+Lw1Bo4B4zudFSSbNrfrXR+13j1QnAdpLu5j28G7cgk7QazBwyjJVRWJ6YR6+WbO5WxATvGFuo14/fKqcr2YuXa+br9AboUq7fKtI1/70zZs/6Srzapn+mdQo723crnaqjmFhCq08igmF4es54Y2litx/YC53AMQuzxGj1Dmg127oAN2CVc5H6Y6HrkJdqbb2oFMyWl022CLS0u201SRuyXxYpXQMdBTViylB3d60s/iUiT5YteP6NG+bacmk1ZfaWYsj9mRk9yutwGuylCdvA0R0sc74ex4qw7ydRTXWprq8ZUa7NI0aLknHlkgF+JEBzU2N2hPZoOt8GKFcE+HE2TONe4n+Y8iSAvstxf7ctmD40A8SPg== X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0699;31:KEM33e55jc5+ozzcUB3jtY1plMGmieTKWRVDz4bIGZAQtnNlZMamkRX9d6VEb8bTjQDzk7xBVxF4BP8GNt1M4rgGLPQdJUjAxYDR37gxRIJclmqH6e9QCbHZx1A+rC1sXvoXc12AWRL88fTEBAfbFVuxo2zm1adYM4rBM/Hdzfp+/UafzN22fmF7xNzNH+SfVui9IaWjkqmGZhX1LoaETDbxFJOlHjCMDEQXeOPE+Iw=;20:uW/uskYxJZ422RMxNpcFHkN6ivrqExxocMAmex+De7VSzb5TSIig9v2WBt0rLZD9cMulAKNqQi46mmChMOpGL87HXa5FZZN08Qo/YvVGuoBb+eqXchtCFYth+3VLIlwg80zpXrLzQ/RuqONmWCQkwt4O35QdVO/aHQ5PmcqTDmg= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0699;4:Te9Kp8EHyGi4mC9hdzAzep6oFgEVt9J9l2Mo6w6ZHXX3RdRj5DiVl9kfjyMUnYNlO1QnVEU9G9p28DIb814ikC4XGsbPSCEKibxy95gGXwgUZNxtSFewewpZcHOpJNGpqbuOlX94yqTLtxHy/M4IGwCbP25egO4ak3t0x5FRjdQF/MkQNAHn2PMskY6tKyWRUA/sqjmQ3EP50adK4W71ZZxn1jJ60GLyk6F6TXMJ0Ph6y/4HyrLNIhYSy59tfSWM0BfaZX+YhrCeGziSiwY1f8DEl6aR5Gv4CLpbqnjqvbJu1PauuowDgN16UOqwLVfWFk3Iyb0qyN69+aOGpvfkO515DTrhqfwDWwRnUn/jdHSnGhO3q0A4im0Zb6XTu+oy3SwAk7Enz6EuLSbwsX7uIwy5ZNjVOudxXgJIbeTQ91cvkRVbCpLF6TU7oiqmY3JNH6sm25PCW50Bx8rJKQAvfIdl1FA8TBgBJ1f5SAqeK/yJCBaqBaQ+xbB5wjFAku2OENZyPfSnCQfrPVm1XRlmilMoX6wK5fNGYh5XI9VbDFyu97y5VGk3M1q0/jqrkVv+BiJHL3vDxDvpLn8cQnj00A== X-Forefront-PRVS: 00286C0CA6 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR0301MB0699;23:wRy0QepKjSVnZoHFj3SA1nhvQV2XnpJlO4CWRwc?= =?us-ascii?Q?s6AOSmMOkz6hzlO442LxrPiBclacNaKzrkGScNRMGUKSTmV0GYzrWEexVn+2?= =?us-ascii?Q?d68rgSvxpKikzs+/Mty9Z6m3ogEVUlHIsCMDlAF95WYqz+qPcTUCji1Ah9nc?= =?us-ascii?Q?qsos5Tg0q24lpAKdO4Z75w0CEMBDaDG9XSbRhLrSpxEziZfyUsOaBwAYN2fO?= =?us-ascii?Q?g4HepMfWNK1QRXU3IAHFzYVgQKnW3/9zpnPC+lIuptGTKzgx8/P4k07MOEdx?= =?us-ascii?Q?lIXHH2+Mo7ycLiOX622/OzmEFvMCEu80BOXUtqz/YUwfXh1B8OVSjJM9JQ59?= =?us-ascii?Q?X81quHsFtkLkF1IYaPP7G7DhF1mkw75KT0o+qT/2N2mO7BsgeYAggPAXe3vW?= =?us-ascii?Q?vzz/02+jlCKLAmdC48vXbKMR5AxCC38ThSDcVOJR61Ulho+s+JMIxFOq1DXM?= =?us-ascii?Q?qbXlwxSbq+JDl/8tNjdRF1xuGVrvZkxzx/gef6//Z7XDX2QjnTYUSngSnCHz?= =?us-ascii?Q?yFDepny0NHZZqDGoWou8UtG1UcW4CtzkHwkFc6mQNZsTT4jDZJ4q+jQYqIat?= =?us-ascii?Q?kZqUqHTkhmfYqW4TFjjdbBgXixjWMBrqxkuQEk3kIgFlGNaa4GekYEw4JxEq?= =?us-ascii?Q?34Q40BwGCTSO9M7Jffl+fELD9U/cMoaiPzwQ5MDRfKNGHQXLyfLWWgCJmW/q?= =?us-ascii?Q?JY9ipJ+NM4v8pcXgCgGUJ/NQd/FcXLIZWF0FBL/WqzoPoYlsrKNruSnKjh4N?= =?us-ascii?Q?cx7tB+xnRwalfuiUSb7G5OanW55bo0/GPronZw/2k8fwP50yzWXijlXMldQq?= =?us-ascii?Q?I++BiXc6b9b4dWWWqZm49tQaYFa60JeAH4Tkp8dP61pdj6RgQiY2NWoV87XK?= =?us-ascii?Q?fceWoTYnmkidAN0je0zywN+eAwdxWokkOkPTp7deYMmKcTNUYi2mH6xF0GVF?= =?us-ascii?Q?Fz7b5piOlsXVTxpj1LP8HkKpeQ5iNwfUlBFJ3gnEGCdPA2bgZ/wtp2WSW4dE?= =?us-ascii?Q?xqqsGLVEmelPxAd/zHO+CMqz2/lCFEuttTKfvAlBYy3UpO7kfLtlE8oORm8R?= =?us-ascii?Q?2RfE0xLGVqDfgxNkiIoN7XfP7gsEn3mVK+h49UIjIaE1CyjPiFvw0ZnJnBjT?= =?us-ascii?Q?+Q21IXIzKlMMxIeLTZMa3rpb3nlsszlL57GaBG1nTm1iLjGORN37TO5ti1QX?= =?us-ascii?Q?/yM7gqpDUbNdcEAmBFLGmtr58l/YyvsdTGYwhYfuSM/hfAIZmXZgD6A5imnn?= =?us-ascii?Q?yxdivpAawvhUUlBbBUYiOo2AeiAkJnDDuBpxpFmjCtXIwJK5H2t1o+mS+YIG?= =?us-ascii?Q?ZlpkvheQ6D1jGCDbsqQJ1GyAQWRLl++LO45OCw3ho82Ol5OSUGlP1+XddK27?= =?us-ascii?Q?HQHnKbatEAzv12ieCq9duO6QclB/VIZE8opefIfHTCgO8Zvuu+ZkhGASwoqh?= =?us-ascii?Q?LFIFoCu3xZ2P4iL3UzwrDpdGLBWpYB05a3sQo4dO4NSvUBA6G4+2rNifKdxD?= =?us-ascii?Q?+DNcdwrjze09uVb108B1g8PqzcGj6uD/Z4dA=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0699;6:hbIzjcjTOp7jnoVtSrcU81f55JhAZP1W99WXUOEOy/oGFmdbWvvnmqKaLRSJCR2UTq9tWUEyeYYtM/aIfLYiBUEFA+0ZyagSrHOFid31SMtBKOXvVlJZEI/KDRbMKO1ku8pq4p50j3XkzS/M+rlyl/hPHJ3UXi8Rv5yCnOFmh58bxfOntrzmu+XCyApqK1CgrD0dktBDMq1TxW8gstjof0gMCoLmBYtkMyVZKBntHs0krbXruwxrFjHorbji99MLYSzI+Jc6eJORjK7gCMWXnMUuQ1J0Ufwcn/POCUiStRf+GVU5GHBmo/OTCfSfJM6Fq6K1njR5oEct3j858JMRkQ==;5:byzIsXNDHHz0ZbESZFvLUDGbkWhGKnHwa2bL/5EB/nQNw5qas0gduQAk0CLtw3MX+R1D9jGAXSeng1X+9vIj3PbEY7/NDtpR2CP1t75F3KDB4ZrvjhyLLsmUZFGIVqOR9xs7xzEo0sjAvaYNCz/+ZQ==;24:is67TzE++X9Z/oL6Tt0mLKxF6ROfRADQO5K/RrBmFRGLp09EE2rnL1RLQT4ViLPjHPjS3k0bDqd+Z8rVsJ5wbptsh0W2Ot30pXZD7SuvpSE=;7:zeYfp7M4CcM2I2RVIB/PGsu7iiH/bOSrZ0A/exHEVEGQwHxW09j5SSlLFBF9YHBqJaQAvdpdrgy7QOl2xvUxPyjmMN4cX22x8qk8Qq6ygy3Z1rnm4tEZCo3ECk1js4SGNqiLmPGkdgpoRN/LIeLb14al56uxbCi0PQOuLJiCrgsEsMNtZLRleBc7BgWEr/ch4ge6GQX/8o1/KoW8nnbAug== X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2016 19:23:23.6322 (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.236];Helo=[sj-itexedge04.altera.priv.altera.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB0699 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 14 Jul 2016, Paul Gortmaker wrote: > On Tue, Jul 12, 2016 at 3:36 PM, Alan Tull wrote: > > Supports Altera SOCFPGA bridges: > > * fpga2sdram > > * fpga2hps > > * hps2fpga > > * lwhps2fpga > > > > Allows enabling/disabling the bridges through the FPGA > > Bridge Framework API functions. > > > > The fpga2sdram driver only supports enabling and disabling > > of the ports that been configured early on. This is due to > > a hardware limitation where the read, write, and command > > ports on the fpga2sdram bridge can only be reconfigured > > while there are no transactions to the sdram, i.e. when > > running out of OCRAM before the kernel boots. > > > > Device tree property 'init-val' configures the driver to > > enable or disable the bridge during probe. If the property > > does not exist, the driver will leave the bridge in its > > current state. > > > > Signed-off-by: Alan Tull > > Signed-off-by: Matthew Gerlach > > Signed-off-by: Dinh Nguyen > > --- > > v2: Use resets instead of directly writing reset registers > > v12: Bump version to align with simple-fpga-bus version > > Get rid of the sysfs interface > > fpga2sdram: get configuration stored in handoff register > > v13: Remove unneeded WARN_ON > > Change property from init-val to bridge-enable > > Checkpatch cleanup > > Fix email address > > v14: use module_platform_driver > > remove unused struct field and some #defines > > don't really need exclamation points on error msgs > > *const* struct fpga_bridge_ops > > v15: No change in this patch for v15 of this patch set > > v16: No change in this patch for v16 of this patch set > > v17: No change to this patch for v17 of this patch set > > v18: Eliminate need to specify reset names since only one reset > > --- > > drivers/fpga/Kconfig | 7 ++ > > drivers/fpga/Makefile | 1 + > > drivers/fpga/altera-fpga2sdram.c | 174 ++++++++++++++++++++++++++++++++ > > drivers/fpga/altera-hps2fpga.c | 213 +++++++++++++++++++++++++++++++++++++++ > > 4 files changed, 395 insertions(+) > > create mode 100644 drivers/fpga/altera-fpga2sdram.c > > create mode 100644 drivers/fpga/altera-hps2fpga.c > > > > diff --git a/drivers/fpga/Kconfig b/drivers/fpga/Kconfig > > index ec81e21..b346166 100644 > > --- a/drivers/fpga/Kconfig > > +++ b/drivers/fpga/Kconfig > > @@ -39,6 +39,13 @@ config FPGA_BRIDGE > > Say Y here if you want to support bridges connected between host > > processors and FPGAs or between FPGAs. > > > > +config SOCFPGA_FPGA_BRIDGE > > + bool "Altera SoCFPGA FPGA Bridges" > > + depends on ARCH_SOCFPGA && FPGA_BRIDGE > > + help > > + Say Y to enable drivers for FPGA bridges for Altera SOCFPGA > > + devices. > > + > > endif # FPGA > > > > endmenu > > diff --git a/drivers/fpga/Makefile b/drivers/fpga/Makefile > > index 8d746c3..e658436 100644 > > --- a/drivers/fpga/Makefile > > +++ b/drivers/fpga/Makefile > > @@ -11,6 +11,7 @@ obj-$(CONFIG_FPGA_MGR_ZYNQ_FPGA) += zynq-fpga.o > > > > # FPGA Bridge Drivers > > obj-$(CONFIG_FPGA_BRIDGE) += fpga-bridge.o > > +obj-$(CONFIG_SOCFPGA_FPGA_BRIDGE) += altera-hps2fpga.o altera-fpga2sdram.o > > > > # High Level Interfaces > > obj-$(CONFIG_FPGA_REGION) += fpga-region.o > > diff --git a/drivers/fpga/altera-fpga2sdram.c b/drivers/fpga/altera-fpga2sdram.c > > new file mode 100644 > > index 0000000..91f4a40 > > --- /dev/null > > +++ b/drivers/fpga/altera-fpga2sdram.c > > @@ -0,0 +1,174 @@ > > +/* > > + * FPGA to SDRAM Bridge Driver for Altera SoCFPGA Devices > > + * > > + * Copyright (C) 2013-2015 Altera Corporation, All Rights Reserved. > > + * > > + * This program is free software; you can redistribute it and/or modify it > > + * under the terms and conditions of the GNU General Public License, > > + * version 2, as published by the Free Software Foundation. > > + * > > + * This program is distributed in the hope it will be useful, but WITHOUT > > + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or > > + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for > > + * more details. > > + * > > + * You should have received a copy of the GNU General Public License along with > > + * this program. If not, see . > > + */ > > + > > +/* > > + * This driver manages a bridge between an FPGA and the SDRAM used by the ARM > > + * host processor system (HPS). > > + * > > + * The bridge contains 4 read ports, 4 write ports, and 6 command ports. > > + * Reconfiguring these ports requires that no SDRAM transactions occur during > > + * reconfiguration. The code reconfiguring the ports cannot run out of SDRAM > > + * nor can the FPGA access the SDRAM during reconfiguration. This driver does > > + * not support reconfiguring the ports. The ports are configured by code > > + * running out of on chip ram before Linux is started and the configuration > > + * is passed in a handoff register in the system manager. > > + * > > + * This driver supports enabling and disabling of the configured ports, which > > + * allows for safe reprogramming of the FPGA, assuming that the new FPGA image > > + * uses the same port configuration. Bridges must be disabled before > > + * reprogramming the FPGA and re-enabled after the FPGA has been programmed. > > + */ > > + > > +#include > > +#include > > +#include > > +#include > Please don't use module.h in drivers controlled by a bool > Kconfig setting. > > THanks, > Paul. > Thanks for the feedback. Can you provide an example of what you would consider to be proper usage in the kernel? Alan