18 Jan, 2014

3 commits

  • …x-stable into ti-linux-3.12.y

    This is the 3.12.7 stable release

    * tag 'v3.12.7' of git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (154 commits)
    Linux 3.12.7
    sh: add EXPORT_SYMBOL(min_low_pfn) and EXPORT_SYMBOL(max_low_pfn) to sh_ksyms_32.c
    ext4: fix bigalloc regression
    ACPIPHP / radeon / nouveau: Fix VGA switcheroo problem related to hotplug
    nouveau_acpi: convert acpi_get_handle() to acpi_has_method()
    aio/migratepages: make aio migrate pages sane
    aio: clean up and fix aio_setup_ring page mapping
    clocksource: dw_apb_timer_of: Fix support for dts binding "snps,dw-apb-timer"
    clocksource: dw_apb_timer_of: Fix read_sched_clock
    selinux: process labeled IPsec TCP SYN-ACK packets properly in selinux_ip_postroute()
    selinux: look for IPsec labels on both inbound and outbound packets
    sh: always link in helper functions extracted from libgcc
    gpio: msm: Fix irq mask/unmask by writing bits instead of numbers
    gpio: twl4030: Fix regression for twl gpio LED output
    sh-pfc: Fix PINMUX_GPIO macro
    jbd2: don't BUG but return ENOSPC if a handle runs out of space
    s390/3270: fix allocation of tty3270_screen structure
    ARM: sun7i: dt: Fix interrupt trigger types
    memcg: fix memcg_size() calculation
    GFS2: Fix incorrect invalidation for DIO/buffered I/O
    ...

    Conflicts:
    arch/arm/mach-omap2/omap_hwmod_7xx_data.c
    drivers/usb/musb/musb_core.c

    Signed-off-by: Dan Murphy <dmurphy@ti.com>

    Dan Murphy
     
  • …x-stable into ti-linux-3.12.y

    This is the 3.12.6 stable release

    * tag 'v3.12.6' of git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (120 commits)
    Linux 3.12.6
    ARM: OMAP2+: hwmod: Fix SOFTRESET logic
    drm/i915/vlv: fix up broken precision in vlv_crtc_clock_get
    drm/i915/vlv: add VLV specific clock_get function v3
    i915/vlv: untangle integrated clock source handling v4
    Btrfs: fix lockdep error in async commit
    Btrfs: fix a crash when running balance and defrag concurrently
    Btrfs: do not run snapshot-aware defragment on error
    Btrfs: take ordered root lock when removing ordered operations inode
    Btrfs: stop using vfs_read in send
    Btrfs: fix incorrect inode acl reset
    Btrfs: fix hole check in log_one_extent
    Btrfs: fix memory leak of chunks' extent map
    Btrfs: reset intwrite on transaction abort
    Btrfs: do a full search everytime in btrfs_search_old_slot
    Revert "net: update consumers of MSG_MORE to recognize MSG_SENDPAGE_NOTLAST"
    Input: elantech - add support for newer (August 2013) devices
    NFSv4 wait on recovery for async session errors
    sc1200_wdt: Fix oops
    staging: comedi: ssv_dnp: use comedi_dio_update_state()
    ...

    Conflicts:
    arch/arm/mach-omap2/omap_hwmod.c
    drivers/usb/musb/musb_cppi41.c

    Signed-off-by: Dan Murphy <dmurphy@ti.com>

    Dan Murphy
     
  • …x-stable into ti-linux-3.12.y

    This is the 3.12.5 stable release

    * tag 'v3.12.5' of git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (64 commits)
    Linux 3.12.5
    crypto: scatterwalk - Use sg_chain_ptr on chain entries
    drivers/char/i8k.c: add Dell XPLS L421X
    USB: cdc-acm: Added support for the Lenovo RD02-D400 USB Modem
    USB: spcp8x5: correct handling of CS5 setting
    USB: mos7840: correct handling of CS5 setting
    USB: ftdi_sio: fixed handling of unsupported CSIZE setting
    USB: pl2303: fixed handling of CS5 setting
    n_tty: Fix missing newline echo
    mei: add 9 series PCH mei device ids
    mei: me: add Lynx Point Wellsburg work station device id
    Input: mousedev - allow disabling even without CONFIG_EXPERT
    Input: allow deselecting serio drivers even without CONFIG_EXPERT
    tg3: avoid double-freeing of rx data memory
    iwlwifi: dvm: don't override mac80211's queue setting
    SCSI: Disable WRITE SAME for RAID and virtual host adapter drivers
    x86-64, build: Always pass in -mno-sse
    net: update consumers of MSG_MORE to recognize MSG_SENDPAGE_NOTLAST
    irq: Enable all irqs unconditionally in irq_resume
    Update of blkg_stat and blkg_rwstat may happen in bh context. While u64_stats_fetch_retry is only preempt_disable on 32bit UP system. This is not enough to avoid preemption by bh and may read strange 64 bit value.
    ...

    Signed-off-by: Dan Murphy <dmurphy@ti.com>

    Dan Murphy
     

17 Jan, 2014

6 commits


15 Jan, 2014

2 commits

  • …ux-kernel/audio-display-linux-feature-tree into ti-linux-3.12.y

    TI-Feature: audio-display
    TI-Tree: git://git.ti.com/~darrene/ti-linux-kernel/audio-display-linux-feature-tree.git
    TI-Branch: audio-display-ti-linux-3.12.y

    * 'audio-display-ti-linux-3.12.y' of git://git.ti.com/~darrene/ti-linux-kernel/audio-display-linux-feature-tree:
    ASoC: tlv320aic3x: Correct S24_3LE support
    Revert "arm: OMAP: change audio drivers from modules to builtin in omap2plus_defconfig"
    drivercore: deferral race condition fix

    Signed-off-by: Dan Murphy <DMurphy@ti.com>

    Dan Murphy
     
  • Correct the hw_params callback to configure the codec correctly in case of
    S24_3LE format.

    Signed-off-by: Peter Ujfalusi
    Reviewed-by: Jyri Sarha
    Tested-by: Jyri Sarha

    Peter Ujfalusi
     

10 Jan, 2014

7 commits

  • commit c29cb5eb8157a0049c882672a7f941261f23ea34 upstream.

    On the Dell machines with codec whose Subsystem Id is 0x10280610,
    0x10280629 or 0x1028063e, no external microphone can be detected when
    plugging a 3-ring headset. If we add "model=dell-headset-multi" for
    the snd-hda-intel.ko, the problem will disappear.

    The codecs on these machines belong to alc_269 family.

    BugLink: https://bugs.launchpad.net/bugs/1260303
    Cc: David Henningsson
    Signed-off-by: Hui Wang
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Hui Wang
     
  • commit 693e0cb052c607e2d41edf9e9f1fa99ff8c266c1 upstream.

    While enabling these machines, we found we would sometimes lose an
    interrupt if we change hardware volume during playback, and that
    disabling msi fixed this issue. (Losing the interrupt caused underruns
    and crackling audio, as the one second timeout is usually bigger than
    the period size.)

    The machines were all machines from HP, running AMD Hudson controller,
    and Realtek ALC282 codec.

    BugLink: https://bugs.launchpad.net/bugs/1260225
    Signed-off-by: David Henningsson
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    David Henningsson
     
  • commit ed697e1aaf7237b1a62af39f64463b05c262808d upstream.

    When the process is sleeping at the SNDRV_PCM_STATE_PAUSED
    state from the wait_for_avail function, the sleep process will be woken by
    timeout(10 seconds). Even if the sleep process wake up by timeout, by this
    patch, the process will continue with sleep and wait for the other state.

    Signed-off-by: JongHo Kim
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    JongHo Kim
     
  • commit 280484e708a3cc38fe6807718caa460e744c0b20 upstream.

    Reported-by: Kyung-Kwee Ryu
    Signed-off-by: Charles Keepax
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Charles Keepax
     
  • commit 939fd1e8d9deff206f12bd9d4e54aa7a4bd0ffd6 upstream.

    Some devices are getting very close to the limit whilst polling the RAM
    start, this patch adds a small delay to this loop to give a longer
    startup timeout.

    Signed-off-by: Charles Keepax
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Charles Keepax
     
  • commit f0199bc5e3a3ec13f9bc938556517ec430b36437 upstream.

    When wm8904 work in DSP mode B, we still need to configure it to
    work in DSP mode. Or else, it will work in Right Justified mode.

    Signed-off-by: Bo Shen
    Acked-by: Charles Keepax
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Bo Shen
     
  • commit 241bf43321a10815225f477bba96a42285a2da73 upstream.

    In tegra*_i2s_set_fmt(), in the (fmt == SND_SOC_DAIFMT_CBM_CFM) case,
    "val" is never assigned to, but left uninitialized. The other case does
    initialized it. Fix this by initializing val at the start of the
    function, and only ever ORing into it.

    Update the handling of "mask" so it works the same way for consistency.

    Update tegra20_spdif.c to use the same code-style for consistency, even
    though it doesn't happen to suffer from the same problem at present.

    Signed-off-by: Stephen Warren
    Reviewed-by: Thierry Reding
    Signed-off-by: Mark Brown
    Fixes: 0f163546a772 ("ASoC: tegra: use regmap more directly")
    Signed-off-by: Greg Kroah-Hartman

    Stephen Warren
     

20 Dec, 2013

3 commits

  • commit c9a6338aecdb92f9d015ecc26d203e54250bebbb upstream.

    In case a single HDA card has both HDMI and S/PDIF outputs, the S/PDIF
    outputs will have their IEC958 controls created starting from index 16
    and the HDMI controls will be created starting from index 0.

    However, HDMI simple_playback_build_controls() as used by old VIA and
    NVIDIA codecs incorrectly requests the IEC958 controls to be created
    with an S/PDIF type instead of HDMI.
    In case the card has other codecs that have HDMI outputs, the controls
    will be created with wrong index=16, causing them to e.g. be unreachable
    by the ALSA "hdmi" alias.

    Fix that by making simple_playback_build_controls() request controls
    with HDMI indexes.

    Not many cards have an affected configuration, but e.g. ASUS M3N78-VM
    contains an integrated NVIDIA HDA "card" with:
    - a VIA codec that has, among others, an S/PDIF pin incorrectly
    labelled as an HDMI pin, and
    - an NVIDIA MCP7x HDMI codec.

    Reported-by: MysterX on #openelec
    Tested-by: MysterX on #openelec
    Signed-off-by: Anssi Hannula
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Anssi Hannula
     
  • commit ebb93c057dda376414fbc499ad6ace9b527dff5a upstream.

    Not all channels have been initialized, so far, especially when aamix
    NID itself doesn't have amps but its leaves have. This patch fixes
    these holes. Otherwise you might get unexpected loopback inputs,
    e.g. from surround channels.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     
  • commit 3690739b013504d33fe9348dd45f6b126aa370fb upstream.

    AD1986A codec is a pretty old codec and has really many hidden
    restrictions. One of such is that each DAC is dedicated to certain
    pin although there are possible connections. Currently, the generic
    parser tries to assign individual DACs as much as possible, and this
    lead to two bad situations: connections where the sound actually
    doesn't work, and connections conflicting other channels.

    We may fix this by trying to find the best connections more harder,
    but as of now, it's easier to give some hints for paired DAC/pin
    connections and honor them if available, since such a hint is needed
    only for specific codecs (right now only AD1986A, and there will be
    unlikely any others in future).

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=64971
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=66621
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     

12 Dec, 2013

9 commits

  • commit b4af6ef99a60c5b56df137d7accd81ba1ee1254e upstream.

    According to WM8731 "PD, Rev 4.9 October 2012" datasheet, when it
    works in DSP mode A, LRP = 1, while works in DSP mode B, LRP = 0.
    So, fix LRP for DSP mode as the datesheet specification.

    Signed-off-by: Bo Shen
    Acked-by: Charles Keepax
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Bo Shen
     
  • commit 2ab2b74277a86afe0dd92976db695a2bb8b93366 upstream.

    Otherwise we'll skip sync on resume.

    Signed-off-by: Mark Brown
    Acked-by: Charles Keepax
    Signed-off-by: Greg Kroah-Hartman

    Mark Brown
     
  • commit eb82594b75b0cf54c667189e061934b7c49b5d42 upstream.

    This machine also has mono output if run through DAC node 0x03.

    BugLink: https://bugs.launchpad.net/bugs/1256212
    Tested-by: David Chen
    Signed-off-by: David Henningsson
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    David Henningsson
     
  • commit 0756f09c4946fe2d9ce2ebcb6f2e3c58830d22a3 upstream.

    MacBook Air 2,1 has a fairly different pin assignment from its brother
    MBA 1,1, and yet another quirks are needed for pin 0x18 and 0x19,
    similarly like what iMac 9,1 requires, in order to make the sound
    working on it.

    Reported-and-tested-by: Bruno Prémont
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     
  • commit 1cd9b2f78bf29d5282e02b32f9b3ecebc5842a7c upstream.

    It seems that EAPD on NID 0x16 is the only control over all outputs on
    HP machines with AD1984A while turning EAPD on NID 0x12 breaks the
    output. Thus we need to avoid fiddling EAPD on NID. As a quick
    workaround, just set own_eapd_ctrl flag for the wrong EAPD, then
    implement finer EAPD controls.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=66321
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     
  • commit d59915d0655c5864b514f21daaeac98c047875dc upstream.

    By trial and error, I found this patch could work around an issue
    where the headset mic would stop working if you switch between the
    internal mic and the headset mic, and the internal mic was muted.

    It still takes a second or two before the headset mic actually starts
    working, but still better than nothing.

    Information update from Kailang:
    The verb was ADC digital mute(bit 6 default 1).
    Switch internal mic and headset mic will run alc_headset_mode_default.
    The coef index 0x11 will set to 0x0041.
    Because headset mode was fixed type. It doesn't need to run
    alc_determine_headset_type.
    So, the value still keep 0x0041. ADC was muted.

    BugLink: https://bugs.launchpad.net/bugs/1256840
    Signed-off-by: David Henningsson
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    David Henningsson
     
  • commit b3bd4fc3822a6b5883eaa556822487d87752d443 upstream.

    It seems that AD1986A cannot manage the dynamic pin on/off for
    auto-muting, but rather gets confused. Since each output has own amp,
    let's use it instead.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=64971
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     
  • commit e7ca237bfcf6a288702cb95e94ab94f642ccad88 upstream.

    ASUS Z35HL laptop also needs the very same fix as the previous one
    that was applied to ASUS W7J.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=66231
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     
  • commit 6ddf0fd1c462a418a3cbb8b0653820dc48ffbd98 upstream.

    The recent kernels got regressions on ASUS W7J with ALC660 codec where
    no sound comes out. After a long debugging session, we found out that
    setting the pin control on the unused NID 0x10 is mandatory for the
    outputs. And, it was found out that another magic of NID 0x0f that is
    required for other ASUS laptops isn't needed on this machine.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=66081
    Reported-and-tested-by: Andrey Lipaev
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     

09 Dec, 2013

1 commit

  • …ux-stable into ti-linux-3.12.y

    This is the 3.12.4 stable release

    * tag 'v3.12.4' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (295 commits)
    Linux 3.12.4
    drm/radeon/audio: correct ACR table
    drm/radeon/audio: improve ACR calculation
    aio: clean up aio ring in the fail path
    aio: nullify aio->ring_pages after freeing it
    aio: prevent double free in ioctx_alloc
    aio: checking for NULL instead of IS_ERR
    rework aio migrate pages to use aio fs
    take anon inode allocation to libfs.c
    aio: Fix a trinity splat
    ntp: Make periodic RTC update more reliable
    elevator: acquire q->sysfs_lock in elevator_change()
    elevator: Fix a race in elevator switching and md device initialization
    rt2800: add support for radio chip RF3070
    iommu: Remove stack trace from broken irq remapping warning
    iommu/vt-d: Fixed interaction of VFIO_IOMMU_MAP_DMA with IOMMU address limits
    HID: hid-elo: some systems cannot stomach work around
    HID: lg: fix Report Descriptor for Logitech MOMO Force (Black)
    video: kyro: fix incorrect sizes when copying to userspace
    usb: wusbcore: change WA_SEGS_MAX to a legal value
    ...

    Conflicts:
    arch/arm/mach-omap2/omap_device.c
    drivers/mtd/devices/m25p80.c
    drivers/usb/musb/davinci.c

    Signed-off-by: Dan Murphy <DMurphy@ti.com>

    Dan Murphy
     

05 Dec, 2013

9 commits

  • commit 2ded3e5b61d61d0bc90bebb8004db6184c7db6eb upstream.

    The current generic parser assumes blindly that the volume and mute
    amps are found in the aamix node itself. But on some codecs,
    typically Analog Devices ones, the aamix amps are separately
    implemented in each leaf node of the aamix node, and the current
    driver can't establish the correct amp controls. This is a regression
    compared with the previous static quirks.

    This patch extends the search for the amps to the leaf nodes for
    allowing the aamix controls again on such codecs.
    In this implementation, I didn't code to loop through the whole paths,
    since usually one depth should suffice, and we can't search too
    deeply, as it may result in the conflicting control assignments.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65641
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     
  • commit 1f0bbf03cb829162ec8e6d03c98aaaed88c6f534 upstream.

    Add a fixup entry for the missing bass speaker pin 0x16 on ASUS ET2700
    AiO desktop. The channel map will be added in the next patch, so that
    this can be backported easily to stable kernels.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65961
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     
  • commit ced4cefc75fdb8be95eaee325ad0f6b2fc0a484b upstream.

    When a headphone jack is configurable as input, the generic parser
    tries to make it retaskable as Headphone Mic. The switching can be
    done smoothly if Capture Source control exists (i.e. there is another
    input source). Or when user explicitly enables the creation of jack
    mode controls, "Headhpone Mic Jack Mode" will be created accordingly.

    However, if the headphone mic is the only input source, we have to
    create "Headphone Mic Jack Mode" control because there is no capture
    source selection. Otherwise, the generic parser assumes that the
    input is constantly enabled, thus the headphone is permanently set
    as input. This situation happens on the old MacBook Airs where no
    input is supported properly, for example.

    This patch fixes the problem: now "Headphone Mic Jack Mode" is created
    when such an input selection isn't possible.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65681
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     
  • commit 16c0cefe8951b2c4b824fd06011ac1b359b1ab3b upstream.

    When the hp mic pin has no VREF bits, the driver forgot to set PIN_IN
    bit. Spotted during debugging old MacBook Airs.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65681
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     
  • commit ba4c4d0a9021ab034554d532a98133d668b87599 upstream.

    It's compatible with ALC269.

    Signed-off-by: Kailang Yang
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Kailang Yang
     
  • commit 9ad54547cf6f4410eba83bb95dfd2a0966718d6d upstream.

    Set the missing pcbeep default amp for ALC668.

    Signed-off-by: Kailang Yang
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Kailang Yang
     
  • commit f69f86b1ba6493126a7f093a65a8952bcb183de2 upstream.

    Certain registers require patching after the SYSCLK has been brought up
    add support for this into the CODEC driver.

    Signed-off-by: Charles Keepax
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Charles Keepax
     
  • commit 3e68ce1bc72e5d6615677ec5a8b0a9bcb6c7a490 upstream.

    The FLL must be placed into free-run mode before disabling
    to allow it to entirely shut down.

    Signed-off-by: Richard Fitzgerald
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Richard Fitzgerald
     
  • commit fc7dc61d9a87011aaf8a6eb3144ebf9552adf5d2 upstream.

    Unbalanced calls to snd_imx_pcm_trigger() may result in endless
    FIQ activity and thus provoke eternal sound. While on the first glance,
    the switch statement looks pretty symmetric, the SUSPEND/RESUME
    pair is not: the suspend case comes along snd_pcm_suspend_all(),
    which for fsl/imx-pcm-fiq is called only at snd_soc_suspend(),
    but the resume case originates straight from the SNDRV_PCM_IOCTL_RESUME.
    This way userland may provoke an unbalanced resume, which might cause
    the fiq_enable counter to increase and never return to zero again,
    so eventually imx_pcm_fiq is never disabled.

    Simply removing the fiq_enable will solve the problem, as long as
    one never goes play and capture game simultaneously, but beware
    trying both at once, the early TRIGGER_STOP will cut off the other
    activity prematurely. So now playing and capturing is scrutinized
    separately, instead of by counting.

    Signed-off-by: Oskar Schirmer
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Oskar Schirmer