Lines Matching full: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);
221 csa_res *resp;
234 resp = &scp->res;
238 resp->io_rid = PCIR_BAR(0);
239 resp->io = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
240 &resp->io_rid, RF_ACTIVE);
241 if (resp->io == NULL)
243 resp->mem_rid = PCIR_BAR(1);
244 resp->mem = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
245 &resp->mem_rid, RF_ACTIVE);
246 if (resp->mem == NULL)
248 resp->irq_rid = 0;
249 resp->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ,
250 &resp->irq_rid, RF_ACTIVE | RF_SHAREABLE);
251 if (resp->irq == NULL)
255 if (snd_setup_intr(dev, resp->irq, 0, csa_intr, scp, &scp->ih))
258 if ((csa_readio(resp, BA0_HISR) & HISR_INTENA) == 0)
259 csa_writeio(resp, BA0_HICR, HICR_IEV | HICR_CHGM);
267 csa_resetdsp(resp);
270 if (csa_downloadimage(resp))
294 bus_teardown_intr(dev, resp->irq, scp->ih);
296 bus_release_resource(dev, SYS_RES_IRQ, resp->irq_rid, resp->irq);
298 bus_release_resource(dev, SYS_RES_MEMORY, resp->mem_rid, resp->mem);
300 bus_release_resource(dev, SYS_RES_MEMORY, resp->io_rid, resp->io);
313 csa_res *resp;
318 resp = &scp->res;
324 bus_teardown_intr(dev, resp->irq, scp->ih);
325 bus_release_resource(dev, SYS_RES_IRQ, resp->irq_rid, resp->irq);
326 bus_release_resource(dev, SYS_RES_MEMORY, resp->mem_rid, resp->mem);
327 bus_release_resource(dev, SYS_RES_MEMORY, resp->io_rid, resp->io);
335 csa_res *resp;
339 resp = &scp->res;
346 csa_resetdsp(resp);
349 if (csa_downloadimage(resp))
360 csa_res *resp;
364 resp = &scp->res;
369 res = resp->irq;
374 res = resp->io;
377 res = resp->mem;
412 csa_res *resp;
420 resp = &scp->res;
427 if (func == NULL || irq != resp->irq)
445 if ((csa_readio(resp, BA0_HISR) & HISR_INTENA) == 0)
446 csa_writeio(resp, BA0_HICR, HICR_IEV | HICR_CHGM);
456 csa_res *resp;
460 resp = &scp->res;
467 if (func == NULL || irq != resp->irq || cookie != scp)
493 csa_res *resp;
496 resp = &scp->res;
499 hisr = csa_readio(resp, BA0_HISR);
502 csa_writeio(resp, BA0_HICR, HICR_IEV | HICR_CHGM);
523 csa_writeio(resp, BA0_HICR, HICR_IEV | HICR_CHGM);
531 csa_res *resp;
533 resp = &scp->res;
540 csa_writeio(resp, BA0_CLKCR1, 0);
541 csa_writeio(resp, BA0_SERMC1, 0);
548 csa_writeio(resp, BA0_SERACC, SERACC_HSP | SERACC_CODEC_TYPE_1_03); /* 1.03 codec */
550 csa_writeio(resp, BA0_SERACC, SERACC_HSP | SERACC_CODEC_TYPE_2_0); /* 2.0 codec */
559 csa_writeio(resp, BA0_ACCTL, 1);
561 csa_writeio(resp, BA0_ACCTL, 0);
563 csa_writeio(resp, BA0_ACCTL, ACCTL_RSTN);
570 csa_writeio(resp, BA0_ACCTL, ACCTL_ESYN | ACCTL_RSTN);
583 csa_writeio(resp, BA0_SERMC1, SERMC1_PTC_AC97);
591 csa_writeio(resp, BA0_PLLCC, PLLCC_LPF_1050_2780_KHZ | PLLCC_CDR_73_104_MHZ);
592 csa_writeio(resp, BA0_PLLM, 0x3a);
593 csa_writeio(resp, BA0_CLKCR2, CLKCR2_PDIVS_8);
598 csa_writeio(resp, BA0_CLKCR1, CLKCR1_PLLP);
608 csa_writeio(resp, BA0_CLKCR1, csa_readio(resp, BA0_CLKCR1) | CLKCR1_SWCE);
613 csa_clearserialfifos(resp);
619 csa_writeio(resp, BA0_SERBSP, 0);
626 csa_writeio(resp, BA0_SERC1, SERC1_SO1F_AC97 | SERC1_SO1EN);
627 csa_writeio(resp, BA0_SERC2, SERC2_SI1F_AC97 | SERC1_SO1EN);
628 csa_writeio(resp, BA0_SERMC1, SERMC1_PTC_AC97 | SERMC1_MSPE);
645 acsts = csa_readio(resp, BA0_ACSTS);
660 csa_writeio(resp, BA0_ACCTL, ACCTL_VFRM | ACCTL_ESYN | ACCTL_RSTN);
681 acisv = csa_readio(resp, BA0_ACISV);
696 csa_writeio(resp, BA0_ACOSV, ACOSV_SLV3 | ACOSV_SLV4);
703 csa_writeio(resp, BA0_AC97_POWERDOWN, 0x300);
711 clkcr1 = csa_readio(resp, BA0_CLKCR1) & ~CLKCR1_SWCE;
712 csa_writeio(resp, BA0_CLKCR1, clkcr1);
719 csa_writeio(resp, BA0_HICR, HICR_IEV | HICR_CHGM);
726 csa_clearserialfifos(csa_res *resp)
736 clkcr1 = csa_readio(resp, BA0_CLKCR1);
738 csa_writeio(resp, BA0_CLKCR1, clkcr1 | CLKCR1_SWCE);
747 csa_writeio(resp, BA0_SERBWP, 0);
755 serbst = csa_readio(resp, BA0_SERBST);
761 csa_writeio(resp, BA0_CLKCR1, clkcr1);
764 csa_writeio(resp, BA0_SERBAD, i);
766 csa_writeio(resp, BA0_SERBCM, SERBCM_WRC);
773 csa_writeio(resp, BA0_CLKCR1, clkcr1);
777 csa_resetdsp(csa_res *resp)
784 csa_writemem(resp, BA1_SPCR, SPCR_RSTSP);
789 csa_writemem(resp, BA1_SPCR, SPCR_DRQEN);
795 csa_writemem(resp, BA1_DREG, DREG_REGID_TRAP_SELECT + i);
796 csa_writemem(resp, BA1_TWPR, 0xffff);
798 csa_writemem(resp, BA1_DREG, 0);
803 csa_writemem(resp, BA1_FRMT, 0xadf);
807 csa_downloadimage(csa_res *resp)
817 ret = csa_transferimage(resp,
829 csa_transferimage(csa_res *resp, u_int32_t *src, u_long dest, u_long len)
848 csa_writemem(resp, dest + ul, src[ul >> 2]);
853 csa_readcodec(csa_res *resp, u_long offset, u_int32_t *data)
862 csa_readio(resp, BA0_ACSDA);
880 csa_writeio(resp, BA0_ACCAD, offset - BA0_AC97_RESET);
881 csa_writeio(resp, BA0_ACCDA, 0);
882 csa_writeio(resp, BA0_ACCTL, ACCTL_DCV | ACCTL_CRW | ACCTL_VFRM | ACCTL_ESYN | ACCTL_RSTN);
898 acctl = csa_readio(resp, BA0_ACCTL);
918 acsts = csa_readio(resp, BA0_ACSTS);
941 *data = csa_readio(resp, BA0_ACSDA);
947 csa_writecodec(csa_res *resp, u_long offset, u_int32_t data)
967 csa_writeio(resp, BA0_ACCAD, offset - BA0_AC97_RESET);
968 csa_writeio(resp, BA0_ACCDA, data);
969 csa_writeio(resp, BA0_ACCTL, ACCTL_DCV | ACCTL_VFRM | ACCTL_ESYN | ACCTL_RSTN);
985 acctl = csa_readio(resp, BA0_ACCTL);
1000 csa_readio(csa_res *resp, u_long offset)
1005 return bus_space_read_4(rman_get_bustag(resp->io), rman_get_bushandle(resp->io), offset) & 0xffffffff;
1007 if (csa_readcodec(resp, offset, &ul))
1014 csa_writeio(csa_res *resp, u_long offset, u_int32_t data)
1017 bus_space_write_4(rman_get_bustag(resp->io), rman_get_bushandle(resp->io), offset, data);
1019 csa_writecodec(resp, offset, data);
1023 csa_readmem(csa_res *resp, u_long offset)
1025 return bus_space_read_4(rman_get_bustag(resp->mem), rman_get_bushandle(resp->mem), offset);
1029 csa_writemem(csa_res *resp, u_long offset, u_int32_t data)
1031 bus_space_write_4(rman_get_bustag(resp->mem), rman_get_bushandle(resp->mem), offset, data);