30 Apr, 2013

1 commit

  • Pull char/misc driver update from Greg Kroah-Hartman:
    "Here's the big char / misc driver update for 3.10-rc1

    A number of various driver updates, the majority being new
    functionality in the MEI driver subsystem (it's now a subsystem, it
    started out just a single driver), extcon updates, memory updates,
    hyper-v updates, and a bunch of other small stuff that doesn't fit in
    any other tree.

    All of these have been in linux-next for a while"

    * tag 'char-misc-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (148 commits)
    Tools: hv: Fix a checkpatch warning
    tools: hv: skip iso9660 mounts in hv_vss_daemon
    tools: hv: use FIFREEZE/FITHAW in hv_vss_daemon
    tools: hv: use getmntent in hv_vss_daemon
    Tools: hv: Fix a checkpatch warning
    tools: hv: fix checks for origin of netlink message in hv_vss_daemon
    Tools: hv: fix warnings in hv_vss_daemon
    misc: mark spear13xx-pcie-gadget as broken
    mei: fix krealloc() misuse in in mei_cl_irq_read_msg()
    mei: reduce flow control only for completed messages
    mei: reseting -> resetting
    mei: fix reading large reposnes
    mei: revamp mei_irq_read_client_message function
    mei: revamp mei_amthif_irq_read_message
    mei: revamp hbm state machine
    Revert "drivers/scsi: use module_pcmcia_driver() in pcmcia drivers"
    Revert "scsi: pcmcia: nsp_cs: remove module init/exit function prototypes"
    scsi: pcmcia: nsp_cs: remove module init/exit function prototypes
    mei: wd: fix line over 80 characters
    misc: tsl2550: Use dev_pm_ops
    ...

    Linus Torvalds
     

20 Apr, 2013

1 commit


15 Apr, 2013

1 commit


12 Apr, 2013

6 commits


10 Apr, 2013

2 commits


07 Apr, 2013

1 commit

  • The usb_control_msg() function expects __u16 types and performs
    the endianness conversions by itself.
    However, in three places, a conversion is performed before it is
    handed over to usb_control_msg(), which leads to a double conversion
    (= no conversion):
    * snd_usb_nativeinstruments_boot_quirk()
    * snd_nativeinstruments_control_get()
    * snd_nativeinstruments_control_put()

    Caught by sparse:

    sound/usb/mixer_quirks.c:512:38: warning: incorrect type in argument 6 (different base types)
    sound/usb/mixer_quirks.c:512:38: expected unsigned short [unsigned] [usertype] index
    sound/usb/mixer_quirks.c:512:38: got restricted __le16 [usertype]
    sound/usb/mixer_quirks.c:543:35: warning: incorrect type in argument 5 (different base types)
    sound/usb/mixer_quirks.c:543:35: expected unsigned short [unsigned] [usertype] value
    sound/usb/mixer_quirks.c:543:35: got restricted __le16 [usertype]
    sound/usb/mixer_quirks.c:543:56: warning: incorrect type in argument 6 (different base types)
    sound/usb/mixer_quirks.c:543:56: expected unsigned short [unsigned] [usertype] index
    sound/usb/mixer_quirks.c:543:56: got restricted __le16 [usertype]
    sound/usb/quirks.c:502:35: warning: incorrect type in argument 5 (different base types)
    sound/usb/quirks.c:502:35: expected unsigned short [unsigned] [usertype] value
    sound/usb/quirks.c:502:35: got restricted __le16 [usertype]

    Signed-off-by: Eldad Zack
    Acked-by: Daniel Mack
    Cc:
    Signed-off-by: Takashi Iwai

    Eldad Zack
     

05 Apr, 2013

1 commit


04 Apr, 2013

6 commits

  • This reverts commit 6ab317419c62850a71e2adfd1573e5ee87d8774f.

    The commit [6ab317419c: ALSA: hda - Allow power_save_controller option
    override DCAPS] changed the behavior of power_save_controller so that
    it can override the driver capability. This assumed that this option
    is rarely changed dynamically unlike power_save option. Too naive.

    It turned out that the user-space power-management tool tries to set
    power_save_controller option to 1 together with power_save option
    without knowing what's actually doing. This enabled forcibly the
    runtime PM of the controller, which is known to be broken om many
    chips thus disabled as default.

    So, the only sane fix is to revert this commit again. It was intended
    to ease debugging/testing for runtime PM enablement, but obviously we
    need another way for it.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=56171
    Reported-and-tested-by: Nikita Tsukanov
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Rename "Digitial In" to "Digital In". This function is only used for
    proc output, so should not cause any problems to change.

    Signed-off-by: David Henningsson
    Signed-off-by: Takashi Iwai

    David Henningsson
     
  • * Added the device ID to the modalias list and assinged ALC662 patches
    for it
    * Added 4 port support for the device ID 0671 in alc662_parse_auto_config

    Signed-off-by: Rainer Koenig
    Signed-off-by: Takashi Iwai

    Rainer Koenig
     
  • The tegra dmaengine driver does not support pausing and resuming a DMA stream.
    The tegra PCM driver still claims to support pause and resume though and
    implements them by stopping and restarting the stream. This is not what an
    application using pause/resume would expect. Usually applications have support
    for working around PCMs which do not support suspend and resume, so don't set
    the SNDRV_PCM_INFO_PAUSE and SNDRV_PCM_INFO_RESUME flags for the tegra PCM and
    use the default snd_dmaengine_pcm_trigger callback.

    Signed-off-by: Lars-Peter Clausen
    Reviewed-by: Stephen Warren
    Tested-by: Stephen Warren
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     
  • Currently, a new platform device is created for secondary device
    by calling platform_device_register_resndata and then the drvdata
    is set for this device.

    The following patch has been added to driver core:
    "driver core: fix possible missing of device probe".

    This results in the added device getting probed immediately but
    the drvdata for the secondary device is not yet set.
    This patch removes the platform_device_register_resndata call and
    instead calls platform_device_alloc, platform_set_drvdata and
    platform_device_add which fixes the above issue.

    Signed-off-by: Prathyush K
    Signed-off-by: Padmavathi Venna
    Signed-off-by: Mark Brown

    Prathyush K
     
  • This patch fixes a possible crash in case drvdata for the secondary
    device is not set.

    Signed-off-by: Prathyush K
    Signed-off-by: Padmavathi Venna
    Signed-off-by: Mark Brown

    Prathyush K
     

03 Apr, 2013

1 commit

  • The C-Media CM6631 USB receiver doesn't respond to changes in sample rate
    while the interface is active. The same behavior is observed in other UAC2
    hardware like the VIA VT1731.

    Reset the interface after setting the sampling frequency on sample rate
    changes, to ensure that the sample rate set by snd_usb_init_sample_rate() is
    used. Otherwise, the device will try to use the sample rate of the previous
    stream, causing distorted sound on sample rate changes.

    The reset is performed for all UAC2 devices, as it should not affect a
    standards compliant device, but it is only necessary for C-Media CM6631,
    VIA VT1731 and possibly others.

    Failure to read sample rate from the device is not handled as an error in
    set_sample_rate_v2(), as (permanent or intermittent) failure to read sample
    rate isn't essential for a successful sample rate set.

    Signed-off-by: Torstein Hegge
    Acked-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Torstein Hegge
     

02 Apr, 2013

2 commits

  • This patch let ELD debug message show 'pin_eld->monitor_present' which reflects
    the real pin response to verb GET_PIN_SENSE.

    'eld->monitor_present' should not be used here because 'eld' is a temp
    structure now and so its "monitor_present" is not set.

    Signed-off-by: Mengdong Lin
    Acked-by: David Henningsson
    Signed-off-by: Takashi Iwai

    Mengdong Lin
     
  • In function snd_hdmi_get_eld(), the variable 'ret' should be initialized to 0.
    Otherwise it will be returned uninitialized as non-zero after ELD info is got
    successfully. Thus hdmi_present_sense() will always assume ELD info is invalid
    by mistake, and /proc file system cannot show the proper ELD info.

    Signed-off-by: Mengdong Lin
    Cc: stable@vger.kernel.org
    Acked-by: David Henningsson
    Signed-off-by: Takashi Iwai

    Mengdong Lin
     

28 Mar, 2013

1 commit


27 Mar, 2013

1 commit


26 Mar, 2013

10 commits


22 Mar, 2013

2 commits

  • The dma-sh7760 currently fails with the following compile error:
    sound/soc/sh/dma-sh7760.c:346:2: error: unknown field 'pcm_ops' specified in initializer
    sound/soc/sh/dma-sh7760.c:346:2: warning: initialization from incompatible pointer type
    sound/soc/sh/dma-sh7760.c:347:2: error: unknown field 'pcm_new' specified in initializer
    sound/soc/sh/dma-sh7760.c:347:2: warning: initialization makes integer from pointer without a cast
    sound/soc/sh/dma-sh7760.c:348:2: error: unknown field 'pcm_free' specified in initializer
    sound/soc/sh/dma-sh7760.c:348:2: warning: initialization from incompatible pointer type
    sound/soc/sh/dma-sh7760.c: In function 'sh7760_soc_platform_probe':
    sound/soc/sh/dma-sh7760.c:353:2: warning: passing argument 2 of 'snd_soc_register_platform' from incompatible pointer type
    include/sound/soc.h:368:5: note: expected 'struct snd_soc_platform_driver *' but argument is of type 'struct snd_soc_platform *'

    This is due the misnaming of the snd_soc_platform_driver type name and 'ops'
    field. The issue was introduced in commit f0fba2a("ASoC: multi-component - ASoC
    Multi-Component Support").

    Signed-off-by: Lars-Peter Clausen
    Signed-off-by: Mark Brown
    Cc: stable@vger.kernel.org

    Lars-Peter Clausen
     
  • The generic parser should evaluate the availability of the independent
    HP when specified. Otherwise a DAC without the direct connection to
    the corresponding pin may be assigned for the HP, but the driver
    doesn't check it at all. The problem was actually seen on some
    machines with VT1708s or equivalent codec, where DAC0 is assigned to
    HP although it can be connected only via aamix.

    This patch adds the badness evaluation for the independent HP to make
    it working properly.

    Reported-by: Lydia Wang
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

21 Mar, 2013

1 commit

  • The current DSP loader code abuses snd_hda_lock_devices() for ensuring
    the DSP loader not conflicting with the other normal operations. But
    this trick obviously doesn't work for the PM resume since the streams
    are kept opened there where snd_hda_lock_devices() returns -EBUSY.
    That means we need another lock mechanism instead of abuse.

    This patch provides the new lock state to azx_dev. Theoretically it's
    possible that the DSP loader conflicts with the stream that has been
    already assigned for another PCM. If it's running, the DSP loader
    should simply fail. If not -- it's the case for PM resume --, we
    should assign this stream temporarily to the DSP loader, and take it
    back to the PCM after finishing DSP loading. If the PCM is operated
    during the DSP loading, it should get an error, too.

    Reported-and-tested-by: Dylan Reid
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

20 Mar, 2013

3 commits