Lines Matching refs:slot
165 bzero(ch->dma.slot, sizeof(struct ata_dmaslot) * ATA_DMA_SLOTS);
167 struct ata_dmaslot *slot = &ch->dma.slot[i];
172 0, NULL, NULL, &slot->sg_tag)) {
177 if (bus_dmamem_alloc(slot->sg_tag, (void **)&slot->sg, BUS_DMA_WAITOK,
178 &slot->sg_map)) {
183 if (bus_dmamap_load(slot->sg_tag, slot->sg_map, slot->sg, MAXTABSZ,
188 slot->sg_bus = dcba.maddr;
195 BUS_DMA_ALLOCNOW, NULL, NULL, &slot->data_tag)) {
200 if (bus_dmamap_create(slot->data_tag, 0, &slot->data_map)) {
221 struct ata_dmaslot *slot = &ch->dma.slot[i];
223 if (slot->sg_bus) {
224 bus_dmamap_unload(slot->sg_tag, slot->sg_map);
225 slot->sg_bus = 0;
227 if (slot->sg_map) {
228 bus_dmamem_free(slot->sg_tag, slot->sg, slot->sg_map);
229 bus_dmamap_destroy(slot->sg_tag, slot->sg_map);
230 slot->sg = NULL;
231 slot->sg_map = NULL;
233 if (slot->data_map) {
234 bus_dmamap_destroy(slot->data_tag, slot->data_map);
235 slot->data_map = NULL;
237 if (slot->sg_tag) {
238 bus_dma_tag_destroy(slot->sg_tag);
239 slot->sg_tag = NULL;
241 if (slot->data_tag) {
242 bus_dma_tag_destroy(slot->data_tag);
243 slot->data_tag = NULL;
299 /* set our slot. XXX SOS NCQ will change that */
300 request->dma = &ch->dma.slot[0];