1. 02 1月, 2011 1 次提交
  2. 30 12月, 2010 2 次提交
  3. 29 12月, 2010 9 次提交
    • L
      ASoC: codecs: wm8753: Fix register cache incoherency · 776065e3
      Lars-Peter Clausen 提交于
      The multi-component patch(commit f0fba2ad) moved the allocation of the
      register cache from the driver to the ASoC core. Most drivers where adjusted to
      this, but the wm8753 driver still uses its own register cache for its
      private functions, while functions from the ASoC core use the generic cache.
      Furthermore the generic cache uses zero-based numbering while the wm8753 cache
      uses one-based numbering.
      Thus we end up with two from each other incoherent caches, which leads to undefined
      behaviour and crashes.
      This patch fixes the issue by changing the wm8753 driver to use the generic
      register cache in its private functions.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      776065e3
    • L
      ASoC: codecs: wm9090: Fix register cache incoherency · da280f51
      Lars-Peter Clausen 提交于
      The multi-component patch(commit f0fba2ad) moved the allocation of the
      register cache from the driver to the ASoC core. Most drivers where adjusted to
      this, but the wm9090 driver still uses its own register cache for its
      private functions, while functions from the ASoC core use the generic cache.
      Thus we end up with two from each other incoherent caches, which can lead to
      undefined behaviour.
      This patch fixes the issue by changing the wm9090 driver to use the
      generic register cache in its private functions.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: stable@kernel.org (for 2.6.37 only)
      da280f51
    • L
      ASoC: codecs: wm8962: Fix register cache incoherency · 7f87e30e
      Lars-Peter Clausen 提交于
      The multi-component patch(commit f0fba2ad) moved the allocation of the
      register cache from the driver to the ASoC core. Most drivers where adjusted to
      this, but the wm8962 driver still uses its own register cache for its
      private functions, while functions from the ASoC core use the generic cache.
      Thus we end up with two from each other incoherent caches, which can lead to
      undefined behaviour.
      This patch fixes the issue by changing the wm8962 driver to use the
      generic register cache in its private functions.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: stable@kernel.org (for 2.6.37 only)
      7f87e30e
    • L
      ASoC: codecs: wm8955: Fix register cache incoherency · 715920d0
      Lars-Peter Clausen 提交于
      The multi-component patch(commit f0fba2ad) moved the allocation of the
      register cache from the driver to the ASoC core. Most drivers where adjusted to
      this, but the wm8955 driver still uses its own register cache for its
      private functions, while functions from the ASoC core use the generic cache.
      Thus we end up with two from each other incoherent caches, which can lead to
      undefined behaviour.
      This patch fixes the issue by changing the wm8955 driver to use the
      generic register cache in its private functions.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: stable@kernel.org (for 2.6.37 only)
      715920d0
    • L
      ASoC: codecs: wm8904: Fix register cache incoherency · f578a188
      Lars-Peter Clausen 提交于
      The multi-component patch(commit f0fba2ad) moved the allocation of the
      register cache from the driver to the ASoC core. Most drivers where adjusted to
      this, but the wm8904 driver still uses its own register cache for its
      private functions, while functions from the ASoC core use the generic cache.
      Thus we end up with two from each other incoherent caches, which can lead to
      undefined behaviour.
      This patch fixes the issue by changing the wm8904 driver to use the
      generic register cache in its private functions.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Cc: Ian Lartey <ian@opensource.wolfsonmicro.com>
      Cc: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: stable@kernel.org (for 2.6.37 only)
      f578a188
    • L
      ASoC: codecs: wm8741: Fix register cache incoherency · 52ca353b
      Lars-Peter Clausen 提交于
      The multi-component patch(commit f0fba2ad) moved the allocation of the
      register cache from the driver to the ASoC core. Most drivers where adjusted to
      this, but the wm8741 driver still uses its own register cache for its
      private functions, while functions from the ASoC core use the generic cache.
      Thus we end up with two from each other incoherent caches, which can lead to
      undefined behaviour.
      This patch fixes the issue by changing the wm8741 driver to use the
      generic register cache in its private functions.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Cc: Ian Lartey <ian@opensource.wolfsonmicro.com>
      Cc: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: stable@kernel.org (for 2.6.37 only)
      52ca353b
    • L
      ASoC: codecs: wm8523: Fix register cache incoherency · beebca31
      Lars-Peter Clausen 提交于
      The multi-component patch(commit f0fba2ad) moved the allocation of the
      register cache from the driver to the ASoC core. Most drivers where adjusted to
      this, but the wm8523 driver still uses its own register cache for its
      private functions, while functions from the ASoC core use the generic cache.
      Thus we end up with two from each other incoherent caches, which can lead to
      undefined behaviour.
      This patch fixes the issue by changing the wm8523 driver to use the
      generic register cache in its private functions.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Cc: Ian Lartey <ian@opensource.wolfsonmicro.com>
      Cc: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: stable@kernel.org (for 2.6.37 only)
      beebca31
    • L
      ASoC: codecs: max98088: Fix register cache incoherency · d24eb0db
      Lars-Peter Clausen 提交于
      The multi-component patch(commit f0fba2ad) moved the allocation of the
      register cache from the driver to the ASoC core. Most drivers where adjusted to
      this, but the max98088 driver still uses its own register cache for its
      private functions, while functions from the ASoC core use the generic cache.
      Thus we end up with two from each other incoherent caches, which can lead to
      undefined behaviour.
      This patch fixes the issue by changing the max98088 driver to use the
      generic register cache in its private functions.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Cc: Peter Hsiang <Peter.Hsiang@maxim-ic.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: stable@kernel.org (for 2.6.37 only)
      d24eb0db
    • L
      ASoC: codecs: Add missing control_type initialization · 7f984b55
      Lars-Peter Clausen 提交于
      Some codec drivers do not initialize the control_type field in their private
      device struct, but still use it when calling snd_soc_codec_set_cache_io.
      This patch fixes the issue by properly initializing it in the drivers probe
      functions.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: stable@kernel.org (for 2.6.37 only)
      7f984b55
  4. 23 12月, 2010 5 次提交
  5. 21 12月, 2010 3 次提交
  6. 20 12月, 2010 1 次提交
  7. 17 12月, 2010 3 次提交
  8. 15 12月, 2010 2 次提交
  9. 14 12月, 2010 1 次提交
  10. 09 12月, 2010 5 次提交
  11. 08 12月, 2010 3 次提交
    • A
      ALSA: hda - Reset sample sizes and max bitrates when reading ELD · 0bbaee3a
      Anssi Hannula 提交于
      When a new HDMI/DP device is plugged in, hdmi_update_short_audio_desc()
      is called for every SAD (Short Audio Descriptor) in the ELD data. For
      LPCM coding type SAD defines the supported sample sizes. For several
      other coding types (such as AC-3), a maximum bitrate is defined.
      
      The maximum bitrate and sample size fields are not always cleared.
      Therefore, if a device is unplugged and a different one is plugged in,
      and the coding types of some SAD positions differ between the devices,
      the old max_bitrate or sample_bits values will persist if the new SADs
      do not define those values.
      
      The leftover max_bitrate and sample_bits do not cause any issues other
      than wrongly showing up in eld#X.Y procfs file and kernel log.
      
      Fix that by always clearing sample_bits and max_bitrate when reading
      SADs.
      Signed-off-by: NAnssi Hannula <anssi.hannula@iki.fi>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      0bbaee3a
    • A
      ALSA: hda - Always allow basic audio irrespective of ELD info · 3dc86429
      Anssi Hannula 提交于
      Commit bbbe3390 added functionality to restrict PCM parameters
      based on ELD info (derived from EDID data) of the audio sink.
      
      However, according to CEA-861-D no SAD is needed for basic audio
      (32/44.1/48kHz stereo 16-bit audio), which is instead indicated with a
      basic audio flag in the CEA EDID Extension.
      
      The flag is not present in ELD. However, as all audio capable sinks are
      required to support basic audio, we can assume it to be always
      available.
      
      Fix allowed audio formats with sinks that have SADs (Short Audio
      Descriptors) which do not completely overlap with the basic audio
      formats (there are no reports of affected devices so far) by always
      assuming that basic audio is supported.
      Reported-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NAnssi Hannula <anssi.hannula@iki.fi>
      Cc: stable@kernel.org
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      3dc86429
    • A
      ALSA: hda - Do not wrongly restrict min_channels based on ELD · 4b0dbdb1
      Anssi Hannula 提交于
      Commit bbbe3390 added functionality to restrict PCM parameters
      based on ELD info (derived from EDID data) of the audio sink.
      
      However, it wrongly assumes that the bits 0-2 of the first byte of
      CEA Short Audio Descriptors mean a supported number of channels. In
      reality, they mean the maximum number of channels (as per CEA-861-D
      7.5.2). This means that the channel count can only be used to restrict
      max_channels, not min_channels.
      
      Restricting min_channels causes us to deny opening the device in stereo
      mode if the sink only has SADs that declare larger numbers of channels
      (like Primare SP32 AV Processor does).
      
      Fix that by not restricting min_channels based on ELD information.
      Signed-off-by: NAnssi Hannula <anssi.hannula@iki.fi>
      Reported-by: NJean-Yves Avenard <jyavenard@gmail.com>
      Tested-by: NJean-Yves Avenard <jyavenard@gmail.com>
      Cc: stable@kernel.org
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      4b0dbdb1
  12. 07 12月, 2010 3 次提交
  13. 06 12月, 2010 2 次提交