Lines Matching refs:slot
164 bzero(ch->dma.slot, sizeof(struct ata_dmaslot) * ATA_DMA_SLOTS);
166 struct ata_dmaslot *slot = &ch->dma.slot[i];
171 0, NULL, NULL, &slot->sg_tag)) {
176 if (bus_dmamem_alloc(slot->sg_tag, (void **)&slot->sg, BUS_DMA_WAITOK,
177 &slot->sg_map)) {
182 if (bus_dmamap_load(slot->sg_tag, slot->sg_map, slot->sg, MAXTABSZ,
187 slot->sg_bus = dcba.maddr;
194 BUS_DMA_ALLOCNOW, NULL, NULL, &slot->data_tag)) {
199 if (bus_dmamap_create(slot->data_tag, 0, &slot->data_map)) {
220 struct ata_dmaslot *slot = &ch->dma.slot[i];
222 if (slot->sg_bus) {
223 bus_dmamap_unload(slot->sg_tag, slot->sg_map);
224 slot->sg_bus = 0;
226 if (slot->sg) {
227 bus_dmamem_free(slot->sg_tag, slot->sg, slot->sg_map);
228 slot->sg = NULL;
230 if (slot->data_map) {
231 bus_dmamap_destroy(slot->data_tag, slot->data_map);
232 slot->data_map = NULL;
234 if (slot->sg_tag) {
235 bus_dma_tag_destroy(slot->sg_tag);
236 slot->sg_tag = NULL;
238 if (slot->data_tag) {
239 bus_dma_tag_destroy(slot->data_tag);
240 slot->data_tag = NULL;
296 /* set our slot. XXX SOS NCQ will change that */
297 request->dma = &ch->dma.slot[0];