Lines Matching refs:slot

325 bcm_sdhci_read_1(device_t dev, struct sdhci_slot *slot, bus_size_t off)
334 bcm_sdhci_read_2(device_t dev, struct sdhci_slot *slot, bus_size_t off)
351 bcm_sdhci_read_4(device_t dev, struct sdhci_slot *slot, bus_size_t off)
359 bcm_sdhci_read_multi_4(device_t dev, struct sdhci_slot *slot, bus_size_t off,
368 bcm_sdhci_write_1(device_t dev, struct sdhci_slot *slot, bus_size_t off, uint8_t val)
378 bcm_sdhci_write_2(device_t dev, struct sdhci_slot *slot, bus_size_t off, uint16_t val)
398 bcm_sdhci_write_4(device_t dev, struct sdhci_slot *slot, bus_size_t off, uint32_t val)
405 bcm_sdhci_write_multi_4(device_t dev, struct sdhci_slot *slot, bus_size_t off,
416 struct sdhci_slot *slot;
420 slot = &sc->sc_slot;
423 slot->offset += len;
425 if (slot->curcmd->data->flags & MMC_DATA_READ) {
452 slot->intmask &= ~(SDHCI_INT_DATA_AVAIL |
455 slot->intmask);
470 struct sdhci_slot *slot = &sc->sc_slot;
474 mtx_lock(&slot->mtx);
483 mtx_unlock(&slot->mtx);
487 if (slot->curcmd->data->flags & MMC_DATA_READ) {
501 slot->curcmd->data->len - slot->offset);
504 reg = bcm_sdhci_read_4(slot->bus, slot, SDHCI_INT_STATUS);
508 bcm_sdhci_write_4(slot->bus, slot, SDHCI_INT_STATUS, reg);
511 slot->intmask |= SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL
513 bcm_sdhci_write_4(slot->bus, slot, SDHCI_SIGNAL_ENABLE,
514 slot->intmask);
517 sdhci_finish_data(slot);
524 bcm_sdhci_write_4(slot->bus, slot,
529 (uint8_t *)slot->curcmd->data->data +
530 slot->offset, left, bcm_sdhci_dmacb, sc,
532 slot->curcmd->error = MMC_ERR_NO_MEMORY;
533 sdhci_finish_data(slot);
541 slot->intmask |= SDHCI_INT_DATA_AVAIL |
543 bcm_sdhci_write_4(slot->bus, slot, SDHCI_SIGNAL_ENABLE,
544 slot->intmask);
548 mtx_unlock(&slot->mtx);
552 bcm_sdhci_read_dma(device_t dev, struct sdhci_slot *slot)
554 struct bcm_sdhci_softc *sc = device_get_softc(slot->bus);
563 slot->curcmd->data->len - slot->offset);
569 (uint8_t *)slot->curcmd->data->data + slot->offset, left,
572 slot->curcmd->error = MMC_ERR_NO_MEMORY;
581 bcm_sdhci_write_dma(device_t dev, struct sdhci_slot *slot)
583 struct bcm_sdhci_softc *sc = device_get_softc(slot->bus);
592 slot->curcmd->data->len - slot->offset);
598 (uint8_t *)slot->curcmd->data->data + slot->offset, left,
601 slot->curcmd->error = MMC_ERR_NO_MEMORY;
610 bcm_sdhci_will_handle_transfer(device_t dev, struct sdhci_slot *slot)
619 slot->curcmd->data->len - slot->offset);
629 bcm_sdhci_start_transfer(device_t dev, struct sdhci_slot *slot,
634 if (slot->curcmd->data->flags & MMC_DATA_READ)
635 bcm_sdhci_read_dma(dev, slot);
637 bcm_sdhci_write_dma(dev, slot);
641 bcm_sdhci_finish_transfer(device_t dev, struct sdhci_slot *slot)
644 sdhci_finish_data(slot);