Lines Matching refs:resp

97 static int csa_downloadimage(csa_res *resp);
98 static int csa_transferimage(csa_res *resp, u_int32_t *src, u_long dest, u_long len);
246 csa_res *resp;
259 resp = &scp->res;
263 resp->io_rid = PCIR_BAR(0);
264 resp->io = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
265 &resp->io_rid, RF_ACTIVE);
266 if (resp->io == NULL)
268 resp->mem_rid = PCIR_BAR(1);
269 resp->mem = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
270 &resp->mem_rid, RF_ACTIVE);
271 if (resp->mem == NULL)
273 resp->irq_rid = 0;
274 resp->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ,
275 &resp->irq_rid, RF_ACTIVE | RF_SHAREABLE);
276 if (resp->irq == NULL)
280 if (snd_setup_intr(dev, resp->irq, 0, csa_intr, scp, &scp->ih))
283 if ((csa_readio(resp, BA0_HISR) & HISR_INTENA) == 0)
284 csa_writeio(resp, BA0_HICR, HICR_IEV | HICR_CHGM);
292 csa_resetdsp(resp);
295 if (csa_downloadimage(resp))
327 bus_teardown_intr(dev, resp->irq, scp->ih);
329 bus_release_resource(dev, SYS_RES_IRQ, resp->irq_rid, resp->irq);
331 bus_release_resource(dev, SYS_RES_MEMORY, resp->mem_rid, resp->mem);
333 bus_release_resource(dev, SYS_RES_MEMORY, resp->io_rid, resp->io);
340 csa_res *resp;
346 resp = &scp->res;
368 bus_teardown_intr(dev, resp->irq, scp->ih);
369 bus_release_resource(dev, SYS_RES_IRQ, resp->irq_rid, resp->irq);
370 bus_release_resource(dev, SYS_RES_MEMORY, resp->mem_rid, resp->mem);
371 bus_release_resource(dev, SYS_RES_MEMORY, resp->io_rid, resp->io);
379 csa_res *resp;
383 resp = &scp->res;
390 csa_resetdsp(resp);
393 if (csa_downloadimage(resp))
404 csa_res *resp;
408 resp = &scp->res;
413 res = resp->irq;
418 res = resp->io;
421 res = resp->mem;
459 csa_res *resp;
469 resp = &scp->res;
476 if (func == NULL || irq != resp->irq)
494 if ((csa_readio(resp, BA0_HISR) & HISR_INTENA) == 0)
495 csa_writeio(resp, BA0_HICR, HICR_IEV | HICR_CHGM);
505 csa_res *resp;
509 resp = &scp->res;
516 if (func == NULL || irq != resp->irq || cookie != scp)
542 csa_res *resp;
545 resp = &scp->res;
548 hisr = csa_readio(resp, BA0_HISR);
551 csa_writeio(resp, BA0_HICR, HICR_IEV | HICR_CHGM);
572 csa_writeio(resp, BA0_HICR, HICR_IEV | HICR_CHGM);
580 csa_res *resp;
582 resp = &scp->res;
589 csa_writeio(resp, BA0_CLKCR1, 0);
590 csa_writeio(resp, BA0_SERMC1, 0);
597 csa_writeio(resp, BA0_SERACC, SERACC_HSP | SERACC_CODEC_TYPE_1_03); /* 1.03 codec */
599 csa_writeio(resp, BA0_SERACC, SERACC_HSP | SERACC_CODEC_TYPE_2_0); /* 2.0 codec */
608 csa_writeio(resp, BA0_ACCTL, 1);
610 csa_writeio(resp, BA0_ACCTL, 0);
612 csa_writeio(resp, BA0_ACCTL, ACCTL_RSTN);
619 csa_writeio(resp, BA0_ACCTL, ACCTL_ESYN | ACCTL_RSTN);
632 csa_writeio(resp, BA0_SERMC1, SERMC1_PTC_AC97);
640 csa_writeio(resp, BA0_PLLCC, PLLCC_LPF_1050_2780_KHZ | PLLCC_CDR_73_104_MHZ);
641 csa_writeio(resp, BA0_PLLM, 0x3a);
642 csa_writeio(resp, BA0_CLKCR2, CLKCR2_PDIVS_8);
647 csa_writeio(resp, BA0_CLKCR1, CLKCR1_PLLP);
657 csa_writeio(resp, BA0_CLKCR1, csa_readio(resp, BA0_CLKCR1) | CLKCR1_SWCE);
662 csa_clearserialfifos(resp);
668 csa_writeio(resp, BA0_SERBSP, 0);
675 csa_writeio(resp, BA0_SERC1, SERC1_SO1F_AC97 | SERC1_SO1EN);
676 csa_writeio(resp, BA0_SERC2, SERC2_SI1F_AC97 | SERC1_SO1EN);
677 csa_writeio(resp, BA0_SERMC1, SERMC1_PTC_AC97 | SERMC1_MSPE);
694 acsts = csa_readio(resp, BA0_ACSTS);
709 csa_writeio(resp, BA0_ACCTL, ACCTL_VFRM | ACCTL_ESYN | ACCTL_RSTN);
730 acisv = csa_readio(resp, BA0_ACISV);
745 csa_writeio(resp, BA0_ACOSV, ACOSV_SLV3 | ACOSV_SLV4);
752 csa_writeio(resp, BA0_AC97_POWERDOWN, 0x300);
760 clkcr1 = csa_readio(resp, BA0_CLKCR1) & ~CLKCR1_SWCE;
761 csa_writeio(resp, BA0_CLKCR1, clkcr1);
768 csa_writeio(resp, BA0_HICR, HICR_IEV | HICR_CHGM);
775 csa_clearserialfifos(csa_res *resp)
785 clkcr1 = csa_readio(resp, BA0_CLKCR1);
787 csa_writeio(resp, BA0_CLKCR1, clkcr1 | CLKCR1_SWCE);
796 csa_writeio(resp, BA0_SERBWP, 0);
804 serbst = csa_readio(resp, BA0_SERBST);
810 csa_writeio(resp, BA0_CLKCR1, clkcr1);
813 csa_writeio(resp, BA0_SERBAD, i);
815 csa_writeio(resp, BA0_SERBCM, SERBCM_WRC);
822 csa_writeio(resp, BA0_CLKCR1, clkcr1);
826 csa_resetdsp(csa_res *resp)
833 csa_writemem(resp, BA1_SPCR, SPCR_RSTSP);
838 csa_writemem(resp, BA1_SPCR, SPCR_DRQEN);
844 csa_writemem(resp, BA1_DREG, DREG_REGID_TRAP_SELECT + i);
845 csa_writemem(resp, BA1_TWPR, 0xffff);
847 csa_writemem(resp, BA1_DREG, 0);
852 csa_writemem(resp, BA1_FRMT, 0xadf);
856 csa_downloadimage(csa_res *resp)
866 ret = csa_transferimage(resp,
878 csa_transferimage(csa_res *resp, u_int32_t *src, u_long dest, u_long len)
897 csa_writemem(resp, dest + ul, src[ul >> 2]);
902 csa_readcodec(csa_res *resp, u_long offset, u_int32_t *data)
911 csa_readio(resp, BA0_ACSDA);
929 csa_writeio(resp, BA0_ACCAD, offset - BA0_AC97_RESET);
930 csa_writeio(resp, BA0_ACCDA, 0);
931 csa_writeio(resp, BA0_ACCTL, ACCTL_DCV | ACCTL_CRW | ACCTL_VFRM | ACCTL_ESYN | ACCTL_RSTN);
947 acctl = csa_readio(resp, BA0_ACCTL);
967 acsts = csa_readio(resp, BA0_ACSTS);
990 *data = csa_readio(resp, BA0_ACSDA);
996 csa_writecodec(csa_res *resp, u_long offset, u_int32_t data)
1016 csa_writeio(resp, BA0_ACCAD, offset - BA0_AC97_RESET);
1017 csa_writeio(resp, BA0_ACCDA, data);
1018 csa_writeio(resp, BA0_ACCTL, ACCTL_DCV | ACCTL_VFRM | ACCTL_ESYN | ACCTL_RSTN);
1034 acctl = csa_readio(resp, BA0_ACCTL);
1049 csa_readio(csa_res *resp, u_long offset)
1054 return bus_space_read_4(rman_get_bustag(resp->io), rman_get_bushandle(resp->io), offset) & 0xffffffff;
1056 if (csa_readcodec(resp, offset, &ul))
1063 csa_writeio(csa_res *resp, u_long offset, u_int32_t data)
1066 bus_space_write_4(rman_get_bustag(resp->io), rman_get_bushandle(resp->io), offset, data);
1068 csa_writecodec(resp, offset, data);
1072 csa_readmem(csa_res *resp, u_long offset)
1074 return bus_space_read_4(rman_get_bustag(resp->mem), rman_get_bushandle(resp->mem), offset);
1078 csa_writemem(csa_res *resp, u_long offset, u_int32_t data)
1080 bus_space_write_4(rman_get_bustag(resp->mem), rman_get_bushandle(resp->mem), offset, data);