| From 05dc6001af0630e200ad5ea08707187fe5537e6d Mon Sep 17 00:00:00 2001 |
| From: Vladimir Kondratiev <vladimir.kondratiev@linux.intel.com> |
| Date: Wed, 6 Feb 2019 13:46:17 +0200 |
| Subject: mips: cm: reprime error cause |
| |
| From: Vladimir Kondratiev <vladimir.kondratiev@linux.intel.com> |
| |
| commit 05dc6001af0630e200ad5ea08707187fe5537e6d upstream. |
| |
| Accordingly to the documentation |
| ---cut--- |
| The GCR_ERROR_CAUSE.ERR_TYPE field and the GCR_ERROR_MULT.ERR_TYPE |
| fields can be cleared by either a reset or by writing the current |
| value of GCR_ERROR_CAUSE.ERR_TYPE to the |
| GCR_ERROR_CAUSE.ERR_TYPE register. |
| ---cut--- |
| Do exactly this. Original value of cm_error may be safely written back; |
| it clears error cause and keeps other bits untouched. |
| |
| Fixes: 3885c2b463f6 ("MIPS: CM: Add support for reporting CM cache errors") |
| Signed-off-by: Vladimir Kondratiev <vladimir.kondratiev@linux.intel.com> |
| Signed-off-by: Paul Burton <paul.burton@mips.com> |
| Cc: Ralf Baechle <ralf@linux-mips.org> |
| Cc: James Hogan <jhogan@kernel.org> |
| Cc: linux-mips@vger.kernel.org |
| Cc: linux-kernel@vger.kernel.org |
| Cc: stable@vger.kernel.org # v4.3+ |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| arch/mips/kernel/mips-cm.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/arch/mips/kernel/mips-cm.c |
| +++ b/arch/mips/kernel/mips-cm.c |
| @@ -457,5 +457,5 @@ void mips_cm_error_report(void) |
| } |
| |
| /* reprime cause register */ |
| - write_gcr_error_cause(0); |
| + write_gcr_error_cause(cm_error); |
| } |