From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753566AbcCGTj5 (ORCPT ); Mon, 7 Mar 2016 14:39:57 -0500 Received: from mail-by2on0062.outbound.protection.outlook.com ([207.46.100.62]:61696 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753497AbcCGTja (ORCPT ); Mon, 7 Mar 2016 14:39:30 -0500 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: alien8.de; dkim=none (message not signed) header.d=none;alien8.de; dmarc=none action=none header.from=opensource.altera.com; From: To: , , , , , , , , , , CC: , , , , , , Subject: [PATCHv2 03/11] EDAC, altera: Add register offset for ECC Enable Date: Mon, 7 Mar 2016 13:42:59 -0600 Message-ID: <1457379787-8327-4-git-send-email-tthayer@opensource.altera.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1457379787-8327-1-git-send-email-tthayer@opensource.altera.com> References: <1457379787-8327-1-git-send-email-tthayer@opensource.altera.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [64.129.157.38] X-ClientProxiedBy: BY2PR1001CA0010.namprd10.prod.outlook.com (25.164.163.148) To CY1PR03MB1486.namprd03.prod.outlook.com (25.163.17.16) X-MS-Office365-Filtering-Correlation-Id: 8d7c62b3-e45c-4d90-0159-08d346c03189 X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1486;2:lS/+iLzVaRV5D3SBeg8s1T0qDYPeEZIwEjTLs0X+ep7qW3CYWK9K5ivsi8186RqmLGAho6LAwNbIAPXqJeDmpzc+DxH/5UT2/C08Ez4sS6HsEJj9K22Z6DW7G5uC61FzqHvrvj9qjABlHDEYete9EfLZTr68CwacbKyz84A8D0eVf+Nb0dV5tq0730nbPzHe;3:81VOh4JsdSvN4OQQSwr3fRLNfKLptxt0oya2Zwjso+nFUrHFwHY9fpuvnYdw8ZvkRUeb3YQ9G5/CSKv8zu5bu9zDH6yDMIKv5hqUcoci1Ui/OhEplwT5MyIqheiov7vb;25:XG/qOgAwRlUJ0BkssDm99LwMZrPWJiv0t6FsHxNfl7eP4DycxiatxGE5Wl37PSDd1cIiygBdgpxNPt5aZFAgjC8UvPgiub7+ODAJ87g3mAIU+tXrvy2yLg618J3qo055qMBytpN4Y3+CqXpwN3Q0C3s3cvTJVCbqfAg7BrTQBT367KXF8DzUOiUl2/F1YUFUyqTwX+8tXYyf6Gy3muz2PRRI44q70pWXE5B71v3N99CqpD58+gXOU50gn+nKC9BbxcAw0Wf4cB4UNxkYnzluQzKKCUm2LtrQDaJCSvdKiCOpodKTUUUKqgcoEbTnwPJ3UfaxHNP03ewWwgLgHxTZmw==;20:BLnhRBaqiUZs4KO2RlqgY86AbtXXiWIdh4WHhulKBbyKqWlq195/eHmayQ4J2h05zf6WjeKiUQ2XdLS1GJoD3KI7RbhLZxdGxq4MXk4zP6EMkeAd47t4plRKPxi6b/Bid+hCdXdBq0E0XWh2bXUZ8DHvR7Ken39MiRY9PRrL3dI= X-Microsoft-Antispam-Untrusted: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1486; 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)(10201501046)(3002001);SRVR:CY1PR03MB1486;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1486;BCL:0;PCL:0;RULEID:(601004)(2401047)(13015025)(13017025)(13023025)(13024025)(5005006)(8121501046)(13018025)(3002001)(10201501046);SRVR:BY2PR0301MB2024;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0301MB2024; X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1486;4:lt56Wd2Y2szr+VugsrkEVRwRidRdeGWTHVH0o06vTiPFSrU9zvGOSQsdSGIAXwIw6hZ0CpIiqpKOj+3YN0mHFnEkX/xevpmKJlk3m9USN1DG38MMKZryX/bOJA7Ql8ZURVnVE/S6sndD4bpkBta//7uKmUV4P2Mqd/DgSc7909PwH6QjBn0v4wCfgxFeil+wM4wiJ62xuu78EZxYtHHxyT7jJQATf/j2pWXcs0V5EgQ8jvKcobNViAmVWvZf0DDFu0pt68AAlqvh+ioxfAVIl0lZtKRcdQohfR+ZxC2gwoplTszsdKBuFoPT3tHQ+biE6FnAZMuraEmxwzHNsDdcAfVd+wERyfrlb9iAnJgG+g8iOZD7KzJlSWj8WSV97Gi0 X-Forefront-PRVS: 087474FBFA X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(5003940100001)(4326007)(81166005)(92566002)(5001770100001)(2876002)(5004730100002)(5008740100001)(86152002)(2201001)(189998001)(77096005)(19580395003)(19580405001)(40100003)(2950100001)(2906002)(122386002)(107886002)(33646002)(48376002)(229853001)(47776003)(50986999)(76176999)(42186005)(66066001)(50226001)(6116002)(3846002)(87976001)(86362001)(50466002)(4001430100002)(1096002)(586003)(921003)(1121003)(4720700001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR03MB1486;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;CY1PR03MB1486;23:6KcZAHp9oy81lakd1eRSD9a3w8K7d9HK2ss+jF/0E?= =?us-ascii?Q?WT/F3WsaWTIyWB9oaWd4/qGeb6YtrUoW/YkdugiZ/8pyEtgRFjtsyzD4ouHj?= =?us-ascii?Q?NkiSl0v3foE+pMGiVpDqcHGzcx0rGEYUh3NZmyRB58s1UWyI2Tt1FRv4WRso?= =?us-ascii?Q?fb/5fycdCHpyXjMvseqR4P5OuTWcag2WlyKepWqafeb1QJ3Xv9RTN18gATYU?= =?us-ascii?Q?sBOvxmkTJeiM8AQ5Snx9Vq/QUTMb2BY/luJFg2S3g0qRT/pZQcffL4B1jzVt?= =?us-ascii?Q?d+XfMkT5oIMddxk4DZFyyIA/tjywImaFQDMbPypemcn4Yl5jE/PJ9Eo+MPlX?= =?us-ascii?Q?xtHlpGHLEnX5nsmZuZdXS2PSNihsMLefi2ngg5GHTszsLwfKDKV+WBfUVN8R?= =?us-ascii?Q?kQ1u+rNbKMK44NhK74MtYbB0RmOgyHUi2GvBDN2OakXCj0mmuD1RirX8zhXl?= =?us-ascii?Q?chJB6p1FBHcGZVXTIKlPNm70Agbt96AxqnMJCTH8syfJE//QKtYiT/dyzekR?= =?us-ascii?Q?sYJ+Xg6C1njnF7mTJDEDAk69vTvSQl6SINcpTprG+ey9+boUZrNcVijOC1Gh?= =?us-ascii?Q?dkJ0tU2+yRb+/9FCEQsn2DatG7FUQd9yD6GaN56ErJsN1IU6Yoy4E6d80CSV?= =?us-ascii?Q?HzHqHUyS8vDZF2Q/qqVlQtaPgF0B04fYk61kyMjNhSXWqK0ZqY9XSiJCKRbY?= =?us-ascii?Q?oB493QAlakUH7bNYtAd+2coSK0M040UCaAkPl2gRYJTj8eFjTbhm47s3GSj+?= =?us-ascii?Q?MiP8eQDIsokIDS8+Zv/cz1DBnssCH6hWvFIku/asrQbsETkzr/lzdYjQ0sjx?= =?us-ascii?Q?j3Sq050IpYIbrv+fx0InUPG1FSkPq4uBSU2M9WqQZLcVR1T7B+7b2ZUNRHMf?= =?us-ascii?Q?fG3RBptlLnC0P5dg8DxXKZDH2XXraVVaKa+1duuq0zAAUcU73jvWoKhJz78f?= =?us-ascii?Q?uhT8QHQ0NeaI/A2IPiGncO8vQQXPJ3WPpzyBc3FrcqurvXDpw0cO9BapbQi1?= =?us-ascii?Q?GJGZ8Lt/5ra4t53hfxBw26Y/2ol/RJpsx8v4FQE8Ew0seLpTeBLm9d7p4q2w?= =?us-ascii?Q?c3gEW0vu0mk+HuT3cpOAU4z2CJdkPQni2D5PgSokjn2AsAM9woOFBsJQwwvr?= =?us-ascii?Q?fiByMFl0F0=3D?= X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1486;5:i+gfS4hezYALfaVoA0uza/Z1ZOdrNHgPVkZFcSGFrfHdGJnqrptDEaQAKg0R2IFg+bC7EqV5iqYDtVBsUldPzZ/QhHuD1AgBBaTzJ2cm0WMMKX/S9RN6Ezfi/SNv/FUeDadWCOlwMOznlFNyPTvBBg==;24:AS813j12C0uQfM09uO36soxGhCpcHsQ2oc2da5cnE+YJMCwGX83jDYj+s0PPHfVZSd25UiNeHlqGGJ77Ai9K+OpDz6AcGS1ma8hO8VDFO1M=;20:Qw139lvsz1FOmEkKbTwgZPfUWUV6hJ9dND5AJ27DobA6aoBusTI3l2JfqAbDI4yPX/3GqajgT4VjBIFred3YxqTt/ybxvzQT+38DBoSY8KGYUcjgBRYSIuEQwuBp52HuMW6vXTGHbEPDVf5WpNpHIvaBYQh+Pibdpf1w6oLIxYk= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB1486 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: BN1BFFO11FD004.protection.gbl X-Forefront-Antispam-Report: CIP:66.35.236.236;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(4326007)(956001)(5003940100001)(47776003)(33646002)(92566002)(2876002)(6116002)(3846002)(11100500001)(586003)(106466001)(66066001)(229853001)(2906002)(1220700001)(1096002)(2950100001)(5004730100002)(48376002)(40100003)(85426001)(21840400001)(87936001)(5008740100001)(86152002)(2201001)(5001770100001)(16796002)(122386002)(19580395003)(19580405001)(4001430100002)(50466002)(6806005)(77096005)(189998001)(76176999)(50986999)(50226001)(3720700001)(105606002)(107886002)(81166005)(86362001)(7099028)(921003)(1121003)(4720700001);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR0301MB2024;H:sj-itexedge04.altera.priv.altera.com;FPR:;SPF:Fail;MLV:sfv;A:0;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD004;1:Sl3LWQ8fIMKDu2wNvpxYg0tx8ViIPRUJ44MX2jBeKmbgzXHVO9vDHOx3bi+QnGK8xnBFIn1lPx/fPuaQCzDZp2KKyOP1qpAgXF3SpOA0mJYb5F1AWvUNXobjTdqwIulsN1B64xrcsBjxFWYClgMJGPc8RTI2gFr06u0sFs9ILoDF4YWhXkNDC6WeUCJ3r4eV5XFj74pbNwhj8aeWKdifPNSPEm4iOZMuiTyfgNU32GfxKi7WA/upMpYHQEZJnthYDhKpZAE7kmhvsyNG0d+ERaSaub2XW1tco9LI0dS1sxD/3PQbIOSOStJFVZXu9qJqN+fubmYzXLWwa3ACEHjItL6vZF8Ngd3Sg3HNL8HrfXfIdzUqcpxK3xSE0Yz+VcW9THB1nbUuwXOz6+kiV9nqPDpcaE+TSf0FHXIdO/p74zwOw/vvrlBHIkioseR/XfA9jeNEp8HOKY/IUS0ACXq3s6vpcFWFP4/Mh0hZ8bqMxng= X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB2024;2:d6UEfA+CLS1KuqcbiHuA3hWBZtc93jpvfg+AwvHYWeooZfDO0TTdsltx/36b/tQskHg0QTYJg8o+L4N/M2l2Kr4/in56dhys6iEr1O5gA4HzHxiJE9arAuehwbmRKDyro7QZNe7pGHxUaHo0dKYckxlFky/tu5VI0UBF0FIkQap1fRfV+mC2yRNfUh31X+lT;3:VPFo/lBJFYPeJbfF1UuxT/4TGNypjgzXX0pC2lnC4pwH20CCwBcY0BeK3Per6DeBdbyunHNaHBbyB4Ao37XDBOlM7t+RHuee7ucxuQM2Vj8+pOQ8B0Nff32MOdUNPhYs6IHCbKnWngDBuWqfRb71NQIWlF+uKy+b3qijBMoxbcWyxT7vAlf8VKKocpNf9KrLacvY6Es4oZCte15Cilrd/wX+L09S7naXjvGVmkLOckaFyhZqfTZcUEgiILGC5w2R;25:qjN+5eJPTlzp/FbwMBNz9w3CUcB2XWnxWXjqXGVl9061lFcbsCHq9lgFDrdhRALgcj82WbCzFm+xYvuIYewU+TR5R5GNqo0S63fqldpd4T3TWM/bROiVPBhz4H+w5F40jHvFYTMfYsDHtJKm23Ng6WPz6heHkHCt9gCD1dSNIrBXhyUF4bAg6Jr34yZdrBh98c4ULw/gsdSTl1qefUPIqTjX7rlLZk1ertYSZ5WtEcLF5zMgqQIS8E48ic5XAwoTtxBfHFvkw2/aGt6rnqU+TMsfsqul90B6CzCJ0GFNFZcPdxMCKJ2jkAL9+p43t6FLe/3p4JZUkKrV9e6+/nATOg== X-DkimResult-Test: Passed X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(3001016);SRVR:BY2PR0301MB2024; X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB2024;20:WWKZhS9L579IIrNz53FrbfMRsY1tKdZ0tyhxT5TJd445pKuz0R5H+xDznPKZUhJFm1yhINs/QNSjVzY1xz90GyjWwp3ANI/QrQOJyu2UHzAMR2rBaQa5+LdIEkvFFZj3tYHjOtGf8Bn5xCkr83/6NamFhJwyiv+X9Nqmfvz0R/M=;4:Sd07X4DE85dKIz40XCKxEJNWlWVf86o5Na2FuEgvB+/liaLzOna4H+oMcoKIhvkpeMaOha6MpSnTUC6FS/TvINYAHlMohh1UGoOdvKTC1U/HegFeUbDPILtmiD9ZR1uElllNZz4QAUIE9MqHjhstd2cNcfl1dmvs53hNriW9ZCTBm/n5APo6eoOtUug7t7jWg3JOpzqR9hnBibxlj+eXOd5kgKdfwPNFwUxj9/Z+yAZKxwKAAQfLUZ8gTv5vm7OcZ9yIwwC9VeCMx3zEV/aTZzIiM93e/0dewfEg8UPWgMxQBzJHqXBcEU+wLXlXfDDm5Rdyw/2/XUI7+Dqmk0jjYHxA6DSc2KlCUcuPHjmPso8enuj8zniWDE6Xros42kf7DYAhwScuRgNxFSv53q3r9h1HPz4w3Lt4sZpYV15RLA2LyHGoyaylKCPyE7MFh6bWFjcGgdreW22t17Cv5+0bpQ== X-Forefront-PRVS: 087474FBFA X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR0301MB2024;23:+8MTPvpPk+6zuf5bHHeH1MxRWag+RL2EzCGzXCV?= =?us-ascii?Q?s3xes9TehCrOJQMcjK+IrxCei3rmMSQnKAaRA9bO/lCeqYewTFosqs4+d9Sf?= =?us-ascii?Q?FkgQQBoXhbMT9DCkrbJM3y9LCABiVOmvfUkXrOQN0P6UvdHyMxTmUwWfKCo8?= =?us-ascii?Q?Fa9KrbvRkiFQjqc8JE9h8QTR0ogyDgLjjDWPNRYR38r88BKYx7Gw5MS8JJB2?= =?us-ascii?Q?1ObGR4k9rRje9fdzG/lxEMNGiOR48jRj14ijJFOakwGkUqzbF/jWaZqcmg+C?= =?us-ascii?Q?cuCe4bFjJOoign8XN96Kz4MDkeoHzo/eDADAdbm3yBu/10596BsMFZKekxG4?= =?us-ascii?Q?8a62ybW1gw5S9cPeiaGyt4T7Jmt4lEgx17KEpb4TFgk02JTNp+ZmfqTF19vS?= =?us-ascii?Q?xsEKSNGWn6u5iS/gzCrtivknawpX7+F6jfb1+tebgIT6MqRc0m1B+scR6ONh?= =?us-ascii?Q?3Qm5zNsIMLYoMOjUCtVxdY8x5n9w/NTErtNMgdEFqPJckSLMgDmxqLHjRElj?= =?us-ascii?Q?TsH3Mo6QumbqgcrJNFwogBRO/miPRiM+4f+eVfyb6+k2l07YTCPMSX05Dd9R?= =?us-ascii?Q?MeJ4KFUreBMJkHBGkgL/vLocmepagqQEYm/GNJKLJThh2Q3q5cBa85wwY1u1?= =?us-ascii?Q?R51FgAEJl6+27xXBxox8a66AgbQrtkSQF5cezy4nC2WDw+vjR9xogdtZHi+Y?= =?us-ascii?Q?XE+WkxHzF9R2F6Alm+9XuUWy8PJugugWnjVktz/9+wd20tQj6M6ZFIcgps0v?= =?us-ascii?Q?KeWFifXkKMIy7byEl9gg8rgIPBsSP1F1fzmCweDmKZX/KzpXvDazQX2QPpA7?= =?us-ascii?Q?+ANXEIW7fRoyJ6StLfV7Y8gXNHX9046kSSMRk+A2dvtDtBVuzRwSKXSsTyOi?= =?us-ascii?Q?mybl+bTEyG6Ye4+RyCzfOIenDu4E19C9In3VmSUb9LJt9WelN3/TcIP5KkFM?= =?us-ascii?Q?EhANCfZACZYZgPTqHY8DlQakf62y24l9658mIX7/RxEyOzEANi020YjeKpzP?= =?us-ascii?Q?rbYMzVmmfuXQIsbK4hwFUKyPRS7jGcKM4C26q/dLNaOPXjvAJ5ySgXnyQ88Q?= =?us-ascii?Q?DOJzA3fgsclz72xd1M+Z4WiDh8wCt0PfTWBd7ZkD9+9oMSxgK9OqbqXL4NZN?= =?us-ascii?Q?fBTdInJK4Y2gGPGpfQoctvNA/ep6jKbsyDWH+EW1tlNUM+cFLKBwSU04MTw/?= =?us-ascii?Q?6e4jE51HhgdQrnjwQkNmmywZ24R1H2svPHiK9xKf1eEnTic29NBF8ba9RlUt?= =?us-ascii?Q?kbVRtkC89Fx/ONG+zCQZDnb9x1Apbdnu5ssKWAC8tnfKCHiwIuTxh0yTNqLc?= =?us-ascii?Q?/uRjZb//u7xEuslQxKumHMOx8SbQ7wu+RoB/HH9MxbIT5Ss6ATN2OM8v6lyu?= =?us-ascii?Q?GlUmfOhgwMvhw09wEdtU0Xvg/PFuPjVNETUDyCp7C+moV/dMueuVXlXYvYKS?= =?us-ascii?Q?Iu2Az+THofg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB2024;5:4MbVZISWYzqrv9rocebfppd8l/In026utG57Robp+t+Dw4tVfN7NzpEe4kD2oSksWPciM10HwWf8KVUCAc1QzpGiZQaQezkmRSN04mSZWjj5ZnXbkOyV4/GNTIHrCBi74n7yHF3Czg/VE7xvLTDo+g==;24:b2qpeHZZmacZDt+0uOc+sHzo4Xtjv0CQJMOEVx0qQCK64qUX/ucF/6i6h3HTp4XXl8hcy7BBnM94Mvg6QEvuEf8Plug+PS9KJ8bR4L3IztQ=;20:9D+jXJBGPXYLXu1cN+z63e2Kuoqbm+jcSSv063Pdwbe8plR42tr3hJwQ+h7Zzw+zrIArb53STVX/pUPwMKW8wZTmU7gZ1w+nduXd9fR+HX9AGmNZLqXM5GEBWAx0ZXN16krnv1Rn/vOxRoMOIFl7K1NFL16dcDrZH4u2lORG9uA= X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2016 19:39:26.3575 (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: BY2PR0301MB2024 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Thor Thayer In preparation for the Arria10 peripheral ECCs, a register offset from the ECC base was added to the private data structure to index into the ECC enable register. Signed-off-by: Thor Thayer --- v2: Split large patch into smaller patches. Add an ECC control offset to support the different register layout of Arria10 peripheral ECCs. --- drivers/edac/altera_edac.c | 20 +++++++++++++++----- drivers/edac/altera_edac.h | 8 +++++++- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/drivers/edac/altera_edac.c b/drivers/edac/altera_edac.c index eee7a39..138446c 100644 --- a/drivers/edac/altera_edac.c +++ b/drivers/edac/altera_edac.c @@ -746,7 +746,7 @@ static int altr_edac_device_probe(struct platform_device *pdev) /* Check specific dependencies for the module */ if (drvdata->data->setup) { - res = drvdata->data->setup(pdev, drvdata->base); + res = drvdata->data->setup(pdev, drvdata); if (res) goto fail1; } @@ -857,9 +857,12 @@ static void ocram_free_mem(void *p, size_t size, void *other) * memory will cause CE/UE errors possibly causing an ABORT. */ static int altr_ocram_check_deps(struct platform_device *pdev, - void __iomem *base) + struct altr_edac_device_dev *drvdata) { - if (readl(base) & ALTR_OCR_ECC_EN) + void __iomem *base = drvdata->base; + const struct edac_device_prv_data *prv = drvdata->data; + + if (readl(base + prv->ecc_en_ofst) & prv->ecc_enable_mask) return 0; edac_printk(KERN_ERR, EDAC_DEVICE, @@ -875,6 +878,7 @@ const struct edac_device_prv_data ocramecc_data = { .alloc_mem = ocram_alloc_mem, .free_mem = ocram_free_mem, .ecc_enable_mask = ALTR_OCR_ECC_EN, + .ecc_en_ofst = ALTR_OCR_ECC_REG_OFFSET, .ce_set_mask = (ALTR_OCR_ECC_EN | ALTR_OCR_ECC_INJS), .ue_set_mask = (ALTR_OCR_ECC_EN | ALTR_OCR_ECC_INJD), .trig_alloc_sz = ALTR_TRIG_OCRAM_BYTE_SIZE, @@ -924,10 +928,15 @@ static void l2_free_mem(void *p, size_t size, void *other) * Note that L2 Cache Enable is forced at build time. */ static int altr_l2_check_deps(struct platform_device *pdev, - void __iomem *base) + struct altr_edac_device_dev *drvdata) { - if (readl(base) & ALTR_L2_ECC_EN) + void __iomem *base = drvdata->base; + const struct edac_device_prv_data *prv = drvdata->data; + + if ((readl(base + prv->ecc_en_ofst) & prv->ecc_enable_mask) == + prv->ecc_enable_mask) { return 0; + } edac_printk(KERN_ERR, EDAC_DEVICE, "L2: No ECC present, or ECC disabled\n"); @@ -942,6 +951,7 @@ const struct edac_device_prv_data l2ecc_data = { .alloc_mem = l2_alloc_mem, .free_mem = l2_free_mem, .ecc_enable_mask = ALTR_L2_ECC_EN, + .ecc_en_ofst = ALTR_L2_ECC_REG_OFFSET, .ce_set_mask = (ALTR_L2_ECC_EN | ALTR_L2_ECC_INJS), .ue_set_mask = (ALTR_L2_ECC_EN | ALTR_L2_ECC_INJD), .trig_alloc_sz = ALTR_TRIG_L2C_BYTE_SIZE, diff --git a/drivers/edac/altera_edac.h b/drivers/edac/altera_edac.h index e531da4..54e2742 100644 --- a/drivers/edac/altera_edac.h +++ b/drivers/edac/altera_edac.h @@ -204,6 +204,7 @@ struct altr_sdram_mc_data { /* OCRAM ECC Management Group Defines */ #define ALTR_MAN_GRP_OCRAM_ECC_OFFSET 0x04 +#define ALTR_OCR_ECC_REG_OFFSET 0x00 #define ALTR_OCR_ECC_EN BIT(0) #define ALTR_OCR_ECC_INJS BIT(1) #define ALTR_OCR_ECC_INJD BIT(2) @@ -212,18 +213,23 @@ struct altr_sdram_mc_data { /* L2 ECC Management Group Defines */ #define ALTR_MAN_GRP_L2_ECC_OFFSET 0x00 +#define ALTR_L2_ECC_REG_OFFSET 0x00 #define ALTR_L2_ECC_EN BIT(0) #define ALTR_L2_ECC_INJS BIT(1) #define ALTR_L2_ECC_INJD BIT(2) +struct altr_edac_device_dev; + struct edac_device_prv_data { - int (*setup)(struct platform_device *pdev, void __iomem *base); + int (*setup)(struct platform_device *pdev, + struct altr_edac_device_dev *drvdata); int ce_clear_mask; int ue_clear_mask; char dbgfs_name[20]; void * (*alloc_mem)(size_t size, void **other); void (*free_mem)(void *p, size_t size, void *other); int ecc_enable_mask; + int ecc_en_ofst; int ce_set_mask; int ue_set_mask; int trig_alloc_sz; -- 1.7.9.5