.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-or-later |
---|
1 | 2 | /* |
---|
2 | 3 | * APM X-Gene SoC EDAC (error detection and correction) |
---|
3 | 4 | * |
---|
4 | 5 | * Copyright (c) 2015, Applied Micro Circuits Corporation |
---|
5 | 6 | * Author: Feng Kan <fkan@apm.com> |
---|
6 | 7 | * Loc Ho <lho@apm.com> |
---|
7 | | - * |
---|
8 | | - * This program is free software; you can redistribute it and/or modify it |
---|
9 | | - * under the terms of the GNU General Public License as published by the |
---|
10 | | - * Free Software Foundation; either version 2 of the License, or (at your |
---|
11 | | - * option) any later version. |
---|
12 | | - * |
---|
13 | | - * This program is distributed in the hope that it will be useful, |
---|
14 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
15 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
16 | | - * GNU General Public License for more details. |
---|
17 | | - * |
---|
18 | | - * You should have received a copy of the GNU General Public License |
---|
19 | | - * along with this program. If not, see <http://www.gnu.org/licenses/>. |
---|
20 | 8 | */ |
---|
21 | 9 | |
---|
22 | 10 | #include <linux/ctype.h> |
---|
.. | .. |
---|
1361 | 1349 | #define WORD_ALIGNED_ERR_MASK BIT(28) |
---|
1362 | 1350 | #define PAGE_ACCESS_ERR_MASK BIT(27) |
---|
1363 | 1351 | #define WRITE_ACCESS_MASK BIT(26) |
---|
1364 | | -#define RBERRADDR_RD(src) ((src) & 0x03FFFFFF) |
---|
1365 | 1352 | |
---|
1366 | 1353 | static const char * const soc_mem_err_v1[] = { |
---|
1367 | 1354 | "10GbE0", |
---|
.. | .. |
---|
1495 | 1482 | return; |
---|
1496 | 1483 | if (reg & STICKYERR_MASK) { |
---|
1497 | 1484 | bool write; |
---|
1498 | | - u32 address; |
---|
1499 | 1485 | |
---|
1500 | 1486 | dev_err(edac_dev->dev, "IOB bus access error(s)\n"); |
---|
1501 | 1487 | if (regmap_read(ctx->edac->rb_map, RBEIR, ®)) |
---|
1502 | 1488 | return; |
---|
1503 | 1489 | write = reg & WRITE_ACCESS_MASK ? 1 : 0; |
---|
1504 | | - address = RBERRADDR_RD(reg); |
---|
1505 | 1490 | if (reg & AGENT_OFFLINE_ERR_MASK) |
---|
1506 | 1491 | dev_err(edac_dev->dev, |
---|
1507 | 1492 | "IOB bus %s access to offline agent error\n", |
---|