1. 13 Sep, 2013 4 commits
  2. 11 Sep, 2013 7 commits
  3. 09 Sep, 2013 3 commits
  4. 08 Sep, 2013 1 commit
  5. 06 Sep, 2013 4 commits
    • Mengdong Lin's avatar
      ALSA: hda - unmute pin amplifier in infoframe setup for Haswell · 58f7d28d
      Mengdong Lin authored
      When Gfx driver reconnects a port and transcoder, the pin amplifier will
      be muted. To enable sound, the pin amp need to be unmuted.
      
      This patch
      - moves pin amp unmuting from stream preparing to hdmi_setup_audio_infoframe().
        So if port:transcoder reconnection happens during stream playback, the ELDV
        unsol event can stil trigger pin's amp unmuting when re-setting up audio
        info frame.
      
      - remove reading pin amp status before unmuting for speed-up, since pin amp
        should always be unmuted.
      
      - rename haswell_verify_pin_D0() to haswell_verify_D0(), since the convertor
        power state is also fixed here.
      
      This patch is mostly based on suggestion of David Henningsson.
      
      Cc: David Henningsson <david.henningsson@canonical.com>
      Signed-off-by: default avatarMengdong Lin <mengdong.lin@intel.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      58f7d28d
    • Mengdong Lin's avatar
      ALSA: hda - define is_haswell() to check if a display audio codec is Haswell · fb87fa3a
      Mengdong Lin authored
      To apply Haswell specific fixings, this patch defines is_haswell() to check
      whether a display audio codec is Haswell, to avoid explicitly checking Haswell
      vendor ID everywhere.
      Signed-off-by: default avatarMengdong Lin <mengdong.lin@intel.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      fb87fa3a
    • Takashi Iwai's avatar
      ALSA: hda - Add dock speaker support for ASUS TX300 · 7bba2157
      Takashi Iwai authored
      ASUS TX300 has a built-in speaker in the tablet part and in the dock
      part, and the tablet speaker is supposed to be unused while the
      machine is docked.  The current HD-audio driver, however, doesn't
      support the dock speaker, partly because BIOS doesn't set up the pin
      for the corresponding output.
      
      But, not only the missing pin config, also the missing unsol event
      handling is another issue.  Otherwise the automatic switching via
      dock/undock won't work.
      
      Through debugging sessions, we found out that the dock speaker pin is
      NID 0x1b, and it generates an unsol event at docking/undocking, the
      docking state can be inquired via the normal pin detection verb.
      Also, it's turned out that GPIO 2 is needed as an amp.  So, all
      materials are ready to cook.
      
      This patch provides the basic dock speaker support with TX300:
      - The dock speaker is turned on/off via "Dock Speaker" mixer mute.
      - The dock speaker is automatically muted when docked.  This is
        independently from the mixer mute switch, just like the headphone
        auto-mute function.
      
      The implementation is a bit tricky.  Since we want to handle it as a
      secondary speaker, we set it up a pin as a speaker with a jack
      detection.  Then, the fixup function registers the own unsol callback
      for this pin because the standard automute can't handle the thing like
      a "speaker jack".  In the own automute hook, we apply the mute of the
      tablet speaker in addition by checking the dock state.
      
      Also, the speaker control names are slightly shuffled because the
      generic parser doesn't give good names but blindly assumes a bass
      speaker as a secondary speaker.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=59791Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      7bba2157
    • Thomas Petazzoni's avatar
      ASoC: kirkwood: change the compatible string of the kirkwood-i2s driver · d098b2f0
      Thomas Petazzoni authored
      The compatible string of the kirkwood-i2s driver was chosen as
      "marvell,mvebu-audio". Using such a compatible string is not a good
      idea, since "mvebu" is the name of a large family of SOCs, in which
      new, unknown SOCs will be coming in the future. It is therefore
      impossible to know what will be evolutions of this hardware block in
      the next generations of the SOCs. For this reason, the recommandation
      for compatible strings of on-SOCs devices has always been to use the
      name of the oldest SOC that has the hardware block. New SOCs that have
      an exactly compatible hardware block can reference it using the same
      compatible string. See [1], [2] and [3] for various cases were this
      suggestion was made, including from Rob Herring, a Device Tree binding
      maintainer.
      
      As an example, there are already small differences between current
      generations:
      
       * On Kirkwood, only one interrupt is used for audio.
       * On Dove, two interrupts are used, one for audio data and one for
         error reporting.
      
      In the near future, I'll be adding audio support to Armada 370, which
      allows has the same hardware block (but maybe with minor variants).
      
      Therefore, this patch changes the driver to accept
      "marvell,kirkwood-audio" and "marvell,dove-audio" as compatible
      strings instead of the too-generic "marvell,mvebu-audio". The reason
      for the two different compatible strings is the difference in the
      number of interrupts used by the two SOCs for audio.
      
      This Device Tree binding has never been part of a Linux kernel stable
      release so far, so it can be changed now without breaking backward
      compatibility.
      
      [1] http://lists.infradead.org/pipermail/linux-mtd/2012-March/040417.html
      [2] http://lists.infradead.org/pipermail/linux-arm-kernel/2013-April/161065.html
      [3] http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/087702.htmlSigned-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      d098b2f0
  6. 04 Sep, 2013 1 commit
  7. 03 Sep, 2013 2 commits
    • Fabio Estevam's avatar
      ASoC: fsl: imx-audmux: Do not call imx_audmux_parse_dt_defaults() on non-dt kernel · bae35992
      Fabio Estevam authored
      Booting a mx51babbage board with a non-dt kernel leads to the following crash:
      
      Unable to handle kernel NULL pointer dereference at virtual address 0000001c
      pgd = 80004000
      [0000001c] *pgd=00000000
      Internal error: Oops: 5 [#1] SMP ARM
      Modules linked in:
      CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.11.0-next-20130903 #287
      task: 9f860000 ti: 9f862000 task.ti: 9f862000
      PC is at of_get_next_available_child+0x5c/0x68
      LR is at of_get_next_available_child+0x1c/0x68
      pc : [<8043ea58>]    lr : [<8043ea18>]    psr: 60000193
      sp : 9f863d58  ip : 00000000  fp : 9f863d74
      r10: 9f89a010  r9 : 9f862000  r8 : 807bb26c
      r7 : 80615d5c  r6 : 00000000  r5 : 60000113  r4 : 00000000
      r3 : 00000000  r2 : 808770a4  r1 : 00000011  r0 : 60000113
      Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
      Control: 10c5387d  Table: 90004019  DAC: 00000017
      Process swapper/0 (pid: 1, stack limit = 0x9f862240)
      Stack: (0x9f863d58 to 0x9f864000)
      
      This is caused by commit 8548a464 (ASoC: imx-audmux: Read default
      configuration from devicetree).
      
      In order to fix this, add a check for 'of_id' so that
      imx_audmux_parse_dt_defaults() only gets called when a dt kernel is running.
      Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      bae35992
    • Takashi Iwai's avatar
      ALSA: hda - Re-setup HDMI pin and audio infoframe on stream switches · b054087d
      Takashi Iwai authored
      When the transcoder:port mapping on Haswell HDMI/DP audio is changed
      during the stream playback, the sound gets lost.  Typically this
      problem is seen when the user switches the graphics mode from eDP+DP
      to DP-only configuration, where CRTC 1 is used for DP in the former
      while CRTC 0 is used for the latter.
      
      The graphics controller notifies the change via the normal ELD update
      procedure, so we get the intrinsic event.  For enabling the sound
      again, the HDMI audio driver needs to reset the pin and set up the
      audio infoframe again.
      
      This patch achieves it by:
      - keep the current status of channels and info frame setup in per_pin
        struct,
      - check the reconnection in the intrinsic event handler,
      - reset the pin and the re-invoke hdmi_setup_audio_infoframe()
        accordingly.
      
      The hdmi_setup_audio_infoframe() function has been changed, too, so
      that it can be invoked without passing the substream instance.
      
      The patch is mostly based on the work by Mengdong Lin.
      
      Cc: Mengdong Lin <mengdong.lin@intel.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      b054087d
  8. 02 Sep, 2013 6 commits
  9. 01 Sep, 2013 7 commits
  10. 31 Aug, 2013 5 commits
    • Lars-Peter Clausen's avatar
      ASoC: ssm2602: Fix cache sync · 9d863b88
      Lars-Peter Clausen authored
      The ssm2602 uses regmap for caching not soc-cache, so we need to use
      regcache_sync() instead of snd_soc_cache_sync().
      Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      9d863b88
    • Lars-Peter Clausen's avatar
      ASoC: Remove unused sysfs_registered field from snd_soc_codec struct · d7b1538c
      Lars-Peter Clausen authored
      The sysfs_registered field was added to the snd_soc_codec struct in commit
      f0fba2ad ("ASoC: multi-component - ASoC Multi-Component Support"), but has never
      been used.
      Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      d7b1538c
    • Lars-Peter Clausen's avatar
      ASoC: Remove unused debugfs_dapm field from snd_soc_{platform,codec} struct · ad758a67
      Lars-Peter Clausen authored
      The DAPM context struct has its own field where it stores the pointer to the
      DAPM debugfs entry. The debugfs_dapm field in the snd_soc_platform and
      snd_soc_codec structs are completely unused and can be removed.
      Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      ad758a67
    • Lars-Peter Clausen's avatar
      ASoC: Remove unused control_type field from snd_soc_codec struct · 43d92e7d
      Lars-Peter Clausen authored
      The control_type field was used by the core to track which raw IO methods to
      use, but when switching to regmap this was no longer necessary and so the last
      user of the field was removed in commit be3ea3b9 ("ASoC: Use new register map
      API for ASoC generic physical I/O"). The field is now completely unused and can
      be removed.
      Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      43d92e7d
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · a8787645
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) There was a simplification in the ipv6 ndisc packet sending
          attempted here, which avoided using memory accounting on the
          per-netns ndisc socket for sending NDISC packets.  It did fix some
          important issues, but it causes regressions so it gets reverted here
          too.  Specifically, the problem with this change is that the IPV6
          output path really depends upon there being a valid skb->sk
          attached.
      
          The reason we want to do this change in some form when we figure out
          how to do it right, is that if a device goes down the ndisc_sk
          socket send queue will fill up and block NDISC packets that we want
          to send to other devices too.  That's really bad behavior.
      
          Hopefully Thomas can come up with a better version of this change.
      
       2) Fix a severe TCP performance regression by reverting a change made
          to dev_pick_tx() quite some time ago.  From Eric Dumazet.
      
       3) TIPC returns wrongly signed error codes, fix from Erik Hugne.
      
       4) Fix OOPS when doing IPSEC over ipv4 tunnels due to orphaning the
          skb->sk too early.  Fix from Li Hongjun.
      
       5) RAW ipv4 sockets can use the wrong routing key during lookup, from
          Chris Clark.
      
       6) Similar to #1 revert an older change that tried to use plain
          alloc_skb() for SYN/ACK TCP packets, this broke the netfilter owner
          mark which needs to see the skb->sk for such frames.  From Phil
          Oester.
      
       7) BNX2x driver bug fixes from Ariel Elior and Yuval Mintz,
          specifically in the handling of virtual functions.
      
       8) IPSEC path error propagations to sockets is not done properly when
          we have v4 in v6, and v6 in v4 type rules.  Fix from Hannes Frederic
          Sowa.
      
       9) Fix missing channel context release in mac80211, from Johannes Berg.
      
      10) Fix network namespace handing wrt.  SCM_RIGHTS, from Andy
          Lutomirski.
      
      11) Fix usage of bogus NAPI weight in jme, netxen, and ps3_gelic
          drivers.  From Michal Schmidt.
      
      12) Hopefully a complete and correct fix for the genetlink dump locking
          and module reference counting.  From Pravin B Shelar.
      
      13) sk_busy_loop() must do a cpu_relax(), from Eliezer Tamir.
      
      14) Fix handling of timestamp offset when restoring a snapshotted TCP
          socket.  From Andrew Vagin.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (44 commits)
        net: fec: fix time stamping logic after napi conversion
        net: bridge: convert MLDv2 Query MRC into msecs_to_jiffies for max_delay
        mISDN: return -EINVAL on error in dsp_control_req()
        net: revert 8728c544 ("net: dev_pick_tx() fix")
        Revert "ipv6: Don't depend on per socket memory for neighbour discovery messages"
        ipv4 tunnels: fix an oops when using ipip/sit with IPsec
        tipc: set sk_err correctly when connection fails
        tcp: tcp_make_synack() should use sock_wmalloc
        bridge: separate querier and query timer into IGMP/IPv4 and MLD/IPv6 ones
        ipv6: Don't depend on per socket memory for neighbour discovery messages
        ipv4: sendto/hdrincl: don't use destination address found in header
        tcp: don't apply tsoffset if rcv_tsecr is zero
        tcp: initialize rcv_tstamp for restored sockets
        net: xilinx: fix memleak
        net: usb: Add HP hs2434 device to ZLP exception table
        net: add cpu_relax to busy poll loop
        net: stmmac: fixed the pbl setting with DT
        genl: Hold reference on correct module while netlink-dump.
        genl: Fix genl dumpit() locking.
        xfrm: Fix potential null pointer dereference in xdst_queue_output
        ...
      a8787645