svn commit: r317087 - head/sys/arm/arm
Zbigniew Bodek
zbb at FreeBSD.org
Tue Apr 18 10:34:12 UTC 2017
Author: zbb
Date: Tue Apr 18 10:34:10 2017
New Revision: 317087
URL: https://svnweb.freebsd.org/changeset/base/317087
Log:
Execute PL310_ERRATA_727915 only for related revisions
Part of PL310 erratum 727915 in pl310_wbinv_range() was
executed uncoditionally for all possible controllers'
revisions. This patch adds appropriate condition, since
extra operations are required only for revisions between
r2p0 and r3p0.
Submitted by: Marcin Wojtas <mw at semihalf.com>
Obtained from: Semihalf
Sponsored by: Stormshield
Reviewed by: meloun-miracle-cz
Differential revision: https://reviews.freebsd.org/D10221
Modified:
head/sys/arm/arm/pl310.c
Modified: head/sys/arm/arm/pl310.c
==============================================================================
--- head/sys/arm/arm/pl310.c Tue Apr 18 10:32:21 2017 (r317086)
+++ head/sys/arm/arm/pl310.c Tue Apr 18 10:34:10 2017 (r317087)
@@ -272,7 +272,9 @@ pl310_wbinv_range(vm_paddr_t start, vm_s
#ifdef PL310_ERRATA_727915
- platform_pl310_write_debug(pl310_softc, 3);
+ if (pl310_softc->sc_rtl_revision >= CACHE_ID_RELEASE_r2p0 &&
+ pl310_softc->sc_rtl_revision < CACHE_ID_RELEASE_r3p1)
+ platform_pl310_write_debug(pl310_softc, 3);
#endif
while (size > 0) {
#ifdef PL310_ERRATA_588369
@@ -293,7 +295,9 @@ pl310_wbinv_range(vm_paddr_t start, vm_s
size -= g_l2cache_line_size;
}
#ifdef PL310_ERRATA_727915
- platform_pl310_write_debug(pl310_softc, 0);
+ if (pl310_softc->sc_rtl_revision >= CACHE_ID_RELEASE_r2p0 &&
+ pl310_softc->sc_rtl_revision < CACHE_ID_RELEASE_r3p1)
+ platform_pl310_write_debug(pl310_softc, 0);
#endif
pl310_cache_sync();
More information about the svn-src-head
mailing list