09 Oct, 2012

1 commit

  • Pull sound updates from Takashi Iwai:
    "This contains pretty many small commits covering fairly large range of
    files in sound/ directory. Partly because of additional API support
    and partly because of constantly developed ASoC and ARM stuff.

    Some highlights:

    - Introduced the helper function and documentation for exposing the
    channel map via control API, as discussed in Plumbers; most of PCI
    drivers are covered, will follow more drivers later

    - Most of drivers have been replaced with the new PM callbacks (if
    the bus is supported)

    - HD-audio controller got the support of runtime PM and the support
    of D3 clock-stop. Also changing the power_save option in sysfs
    kicks off immediately to enable / disable the power-save mode.

    - Another significant code change in HD-audio is the rewrite of
    firmware loading code. Other than that, most of changes in
    HD-audio are continued cleanups and standardization for the generic
    auto parser and bug fixes (HBR, device-specific fixups), in
    addition to the support of channel-map API.

    - Addition of ASoC bindings for the compressed API, used by the
    mid-x86 drivers.

    - Lots of cleanups and API refreshes for ASoC codec drivers and
    DaVinci.

    - Conversion of OMAP to dmaengine.

    - New machine driver for Wolfson Microelectronics Bells.

    - New CODEC driver for Wolfson Microelectronics WM0010.

    - Enhancements to the ux500 and wm2000 drivers

    - A new driver for DA9055 and the support for regulator bypass mode."

    Fix up various arm soc header file reorg conflicts.

    * tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (339 commits)
    ALSA: hda - Add new codec ALC283 ALC290 support
    ALSA: hda - avoid unneccesary indices on "Headphone Jack" controls
    ALSA: hda - fix indices on boost volume on Conexant
    ALSA: aloop - add locking to timer access
    ALSA: hda - Fix hang caused by race during suspend.
    sound: Remove unnecessary semicolon
    ALSA: hda/realtek - Fix detection of ALC271X codec
    ALSA: hda - Add inverted internal mic quirk for Lenovo IdeaPad U310
    ALSA: hda - make Realtek/Sigmatel/Conexant use the generic unsol event
    ALSA: hda - make a generic unsol event handler
    ASoC: codecs: Add DA9055 codec driver
    ASoC: eukrea-tlv320: Convert it to platform driver
    ALSA: ASoC: add DT bindings for CS4271
    ASoC: wm_hubs: Ensure volume updates are handled during class W startup
    ASoC: wm5110: Adding missing volume update bits
    ASoC: wm5110: Add OUT3R support
    ASoC: wm5110: Add AEC loopback support
    ASoC: wm5110: Rename EPOUT to HPOUT3
    ASoC: arizona: Add more clock rates
    ASoC: arizona: Add more DSP options for mixer input muxes
    ...

    Linus Torvalds
     

07 Oct, 2012

1 commit

  • Pull media updates from Mauro Carvalho Chehab:
    "The first part of the media updates for Kernel 3.7.

    This series contain:

    - A major tree renaming patch series: now, drivers are organized
    internally by their used bus, instead of by V4L2 and/or DVB API,
    providing a cleaner driver location for hybrid drivers that
    implement both APIs, and allowing to cleanup the Kconfig items and
    make them more intuitive for the end user;

    - Media Kernel developers are typically very lazy with their duties
    of keeping the MAINTAINERS entries for their drivers updated. As
    now the tree is more organized, we're doing an effort to add/update
    those entries for the drivers that aren't currently orphan;

    - Several DVB USB drivers got moved to a new DVB USB v2 core; the new
    core fixes several bugs (as the existing one that got bitroted).
    Now, suspend/resume finally started to work fine (at least with
    some devices - we should expect more work with regards to it);

    - added multistream support for DVB-T2, and unified the API for
    DVB-S2 and ISDB-S. Backward binary support is preserved;

    - as usual, a few new drivers, some V4L2 core improvements and lots
    of drivers improvements and fixes.

    There are some points to notice on this series:

    1) you should expect a trivial merge conflict on your tree, with the
    removal of Documentation/feature-removal-schedule.txt: this series
    would be adding two additional entries there. I opted to not
    rebase it due to this recent change;

    2) With regards to the PCTV 520e udev-related breakage, I opted to
    fix it in a way that the patches can be backported to 3.5 even
    without your firmware fix patch. This way, Greg doesn't need to
    rush backporting your patch (as there are still the firmware cache
    and firmware path customization issues to be addressed there).

    I'll send later a patch (likely after the end of the merge window)
    reverting the rest of the DRX-K async firmware request, fully
    restoring its original behaviour to allow media drivers to
    initialize everything serialized as before for 3.7 and upper.

    3) I'm planning to work on this weekend to test the DMABUF patches
    for V4L2. The patches are on my queue for several Kernel cycles,
    but, up to now, there is/was no way to test the series locally.

    I have some concerns about this particular changeset with regards
    to security issues, and with regards to the replacement of the old
    VIDIOC_OVERLAY ioctl's that is broken on modern systems, due to
    GPU drivers change. The Overlay API allows direct PCI2PCI
    transfers from a media capture card into the GPU framebuffer, but
    its API is crappy. Also, the only existing X11 driver that
    implements it requires a XV extension that is not available
    anymore on modern drivers. The DMABUF can do the same thing, but
    with it is promising to be a properly-designed API. If I can
    successfully test this series and be happy with it, I should be
    asking you to pull them next week."

    * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (717 commits)
    em28xx: regression fix: use DRX-K sync firmware requests on em28xx
    drxk: allow loading firmware synchrousnously
    em28xx: Make all em28xx extensions to be initialized asynchronously
    [media] tda18271: properly report read errors in tda18271_get_id
    [media] tda18271: delay IR & RF calibration until init() if delay_cal is set
    [media] MAINTAINERS: add Michael Krufky as tda827x maintainer
    [media] MAINTAINERS: add Michael Krufky as tda8290 maintainer
    [media] MAINTAINERS: add Michael Krufky as cxusb maintainer
    [media] MAINTAINERS: add Michael Krufky as lg2160 maintainer
    [media] MAINTAINERS: add Michael Krufky as lgdt3305 maintainer
    [media] MAINTAINERS: add Michael Krufky as mxl111sf maintainer
    [media] MAINTAINERS: add Michael Krufky as mxl5007t maintainer
    [media] MAINTAINERS: add Michael Krufky as tda18271 maintainer
    [media] s5p-tv: Report only multi-plane capabilities in vidioc_querycap
    [media] s5p-mfc: Fix misplaced return statement in s5p_mfc_suspend()
    [media] exynos-gsc: Add missing static storage class specifiers
    [media] exynos-gsc: Remove header file inclusion
    [media] s5p-fimc: Fix incorrect condition in fimc_lite_reqbufs()
    [media] s5p-tv: Fix potential NULL pointer dereference error
    [media] s5k6aa: Fix possible NULL pointer dereference
    ...

    Linus Torvalds
     

06 Oct, 2012

1 commit


03 Oct, 2012

1 commit


28 Sep, 2012

1 commit


26 Sep, 2012

1 commit

  • Allow regulators managed via DAPM to make use of the bypass support that
    has recently been added to the regulator API by setting a flag
    SND_SOC_DAPM_REGULATOR_BYPASS. When this flag is set the regulator will
    be put into bypass mode before being disabled, allowing the regulator to
    fall into bypass mode if it can't be disabled due to other users.

    Signed-off-by: Mark Brown

    Mark Brown
     

23 Sep, 2012

2 commits


21 Sep, 2012

1 commit

  • The 'dres' field (discharge resistance for headphone outputs) is no longer
    used in the driver, so remove it.

    It was used in the original version of the driver when entering standby
    from off, but we stopped using it when we switched from having a single
    startup sequence to having separate cap and capless sequences.

    Signed-off-by: Timur Tabi
    Signed-off-by: Mark Brown

    Timur Tabi
     

19 Sep, 2012

2 commits

  • If the LRCLK is shared and the WM8960 is clock master then we should
    enable the LRCM bit to tell the device that it should drive LRCLK when
    either ADC or DAC is enabled rather than separately driving the two
    LRCLKs.

    Signed-off-by: Mark Brown

    Mark Brown
     
  • For ENUM controls the bitmask is calculated based on the number of items.
    Currently this is done each time the control is accessed. And while the
    performance impact of this should be negligible we can easily do better. The
    roundup_pow_of_two macro performs the same calculation which is currently done
    manually, but it is also possible to use this macro with compile time constants
    and so it can be used to initialize static data. So we can use it to initialize
    the mask field of a ENUM control during its declaration.

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Peter Ujfalusi
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     

17 Sep, 2012

1 commit


14 Sep, 2012

2 commits


13 Sep, 2012

1 commit

  • For following the standard, define more channel map positions and
    shuffle the items a bit:

    - As both PulseAudio and gstreamer define MONO channel position
    explicitly, we should follow that, too. The mono streams point to
    this channel position unless they are explicitly assigned to certain
    channel positions.

    - Top-front-* and Top-rear-* positions are added, carried from
    PulseAudio's definitions.

    - Move NA and MONO definitions at the top of table right after
    UNKNOWN, since these are more abstract in comparison with other
    practical positions.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

08 Sep, 2012

1 commit


07 Sep, 2012

3 commits

  • There is already a set of channel position definitions in alsa-lib
    mixer.h, and it'd be more practical to keep the same order for the
    PCM channel map, too. The value is shifted with 1 to keep zero for
    UNKNOWN.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • ALC650 has a channel swap option between surround and CLFE channels,
    so we need to tweak the channel maps dynamically depending on the
    register bit.

    Now struct snd_ac97 can contain chmap pointers for playback and
    capture. The driver may store these and let ac97 driver changing the
    channel mapping dynamically.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • This patch implements the basic data types for the standard channel
    mapping API handling.

    - The definitions of the channel positions and the new TLV types are
    added in sound/asound.h and sound/tlv.h, so that they can be
    referred from user-space.

    - Introduced a new helper function snd_pcm_add_chmap_ctls() to create
    control elements representing the channel maps for each PCM
    (sub)stream.

    - Some standard pre-defined channel maps are provided for
    convenience.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

06 Sep, 2012

3 commits


05 Sep, 2012

2 commits


04 Sep, 2012

1 commit

  • Remove the main ALSA version number from the kernel ALSA driver.
    The ALSA driver package release diverges from the upstream. This may
    confuse users to see the same ALSA version for many kernel releases
    and this version lost it's original purpose and connection.

    The "ioctl" APIs have own version numbers, so the user space may check
    for specific API changes only.

    Signed-off-by: Jaroslav Kysela

    Jaroslav Kysela
     

23 Aug, 2012

2 commits

  • The WM0010 is a compact digital signal processor that has been
    highly optimised for low-power audio applications. Extensive memory
    resources and core optimisation allow the device to manage all audio
    processing algorithms efficiently and autonomously, while the host
    processor sleeps or performs other tasks.

    Signed-off-by: Dimitris Papastamos
    Signed-off-by: Mark Brown

    Dimitris Papastamos
     
  • Sometimes the analogue circuitry connected to the microphone needs some
    time to settle after power up. Allow systems to configure this delay in
    the platform data, the driver will then insert the required delay during
    power up of paths that involve the microphone.

    Signed-off-by: Mark Brown

    Mark Brown
     

21 Aug, 2012

3 commits


20 Aug, 2012

3 commits


15 Aug, 2012

1 commit


03 Aug, 2012

1 commit


02 Aug, 2012

1 commit

  • Pull sound fixes from Takashi Iwai:
    "A collection of small fixes that have been found recently. Most of
    the commits are regression fixes in HD-audio and some other random
    drivers."

    * tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: snd-usb: fix clock source validity index
    ALSA: hda - Fix mute-LED GPIO initialization for IDT codecs
    ALSA: hda - Add descriptions for missing IDT 92HD83x models
    ALSA: hda - Fix polarity of mute LED on HP Mini 210
    ALSA: es1688 - freeup resources on init failure
    ALSA: hda - Workaround for silent output on VAIO Z with ALC889
    ALSA: hda - Fix WARNING from HDMI/DP parser
    ALSA: hda - Detach from converter at closing in patch_hdmi.c
    ALSA: hda - Fix mute-LED GPIO setup for HP Mini 210
    ALSA: mpu401: Fix missing initialization of irq field
    ALSA: hda - Fix invalid D3 of headphone DAC on VT202x codecs

    Linus Torvalds
     

01 Aug, 2012

1 commit

  • Pull second set of media updates from Mauro Carvalho Chehab:

    - radio API: add support to work with radio frequency bands

    - new AM/FM radio drivers: radio-shark, radio-shark2

    - new Remote Controller USB driver: iguanair

    - conversion of several drivers to the v4l2 core control framework

    - new board additions at existing drivers

    - the remaining (and vast majority of the patches) are due to
    drivers/DocBook fixes/cleanups.

    * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (154 commits)
    [media] radio-tea5777: use library for 64bits div
    [media] tlg2300: Declare MODULE_FIRMWARE usage
    [media] lgs8gxx: Declare MODULE_FIRMWARE usage
    [media] xc5000: Add MODULE_FIRMWARE statements
    [media] s2255drv: Add MODULE_FIRMWARE statement
    [media] dib8000: move dereference after check for NULL
    [media] Documentation: Update cardlists
    [media] bttv: add support for Aposonic W-DVR
    [media] cx25821: Remove bad strcpy to read-only char*
    [media] pms.c: remove duplicated include
    [media] smiapp-core.c: remove duplicated include
    [media] via-camera: pass correct format settings to sensor
    [media] rtl2832.c: minor cleanup
    [media] Add support for the IguanaWorks USB IR Transceiver
    [media] Minor cleanups for MCE USB
    [media] drivers/media/dvb/siano/smscoreapi.c: use list_for_each_entry
    [media] Use a named union in struct v4l2_ioctl_info
    [media] mceusb: Add Twisted Melon USB IDs
    [media] staging/media/solo6x10: use module_pci_driver macro
    [media] staging/media/dt3155v4l: use module_pci_driver macro
    ...

    Conflicts:
    Documentation/feature-removal-schedule.txt

    Linus Torvalds
     

31 Jul, 2012

2 commits


30 Jul, 2012

1 commit

  • This will fix the following oops:

    [ 6.169981] genirq: Flags mismatch irq 5. 00000000 (ES1688) vs. 00000000 (ES1688)
    [ 6.170851] Pid: 1, comm: swapper Not tainted 3.5.0-00004-gceee0e9 #14
    [ 6.170851] Call Trace:
    [ 6.170851] [] ? __setup_irq+0x3c7/0x420
    [ 6.170851] [] ? request_threaded_irq+0x76/0x140
    [ 6.170851] [] ? snd_es1688_ioctl+0x10/0x10
    [ 6.170851] [] ? request_threaded_irq+0xb2/0x140
    [ 6.170851] [] ? snd_es1688_create+0x96/0x330
    [ 6.170851] [] ? snd_gusextreme_probe+0x18d/0x5a2
    [ 6.170851] [] ? __driver_attach+0x80/0x80
    [ 6.170851] [] ? sysfs_create_link+0xf/0x20
    [ 6.170851] [] ? __driver_attach+0x80/0x80
    [ 6.170851] [] ? isa_bus_probe+0x12/0x20
    [ 6.170851] [] ? driver_probe_device+0x55/0x1c0
    [ 6.170851] [] ? _raw_spin_unlock+0xf/0x30
    [ 6.170851] [] ? klist_next+0x6a/0xe0
    [ 6.170851] [] ? isa_bus_match+0x21/0x40
    [ 6.170851] [] ? bus_for_each_drv+0x34/0x70
    [ 6.170851] [] ? device_attach+0x7b/0x90
    [ 6.170851] [] ? __driver_attach+0x80/0x80
    [ 6.170851] [] ? bus_probe_device+0x5f/0x80
    [ 6.170851] [] ? device_add+0x573/0x620
    [ 6.170851] [] ? complete_all+0x40/0x60
    [ 6.170851] [] ? _raw_spin_unlock_irqrestore+0x1a/0x30
    [ 6.170851] [] ? isa_register_driver+0xb6/0x150
    [ 6.170851] [] ? alsa_card_gusmax_init+0xf/0xf
    [ 6.170851] [] ? do_one_initcall+0x7f/0x12b
    [ 6.170851] [] ? kernel_init+0x112/0x1a9
    [ 6.170851] [] ? do_early_param+0x77/0x77
    [ 6.170851] [] ? do_one_initcall+0x12b/0x12b
    [ 6.170851] [] ? kernel_thread_helper+0x6/0xd
    [ 6.190170] es1688: can't grab IRQ 5
    [ 6.190613] genirq: Flags mismatch irq 5. 00000000 (ES1688) vs. 00000000 (ES1688)
    [ 6.191566] Pid: 1, comm: swapper Not tainted 3.5.0-00004-gceee0e9 #14
    [ 6.192394] Call Trace:
    [ 6.192685] [] ? __setup_irq+0x3c7/0x420
    [ 6.193342] [] ? request_threaded_irq+0x76/0x140
    [ 6.194081] [] ? snd_es1688_ioctl+0x10/0x10
    [ 6.194607] [] ? request_threaded_irq+0xb2/0x140
    [ 6.194607] [] ? snd_es1688_create+0x96/0x330
    [ 6.194607] [] ? snd_gusextreme_probe+0x18d/0x5a2
    [ 6.194607] [] ? __driver_attach+0x80/0x80
    [ 6.194607] [] ? sysfs_create_link+0xf/0x20
    [ 6.194607] [] ? __driver_attach+0x80/0x80
    [ 6.194607] [] ? isa_bus_probe+0x12/0x20
    [ 6.194607] [] ? driver_probe_device+0x55/0x1c0
    [ 6.194607] [] ? _raw_spin_unlock+0xf/0x30
    [ 6.194607] [] ? klist_next+0x6a/0xe0
    [ 6.194607] [] ? isa_bus_match+0x21/0x40
    [ 6.194607] [] ? bus_for_each_drv+0x34/0x70
    [ 6.194607] [] ? device_attach+0x7b/0x90
    [ 6.194607] [] ? __driver_attach+0x80/0x80
    [ 6.194607] [] ? bus_probe_device+0x5f/0x80
    [ 6.194607] [] ? device_add+0x573/0x620
    [ 6.194607] [] ? complete_all+0x40/0x60
    [ 6.194607] [] ? _raw_spin_unlock_irqrestore+0x1a/0x30
    [ 6.194607] [] ? isa_register_driver+0xb6/0x150
    [ 6.194607] [] ? alsa_card_gusmax_init+0xf/0xf
    [ 6.194607] [] ? do_one_initcall+0x7f/0x12b
    [ 6.194607] [] ? kernel_init+0x112/0x1a9
    [ 6.194607] [] ? do_early_param+0x77/0x77
    [ 6.194607] [] ? do_one_initcall+0x12b/0x12b
    [ 6.194607] [] ? kernel_thread_helper+0x6/0xd
    [ 6.210779] es1688: can't grab IRQ 5
    [ 6.211305] gusextreme: probe of gusextreme.0 failed with error -16

    Signed-off-by: Daniel Mack
    Signed-off-by: Fengguang Wu
    Signed-off-by: Takashi Iwai

    Fengguang Wu