Lines Matching refs:asc

149 	struct asc_softc *asc = device_private(self);
150 struct ncr53c9x_softc *sc = &asc->sc_ncr53c9x;
160 asc->sc_bst = tcdsdev->tcdsda_bst;
161 asc->sc_scsi_bsh = tcdsdev->tcdsda_bsh;
162 asc->sc_tcds = tcdsdev->tcdsda_sc;
170 asc->sc_dmat = tcdsdev->tcdsda_dmat;
171 if ((error = bus_dmamap_create(asc->sc_dmat, PAGE_SIZE, 1, PAGE_SIZE,
172 PAGE_SIZE, BUS_DMA_NOWAIT, &asc->sc_dmamap)) < 0) {
233 struct asc_softc *asc = (struct asc_softc *)sc;
236 tcds_scsi_reset(asc->sc_tcds); /* XXX */
238 if (asc->sc_flags & ASC_MAPLOADED)
239 bus_dmamap_unload(asc->sc_dmat, asc->sc_dmamap);
240 asc->sc_flags &= ~(ASC_DMAACTIVE|ASC_MAPLOADED);
250 struct asc_softc *asc = (struct asc_softc *)sc;
251 struct tcds_slotconfig *tcds = asc->sc_tcds;
256 (int)*asc->sc_dmalen, *asc->sc_dmaaddr,
264 asc->sc_dmaaddr = addr;
265 asc->sc_dmalen = len;
266 asc->sc_flags = (ispullup) ? ASC_ISPULLUP : 0;
267 *dmasize = asc->sc_dmasize = size;
274 if (bus_dmamap_load(asc->sc_dmat, asc->sc_dmamap, *addr, size,
284 bus_dmamap_sync(asc->sc_dmat, asc->sc_dmamap, 0, size,
289 asc->sc_dmamap->dm_segs[0].ds_addr >> 2);
292 dic |= asc->sc_dmamap->dm_segs[0].ds_addr & TCDS_DIC_ADDRMASK;
299 asc->sc_flags |= ASC_MAPLOADED;
306 struct asc_softc *asc = (struct asc_softc *)sc;
309 asc->sc_flags |= ASC_DMAACTIVE;
312 tcds_dma_enable(asc->sc_tcds, 1);
319 struct asc_softc *asc = (struct asc_softc *)sc;
328 * Pseudo (chained) interrupt from the asc driver to kick the
337 struct asc_softc *asc = (struct asc_softc *)sc;
338 struct tcds_slotconfig *tcds = asc->sc_tcds;
350 if ((asc->sc_flags & ASC_DMAACTIVE) == 0)
355 asc->sc_flags &= ~ASC_DMAACTIVE;
357 if (asc->sc_dmasize == 0) {
367 if ((asc->sc_flags & ASC_ISPULLUP) == 0 &&
376 trans = asc->sc_dmasize - resid;
379 tcds->sc_slot, trans, (int)asc->sc_dmasize);
380 trans = asc->sc_dmasize;
386 *asc->sc_dmalen -= trans;
387 *asc->sc_dmaaddr += trans;
389 bus_dmamap_sync(asc->sc_dmat, asc->sc_dmamap,
390 0, asc->sc_dmamap->dm_mapsize,
397 if (asc->sc_flags & ASC_ISPULLUP) {
402 addr = (uint32_t *)((paddr_t)*asc->sc_dmaaddr & ~0x3);
451 bus_dmamap_unload(asc->sc_dmat, asc->sc_dmamap);
452 asc->sc_flags &= ~ASC_MAPLOADED;
463 struct asc_softc *asc = (struct asc_softc *)sc;
466 v = bus_space_read_4(asc->sc_bst, asc->sc_scsi_bsh,
475 struct asc_softc *asc = (struct asc_softc *)sc;
477 bus_space_write_4(asc->sc_bst, asc->sc_scsi_bsh,
484 struct asc_softc *asc = (struct asc_softc *)sc;
487 x = tcds_scsi_isintr(asc->sc_tcds, 1);
496 struct asc_softc *asc = (struct asc_softc *)sc;
498 return (asc->sc_flags & ASC_DMAACTIVE) != 0;
504 struct asc_softc *asc = (struct asc_softc *)sc;
507 (void)tcds_scsi_isintr(asc->sc_tcds, 1);