aboutsummaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Expand)AuthorAge
* [PATCH] au1xxx: oss sound support for au1200Domen Puncer2006-06-25
* [PATCH] au1550_ac97: spin_unlock in error pathDomen Puncer2006-06-25
* [PATCH] emu10k1: mark midi_spinlock as usedAlexey Dobriyan2006-06-25
* [PATCH] msnd section fixAndrew Morton2006-06-25
* [SOUND] sparc: Port amd7930 to new SBUS device layer.David S. Miller2006-06-24
* [SPARC64]: Use in-kernel PROM tree for EBUS and ISA.David S. Miller2006-06-24
* [PATCH] OSS: cs46xx cleanup and tiny bugfixJesper Juhl2006-06-23
* [PATCH] Au1550/1200: add missing PSC #define's, make OSS driver use the prope...Sergei Shtylyov2006-06-23
* [ALSA] aoa driver - Kconfig - remove spaces for SND!=nJaroslav Kysela2006-06-22
* [ALSA] hda-codec - Show EAPD and pin-detection capabilities in procTakashi Iwai2006-06-22
* [ALSA] Remove nested mutexes in seq_ports.cTakashi Iwai2006-06-22
* [ALSA] Remove ppc/toonie.cTakashi Iwai2006-06-22
* [ALSA] snd-powermac: no longer handle anything with a layout-id propertyJohannes Berg2006-06-22
* [ALSA] snd-aoa: add snd-aoaJohannes Berg2006-06-22
* [ALSA] hda-codec - Use 3stack model for ASUS P5RD2-VM / P5GPL-X SETakashi Iwai2006-06-22
* [ALSA] HDA - Lenovo 3000 N100-07684JU - enable laptop-eapd by defaultDaniel T Chen2006-06-22
* [ALSA] USB midi: Remove duplicate CS_AUDIO_* #definesBen Williamson2006-06-22
* [ALSA] AD1888 suspend/resume fixJaya Kumar2006-06-22
* [ALSA] Disable AC97 AUX and VIDEO controls for WM9705 touchscreenRodolfo Giometti2006-06-22
* [ALSA] via82xx - Default to variable samplerate enabled for MSI K8T Neo2-FIKarsten Wiese2006-06-22
* [ALSA] Add hp_only quirk for pci id [161f:2032] to via82xxDaniel T Chen2006-06-22
* [ALSA] sound/pci/: Add hp_only quirk for Dell D800 laptopsDaniel T Chen2006-06-22
* [ALSA] cs5535audio - trivial debug printkJaya Kumar2006-06-22
* [ALSA] fix potential NULL pointer deref in snd_sb8dsp_midi_interrupt()Jesper Juhl2006-06-22
* [ALSA] hda-codec - Add SPDIF support to Thinkpad T/X/Z60Takashi Iwai2006-06-22
* [ALSA] ac97_codec - fix duplicate control creation in AC97Jaya Kumar2006-06-22
* [ALSA] RME HDSP - fixed proc interface (missing {})Remy Bruno2006-06-22
* [ALSA] snd-ca0106: Update playback to 24bit. Fix typo is comment.James Courtier-Dutton2006-06-22
* [ALSA] Fix invalid __init in ALSA ISA driversTakashi Iwai2006-06-22
* [ALSA] sound/vxpocket: fix printk warningRandy Dunlap2006-06-22
* [ALSA] Remove bogus check of mmap_count in snd_pcm_release()Takashi Iwai2006-06-22
* [ALSA] Fix races in irq handler and ioremapTakashi Iwai2006-06-22
* [ALSA] virmidi: revert erroneous removal of zero initializationClemens Ladisch2006-06-22
* [ALSA] hda-codec - Add model entry for HP nx6320Takashi Iwai2006-06-22
* [ALSA] ac97 - Add Thinkpad T41p to AD1981 jack-sense blacklistTakashi Iwai2006-06-22
* [ALSA] Fix possible races in PCI driver removalTakashi Iwai2006-06-22
* [ALSA] hda-intel - Fix race in removeTakashi Iwai2006-06-22
* [ALSA] bt87x: add Voodoo TV 200 whitelist entryClemens Ladisch2006-06-22
* [ALSA] NULL pointer dereference in sound/synth/emux/soundfont.cEric Sesterhenn2006-06-22
* [ALSA] cmipci - Fix a typo in 'PC Speaker Playback Switch' controlTakashi Iwai2006-06-22
* [ALSA] ice1712 - Set mpu401 info flags from _card_infoAlan Horstmann2006-06-22
* [ALSA] hda-codec - Fix model for HP dc7600Takashi Iwai2006-06-22
* [ALSA] ice1724 - Add functionality for Audiotrak Prodigy 7.1 LTTakashi Iwai2006-06-22
* [ALSA] au88x0 - Fix 64bit address of MPU401 MMIO portTakashi Iwai2006-06-22
* [ALSA] ice1712 - Disable AC97 for DMX6fireAlan Horstmann2006-06-22
* [ALSA] Change an arugment of snd_mpu401_uart_new() to bit flagsTakashi Iwai2006-06-22
* [ALSA] hdsp - Fix compilation with hdsp driver built in kernelTakashi Iwai2006-06-22
* [ALSA] Single variables for cs5535audioJaya Kumar2006-06-22
* [ALSA] mpu401_uart - Fix coding style and code clean upTakashi Iwai2006-06-22
* [ALSA] usbaudio - Fix a typoTakashi Iwai2006-06-22
s="hl opt">+1] = val >> 8; } err = -ENOMEM; /* Initialize the device structure. */ lp->dma_bitmode = SONIC_BITMODE32; /* Allocate the entire chunk of memory for the descriptors. Note that this cannot cross a 64K boundary. */ if ((lp->descriptors = dma_alloc_coherent(lp->device, SIZEOF_SONIC_DESC * SONIC_BUS_SCALE(lp->dma_bitmode), &lp->descriptors_laddr, GFP_KERNEL)) == NULL) { printk(KERN_ERR "%s: couldn't alloc DMA memory for descriptors.\n", lp->device->bus_id); goto out; } /* Now set up the pointers to point to the appropriate places */ lp->cda = lp->descriptors; lp->tda = lp->cda + (SIZEOF_SONIC_CDA * SONIC_BUS_SCALE(lp->dma_bitmode)); lp->rda = lp->tda + (SIZEOF_SONIC_TD * SONIC_NUM_TDS * SONIC_BUS_SCALE(lp->dma_bitmode)); lp->rra = lp->rda + (SIZEOF_SONIC_RD * SONIC_NUM_RDS * SONIC_BUS_SCALE(lp->dma_bitmode)); lp->cda_laddr = lp->descriptors_laddr; lp->tda_laddr = lp->cda_laddr + (SIZEOF_SONIC_CDA * SONIC_BUS_SCALE(lp->dma_bitmode)); lp->rda_laddr = lp->tda_laddr + (SIZEOF_SONIC_TD * SONIC_NUM_TDS * SONIC_BUS_SCALE(lp->dma_bitmode)); lp->rra_laddr = lp->rda_laddr + (SIZEOF_SONIC_RD * SONIC_NUM_RDS * SONIC_BUS_SCALE(lp->dma_bitmode)); dev->open = sonic_open; dev->stop = sonic_close; dev->hard_start_xmit = sonic_send_packet; dev->get_stats = sonic_get_stats; dev->set_multicast_list = &sonic_multicast_list; dev->tx_timeout = sonic_tx_timeout; dev->watchdog_timeo = TX_TIMEOUT; /* * clear tally counter */ SONIC_WRITE(SONIC_CRCT,0xffff); SONIC_WRITE(SONIC_FAET,0xffff); SONIC_WRITE(SONIC_MPT,0xffff); return 0; out: release_region(dev->base_addr, SONIC_MEM_SIZE); return err; } /* * Probe for a SONIC ethernet controller on a Mips Jazz board. * Actually probing is superfluous but we're paranoid. */ static int __init jazz_sonic_probe(struct platform_device *pdev) { struct net_device *dev; struct sonic_local *lp; int err = 0; int i; /* * Don't probe if we're not running on a Jazz board. */ if (mips_machgroup != MACH_GROUP_JAZZ) return -ENODEV; dev = alloc_etherdev(sizeof(struct sonic_local)); if (!dev) return -ENOMEM; lp = netdev_priv(dev); lp->device = &pdev->dev; SET_NETDEV_DEV(dev, &pdev->dev); SET_MODULE_OWNER(dev); netdev_boot_setup_check(dev); if (dev->base_addr >= KSEG0) { /* Check a single specified location. */ err = sonic_probe1(dev); } else if (dev->base_addr != 0) { /* Don't probe at all. */ err = -ENXIO; } else { for (i = 0; sonic_portlist[i].port; i++) { dev->base_addr = sonic_portlist[i].port; dev->irq = sonic_portlist[i].irq; if (sonic_probe1(dev) == 0) break; } if (!sonic_portlist[i].port) err = -ENODEV; } if (err) goto out; err = register_netdev(dev); if (err) goto out1; printk("%s: MAC ", dev->name); for (i = 0; i < 6; i++) { printk("%2.2x", dev->dev_addr[i]); if (i < 5) printk(":"); } printk(" IRQ %d\n", dev->irq); return 0; out1: release_region(dev->base_addr, SONIC_MEM_SIZE); out: free_netdev(dev); return err; } MODULE_DESCRIPTION("Jazz SONIC ethernet driver"); module_param(sonic_debug, int, 0); MODULE_PARM_DESC(sonic_debug, "jazzsonic debug level (1-4)"); #define SONIC_IRQ_FLAG SA_INTERRUPT #include "sonic.c" static int __devexit jazz_sonic_device_remove (struct platform_device *pdev) { struct net_device *dev = platform_get_drvdata(pdev); struct sonic_local* lp = netdev_priv(dev); unregister_netdev (dev); dma_free_coherent(lp->device, SIZEOF_SONIC_DESC * SONIC_BUS_SCALE(lp->dma_bitmode), lp->descriptors, lp->descriptors_laddr); release_region (dev->base_addr, SONIC_MEM_SIZE); free_netdev (dev); return 0; } static struct platform_driver jazz_sonic_driver = { .probe = jazz_sonic_probe, .remove = __devexit_p(jazz_sonic_device_remove), .driver = { .name = jazz_sonic_string, }, }; static int __init jazz_sonic_init_module(void) { int err; if ((err = platform_driver_register(&jazz_sonic_driver))) { printk(KERN_ERR "Driver registration failed\n"); return err; } jazz_sonic_device = platform_device_alloc(jazz_sonic_string, 0); if (!jazz_sonic_device) goto out_unregister; if (platform_device_add(jazz_sonic_device)) { platform_device_put(jazz_sonic_device); jazz_sonic_device = NULL; } return 0; out_unregister: platform_driver_unregister(&jazz_sonic_driver); return -ENOMEM; } static void __exit jazz_sonic_cleanup_module(void) { platform_driver_unregister(&jazz_sonic_driver); if (jazz_sonic_device) { platform_device_unregister(jazz_sonic_device); jazz_sonic_device = NULL; } } module_init(jazz_sonic_init_module); module_exit(jazz_sonic_cleanup_module);