From patchwork Thu Apr 7 01:22:54 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: tthayer@opensource.altera.com X-Patchwork-Id: 8767901 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id A526AC0553 for ; Thu, 7 Apr 2016 01:21:11 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 87A79201BC for ; Thu, 7 Apr 2016 01:21:10 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 698B7201BB for ; Thu, 7 Apr 2016 01:21:09 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1anybC-0005U5-C2; Thu, 07 Apr 2016 01:19:06 +0000 Received: from mail-bn1bon0062.outbound.protection.outlook.com ([157.56.111.62] helo=na01-bn1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1anyb8-0005P0-TG for linux-arm-kernel@lists.infradead.org; Thu, 07 Apr 2016 01:19:04 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.onmicrosoft.com; s=selector1-opensource-altera-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=cRYeZ04DBwckVeXobJS/XIHOtVrPOCK8RbtsAEgowUc=; b=IlRH5BOG+EkE9TFvi4yfgxp4bKlIq2lFvD5L2PxwELAGkNQG3ys4hRIbZy8HTdypJwLjmO18B+kv7RTHtnMrie0fW3WofwcNmZV6Qna4EGiSPVIkx7L5MYpKhHiCCqbwTpW4x2i3g2LQOJ4lTksa/MD1KSZM57PA4TXqIxc9s6w= Received: from CH1PR03CA002.namprd03.prod.outlook.com (10.255.156.147) by CO2PR03MB2277.namprd03.prod.outlook.com (10.166.92.146) with Microsoft SMTP Server (TLS) id 15.1.447.15; Thu, 7 Apr 2016 01:18:39 +0000 Received: from BN1BFFO11FD030.protection.gbl (10.255.156.132) by CH1PR03CA002.outlook.office365.com (10.255.156.147) with Microsoft SMTP Server (TLS) id 15.1.453.26 via Frontend Transport; Thu, 7 Apr 2016 01:18:39 +0000 Authentication-Results: spf=fail (sender IP is 66.35.236.227) smtp.mailfrom=opensource.altera.com; linaro.org; dkim=pass (signature was verified) header.d=altera.onmicrosoft.com; linaro.org; dmarc=none action=none header.from=opensource.altera.com; Received-SPF: Fail (protection.outlook.com: domain of opensource.altera.com does not designate 66.35.236.227 as permitted sender) receiver=protection.outlook.com; client-ip=66.35.236.227; helo=sj-itexedge03.altera.priv.altera.com; Received: from sj-itexedge03.altera.priv.altera.com (66.35.236.227) by BN1BFFO11FD030.mail.protection.outlook.com (10.58.144.93) with Microsoft SMTP Server (TLS) id 15.1.453.6 via Frontend Transport; Thu, 7 Apr 2016 01:18:39 +0000 Received: from na01-bn1-obe.outbound.protection.outlook.com (207.46.163.184) by webmail.altera.com (66.35.236.227) with Microsoft SMTP Server (TLS) id 14.3.174.1; Wed, 6 Apr 2016 18:16:53 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.onmicrosoft.com; s=selector1-opensource-altera-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=cRYeZ04DBwckVeXobJS/XIHOtVrPOCK8RbtsAEgowUc=; b=IlRH5BOG+EkE9TFvi4yfgxp4bKlIq2lFvD5L2PxwELAGkNQG3ys4hRIbZy8HTdypJwLjmO18B+kv7RTHtnMrie0fW3WofwcNmZV6Qna4EGiSPVIkx7L5MYpKhHiCCqbwTpW4x2i3g2LQOJ4lTksa/MD1KSZM57PA4TXqIxc9s6w= Authentication-Results: alien8.de; dkim=none (message not signed) header.d=none;alien8.de; dmarc=none action=none header.from=opensource.altera.com; Received: from tthayer-HP-Z620-Ubuntu.137.57.187.33 (64.129.157.38) by BN3PR03MB1478.namprd03.prod.outlook.com (10.163.35.141) with Microsoft SMTP Server (TLS) id 15.1.453.26; Thu, 7 Apr 2016 01:18:21 +0000 From: To: , , , , , , , Subject: [PATCHv3 6/8] EDAC, altera: Addition of Arria10 OCRAM ECC Date: Wed, 6 Apr 2016 20:22:54 -0500 Message-ID: <1459992174-8015-1-git-send-email-tthayer@opensource.altera.com> X-Mailer: git-send-email 1.7.9.5 MIME-Version: 1.0 X-Originating-IP: [64.129.157.38] X-ClientProxiedBy: SN1PR07CA0009.namprd07.prod.outlook.com (10.162.170.147) To BN3PR03MB1478.namprd03.prod.outlook.com (10.163.35.141) X-MS-Office365-Filtering-Correlation-Id: 48f9ce4f-c70e-46af-afe5-08d35e828d19 X-Microsoft-Exchange-Diagnostics-untrusted: 1; BN3PR03MB1478; 2:/ler1CCLOwO8gI19WEXaxNHDwm3RxaIXE4AyYdMHBsaK4PqSFR1bZSVHc26ZQuzYMoNWYFEn/xXARG3i2fk1/QvKCjcGAyzTwFE9Q5ICOzoZs+RkmHkN/HcA0B5jhyf5jbhk+O7xADGH+4xb3jquoYtES/Iu0Pm5kh17d9yL+ued/auX+zdVt5LWtKSj2mim; 3:dUzA3t/IX3XAXCL2WWtzoFzvjzR6ac8rLPq/udPx0WcX9IjAp1krhfZGKhnn9Woc5hPeLw5F+WRXz7mOreayf8n4LaEt3kq3OB/mi0NDML7x6yHw/EY4At+9SM8gbeft; 25:j5W05QGmiOfbScTKAmnHkwI/w5Rcu4JqcvwTQm2pL4ZXAav9AhUWe5YU5y0zPSWnv2LxH/aMQEDqOfMGLNw9uXUU8wHO2xCC83+4dh2U4cGR0yOgZOiWwSwzErL2w+xM057PBcseXuC2MKV9Tma+vSBjmdhU18gBmmEOR5qYwzLx5wx2xsugJMPKs0vrKheDgDLNm+yJ6nuqlpsXpl2uXXwAkl2bh29wg2lrevy54SyMOkkxce7bClcr5bvREd9G7fASJvlQH1og3Fl6yJlw+vtl4QP1mJF6H1WuDLOmbd6ekvDHOYMNBw5k+j6H8cKZd4Dld/o9vWrZLGHSp5kxuQ==; 20:WfkGoPHYbPl+S0Ys+892t1qdqY0hCyxpfK12RRkAVHYUZfr7l6Z3U929l7B/X8jTEs44UNS5oLR11VQidfpRDJ46nMtZrnAakFxhNLmpBSrhUiZfq+koMdhc5pP3cQ/HGUhzFv9he0aPqvFpcV3+ZnStixmYqAja0CGJgRhNojI= X-Microsoft-Antispam-Untrusted: UriScan:; BCL:0; PCL:0; RULEID:; SRVR:BN3PR03MB1478; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:;UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046); SRVR:BN3PR03MB1478; BCL:0; PCL:0; RULEID:; SRVR:BN3PR03MB1478; BCL:0; PCL:0; RULEID:(601004)(2401047)(13017025)(13024025)(5005006)(13015025)(13018025)(8121501046)(13023025)(10201501046)(3002001); SRVR:CO2PR03MB2277; BCL:0; PCL:0; RULEID:; SRVR:CO2PR03MB2277; X-Microsoft-Exchange-Diagnostics-untrusted: 1; BN3PR03MB1478; 4:ap/0g4Rs3etAVc7N93HLBIzCW76gpMY1FknztQR8OmI07G+DgrsiPfXK21pOBOTRAm++1m2YnK6c7qYLFrJt1o7pFOMIzJgEJUlddkQtahVnFXWtNtpS743HT/MZsvt4Xx+KeB/FDn0Ll2orNYZqQkDGPekosMh9m+E4qb1K1TAILHN3CfPWOus8ftEwjq2dfDibKbs6q34JSO7jqCCyj173Kiys0CGx68YMcX/BZOHwoT9edEGliRqPf4ym0LptZooHBOsHckB3GNFTHFTSL2qFclrGmGbO3oJwzc3EaI7yfKLGxmtka83qct+gANQxhxmZ6csIcOJRjPI/oPWbUFesnfzJcAUki4Nm9xdLn56U0TDsVaUKKUuZwQsa+7fF X-Forefront-PRVS: 0905A6B2C7 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6049001)(33646002)(47776003)(92566002)(4326007)(42186005)(107886002)(1096002)(6116002)(3846002)(2906002)(2876002)(19580405001)(586003)(229853001)(2201001)(81166005)(77096005)(19580395003)(86152002)(50466002)(48376002)(189998001)(575784001)(50986999)(4001430100002)(86362001)(66066001)(5001770100001)(5003940100001)(50226001)(5004730100002)(5008740100001)(4720700001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR03MB1478; H:tthayer-HP-Z620-Ubuntu.137.57.187.33; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics-untrusted: =?us-ascii?Q?1; BN3PR03MB1478; 23:brpAs9DAdUImEskpDf1MqPvVb4+GxVNgWQf16AVao?= =?us-ascii?Q?gOcVsyRBxDSLCi2f50HWV/Ypp8mrWVc7sCr6FwFK7fN4gwn+AtYxU6iSTVzB?= =?us-ascii?Q?WBOQu47J4EdWDPUMNdgpfXc8HDtueF/jsnH4txZtT/xG5d4S1H/E9HFwb/PA?= =?us-ascii?Q?R0qs95RhQCPB4StscqewmKvStPYCo7rsiCZtOtDIozd5wEkMM7e0cX19wvms?= =?us-ascii?Q?nk0yj8XbOOKcNRmKTXEsFU+x781w+6Fb0GTeVC2aXK/EDE7+X9F1HjXv69Zq?= =?us-ascii?Q?+2F8NHpNEYrzNSrk+JxjV4Wfyd7b7Nz/dnzqHq2Q/UbI2fdJMx+oymFkp3ri?= =?us-ascii?Q?Ge+eo176AJWtUdH6f/UKoKTQbaiQILc/qWGhVTVyR5cjCegc5xNxWLlA1Gay?= =?us-ascii?Q?o8j6zmBrxnpiJRQtULAkBvbhTqE84gQqGErqE2ZrkbG78dLrAFqvGiGpT2nK?= =?us-ascii?Q?430mMx/2r8RBAP/zOKyO63XmyWo/Rcu3QchcFrhLNB7xuSxqom/kE9pXKvld?= =?us-ascii?Q?oGDaKz4QFMYmPCwVzPdPtZP0yWuDqrYhFAFRHwrSBakbmlDC6PJZJ+tEfW9v?= =?us-ascii?Q?s+s+l+pScDCPA1QQ7bsE2hFf1yFYURbB8qKcsxXjs0cRNJAaawHhmade5OKA?= =?us-ascii?Q?Flq0b6TDQUPuP9oTgqa6xUmBz63NqivJuan1wqXMnwewjK7EO+n9coy/YW/W?= =?us-ascii?Q?ccAQdxkZV5iW/g9oFG+oQ3ApEYfXJYKNmbbWzst0pLQm2gbMSKkk7X3xkece?= =?us-ascii?Q?w5OYJL43Ou3m8tuEQV0FJ+3fCzzQacHnfs6TXmlJgWcv5pyX2yys87rBZmrb?= =?us-ascii?Q?wEKhC42/Zhh/bAcD/szeLLwok76/7EG+4r7COxW+cLEfEB7rDwvZQ048rjU+?= =?us-ascii?Q?+d5++NNhQzz63/ov6XeR+ErJqmmujm5/JVpmyHz1ijxg0lzwzUdg+2Jsd+Ix?= =?us-ascii?Q?qv4IhK+YNF1K2A+zLvuOh0lFT7n28CNdY4CnkZ7jbfsXWfXMq/8y/BoOvNmq?= =?us-ascii?Q?aM=3D?= X-Microsoft-Exchange-Diagnostics-untrusted: 1; BN3PR03MB1478; 5:x6B9tduy4fCpFl5H0dtIuTZaisJFeI4rWpMU5yzKb7IzNErE5Fm8B3e69uGfhbm0zKyowtg1ChuQVhGPLJKzGDGB9wTX0GhTWweawvGnzgANjq9YTa4sdqHGagOnKTxhz0vX7ehN1CW/JullnVNEuA==; 24:0aYOftFafn3r63o2KJUY9x+a6ppCAt+sej62z7/eRS+DmH54v2gen6WmSzV+UB5yNdIUs9Adfj1AZBTLWOjpCon4WEPjKrHmVUI4DopGBzU=; 20:GyK9hJLn94W3ExRlX7twZuZsMmixwrxOK1ECmIJLA5QMqVZtU5fMz9PuqoShSeiHcn4ijf8f8OQBgncOm1cxYvzrPik1r/V5gWtWtWGHEdJalS4WW4a82EB/rLKgZWC1lidAoC3H2uCcmf1mmnkx8YR8QnhtP2RVriWCBQqaINU= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB1478 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: BN1BFFO11FD030.protection.gbl X-Forefront-Antispam-Report: CIP:66.35.236.227; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(2906002)(50226001)(66066001)(50466002)(6806005)(5008740100001)(4326007)(48376002)(87936001)(11100500001)(47776003)(2201001)(81166005)(5003940100001)(86152002)(92566002)(3846002)(3720700001)(86362001)(586003)(19580405001)(956001)(575784001)(19580395003)(105606002)(85426001)(189998001)(107886002)(4001430100002)(6116002)(50986999)(16796002)(33646002)(5001770100001)(5004730100002)(1096002)(2876002)(106466001)(229853001)(77096005)(1220700001)(7099028)(4720700001); DIR:OUT; SFP:1101; SCL:1; SRVR:CO2PR03MB2277; H:sj-itexedge03.altera.priv.altera.com; FPR:; SPF:Fail; MLV:sfv; MX:1; A:0; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD030; 1:QM7Qjo7GzvM2dn7IjQrXS07zGFrpUrYJRXLxh1XJTR2NCVG6zUzFkLa6k+TdvOPfS9Ss12XiJ7kzppLSF+JwVzzOhu1zbIbXLzA6x2cycKsqTGb++CZy/M4dlAGUtg69U/3wMlgNFKd7OGLfFk1gsue/4ARaIiODxB9et3z4c3Fsk+XkqIf1+01zEDhlNK05Y8SjIoxrazraNmZn5jHtqkGg7kCcSi6q37khdYfzpWe0oPt2F1wzgJ9VTmFXq3g+SGBkQP/UgebihyC2bbMO8JIVV9uIve3cULCSWW8uoJXVjuPgd7Ysphq7ig0+c+wPosZc/c8nMGHalmlKa7AZdpy0uk1ttQHh4f/Kziy4ogribwYxI6XAejMcOg8u3BgGaHxCet+URB5npbIHf4Zh7ZLhBPjIwXVsqnLCedV8wTU1wJ/UZeQpGOYAxLQ0TFxPkpN8exNVEvTksZ/q75R40Txnc0d1VeulKgYDmPTI8gOmFqJ3m9ZY1h1ACzTnZT1/TPG78z/CQSKSnWSX9Yue5Qs2XckHw/RUnUsU29pLeY3MTG9nQzelBxDE8xOo4Dlb X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2277; 2:QoRylXRVtvHnBrGbx2bGhKBHb4kXv+2fCwKe1HmBH3NXekjML8C3vCZFNu7qSW7OqjPPK7UMhNdlFdYdaraRhQHmzS4BbtV6ZW5vbAj3zri7RHBNyf9aOlPtRGd2iow62avPu+vPby4hJz8a7Lfyy48mC+vB9IEW3vHbNUKWO1HHN6plpnTbXyMxpjoMF9SU; 3:4B9Lb8dTHKCcklCtp0o7b8UErEyYknk9BymyCKrbN/yvKWzquEJhjn4i0mQOd3cN9S74c/jRzPlKjDybH/xrTQgjzS2jLGN2Deoq9nDG0YTYmT7RsPNTKtwnQV/dcs61sD7MXJTBX3wymwrtIVXWtH0WQfkWjlSZzpDwvDGPL0vZ8x+5RSJGd6d6vcrs4Ybm+Ys9HGGA/r05TVZTO3b6NFY0tiZBOTN0xAdckwHQJwSTaTc6qdS09dK8SGNizvQe X-DkimResult-Test: Passed X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(3001016); SRVR:CO2PR03MB2277; X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2277; 25:XF+ef1YyPIGH04ND4bAMBPcoS6syzgDBlSmBgNtBiDFZVnycjOdL+MdVpgKibe98vxD2s0iJQVtR5WH+FN+VmM89tyt2+WPy2ai8PWB4CyNc9p8Ra7kiB6IXESIDy8LnXGYJjljh/9udaCR7MHjHI7g5l5n83Mwb0WuHuT9OKCbtwGIUSeFKCkMAFZ0THsTfsWm9vydPjvKrUwBaZT304+h7FdQ4YK2QR+oQ1IoA6AdHc4IPMxgQaMJiwx0LLs+pcyqFvfRpWG4NNZIPRHNxopRLiozzfFY86D6j/c18zf8amqWk7WrKA6IGr2L1uk66UpOagqQDYsN05SIzmCUT3/seODxUNL2/+N5hzXzqTK12P8tkz1seqQP8H4z8z4EZDdJjBDgk2JMfr1afbgkC2x0jOdEqSAazEPrlRc36GSuBuoXZ/WH6yTsTQjG0v7s0nhdvXxyDG4NRO235+NhbLsn6tGdCCt06ZbGZGPSUuQz3m+EFSQ7buqjyJOI0aq4+e0/gTk+cbAjGdy/P32c6PwNdidVlzd+reshXEYfGo3A8ZBSdSyTtcuWefxtDOUNrSbHGj4PScwot2MuVB6VFYTgyAVBECL7dSVCR2qNqxP/SUIx2I/ncaIiwCeehMBbj; 20:W/1mv9k8oT2hen5RxpLYAaLdPAVqBfZV/I+8TQcMx4c/NAyaE0ejxVNZklrr2Wsk2kUTFfxMtosyPPdjw/sZmM8hXITAKUlNdW+aBkIFnAun74L4Lr7NRkjw+0rI4EKAmJkcDF3y00qXOxXk/bdfMH0y43LWPVnXm+SrdAO8Il0= X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2277; 4:dONQZtWadlCZDj3lcIjGZAv4dVle1xy2VNqt2mU1+Ks5/5v1yG6+vR2zmKoMY0IEswmDwTi/7QxLtNXxdKLNplD3LpXmq44bZylzJ+7vYJqmuEJq32Ij9eMmO9MM6lz9WoVG7q80NlryRTeXNI1ARz5Oc1tBmNX98pDMLDLdFYO4k6GyXxNm/xD3Nvz1bLr1cPI3MGHK8AwviZo+BTxwhcA5zg1YZssUYpSgnTbvwJ+3o5QgtkQ34nN2Ce/rfcBSCM4AwzNZmClYtyslEvHafq1UCIXAmxoe1HzMkfEwIC3vkFppNp4GHCNAN4uBrv2jjXZKsvk3EAL1QoPfWkGmJb0mRTMLCzHU8KolrhAD+4T2Wc6JJRDp3MqVEoTJbFWedJyUIoCXsN5CSYKpsFNGMQmv0qJ+PPJ3FCRD1ePeg8IdyVydo+ej6A6RHDbc7u0zPB3DJ8jEz6yQljHsjORjHA== X-Forefront-PRVS: 0905A6B2C7 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CO2PR03MB2277; 23:JV2rtFL9tuXz3/JQe9ddgBF+Z6H6ABd55g2+5YQ1Z?= =?us-ascii?Q?+vcxV8jT4f8IzmgFRSusRZuSqKM1IE/Pu9XhA1Ex9oRIbJXFXWtkO4NR14BR?= =?us-ascii?Q?YikdeJVDAsoMztuJjyZxBFfJ30zFed+FHjtD0jm2cTiTybVMWmf6yNUg9lJf?= =?us-ascii?Q?60kD8kP4Db3G8iF8FdA/DI8yG7MHSwBON46GV2bmXUbrLNBMZQBFYbLEjA1M?= =?us-ascii?Q?f73TwvQbKREY85XIIYfys91ewUAEdXou6UQaWhb2WWJinkWjz9CkgQ66iFDP?= =?us-ascii?Q?BQQiuzCSr+pdhMefJjd4BJTp0FIgv66aR8wIdn+MIQ2MPGQJR3OuK9fzB5tO?= =?us-ascii?Q?xqWl7HekVesyra4RsKQMf6uPT1iJIB6Q748wLyrgGXVp059lqXD54Nwd/k7X?= =?us-ascii?Q?LZ/5lgiksD5hkm1Fw7zILE4KW8/F2g+HUQlX7EGmlRgAbpk9xrZlbdogO4I1?= =?us-ascii?Q?B83f1UNLJrJenVsVxf3qwJVEvreGn2S33pO5xPci60udghET3Lg7bEYMWVdi?= =?us-ascii?Q?lc3NLuNjpYaHvHIbZIxSVyj97GsopmmUbViEFYqjACn6mDMJZh3MZRJM6bik?= =?us-ascii?Q?E01hLo+c8wtrV40bUZIKkwhrLA1GkngSuEHyoQrWdEK01Qk4kZa8m5oJQmiz?= =?us-ascii?Q?CaHQ4bgRgo5xmaJEU1C+J0XxhiqI9hMZm4hfMn79bgvQVTiG2sEpn+cIX7Rs?= =?us-ascii?Q?/uNjYHI+xnuoBs3zKB2N4cv6HuA7gzsP5JwL0+CstAlIaQ4IvNElJjf8YFtn?= =?us-ascii?Q?zGz0q8w14qB8eCX118lJiQ1UQFMB3HroN1+Bo8d4gxtOK9+OMBGIrffDRfmp?= =?us-ascii?Q?aFe5J5rvFUEA8oKDrDlh+H/oZ9dyNL6H3+s43Rljgx5A8HFEbII+Thr0bFSg?= =?us-ascii?Q?gPCLxdLQEhRnbr4HhaDtSUe/Vb7RE2+sInT5EBOtGe/4gLQ6lkg4UVX6Doak?= =?us-ascii?Q?6DVw94Kyq6UOrC0xQLGE1AMvHNLF9aDXLGjO0bgjC6ANjkoY40kBBH4vPpKo?= =?us-ascii?Q?y2sac74NoYTh90cyxl+sGfC5LaAMIA+eE7PGLQNRqQXHucxtwP/c7oAONKPD?= =?us-ascii?Q?PkxSiJtWSJzH1wTciMnMzXkGvryAaOUEIAzPy4hFkeWDest8q1NoLZhpJ/TX?= =?us-ascii?Q?vwrGRziCTByeJE1tyMehExR65FkrTrWbDyaDQVxaEYMsZHjtZu2gVKLR84Vh?= =?us-ascii?Q?0mfLzqeK7iSctEgqqmlakUigTvak+Y+EN7FjQkg3l6CIKjSUoosylKOjsAjq?= =?us-ascii?Q?yK7nMSkg3xWj2Mf150As+dPiuhaq6ivOHwt4Tpwv1WPpKQjDYxB/2r4RaVf6?= =?us-ascii?B?UT09?= X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2277; 5:QCqMN7z15ZUIx6BNg5LQYnNAqCxpxRw4zeRQfaGhRl7SyBuFupB1d/CyC9ZqylvpVnll8lDSf8TMj+b9O4B0evYJqF2AxE89F96o9io3TnGA5sMAbM6DyxBMS4V+7J4lAPyw6UszDlF4gBwO2yynKA==; 24:8U1mLjtLDOF8D971E1Db2OQvMxD969hiZUujJsl3KRhTWXJYo7Rj1xprWpe+Z+Wx6Lzbd733HiDZtv2MFsNSG3pcynL3lKO/Z3/XDw/mUt8=; 20:tMKs1mlXblsH/NtkS+fFka3sGc1NJFI7DwuoSjT2nF1r81pDDu5AHJkZm+ExGgvIlXQlPBMdwZWcDVvxk0Xpae1xUp2fXD4mGzwvEG52XlDTdoYGblTY6Hiv01WhBklO4MIURbmVI3KO3erhX/BGaYHNjGkQR6GZHCqlu0J7crQ= X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2016 01:18:39.1814 (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: CO2PR03MB2277 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160406_181903_385547_4EF7D8C0 X-CRM114-Status: UNSURE ( 7.11 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -1.9 (-) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: tthayer@opensource.altera.com, linux-arm-kernel@lists.infradead.org, linux-edac@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-5.1 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,RCVD_IN_DNSWL_MED,RP_MATCHES_RCVD,T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Thor Thayer Addition of the Arria10 On-Chip RAM ECC handling. Addition of private data structure for Arria10 OCRAM ECC. Addition of a new file operations function and trigger function for Arria10 OCRAM and other peripheral memories. Signed-off-by: Thor Thayer --- v3-2: Remove the Arria10 ECC block init functions. --- drivers/edac/altera_edac.c | 78 ++++++++++++++++++++++++++++++++++++++++++++ drivers/edac/altera_edac.h | 35 ++++++++++++++++++++ 2 files changed, 113 insertions(+) diff --git a/drivers/edac/altera_edac.c b/drivers/edac/altera_edac.c index f7ffc77..11775dc 100644 --- a/drivers/edac/altera_edac.c +++ b/drivers/edac/altera_edac.c @@ -550,6 +550,7 @@ module_platform_driver(altr_edac_driver); const struct edac_device_prv_data ocramecc_data; const struct edac_device_prv_data l2ecc_data; +const struct edac_device_prv_data a10_ocramecc_data; const struct edac_device_prv_data a10_l2ecc_data; static irqreturn_t altr_edac_device_handler(int irq, void *dev_id) @@ -674,6 +675,16 @@ static const struct file_operations altr_edac_device_inject_fops = { .llseek = generic_file_llseek, }; +static ssize_t altr_edac_a10_device_trig(struct file *file, + const char __user *user_buf, + size_t count, loff_t *ppos); + +static const struct file_operations altr_edac_a10_device_inject_fops = { + .open = simple_open, + .write = altr_edac_a10_device_trig, + .llseek = generic_file_llseek, +}; + static void altr_create_edacdev_dbgfs(struct edac_device_ctl_info *edac_dci, const struct edac_device_prv_data *priv) { @@ -701,6 +712,8 @@ static const struct of_device_id altr_edac_device_of_match[] = { #ifdef CONFIG_EDAC_ALTERA_OCRAM { .compatible = "altr,socfpga-ocram-ecc", .data = (void *)&ocramecc_data }, + { .compatible = "altr,socfpga-a10-ocram-ecc", + .data = (void *)&a10_ocramecc_data }, #endif {}, }; @@ -889,6 +902,24 @@ const struct edac_device_prv_data ocramecc_data = { .inject_fops = &altr_edac_device_inject_fops, }; +static irqreturn_t altr_edac_a10_ecc_irq(struct altr_edac_device_dev *dci, + bool sberr); + +const struct edac_device_prv_data a10_ocramecc_data = { + .setup = altr_check_ecc_deps, + .ce_clear_mask = ALTR_A10_ECC_SERRPENA, + .ue_clear_mask = ALTR_A10_ECC_DERRPENA, + .irq_status_mask = A10_SYSMGR_ECC_INTSTAT_OCRAM, + .dbgfs_name = "altr_ocram_trigger", + .ecc_enable_mask = ALTR_A10_OCRAM_ECC_EN_CTL, + .ecc_en_ofst = ALTR_A10_ECC_CTRL_OFST, + .ce_set_mask = ALTR_A10_ECC_TSERRA, + .ue_set_mask = ALTR_A10_ECC_TDERRA, + .set_err_ofst = ALTR_A10_ECC_INTTEST_OFST, + .ecc_irq_handler = altr_edac_a10_ecc_irq, + .inject_fops = &altr_edac_a10_device_inject_fops, +}; + #endif /* CONFIG_EDAC_ALTERA_OCRAM */ /********************* L2 Cache EDAC Device Functions ********************/ @@ -1007,6 +1038,50 @@ const struct edac_device_prv_data a10_l2ecc_data = { * Based on xgene_edac.c peripheral code. */ +static ssize_t altr_edac_a10_device_trig(struct file *file, + const char __user *user_buf, + size_t count, loff_t *ppos) +{ + struct edac_device_ctl_info *edac_dci = file->private_data; + struct altr_edac_device_dev *drvdata = edac_dci->pvt_info; + const struct edac_device_prv_data *priv = drvdata->data; + void __iomem *set_addr = (drvdata->base + priv->set_err_ofst); + unsigned long flags; + u8 trig_type; + + if (!user_buf || get_user(trig_type, user_buf)) + return -EFAULT; + + local_irq_save(flags); + if (trig_type == ALTR_UE_TRIGGER_CHAR) + writel(priv->ue_set_mask, set_addr); + else + writel(priv->ce_set_mask, set_addr); + /* Ensure the interrupt test bits are set */ + wmb(); + local_irq_restore(flags); + + return count; +} + +static irqreturn_t altr_edac_a10_ecc_irq(struct altr_edac_device_dev *dci, + bool sberr) +{ + void __iomem *base = dci->base; + + if (sberr) { + writel(ALTR_A10_ECC_SERRPENA, + base + ALTR_A10_ECC_INTSTAT_OFST); + edac_device_handle_ce(dci->edac_dev, 0, 0, dci->edac_dev_name); + } else { + writel(ALTR_A10_ECC_DERRPENA, + base + ALTR_A10_ECC_INTSTAT_OFST); + edac_device_handle_ue(dci->edac_dev, 0, 0, dci->edac_dev_name); + panic("\nEDAC:ECC_DEVICE[Uncorrectable errors]\n"); + } + return IRQ_HANDLED; +} + static irqreturn_t altr_edac_a10_irq_handler(int irq, void *dev_id) { irqreturn_t rc = IRQ_NONE; @@ -1171,6 +1246,9 @@ static int altr_edac_a10_probe(struct platform_device *pdev) continue; if (of_device_is_compatible(child, "altr,socfpga-a10-l2-ecc")) altr_edac_a10_device_add(edac, child); + else if (of_device_is_compatible(child, + "altr,socfpga-a10-ocram-ecc")) + altr_edac_a10_device_add(edac, child); } return 0; diff --git a/drivers/edac/altera_edac.h b/drivers/edac/altera_edac.h index cb6b2b9..42090f3 100644 --- a/drivers/edac/altera_edac.h +++ b/drivers/edac/altera_edac.h @@ -220,9 +220,41 @@ struct altr_sdram_mc_data { #define ALTR_L2_ECC_INJD BIT(2) /* Arria10 General ECC Block Module Defines */ +#define ALTR_A10_ECC_CTRL_OFST 0x08 +#define ALTR_A10_ECC_EN BIT(0) +#define ALTR_A10_ECC_INITA BIT(16) +#define ALTR_A10_ECC_INITB BIT(24) + +#define ALTR_A10_ECC_INITSTAT_OFST 0x0C +#define ALTR_A10_ECC_INITCOMPLETEA BIT(0) +#define ALTR_A10_ECC_INITCOMPLETEB BIT(8) + +#define ALTR_A10_ECC_ERRINTEN_OFST 0x10 +#define ALTR_A10_ECC_SERRINTEN BIT(0) + +#define ALTR_A10_ECC_INTSTAT_OFST 0x20 +#define ALTR_A10_ECC_SERRPENA BIT(0) +#define ALTR_A10_ECC_DERRPENA BIT(8) +#define ALTR_A10_ECC_ERRPENA_MASK (ALTR_A10_ECC_SERRPENA | \ + ALTR_A10_ECC_DERRPENA) +#define ALTR_A10_ECC_SERRPENB BIT(16) +#define ALTR_A10_ECC_DERRPENB BIT(24) +#define ALTR_A10_ECC_ERRPENB_MASK (ALTR_A10_ECC_SERRPENB | \ + ALTR_A10_ECC_DERRPENB) + +#define ALTR_A10_ECC_INTTEST_OFST 0x24 +#define ALTR_A10_ECC_TSERRA BIT(0) +#define ALTR_A10_ECC_TDERRA BIT(8) + +/* ECC Manager Defines */ +#define A10_SYSMGR_ECC_INTMASK_SET_OFST 0x94 +#define A10_SYSMGR_ECC_INTMASK_CLR_OFST 0x98 +#define A10_SYSMGR_ECC_INTMASK_OCRAM BIT(1) + #define A10_SYSMGR_ECC_INTSTAT_SERR_OFST 0x9C #define A10_SYSMGR_ECC_INTSTAT_DERR_OFST 0xA0 #define A10_SYSMGR_ECC_INTSTAT_L2 BIT(0) +#define A10_SYSMGR_ECC_INTSTAT_OCRAM BIT(1) #define A10_SYSGMR_MPU_CLEAR_L2_ECC_OFST 0xA8 #define A10_SYSGMR_MPU_CLEAR_L2_ECC_SB BIT(15) @@ -245,6 +277,9 @@ struct altr_sdram_mc_data { #define ALTR_A10_L2_ECC_CE_INJ_MASK 0x00000101 #define ALTR_A10_L2_ECC_UE_INJ_MASK 0x00010101 +/* Arria 10 OCRAM ECC Management Group Defines */ +#define ALTR_A10_OCRAM_ECC_EN_CTL (BIT(1) | BIT(0)) + struct altr_edac_device_dev; struct edac_device_prv_data {