Lines Matching refs:resp

94 static int csa_downloadimage(csa_res *resp);
95 static int csa_transferimage(csa_res *resp, u_int32_t *src, u_long dest, u_long len);
242 csa_res *resp;
255 resp = &scp->res;
259 resp->io_rid = PCIR_BAR(0);
260 resp->io = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
261 &resp->io_rid, RF_ACTIVE);
262 if (resp->io == NULL)
264 resp->mem_rid = PCIR_BAR(1);
265 resp->mem = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
266 &resp->mem_rid, RF_ACTIVE);
267 if (resp->mem == NULL)
269 resp->irq_rid = 0;
270 resp->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ,
271 &resp->irq_rid, RF_ACTIVE | RF_SHAREABLE);
272 if (resp->irq == NULL)
276 if (snd_setup_intr(dev, resp->irq, 0, csa_intr, scp, &scp->ih))
279 if ((csa_readio(resp, BA0_HISR) & HISR_INTENA) == 0)
280 csa_writeio(resp, BA0_HICR, HICR_IEV | HICR_CHGM);
288 csa_resetdsp(resp);
291 if (csa_downloadimage(resp))
323 bus_teardown_intr(dev, resp->irq, scp->ih);
325 bus_release_resource(dev, SYS_RES_IRQ, resp->irq_rid, resp->irq);
327 bus_release_resource(dev, SYS_RES_MEMORY, resp->mem_rid, resp->mem);
329 bus_release_resource(dev, SYS_RES_MEMORY, resp->io_rid, resp->io);
336 csa_res *resp;
342 resp = &scp->res;
364 bus_teardown_intr(dev, resp->irq, scp->ih);
365 bus_release_resource(dev, SYS_RES_IRQ, resp->irq_rid, resp->irq);
366 bus_release_resource(dev, SYS_RES_MEMORY, resp->mem_rid, resp->mem);
367 bus_release_resource(dev, SYS_RES_MEMORY, resp->io_rid, resp->io);
375 csa_res *resp;
379 resp = &scp->res;
386 csa_resetdsp(resp);
389 if (csa_downloadimage(resp))
400 csa_res *resp;
404 resp = &scp->res;
409 res = resp->irq;
414 res = resp->io;
417 res = resp->mem;
452 csa_res *resp;
460 resp = &scp->res;
467 if (func == NULL || irq != resp->irq)
485 if ((csa_readio(resp, BA0_HISR) & HISR_INTENA) == 0)
486 csa_writeio(resp, BA0_HICR, HICR_IEV | HICR_CHGM);
496 csa_res *resp;
500 resp = &scp->res;
507 if (func == NULL || irq != resp->irq || cookie != scp)
533 csa_res *resp;
536 resp = &scp->res;
539 hisr = csa_readio(resp, BA0_HISR);
542 csa_writeio(resp, BA0_HICR, HICR_IEV | HICR_CHGM);
563 csa_writeio(resp, BA0_HICR, HICR_IEV | HICR_CHGM);
571 csa_res *resp;
573 resp = &scp->res;
580 csa_writeio(resp, BA0_CLKCR1, 0);
581 csa_writeio(resp, BA0_SERMC1, 0);
588 csa_writeio(resp, BA0_SERACC, SERACC_HSP | SERACC_CODEC_TYPE_1_03); /* 1.03 codec */
590 csa_writeio(resp, BA0_SERACC, SERACC_HSP | SERACC_CODEC_TYPE_2_0); /* 2.0 codec */
599 csa_writeio(resp, BA0_ACCTL, 1);
601 csa_writeio(resp, BA0_ACCTL, 0);
603 csa_writeio(resp, BA0_ACCTL, ACCTL_RSTN);
610 csa_writeio(resp, BA0_ACCTL, ACCTL_ESYN | ACCTL_RSTN);
623 csa_writeio(resp, BA0_SERMC1, SERMC1_PTC_AC97);
631 csa_writeio(resp, BA0_PLLCC, PLLCC_LPF_1050_2780_KHZ | PLLCC_CDR_73_104_MHZ);
632 csa_writeio(resp, BA0_PLLM, 0x3a);
633 csa_writeio(resp, BA0_CLKCR2, CLKCR2_PDIVS_8);
638 csa_writeio(resp, BA0_CLKCR1, CLKCR1_PLLP);
648 csa_writeio(resp, BA0_CLKCR1, csa_readio(resp, BA0_CLKCR1) | CLKCR1_SWCE);
653 csa_clearserialfifos(resp);
659 csa_writeio(resp, BA0_SERBSP, 0);
666 csa_writeio(resp, BA0_SERC1, SERC1_SO1F_AC97 | SERC1_SO1EN);
667 csa_writeio(resp, BA0_SERC2, SERC2_SI1F_AC97 | SERC1_SO1EN);
668 csa_writeio(resp, BA0_SERMC1, SERMC1_PTC_AC97 | SERMC1_MSPE);
685 acsts = csa_readio(resp, BA0_ACSTS);
700 csa_writeio(resp, BA0_ACCTL, ACCTL_VFRM | ACCTL_ESYN | ACCTL_RSTN);
721 acisv = csa_readio(resp, BA0_ACISV);
736 csa_writeio(resp, BA0_ACOSV, ACOSV_SLV3 | ACOSV_SLV4);
743 csa_writeio(resp, BA0_AC97_POWERDOWN, 0x300);
751 clkcr1 = csa_readio(resp, BA0_CLKCR1) & ~CLKCR1_SWCE;
752 csa_writeio(resp, BA0_CLKCR1, clkcr1);
759 csa_writeio(resp, BA0_HICR, HICR_IEV | HICR_CHGM);
766 csa_clearserialfifos(csa_res *resp)
776 clkcr1 = csa_readio(resp, BA0_CLKCR1);
778 csa_writeio(resp, BA0_CLKCR1, clkcr1 | CLKCR1_SWCE);
787 csa_writeio(resp, BA0_SERBWP, 0);
795 serbst = csa_readio(resp, BA0_SERBST);
801 csa_writeio(resp, BA0_CLKCR1, clkcr1);
804 csa_writeio(resp, BA0_SERBAD, i);
806 csa_writeio(resp, BA0_SERBCM, SERBCM_WRC);
813 csa_writeio(resp, BA0_CLKCR1, clkcr1);
817 csa_resetdsp(csa_res *resp)
824 csa_writemem(resp, BA1_SPCR, SPCR_RSTSP);
829 csa_writemem(resp, BA1_SPCR, SPCR_DRQEN);
835 csa_writemem(resp, BA1_DREG, DREG_REGID_TRAP_SELECT + i);
836 csa_writemem(resp, BA1_TWPR, 0xffff);
838 csa_writemem(resp, BA1_DREG, 0);
843 csa_writemem(resp, BA1_FRMT, 0xadf);
847 csa_downloadimage(csa_res *resp)
857 ret = csa_transferimage(resp,
869 csa_transferimage(csa_res *resp, u_int32_t *src, u_long dest, u_long len)
888 csa_writemem(resp, dest + ul, src[ul >> 2]);
893 csa_readcodec(csa_res *resp, u_long offset, u_int32_t *data)
902 csa_readio(resp, BA0_ACSDA);
920 csa_writeio(resp, BA0_ACCAD, offset - BA0_AC97_RESET);
921 csa_writeio(resp, BA0_ACCDA, 0);
922 csa_writeio(resp, BA0_ACCTL, ACCTL_DCV | ACCTL_CRW | ACCTL_VFRM | ACCTL_ESYN | ACCTL_RSTN);
938 acctl = csa_readio(resp, BA0_ACCTL);
958 acsts = csa_readio(resp, BA0_ACSTS);
981 *data = csa_readio(resp, BA0_ACSDA);
987 csa_writecodec(csa_res *resp, u_long offset, u_int32_t data)
1007 csa_writeio(resp, BA0_ACCAD, offset - BA0_AC97_RESET);
1008 csa_writeio(resp, BA0_ACCDA, data);
1009 csa_writeio(resp, BA0_ACCTL, ACCTL_DCV | ACCTL_VFRM | ACCTL_ESYN | ACCTL_RSTN);
1025 acctl = csa_readio(resp, BA0_ACCTL);
1040 csa_readio(csa_res *resp, u_long offset)
1045 return bus_space_read_4(rman_get_bustag(resp->io), rman_get_bushandle(resp->io), offset) & 0xffffffff;
1047 if (csa_readcodec(resp, offset, &ul))
1054 csa_writeio(csa_res *resp, u_long offset, u_int32_t data)
1057 bus_space_write_4(rman_get_bustag(resp->io), rman_get_bushandle(resp->io), offset, data);
1059 csa_writecodec(resp, offset, data);
1063 csa_readmem(csa_res *resp, u_long offset)
1065 return bus_space_read_4(rman_get_bustag(resp->mem), rman_get_bushandle(resp->mem), offset);
1069 csa_writemem(csa_res *resp, u_long offset, u_int32_t data)
1071 bus_space_write_4(rman_get_bustag(resp->mem), rman_get_bushandle(resp->mem), offset, data);