Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/dpaa/bman_portals.c
Show First 20 Lines • Show All 135 Lines • ▼ Show 20 Lines | while (atomic_cmpset_acq_ptr((uintptr_t *)&sc->sc_dp[cpu].dp_ph, | ||||
/* Return if portal is already initialized */ | /* Return if portal is already initialized */ | ||||
if (p != 0 && p != -1) { | if (p != 0 && p != -1) { | ||||
sched_unpin(); | sched_unpin(); | ||||
return ((t_Handle)p); | return ((t_Handle)p); | ||||
} | } | ||||
/* Not inititialized and "owned" by another thread */ | /* Not inititialized and "owned" by another thread */ | ||||
thread_lock(curthread); | sched_relinquish(curthread); | ||||
mi_switch(SW_VOL); | |||||
} | } | ||||
/* Map portal registers */ | /* Map portal registers */ | ||||
dpaa_portal_map_registers(sc); | dpaa_portal_map_registers(sc); | ||||
/* Configure and initialize portal */ | /* Configure and initialize portal */ | ||||
bpp.ceBaseAddress = rman_get_bushandle(sc->sc_rres[0]); | bpp.ceBaseAddress = rman_get_bushandle(sc->sc_rres[0]); | ||||
bpp.ciBaseAddress = rman_get_bushandle(sc->sc_rres[1]); | bpp.ciBaseAddress = rman_get_bushandle(sc->sc_rres[1]); | ||||
Show All 26 Lines |