1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-30 16:51:41 +00:00

Release version check for erratum 727915 workaround in

l2_wbinv_range function implementation causes function
fail to flush caches for chip with RTL number 0x7. I failed
to find official PL310 revision with this RTL number
so further research on this matter required.
This commit is contained in:
Oleksandr Tymoshenko 2013-01-07 02:38:36 +00:00
parent 1d70f5f445
commit aa4f1f553a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=245120

View File

@ -187,9 +187,7 @@ pl310_wbinv_range(vm_paddr_t start, vm_size_t size)
#ifdef PL310_ERRATA_727915
if (pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r2p0 ||
pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r3p0)
platform_pl310_write_debug(pl310_softc, 3);
platform_pl310_write_debug(pl310_softc, 3);
#endif
while (size > 0) {
#ifdef PL310_ERRATA_588369
@ -210,9 +208,7 @@ pl310_wbinv_range(vm_paddr_t start, vm_size_t size)
size -= g_l2cache_line_size;
}
#ifdef PL310_ERRATA_727915
if (pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r2p0 ||
pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r3p0)
platform_pl310_write_debug(pl310_softc, 0);
platform_pl310_write_debug(pl310_softc, 0);
#endif
pl310_cache_sync();