Changeset 485
- Timestamp:
- May 23, 2010, 10:17:06 PM (15 years ago)
- Location:
- GPL/trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
GPL/trunk/alsa-kernel/pci/ac97/ac97_codec.c
r426 r485 153 153 { 0x49434511, 0xffffffff, "ICE1232", NULL, NULL }, // alias VIA VT1611A? 154 154 { 0x49434514, 0xffffffff, "ICE1232A", NULL, NULL }, 155 { 0x49434551, 0xffffffff, "VT1616", patch_vt1616, NULL }, 155 { 0x49434551, 0xffffffff, "VT1616", patch_vt1616, NULL }, 156 156 { 0x49434552, 0xffffffff, "VT1616i", patch_vt1616, NULL }, // VT1616 compatible (chipset integrated) 157 157 { 0x49544520, 0xffffffff, "IT2226E", NULL, NULL }, … … 159 159 { 0x4e534300, 0xffffffff, "LM4540,43,45,46,48", NULL, NULL }, // only guess --jk 160 160 { 0x4e534331, 0xffffffff, "LM4549", NULL, NULL }, 161 { 0x4e534350, 0xffffffff, "LM4550", patch_lm4550, NULL }, // volume wrap fix 161 { 0x4e534350, 0xffffffff, "LM4550", patch_lm4550, NULL }, // volume wrap fix 162 162 { 0x50534304, 0xffffffff, "UCB1400", patch_ucb1400, NULL }, 163 163 { 0x53494c20, 0xffffffe0, "Si3036,8", mpatch_si3036, mpatch_si3036, AC97_MODEM_PATCH }, … … 276 276 /** 277 277 * snd_ac97_read - read a value from the given register 278 * 278 * 279 279 * @ac97: the ac97 instance 280 280 * @reg: the register to read … … 624 624 }; 625 625 626 static const struct snd_kcontrol_new snd_ac97_control_capture_src = 627 AC97_ENUM("Capture Source", std_enum[0]); 626 static const struct snd_kcontrol_new snd_ac97_control_capture_src = 627 AC97_ENUM("Capture Source", std_enum[0]); 628 628 629 629 static const struct snd_kcontrol_new snd_ac97_control_capture_vol = … … 692 692 return 0; 693 693 } 694 694 695 695 static int snd_ac97_spdif_cmask_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) 696 696 { … … 704 704 return 0; 705 705 } 706 706 707 707 static int snd_ac97_spdif_pmask_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) 708 708 { … … 727 727 return 0; 728 728 } 729 729 730 730 static int snd_ac97_spdif_default_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) 731 731 { … … 779 779 v = new & (IEC958_AES0_CON_EMPHASIS_5015|IEC958_AES0_CON_NOT_COPYRIGHT) ? 0 : AC97_CXR_COPYRGT; 780 780 v |= new & IEC958_AES0_NONAUDIO ? AC97_CXR_SPDIF_AC3 : AC97_CXR_SPDIF_PCM; 781 change |= snd_ac97_update_bits_nolock(ac97, AC97_CXR_AUDIO_MISC, 781 change |= snd_ac97_update_bits_nolock(ac97, AC97_CXR_AUDIO_MISC, 782 782 AC97_CXR_SPDIF_MASK | AC97_CXR_COPYRGT, 783 783 v); … … 1365 1365 1366 1366 /* build center controls */ 1367 if ((snd_ac97_try_volume_mix(ac97, AC97_CENTER_LFE_MASTER)) 1367 if ((snd_ac97_try_volume_mix(ac97, AC97_CENTER_LFE_MASTER)) 1368 1368 && !(ac97->flags & AC97_AD_MULTI)) { 1369 1369 if ((err = snd_ctl_add(card, snd_ac97_cnew(&snd_ac97_controls_center[0], ac97))) < 0) … … 1393 1393 1394 1394 /* build surround controls */ 1395 if ((snd_ac97_try_volume_mix(ac97, AC97_SURROUND_MASTER)) 1395 if ((snd_ac97_try_volume_mix(ac97, AC97_SURROUND_MASTER)) 1396 1396 && !(ac97->flags & AC97_AD_MULTI)) { 1397 1397 /* Surround Master (0x38) is with stereo mutes */ … … 1433 1433 1434 1434 /* build PC Speaker controls */ 1435 if (!(ac97->flags & AC97_HAS_NO_PC_BEEP) && 1435 if (!(ac97->flags & AC97_HAS_NO_PC_BEEP) && 1436 1436 ((ac97->flags & AC97_HAS_PC_BEEP) || 1437 1437 snd_ac97_try_volume_mix(ac97, AC97_PC_BEEP))) { … … 1827 1827 (! modem && ! (pid->flags & AC97_MODEM_PATCH))) 1828 1828 pid->patch(ac97); 1829 } 1829 } 1830 1830 1831 1831 pid = look_for_codec_id(snd_ac97_codec_ids, id); … … 1915 1915 * The ops table must include valid callbacks (at least read and 1916 1916 * write). The other callbacks, wait and reset, are not mandatory. 1917 * 1917 * 1918 1918 * The clock is set to 48000. If another clock is needed, set 1919 1919 * (*rbus)->clock manually. … … 2019 2019 * The template must include the codec number (num) and address (addr), 2020 2020 * and the private data (private_data). 2021 * 2021 * 2022 2022 * The ac97 instance is registered as a low-level device, so you don't 2023 2023 * have to release it manually. … … 2747 2747 } 2748 2748 2749 static const struct snd_kcontrol_new snd_ac97_alc_jack_detect = 2749 static const struct snd_kcontrol_new snd_ac97_alc_jack_detect = 2750 2750 AC97_SINGLE("Jack Detect", AC97_ALC650_CLOCK, 5, 1, 0); 2751 2751 … … 2904 2904 int result; 2905 2905 2906 snd_printdd("ac97_tune_hardware quirk=%lx override=%s pci=(%04x:%04x %04x:%04x) ac97=(%04x:%04x)\n", 2907 quirk, override, 2908 ac97->pci->vendor, ac97->pci->device, ac97->pci->subsystem_vendor, ac97->pci->subsystem_device, 2909 ac97->subsystem_vendor, ac97->subsystem_device); 2906 2910 /* quirk overriden? */ 2907 2911 if (override && strcmp(override, "-1") && strcmp(override, "default")) { 2912 snd_printdd("ac97 quirk for %s (%04x:%04x)\n", override, ac97->subsystem_vendor, ac97->subsystem_device); 2908 2913 result = apply_quirk_str(ac97, override); 2909 2914 if (result < 0) … … 2916 2921 2917 2922 for (; quirk->subvendor; quirk++) { 2918 if (quirk->subvendor != ac97->subsystem_vendor) 2919 continue; 2920 if ((! quirk->mask && quirk->subdevice == ac97->subsystem_device) || 2921 quirk->subdevice == (quirk->mask & ac97->subsystem_device)) { 2922 if (quirk->codec_id && quirk->codec_id != ac97->id) 2923 continue; 2924 snd_printdd("ac97 quirk for %s (%04x:%04x)\n", quirk->name, ac97->subsystem_vendor, ac97->subsystem_device); 2925 result = apply_quirk(ac97, quirk->type); 2926 if (result < 0) 2927 snd_printk(KERN_ERR "applying quirk type %d for %s failed (%d)\n", quirk->type, quirk->name, result); 2928 return result; 2929 } 2923 if (quirk->subvendor != ac97->subsystem_vendor) continue; 2924 /* DAZ - the comments in ac97_codec.h say that if mask=0 then 'accept all' but it appears not to be the way the code works. 2925 * it really is: if mask=0 then 'accept exact match only' 2926 * functionality not changed, I just made the code easier to read 2927 * if ((! quirk->mask && quirk->subdevice == ac97->subsystem_device) || quirk->subdevice == (quirk->mask & ac97->subsystem_device)) { 2928 */ 2929 if (quirk->mask) { 2930 if ( quirk->subdevice != (quirk->mask & ac97->subsystem_device) ) continue; 2931 } else { 2932 if (quirk->subdevice != ac97->subsystem_device) continue; 2933 } 2934 if ( quirk->codec_id && (quirk->codec_id != ac97->id) ) continue; 2935 snd_printdd("ac97 quirk for %s (%04x:%04x)\n", quirk->name, ac97->subsystem_vendor, ac97->subsystem_device); 2936 result = apply_quirk(ac97, quirk->type); 2937 if (result < 0) snd_printk(KERN_ERR "applying quirk type %d for %s failed (%d)\n", quirk->type, quirk->name, result); 2938 return result; 2930 2939 } 2931 2940 return 0; -
GPL/trunk/alsa-kernel/pci/intel8x0.c
r464 r485 25 25 26 26 * 27 */ 27 */ 28 28 29 29 #include <asm/io.h> … … 269 269 270 270 /* interrupts for the whole chip by interrupt status register finish */ 271 271 272 272 #define ALI_INT_MICIN2 (1<<26) 273 273 #define ALI_INT_PCMIN2 (1<<25) … … 313 313 314 314 /* 315 * 315 * 316 316 */ 317 317 … … 544 544 return -EBUSY; 545 545 } 546 546 547 547 static void snd_intel8x0_codec_write(struct snd_ac97 *ac97, 548 548 unsigned short reg, … … 662 662 * DMA I/O 663 663 */ 664 static void snd_intel8x0_setup_periods(struct intel8x0 *chip, struct ichdev *ichdev) 664 static void snd_intel8x0_setup_periods(struct intel8x0 *chip, struct ichdev *ichdev) 665 665 { 666 666 int idx; … … 886 886 /* clear FIFO for synchronization of channels */ 887 887 fifo = igetdword(chip, fiforeg[ichdev->ali_slot / 4]); 888 fifo &= ~(0xff << (ichdev->ali_slot % 4)); 889 fifo |= 0x83 << (ichdev->ali_slot % 4); 888 fifo &= ~(0xff << (ichdev->ali_slot % 4)); 889 fifo |= 0x83 << (ichdev->ali_slot % 4); 890 890 iputdword(chip, fiforeg[ichdev->ali_slot / 4], fifo); 891 891 } … … 1753 1753 1754 1754 static struct ac97_quirk ac97_quirks[] __devinitdata = { 1755 1755 { 1756 1756 .subvendor = 0x0e11, 1757 1757 .subdevice = 0x000e, 1758 1758 .name = "Compaq Deskpro EN", /* AD1885 */ 1759 1759 .type = AC97_TUNE_HP_ONLY 1760 1760 }, 1761 1761 { 1762 1762 .subvendor = 0x0e11, … … 1771 1771 .type = AC97_TUNE_HP_ONLY 1772 1772 }, 1773 1773 { 1774 1774 .subvendor = 0x0e11, 1775 1775 .subdevice = 0x0860, 1776 1776 .name = "HP/Compaq nx7010", 1777 1777 .type = AC97_TUNE_MUTE_LED 1778 1778 }, 1779 1779 { 1780 1780 .subvendor = 0x1014, … … 2051 2051 .subdevice = 0x0088, 2052 2052 .name = "Fujitsu-Siemens D1522", /* AD1981 */ 2053 .type = AC97_TUNE_HP_ONLY 2054 }, 2055 { 2056 .subvendor = 0x107B, 2057 .subdevice = 0x0111, 2058 .name = "Gateway 2000 ICH2/AD1885", 2053 2059 .type = AC97_TUNE_HP_ONLY 2054 2060 }, -
GPL/trunk/drv32/dispatch.c
r484 r485 103 103 104 104 #ifdef DEBUG 105 printk("StratIOCtl 0x%x\n", rp->Function);105 //printk("StratIOCtl 0x%x\n", rp->Function); 106 106 #endif 107 107 // printk("cmd: %x, len: %i, pack: %x\n",rp->Function, rp->ParmLength, rp->ParmPacket); -
GPL/trunk/include/ossidc.h
r456 r485 245 245 #define OSS32_MIX_VOLUME_CAPTURE 13 //Recording volume 246 246 #define OSS32_MIX_VOLUME_SPEAKER 14 //Speaker volume 247 #define OSS32_MIX_VOLUME_MAX OSS32_MIX_VOLUME_CAPTURE 247 //DAZ not used #define OSS32_MIX_VOLUME_MAX OSS32_MIX_VOLUME_SPEAKER 248 248 249 249 #define OSS32_MIX_FIRST_PROPERTY 20 -
GPL/trunk/lib32/memory.cpp
r445 r485 106 106 pCur = pBaseAddrHead; 107 107 108 if(pCur->retaddr == addr) 108 if(pCur->retaddr == addr) 109 109 { 110 110 addr = pCur->base; … … 160 160 APIRET rc = 0; 161 161 ULONG addr = 0; 162 162 163 163 #ifdef KEE 164 164 SHORT sel; … … 176 176 extern "C" int fStrategyInit; 177 177 //****************************************************************************** 178 APIRET VMAlloc(ULONG size, ULONG flags, LINEAR *pAddr) 178 APIRET VMAlloc(ULONG size, ULONG flags, LINEAR *pAddr) 179 179 { 180 180 APIRET rc; … … 211 211 //****************************************************************************** 212 212 //****************************************************************************** 213 APIRET VMFree(LINEAR addr) 213 APIRET VMFree(LINEAR addr) 214 214 { 215 215 APIRET rc; … … 302 302 size = order * PAGE_SIZE; 303 303 304 if(gfp_mask & (GFP_DMA|GFP_DMAHIGHMEM)) 304 if(gfp_mask & (GFP_DMA|GFP_DMAHIGHMEM)) 305 305 {//below 16 mb for legacy DMA? 306 306 if(gfp_mask & GFP_DMA) … … 326 326 } 327 327 else allocsize = size; 328 328 329 329 if(VMAlloc(allocsize, flags, (LINEAR *)&addr)) { 330 330 DebugInt3(); 331 331 return 0; 332 332 } 333 //// dprintf(("__get_free_pages %d returned %x", order*PAGE_SIZE, addr)); 334 if(gfp_mask & (GFP_DMA|GFP_DMAHIGHMEM)) 333 //// dprintf(("__get_free_pages %d returned %x", order*PAGE_SIZE, addr)); 334 if(gfp_mask & (GFP_DMA|GFP_DMAHIGHMEM)) 335 335 {//must be aligned at 64kb boundary 336 336 ULONG physaddr = virt_to_phys((void *)addr); … … 377 377 //check if it really is the base of the allocation (see above) 378 378 addr = GetBaseAddress(addr, (ULONG NEAR *)__Stack32ToFlat(&size)); 379 379 380 380 if(VMFree((LINEAR)addr)) { 381 381 DebugInt3(); … … 410 410 if(addr) { 411 411 #ifdef DEBUG 412 dprintf(("vmalloc %d -> %x (phys %x)", size, addr, virt_to_phys((void *)addr)));412 //dprintf(("vmalloc %d -> %x (phys %x)", size, addr, virt_to_phys((void *)addr))); 413 413 #endif 414 414 //only done to save size of memory block … … 416 416 ulget_free_pagesMemUsed += size; 417 417 #ifdef DEBUG 418 dprintf(("vmalloc: total alloc size %d", ulget_free_pagesMemUsed));418 //dprintf(("vmalloc: total alloc size %d", ulget_free_pagesMemUsed)); 419 419 #endif 420 420 } … … 429 429 430 430 GetBaseAddress((ULONG)ptr, (ULONG NEAR *)__Stack32ToFlat(&size)); 431 431 432 432 if(VMFree((LINEAR)ptr)) { 433 433 DebugInt3(); … … 435 435 else { 436 436 #ifdef DEBUG 437 dprintf(("vfree %x size %d", (ULONG)ptr, size));437 //dprintf(("vfree %x size %d", (ULONG)ptr, size)); 438 438 #endif 439 439 ulget_free_pagesMemUsed -= size; 440 440 #ifdef DEBUG 441 dprintf(("vfree: total alloc size %d", ulget_free_pagesMemUsed));441 //dprintf(("vfree: total alloc size %d", ulget_free_pagesMemUsed)); 442 442 #endif 443 443 } … … 635 635 } 636 636 //// dprintf(("kfree %x", addr)); 637 if(IsHeapAddr(addr)) { 637 if(IsHeapAddr(addr)) { 638 638 #ifdef DEBUGHEAP 639 free((void *)addr, filename, lineno); 640 #else 641 free((void *)addr); 639 free((void *)addr, filename, lineno); 640 #else 641 free((void *)addr); 642 642 #endif 643 643 } -
GPL/trunk/lib32/soundmixer.c
r484 r485 71 71 /* OSS_MIXER_MONITOR */ { "Monitor", 0 , -1}, 72 72 /* OSS_MIXER_3DDEPTH */ { "3D Control - Depth", 0 , -1}, 73 74 75 76 73 /* OSS_MIXER_3DCENTER */ { "3D Control - Center", 0 , -1}, 74 /* OSS_MIXER_FRONT */ { "Front", 0 , -1}, 75 /* OSS_MIXER_SPEAKER */ { "Speaker", 0 , -1}, 76 /* OSS_MIXER_HEADPHONE */ { "Headphone", 0 , -1}, 77 77 }; 78 78 char *szRecSources[OSS32_MIX_RECSRC_MAX] = { -
GPL/trunk/uniaud.inc
r484 r485 13 13 # ex RC3 GA FIXPACK2 beta_47 14 14 # Comment out to avoid a fixpack line in bldlevel 15 FIXPACK = SVN r48 415 FIXPACK = SVN r485 16 16 17 17 # ALSA BUILD VERSION
Note:
See TracChangeset
for help on using the changeset viewer.