Changeset 76 for GPL/trunk/alsa-kernel/pci/intel8x0.c
- Timestamp:
- Apr 9, 2006, 12:09:39 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GPL/trunk/alsa-kernel/pci/intel8x0.c
r70 r76 494 494 { 0x10de, 0x00da, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE3 */ 495 495 { 0x10de, 0x00ea, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* CK8S */ 496 { 0x10de, 0x026b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* MCP51 */ 496 497 { 0x1022, 0x746d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* AMD8111 */ 497 498 { 0x1022, 0x7445, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* AMD768 */ … … 834 835 unsigned int status; 835 836 unsigned int i; 837 #ifdef TARGET_OS2 838 int fOurIrq = FALSE; 839 #endif 836 840 837 841 status = igetdword(chip, chip->int_sta_reg); … … 854 858 #endif 855 859 } 856 return IRQ_RETVAL(status); 857 } 860 return IRQ_NONE/*RETVAL(status)*/; 861 } 862 #ifdef TARGET_OS2 863 fOurIrq = TRUE; 864 #endif 858 865 859 866 for (i = 0; i < chip->bdbars_count; i++) { … … 865 872 /* ack them */ 866 873 iputdword(chip, chip->int_sta_reg, status & chip->int_sta_mask); 874 #ifdef TARGET_OS2 875 if (fOurIrq) { 876 //eoi_irq(irq); 877 } 878 #endif //TARGET_OS2 867 879 868 880 return IRQ_HANDLED; … … 1161 1173 runtime->hw.period_bytes_max = 64*1024; 1162 1174 } 1175 #if 1 /* vladest */ 1163 1176 if ((err = snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS)) < 0) 1164 1177 return err; 1178 #endif 1165 1179 runtime->private_data = ichdev; 1166 1180 return 0; … … 1175 1189 err = snd_intel8x0_pcm_open(substream, &chip->ichd[ICHD_PCMOUT]); 1176 1190 if (err < 0) 1191 { 1192 printk("snd_intel8x0_pcm_open open error: %i\n", err); 1177 1193 return err; 1194 } 1178 1195 if (chip->multi6) { 1179 1196 runtime->hw.channels_max = 6; … … 1988 2005 .name = "Fujitsu-Siemens D1522", /* AD1981 */ 1989 2006 .type = AC97_TUNE_HP_ONLY 1990 }, 2007 }, 2008 { 2009 .subvendor = 0x8086, 2010 .subdevice = 0x0104, 2011 .name = "Intel D845GEBV2", /* AD1981B */ 2012 .type = AC97_TUNE_HP_ONLY 2013 }, 1991 2014 { 1992 2015 .subvendor = 0x8086, … … 2310 2333 */ 2311 2334 end_time = jiffies + HZ; 2312 i = 0;2313 2335 do { 2314 status = igetdword(chip, ICHREG(GLOB_STA)) & chip->codec_isr_bits;; 2336 status = igetdword(chip, ICHREG(GLOB_STA)) & 2337 chip->codec_isr_bits; 2315 2338 if (status) 2316 2339 break; 2317 2340 mdelay(1); 2318 2341 //do_delay(chip); 2319 i++; 2320 } while (i<100);/*(time_after_eq(end_time, jiffies));*/ 2342 } while (time_after_eq(end_time, jiffies)); 2321 2343 2322 2344 if (! status) { … … 2410 2432 static int snd_intel8x0_chip_init(struct intel8x0 *chip, int probing) 2411 2433 { 2412 unsigned int i ;2434 unsigned int i, timeout; 2413 2435 int err; 2414 2436 … … 2428 2450 for (i = 0; i < chip->bdbars_count; i++) 2429 2451 iputbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset, ICH_RESETREGS); 2452 for (i = 0; i < chip->bdbars_count; i++) { 2453 timeout = 100000; 2454 while (--timeout != 0) { 2455 if ((igetbyte(chip, ICH_REG_OFF_CR + chip->ichd[i].reg_offset) & ICH_RESETREGS) == 0) 2456 break; 2457 } 2458 if (timeout == 0) 2459 printk(KERN_ERR "intel8x0: reset of registers failed?\n"); 2460 } 2430 2461 /* initialize Buffer Descriptor Lists */ 2431 2462 for (i = 0; i < chip->bdbars_count; i++) … … 2606 2637 iputbyte(chip, port + ICH_REG_OFF_CR, ICH_RESETREGS); 2607 2638 spin_unlock_irq(&chip->reg_lock); 2608 2639 #if 0 2609 2640 t = stop_time.tv_sec - start_time.tv_sec; 2610 2641 t *= 1000000; 2611 2642 t += stop_time.tv_usec - start_time.tv_usec; 2643 #else 2644 t = 50000; /* patch, suggested by r.ihle */ 2645 #endif 2612 2646 printk(KERN_INFO "%s: measured %lu usecs\n", __FUNCTION__, t); 2613 2647 if (t == 0) {
Note:
See TracChangeset
for help on using the changeset viewer.