summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2014-03-01ALSA: hda - remove PCI dependency in KconfigDylan Reid3-20/+31
Remove the dependency on CONFIG_PCI for building hda codec drivers so that platforms with HDA attach via means other than PCI can use them. This was as suggested by tiwai. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: core - Define snd_pci_quirk without CONFIG_PCIDylan Reid1-1/+14
The hda codecs all use this struct and, with an HDA platform driver, will be able to be built without PCI. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - Move codec create to hda_controllerDylan Reid3-248/+235
Codec creation and stream initialization can be shared between hda_intel and hda platform drivers. Move it and the static functions it depends on to hda_controller.c. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - Move azx_interrupt to hda_controllerDylan Reid3-68/+68
This code will be reused by an hda_platform driver as it has no PCI dependencies. This allows update_rirb to be static as all users are now in hda_controller.c. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - Add position_check opDylan Reid2-9/+23
This op will be used by hda_intel to do the position check. Takashi wisely suggested adding this before moving the interrupt handler to common HDA code. Having this callback prevents the need to move the hda_intel specific delayed interrupt handling with the irq. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - Move low level functions to hda_controllerDylan Reid3-179/+180
Share more code from hda_intel. This moves the link control and initialization to hda_controller. The code will also be used by an hda platform driver. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - move alloc_cmd_io to hda_controllerDylan Reid3-6/+6
Combining the call to alloc_cmd_io with the allocate pages function removes an extra interface between hda_intel and hda_controller. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - Relocate RIRB/CORB interface to hda_controllerDylan Reid3-383/+396
This is done to allow an HDA platform driver to reuse the code. A few of the interfaces added to hda_controller will disappear in following commits as their users are also moved to hda_controller. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - Move the dsp loader to hda_controllerDylan Reid3-152/+144
Moving the DSP loading functionality to hda_controller.c means that the dsp lock doesn't need to be shared in hda_intel and hda_controller. The forthcoming platform driver doesn't need the DSP loading code, but sharing it doesn't hurt. Tested on Chromebook Pixel's ca0132 that uses the DSP loader. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - Pull pages allocation to hda_controllerDylan Reid3-29/+52
Pull allocation from first_init to a new function in hda_controller.c. Short term this will allow the dsp loader to be moved as well. In later commits it will allow the same allocation to be used by the platform hda driver. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - Add hda_controller.c and move pcm ops from hda_intelDylan Reid4-1000/+1078
Pull the pcm_ops and the functions they use into a new hda_controller file. This is done to allow for other hda implementations besides PCI to use the same ops. The hda_controller file will house functionality related to HDA but independent of the bus used to talk to the controller. This currently shares dsp locking across the two files. This will be remedied in a following commit. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - Add pcm_mmap_prepare op.Dylan Reid2-6/+16
Adding this op allows the X86 specific mmap operation to help in hda_intel without needing a CONFIG_X86 in future non-PCI hda drivers. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - Move snd page allocation to opsDylan Reid2-54/+98
Break out the allocation of pages for DMA and PCM buffers to ops in the chip structure. This is done to allow for architecture specific work-arounds to be added. Currently mark_pages_wc is used by hda_intel. This avoids needing to move that x86-specific code to a common area shared with hda platform drivers. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - Pass max_slots and power_save to codec_createDylan Reid1-11/+17
Passing the max slots and power save arguments to codec_create will allow for its reuse by an hda_platform driver. It makes the function independent of the module params in hda_intel and ready to move to hda_shared in a following commit. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - Add jackpoll_ms to struct azxDylan Reid2-1/+8
Keeping a pointer to the jackpoll_ms array in the chip will allow azx_codec_create to be shared between hda_intel and hda_platform drivers. Also modify get_jackpoll_ms to make the jackpoll_ms member optional, this way a platform driver can leave it out if it's not needed. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - remove unused clear of STATESTSDylan Reid1-5/+0
Although the code was updated last year the "#if 0" surrounding it dates back to the original git commit. The function will be moved to a new file, no need to carry the dead code. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - Add function pointer for disabling MSIDylan Reid2-5/+22
This is a PCI-only feature, but adding a callback for it in the chip structure breaks the PCI dependency in the RIRB code allowing the logic there to be re-used by the platform HDA driver. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - Use device pointer from the card instead of pciDylan Reid1-13/+14
This removes calls to get the device via PCI from other parts of the code that will be able to be re-used by the platform driver. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - Keep pointer to bdl_pos_fix in chip structDylan Reid2-4/+9
This will allow for a platform hda driver to use it as well. It removes the dependency on the module param from hda_intel, which will allow for azx_setup_periods to be shared. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - Allow different ops to read/write registersDylan Reid2-70/+138
The forthcoming platform hda driver needs to override the way registers are read and written. In preparation for that, introduce a reg_ops struct that can be implemented differently by the new driver. Change the existing macros to use the new structure, and move them to hda_priv.h where they will be accessible to both PCI and platform drivers. Start with register access, but later commits will add more ops that differ between PCI and platform. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-01ALSA: hda - Move some definitions to new hda_priv.hDylan Reid2-365/+399
Later commits adding support for hda platform drivers will want to use the same defines and structures. Put them in a place reachable by both hda_intel and the new platform driver. This is a mostly a direct copy with a few whitespace and comment changes to make checkpatch happy. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-28ALSA: hda - Fix CORB reset to follow specificationDavid Henningsson1-1/+23
According to the HDA spec, we must write 1 to bit 15 on a CORBRP reset, read back 1, then write 0, then read back 0. This must be done while the DMA is not running. We accidentaly ended up writing back the 0 by using a writel instead of a writew to CORBWP. This caused occasional controller failure on Bay Trail hardware. [replaced error messages with dev_err() by tiwai] Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-28ALSA: hda - Fix registration of beep input deviceTakashi Iwai5-13/+39
The beep input device is registered via input_register_device(), but this is called in snd_hda_attach_beep_device() where the sound devices aren't registered yet. This leads to the binding to non-existing object, thus results in failure. And, even if the binding worked (against the PCI object), it's still racy; the input device appears before the sound objects. For fixing this, register the input device properly at dev_register ops of the codec object it's bound with. Also, call snd_hda_detach_beep_device() at dev_disconnection so that it's detached at the right timing. As a bonus, since it's called in the codec's ops, we can get rid of the further call from the other codec drivers. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-28Merge branch 'topic/cvt-dev-prints' into for-nextTakashi Iwai107-2117/+2520
This merges the bunch of changes over pci and usb sound drivers to convert to dev_err() and co.
2014-02-27ALSA: hda/sigmatel - Allow auto-switching for dock line-in of HP laptopsTakashi Iwai1-0/+3
Many HP laptops with STAC codecs have a docking station port and BIOS sets the pins for the input on the dock as a line in. Because the generic parser doesn't handle a line in pin as auto-switchable, this resulted in the manual capture source selection on these laptops. However, from the usability POV, the automatic switching is easier. This patch adds the line_in_auto_switch hint in the fixup function for these laptops. Even if no dock port is present, this should be harmless as the generic parser allows the auto-switching only in a limited situation (all three pins are located in different positions). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-27ALSA: Move EXPORT_SYMBOL() in appropriate placesTakashi Iwai2-20/+18
Just a cleanup to follow the standard coding style. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-27ALSA: hda - Make codec object as a parent for input beep devicesTakashi Iwai1-1/+1
Instead of the controller, the new codec object is assigned as a parent for the hd-audio beep input devices, just like already done for PCM and hwdep. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: 6fire: Use standard printk helpersTakashi Iwai6-72/+86
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: usb-audio: Use standard printk helpersTakashi Iwai11-254/+325
Convert with dev_err() and co from snd_printk(), etc. As there are too deep indirections (e.g. ep->chip->dev->dev), a few new local macros, usb_audio_err() & co, are introduced. Also, the device numbers in some messages are dropped, as they are shown in the prefix automatically. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: ymfpci: Use standard printk helpersTakashi Iwai2-18/+30
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: vx222: Use standard printk helpersTakashi Iwai2-13/+13
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: trident: Use standard printk helpersTakashi Iwai1-41/+48
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: rme9652: Use standard printk helpersTakashi Iwai1-6/+13
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: hdspm: Use standard printk helpersTakashi Iwai1-56/+69
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: hdsp: Use standard printk helpersTakashi Iwai1-49/+79
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: pcxhr: Use standard printk helpersTakashi Iwai5-98/+131
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: oxygen: Use standard printk helpersTakashi Iwai4-12/+12
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: nm256: Use standard printk helpersTakashi Iwai1-32/+43
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: mixart: Use standard printk helpersTakashi Iwai4-85/+163
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: lx6464es: Use standard printk helpersTakashi Iwai2-117/+129
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: lola: Use standard printk helpersTakashi Iwai4-49/+55
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: ice17xx: Use standard printk helpersTakashi Iwai8-59/+76
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: emu10k1: Use standard printk helpersTakashi Iwai13-93/+137
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: emu10k1x: Use standard printk helpersTakashi Iwai1-9/+18
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: echoaudio: Use standard printk helpersTakashi Iwai3-15/+18
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: cs46xx: Use standard printk helpersTakashi Iwai3-123/+203
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: cs5535audio: Use standard printk helpersTakashi Iwai4-21/+25
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: ca0106: Use standard printk helpersTakashi Iwai2-39/+49
Convert with dev_err() and co from snd_printk(), etc. A couple of prints are difficult to convert with dev_err() so they are converted to pr_err() at least. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: aw2: Use standard printk helpersTakashi Iwai2-26/+22
Convert with dev_err() and co from snd_printk(), etc. A couple of prints are difficult to convert with dev_err() so they are converted to pr_err() at least. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: ali5451: Use standard printk helpersTakashi Iwai1-80/+68
Convert with dev_err() and co from snd_printk(), etc. Some debug prints are replaced with dev_dbg(), too. Signed-off-by: Takashi Iwai <tiwai@suse.de>