Lines Matching +full:0 +full:x3ffff

53 #define INTEL_VENDORID	0x8086
54 #define SIS_VENDORID 0x1039
55 #define NVIDIA_VENDORID 0x10de
56 #define AMD_VENDORID 0x1022
58 #define INTEL_82440MX 0x7195
59 #define INTEL_82801AA 0x2415
60 #define INTEL_82801AB 0x2425
61 #define INTEL_82801BA 0x2445
62 #define INTEL_82801CA 0x2485
63 #define INTEL_82801DB 0x24c5 /* ICH4 needs special handling */
64 #define INTEL_82801EB 0x24d5 /* ICH5 needs to be treated as ICH4 */
65 #define INTEL_6300ESB 0x25a6 /* 6300ESB needs to be treated as ICH4 */
66 #define INTEL_82801FB 0x266e /* ICH6 needs to be treated as ICH4 */
67 #define INTEL_82801GB 0x27de /* ICH7 needs to be treated as ICH4 */
68 #define SIS_7012 0x7012 /* SiS 7012 needs special handling */
69 #define NVIDIA_NFORCE 0x01b1
70 #define NVIDIA_NFORCE2 0x006a
71 #define NVIDIA_NFORCE2_400 0x008a
72 #define NVIDIA_NFORCE3 0x00da
73 #define NVIDIA_NFORCE3_250 0x00ea
74 #define NVIDIA_NFORCE4 0x0059
75 #define NVIDIA_NFORCE_410_MCP 0x026b
76 #define NVIDIA_NFORCE4_MCP 0x003a
77 #define AMD_768 0x7445
78 #define AMD_8111 0x746d
84 #if 0
87 } while (0)
92 #define ICH_CALIBRATE_DONE (1 << 0)
103 #define PROBE_LOW 0x01
106 { INTEL_VENDORID, INTEL_82440MX, 0,
108 { INTEL_VENDORID, INTEL_82801AA, 0,
110 { INTEL_VENDORID, INTEL_82801AB, 0,
112 { INTEL_VENDORID, INTEL_82801BA, 0,
114 { INTEL_VENDORID, INTEL_82801CA, 0,
126 { SIS_VENDORID, SIS_7012, 0,
128 { NVIDIA_VENDORID, NVIDIA_NFORCE, 0,
130 { NVIDIA_VENDORID, NVIDIA_NFORCE2, 0,
132 { NVIDIA_VENDORID, NVIDIA_NFORCE2_400, 0,
134 { NVIDIA_VENDORID, NVIDIA_NFORCE3, 0,
136 { NVIDIA_VENDORID, NVIDIA_NFORCE3_250, 0,
138 { NVIDIA_VENDORID, NVIDIA_NFORCE4, 0,
140 { NVIDIA_VENDORID, NVIDIA_NFORCE_410_MCP, 0,
142 { NVIDIA_VENDORID, NVIDIA_NFORCE4_MCP, 0,
144 { AMD_VENDORID, AMD_768, 0,
146 { AMD_VENDORID, AMD_8111, 0,
205 SND_FORMAT(AFMT_S16_LE, 2, 0),
206 0
208 static struct pcmchan_caps ich_vrcaps = {8000, 48000, ich_fmt, 0};
209 static struct pcmchan_caps ich_caps = {48000, 48000, ich_fmt, 0};
224 return (0xffffffff); in ich_rd()
252 for (i = 0; i < ICH_TIMEOUT; i++) { in ich_waitcd()
254 if ((data & 0x01) == 0) in ich_waitcd()
255 return (0); in ich_waitcd()
258 if ((sc->flags & ICH_IGNORE_PCR) != 0) in ich_waitcd()
259 return (0); in ich_waitcd()
269 regno &= 0xff; in ich_rdcd()
280 regno &= 0xff; in ich_wrcd()
284 return (0); in ich_wrcd()
309 sndbuf_resize(ch->buffer, ch->blkcnt, ch->blksz) != 0) in ich_filldtbl()
314 for (i = 0; i < ICH_DTBL_LENGTH; i++) { in ich_filldtbl()
326 if (num == 0) in ich_resetchan()
335 ich_wr(sc, regbase + ICH_REG_X_CR, 0, 1); in ich_resetchan()
343 for (i = 0; i < ICH_TIMEOUT; i++) { in ich_resetchan()
345 if (cr == 0) in ich_resetchan()
346 return (0); in ich_resetchan()
351 return (0); in ich_resetchan()
352 #if 0 in ich_resetchan()
356 return (0); in ich_resetchan()
381 ch->run = 0; in ichchan_init()
389 case 0: /* play */ in ichchan_init()
392 ch->spdreg = (sc->hasvra) ? AC97_REGEXT_FDACRATE : 0; in ichchan_init()
399 ch->spdreg = (sc->hasvra) ? AC97_REGEXT_LADCRATE : 0; in ichchan_init()
406 ch->spdreg = (sc->hasvrm) ? AC97_REGEXT_MADCRATE : 0; in ichchan_init()
415 ch->spdreg = 0; in ichchan_init()
419 ((sc->flags & ICH_DMA_NOCACHE) ? BUS_DMA_NOCACHE : 0), in ichchan_init()
420 sc->bufsz) != 0) in ichchan_init()
443 return (0); in ichchan_setformat()
534 ch->run = 0; in ichchan_trigger()
539 return (0); in ichchan_trigger()
621 for (i = 0; i < 3; i++) { in ich_intr()
623 if ((ch->imask & gs) == 0) in ich_intr()
639 if (cbi == 0) in ich_intr()
657 if (gs != 0) { in ich_intr()
680 return (0); in ich_initsys()
689 "port 0x%jx,0x%jx irq %jd on %s", in ich_setstatus()
737 ichchan_setblocksize(0, ch, sndbuf_getmaxsize(ch->buffer) >> 1); in ich_calibrate()
771 ich_wr(sc, ch->regbase + ICH_REG_X_CR, 0, 1); in ich_calibrate()
790 if (wait_us > 0) in ich_calibrate()
835 if ((stat & ICH_GLOB_STA_PCR) == 0) { in ich_init()
846 #if 0 in ich_init()
852 if (ich_resetchan(sc, 0) || ich_resetchan(sc, 1)) in ich_init()
857 return (0); in ich_init()
868 for (i = 0; i < nitems(ich_devs); i++) { in ich_pci_probe()
873 if ((ich_devs[i].options & PROBE_LOW) != 0) in ich_pci_probe()
905 sc->swap_reg = 0; in ich_pci_attach()
963 device_get_unit(dev), "blocksize", &i) == 0 && i > 0) { in ich_pci_attach()
965 i = 0; in ich_pci_attach()
977 device_get_unit(dev), "highlatency", &i) == 0 && i != 0) { in ich_pci_attach()
983 device_get_unit(dev), "fixedrate", &i) == 0 && i != 0) in ich_pci_attach()
987 device_get_unit(dev), "micchannel_enabled", &i) == 0 && i != 0) in ich_pci_attach()
990 sc->irqid = 0; in ich_pci_attach()
1013 case 0x202f161f: /* Gateway 7326GZ */ in ich_pci_attach()
1014 case 0x203a161f: /* Gateway 4028GZ */ in ich_pci_attach()
1015 case 0x203e161f: /* Gateway 3520GZ/M210 */ in ich_pci_attach()
1016 case 0x204c161f: /* Kvazar-Micro Senator 3592XT */ in ich_pci_attach()
1017 case 0x8144104d: /* Sony VAIO PCG-TR* */ in ich_pci_attach()
1018 case 0x8197104d: /* Sony S1XP */ in ich_pci_attach()
1019 case 0x81c0104d: /* Sony VAIO type T */ in ich_pci_attach()
1020 case 0x81c5104d: /* Sony VAIO VGN B1VP/B1XP */ in ich_pci_attach()
1021 case 0x3089103c: /* Compaq Presario B3800 */ in ich_pci_attach()
1022 case 0x309a103c: /* HP Compaq nx4300 */ in ich_pci_attach()
1023 case 0x82131033: /* NEC VersaPro VJ10F/BH */ in ich_pci_attach()
1024 case 0x82be1033: /* NEC VersaPro VJ12F/CH */ in ich_pci_attach()
1037 sc->hasmic = (sc->hasmic != 0 && in ich_pci_attach()
1038 (ac97_getcaps(sc->codec) & AC97_CAP_MICCHANNEL)) ? 1 : 0; in ich_pci_attach()
1045 if (bus_dma_tag_create(bus_get_dma_tag(dev), 8, 0, in ich_pci_attach()
1047 sc->dtbl_size, 1, 0x3ffff, 0, NULL, NULL, &sc->dmat) != 0) { in ich_pci_attach()
1053 if (bus_dma_tag_create(bus_get_dma_tag(dev), ICH_MIN_BLKSZ, 0, in ich_pci_attach()
1055 sc->bufsz, 1, 0x3ffff, 0, NULL, NULL, &sc->chan_dmat) != 0) { in ich_pci_attach()
1061 ((sc->flags & ICH_DMA_NOCACHE) ? BUS_DMA_NOCACHE : 0), in ich_pci_attach()
1066 ich_setmap, sc, 0)) in ich_pci_attach()
1084 if (cold == 0 || in ich_pci_attach()
1085 config_intrhook_establish(&sc->intrhook) != 0) { in ich_pci_attach()
1091 return (0); in ich_pci_attach()
1141 return (0); in ich_pci_detach()
1162 if (i <= 0) in ich_pci_codec_reset()
1174 for (i = 0 ; i < 3; i++) { in ich_pci_suspend()
1178 ichchan_trigger(0, &sc->ch[i], PCMTRIG_ABORT); in ich_pci_suspend()
1183 return (0); in ich_pci_suspend()
1197 if (err != 0) { in ich_pci_resume()
1211 for (i = 0 ; i < 3; i++) { in ich_pci_resume()
1214 ichchan_setblocksize(0, ch, ch->blksz); in ich_pci_resume()
1215 ichchan_setspeed(0, ch, ch->spd); in ich_pci_resume()
1216 ichchan_trigger(0, ch, PCMTRIG_START); in ich_pci_resume()
1219 return (0); in ich_pci_resume()
1229 { 0, 0 }
1238 DRIVER_MODULE(snd_ich, pci, ich_driver, 0, 0);