mly_mmbox
sc->mly_mmbox_busaddr + offsetof(struct mly_mmbox, mmm_command);
sc->mly_mmbox_busaddr + offsetof(struct mly_mmbox, mmm_status);
sc->mly_mmbox_busaddr + offsetof(struct mly_mmbox, mmm_health);
debug(1, "memory mailbox at %p (0x%llx/%d 0x%llx/%d 0x%llx/%d", sc->mly_mmbox,
if (sc->mly_mmbox->mmm_health.status.change_counter != sc->mly_event_change) {
sc->mly_event_change = sc->mly_mmbox->mmm_health.status.change_counter;
sc->mly_event_waiting, sc->mly_mmbox->mmm_health.status.next_event);
sc->mly_event_waiting = sc->mly_mmbox->mmm_health.status.next_event;
pkt = &sc->mly_mmbox->mmm_command[sc->mly_mmbox_command_index];
sp = &sc->mly_mmbox->mmm_status[sc->mly_mmbox_status_index];
error = copyout(&sc->mly_mmbox->mmm_health.status, uh->HealthStatusBuffer,
sizeof(struct mly_mmbox), 1, /* maxsize, nsegments */
if (bus_dmamem_alloc(sc->mly_mmbox_dmat, (void **)&sc->mly_mmbox, BUS_DMA_NOWAIT, &sc->mly_mmbox_dmamap)) {
if (bus_dmamap_load(sc->mly_mmbox_dmat, sc->mly_mmbox_dmamap, sc->mly_mmbox,
sizeof(struct mly_mmbox), mly_mmbox_map_helper, sc,
bzero(sc->mly_mmbox, sizeof(*sc->mly_mmbox));
if (sc->mly_mmbox) {
bus_dmamem_free(sc->mly_mmbox_dmat, sc->mly_mmbox, sc->mly_mmbox_dmamap);
bcopy(mh, &sc->mly_mmbox->mmm_health.status, sizeof(*mh));
struct mly_mmbox *mly_mmbox; /* kernel-space address of memory mailbox */