Lines Matching refs:asc

146 	struct asc_softc *asc = device_private(self);
147 struct ncr53c9x_softc *sc = &asc->sc_ncr53c9x;
157 asc->sc_bst = tcdsdev->tcdsda_bst;
158 asc->sc_scsi_bsh = tcdsdev->tcdsda_bsh;
159 asc->sc_tcds = tcdsdev->tcdsda_sc;
167 asc->sc_dmat = tcdsdev->tcdsda_dmat;
168 if ((error = bus_dmamap_create(asc->sc_dmat, PAGE_SIZE, 1, PAGE_SIZE,
169 PAGE_SIZE, BUS_DMA_NOWAIT, &asc->sc_dmamap)) < 0) {
230 struct asc_softc *asc = (struct asc_softc *)sc;
233 tcds_scsi_reset(asc->sc_tcds); /* XXX */
235 if (asc->sc_flags & ASC_MAPLOADED)
236 bus_dmamap_unload(asc->sc_dmat, asc->sc_dmamap);
237 asc->sc_flags &= ~(ASC_DMAACTIVE|ASC_MAPLOADED);
247 struct asc_softc *asc = (struct asc_softc *)sc;
248 struct tcds_slotconfig *tcds = asc->sc_tcds;
253 (int)*asc->sc_dmalen, *asc->sc_dmaaddr,
261 asc->sc_dmaaddr = addr;
262 asc->sc_dmalen = len;
263 asc->sc_flags = (ispullup) ? ASC_ISPULLUP : 0;
264 *dmasize = asc->sc_dmasize = size;
271 if (bus_dmamap_load(asc->sc_dmat, asc->sc_dmamap, *addr, size,
281 bus_dmamap_sync(asc->sc_dmat, asc->sc_dmamap, 0, size,
286 asc->sc_dmamap->dm_segs[0].ds_addr >> 2);
289 dic |= asc->sc_dmamap->dm_segs[0].ds_addr & TCDS_DIC_ADDRMASK;
296 asc->sc_flags |= ASC_MAPLOADED;
303 struct asc_softc *asc = (struct asc_softc *)sc;
306 asc->sc_flags |= ASC_DMAACTIVE;
309 tcds_dma_enable(asc->sc_tcds, 1);
316 struct asc_softc *asc = (struct asc_softc *)sc;
325 * Pseudo (chained) interrupt from the asc driver to kick the
334 struct asc_softc *asc = (struct asc_softc *)sc;
335 struct tcds_slotconfig *tcds = asc->sc_tcds;
347 if ((asc->sc_flags & ASC_DMAACTIVE) == 0)
352 asc->sc_flags &= ~ASC_DMAACTIVE;
354 if (asc->sc_dmasize == 0) {
364 if ((asc->sc_flags & ASC_ISPULLUP) == 0 &&
373 trans = asc->sc_dmasize - resid;
376 tcds->sc_slot, trans, (int)asc->sc_dmasize);
377 trans = asc->sc_dmasize;
383 *asc->sc_dmalen -= trans;
384 *asc->sc_dmaaddr += trans;
386 bus_dmamap_sync(asc->sc_dmat, asc->sc_dmamap,
387 0, asc->sc_dmamap->dm_mapsize,
394 if (asc->sc_flags & ASC_ISPULLUP) {
399 addr = (uint32_t *)((paddr_t)*asc->sc_dmaaddr & ~0x3);
448 bus_dmamap_unload(asc->sc_dmat, asc->sc_dmamap);
449 asc->sc_flags &= ~ASC_MAPLOADED;
460 struct asc_softc *asc = (struct asc_softc *)sc;
463 v = bus_space_read_4(asc->sc_bst, asc->sc_scsi_bsh,
472 struct asc_softc *asc = (struct asc_softc *)sc;
474 bus_space_write_4(asc->sc_bst, asc->sc_scsi_bsh,
481 struct asc_softc *asc = (struct asc_softc *)sc;
484 x = tcds_scsi_isintr(asc->sc_tcds, 1);
493 struct asc_softc *asc = (struct asc_softc *)sc;
495 return (asc->sc_flags & ASC_DMAACTIVE) != 0;
501 struct asc_softc *asc = (struct asc_softc *)sc;
504 (void)tcds_scsi_isintr(asc->sc_tcds, 1);