Lines Matching refs:mcdi
101 pause("mcdi wait", delay_us * hz / 1000000);
117 struct sfxge_mcdi *mcdi;
120 mcdi = &sc->mcdi;
122 SFXGE_MCDI_LOCK(mcdi);
124 KASSERT(mcdi->state == SFXGE_MCDI_INITIALIZED,
131 SFXGE_MCDI_UNLOCK(mcdi);
138 struct sfxge_mcdi *mcdi;
141 mcdi = &sc->mcdi;
143 KASSERT(mcdi->state == SFXGE_MCDI_INITIALIZED,
232 struct sfxge_mcdi *mp = &(sc->mcdi);
247 if (ip->u.mcdi.len > SFXGE_MCDI_MAX_PAYLOAD) {
253 if ((rc = copyin(ip->u.mcdi.payload, mcdibuf, ip->u.mcdi.len)) != 0) {
257 emr.emr_cmd = ip->u.mcdi.cmd;
259 emr.emr_in_length = ip->u.mcdi.len;
266 ip->u.mcdi.rc = emr.emr_rc;
267 ip->u.mcdi.cmd = emr.emr_cmd;
268 ip->u.mcdi.len = emr.emr_out_length_used;
269 if ((rc = copyout(mcdibuf, ip->u.mcdi.payload, ip->u.mcdi.len)) != 0) {
277 if (ip->u.mcdi.cmd == MC_CMD_REBOOT) {
302 struct sfxge_mcdi *mcdi;
309 mcdi = &sc->mcdi;
310 emtp = &mcdi->transport;
311 esmp = &mcdi->mem;
314 KASSERT(mcdi->state == SFXGE_MCDI_UNINITIALIZED,
317 SFXGE_MCDI_LOCK_INIT(mcdi, device_get_nameunit(sc->dev));
319 mcdi->state = SFXGE_MCDI_INITIALIZED;
344 SFXGE_MCDI_LOCK_DESTROY(mcdi);
345 mcdi->state = SFXGE_MCDI_UNINITIALIZED;
352 struct sfxge_mcdi *mcdi;
358 mcdi = &sc->mcdi;
359 emtp = &mcdi->transport;
360 esmp = &mcdi->mem;
362 SFXGE_MCDI_LOCK(mcdi);
363 KASSERT(mcdi->state == SFXGE_MCDI_INITIALIZED,
369 SFXGE_MCDI_UNLOCK(mcdi);
373 SFXGE_MCDI_LOCK_DESTROY(mcdi);