diff options
| author | Guy Sotomayor <gsotomayor@nvidia.com> | 2015-09-30 20:23:03 -0400 |
|---|---|---|
| committer | Richard Wiley <rwiley@nvidia.com> | 2015-10-20 12:52:53 -0400 |
| commit | 875fc17a0bc9611ca9dc3e9882cfa170d528ddde (patch) | |
| tree | 8e3ed468c92e63ef26d0b2e62e63965d56c25368 /include/linux | |
| parent | 0cd84389a52914b617169cde986076f26f2f15c3 (diff) | |
arm64: refined machine check handling for bridges
Fixed the protocol to the bridge for determining that there
is an error being reported by a bridge and capturing the
information from the bridge's error FIFO.
Changed the data structure representing the bridges to allow
for different bridges to have different functions for capturing
the error information since the locations of the registers and
the bits within those registers are different for different
bridges.
Change-Id: Ic4caa1910319689987e7f8d79b5d910d1038c2cf
Signed-off-by: Guy Sotomayor <gsotomayor@nvidia.com>
Reviewed-on: http://git-master/r/807738
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Richard Wiley <rwiley@nvidia.com>
Reviewed-on: http://git-master/r/819751
Tested-by: Richard Wiley <rwiley@nvidia.com>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/platform/tegra/bridge_mca.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/platform/tegra/bridge_mca.h b/include/linux/platform/tegra/bridge_mca.h index 26661d1e0..e523ec6a5 100644 --- a/include/linux/platform/tegra/bridge_mca.h +++ b/include/linux/platform/tegra/bridge_mca.h | |||
| @@ -23,13 +23,17 @@ struct bridge_mca_bank { | |||
| 23 | char *name; | 23 | char *name; |
| 24 | phys_addr_t bank; | 24 | phys_addr_t bank; |
| 25 | void __iomem *vaddr; | 25 | void __iomem *vaddr; |
| 26 | unsigned int (*error_status)(void __iomem *addr); | ||
| 27 | unsigned int (*error_fifo_count)(void __iomem *addr); | ||
| 26 | struct bridge_mca_error *errors; | 28 | struct bridge_mca_error *errors; |
| 29 | int seen_error; | ||
| 27 | int max_error; | 30 | int max_error; |
| 28 | }; | 31 | }; |
| 29 | 32 | ||
| 30 | struct tegra_bridge_data { | 33 | struct tegra_bridge_data { |
| 31 | char *name; | 34 | char *name; |
| 32 | unsigned long offset; | 35 | unsigned int (*error_status)(void __iomem *addr); |
| 36 | unsigned int (*error_fifo_count)(void __iomem *addr); | ||
| 33 | struct bridge_mca_error *errors; | 37 | struct bridge_mca_error *errors; |
| 34 | int max_error; | 38 | int max_error; |
| 35 | }; | 39 | }; |
