Blackfin: workaround anomaly 05000283
Make sure our interrupt entry code with exact hardware errors handles anomaly 05000283 (infinite stall in system MMR kill) so we don't stall while under load. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:

committed by
Mike Frysinger

parent
05d17dfaab
commit
dedfd5d7f2
@@ -119,14 +119,8 @@ __common_int_entry:
|
||||
fp = 0;
|
||||
#endif
|
||||
|
||||
#if ANOMALY_05000283 || ANOMALY_05000315
|
||||
cc = r7 == r7;
|
||||
p5.h = HI(CHIPID);
|
||||
p5.l = LO(CHIPID);
|
||||
if cc jump 1f;
|
||||
r7.l = W[p5];
|
||||
1:
|
||||
#endif
|
||||
ANOMALY_283_315_WORKAROUND(p5, r7)
|
||||
|
||||
r1 = sp;
|
||||
SP += -12;
|
||||
#ifdef CONFIG_IPIPE
|
||||
@@ -158,14 +152,7 @@ ENTRY(_evt_ivhw)
|
||||
fp = 0;
|
||||
#endif
|
||||
|
||||
#if ANOMALY_05000283 || ANOMALY_05000315
|
||||
cc = r7 == r7;
|
||||
p5.h = HI(CHIPID);
|
||||
p5.l = LO(CHIPID);
|
||||
if cc jump 1f;
|
||||
r7.l = W[p5];
|
||||
1:
|
||||
#endif
|
||||
ANOMALY_283_315_WORKAROUND(p5, r7)
|
||||
|
||||
/* Handle all stacked hardware errors
|
||||
* To make sure we don't hang forever, only do it 10 times
|
||||
|
Reference in New Issue
Block a user