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@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Reviewed by: meloun-miracle-cz Differential revision: https://reviews.freebsd.org/D10221
This commit is contained in:
parent
06918748e5
commit
9fdc4ca57c
@ -272,7 +272,9 @@ pl310_wbinv_range(vm_paddr_t start, vm_size_t size)
|
||||
|
||||
|
||||
#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_size_t size)
|
||||
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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user