1. 12 Jan, 2013 7 commits
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Use path-based parser for digital outputs · fef7fbbc
      Takashi Iwai authored
      Similar like analog output paths, use the path list for parsing and
      initializing digital outputs as well.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      fef7fbbc
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Consolidate to a single path list · c9967f1c
      Takashi Iwai authored
      We don't have to keep three individual path lists for input, output
      and loopback.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      c9967f1c
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Consolidate is_reachable_path() · 9c64076e
      Takashi Iwai authored
      alc_auto_is_dac_reachable() can be replaced fully with
      is_reachable_path().  The only difference is the order of arguments.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      9c64076e
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Add path active flag · 130e5f06
      Takashi Iwai authored
      ... and rewrite the initialization of output paths as a generic
      function that is applicable for both i/o directions.
      
      The new flag, active, is introduced to each nid_path entry.  This
      indicates whether the given path is active, and it's used for checking
      whether a certain widget can be turned off or changed when a path is
      no longer used or newly enabled.
      
      It's still used only in the output paths.  More wider adaption for
      input and loopback paths will be achieved in the later patch.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      130e5f06
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Remove non-standard automute mode · b8a47c79
      Takashi Iwai authored
      We are using only AUTOMUTE_MODE_PIN in patch_realtek.c and all others
      have been already dropped.  Let's remove the old superfluous codes.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      b8a47c79
    • Takashi Iwai's avatar
      ALSA: hda - Introduce snd_hda_codec_amp_init*() · 280e57d5
      Takashi Iwai authored
      The new function snd_hda_codec_amp_init() (and the stereo variant)
      initializes the amp value only once at the first access.  If the amp
      was already initialized or updated, this won't do anything more.
      
      It's useful for initializing the input amps that are in the part of
      the path but never used.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      280e57d5
    • Takashi Iwai's avatar
      ALSA: hda - Introduce cache & flush cmd / amp writes · c370dd6e
      Takashi Iwai authored
      For optimizing the verb executions, a new mechanism to cache the verbs
      and amp update commands is introduced.  With the new "write to cache
      and flush" way, you can reduce the same verbs that have been written
      multiple times.
      
      When codec->cached_write flag is set, the further
      snd_hda_codec_write_cache() and snd_hda_codec_amp_stereo() calls will
      be performed only on the command or amp cache table, but not sent to
      the hardware yet.  Once after you call all commands and update amps,
      call snd_hda_codec_resume_amp() and snd_hda_codec_resume_cache().
      Then all cached writes and amp updates will be written to the
      hardware, and the dirty flags are cleared.
      
      In this implementation, the existing cache table is reused, so
      actually no big code change is seen here.  Each cache entry has a new
      dirty flag now (so the cache key is now reduced to 31bit).
      
      As a good side-effect by this change, snd_hda_codec_resume_*() will no
      longer execute verbs that have been already issued during the resume
      phase by checking the dirty flags.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      c370dd6e
  2. 10 Jan, 2013 15 commits
    • Takashi Iwai's avatar
      ALSA: hda - Remove snd_hda_codec_amp_update() call from patch_*.c · 8092e606
      Takashi Iwai authored
      It's used only in one place in patch_analog.c, and it can be replaced
      with others better.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      8092e606
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Fix initialization of input amps in output paths · 9366ede7
      Takashi Iwai authored
      When initializing the output paths, we assumed the input amps have
      almost two inputs blindly.  It's not only generic but even incorrect
      for some codecs like ALC268 & co.  Also, the same assumption (two
      sources) exists for the bind input-amp controls.
      
      This patch changes the codes in these places to handle the input
      connections in a more generic way.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      9366ede7
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Check amp capabilities of aa-mixer widget · bd32f782
      Takashi Iwai authored
      For handling the analog-loopback paths more generically, check the amp
      capabilities of the aa-mixer widget, and create only the appropriate
      mixer elements.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      bd32f782
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Parse analog loopback paths more generically · c2fd19c2
      Takashi Iwai authored
      Improve the parser of analog loopback paths and handle in a more
      generic way.  The following changes are included in this patch:
      
      - Instead of assuming direct connections between pins and
        the mixer widget, track the whole path between them.  This fixes
        some missing connections like ALC660.
      
      - Introduce the path list for loopback paths like input and output
        path lists.  Currently it's not used for any real purposes, yet.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      c2fd19c2
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Parse input paths · 36f0fd54
      Takashi Iwai authored
      Just like the output paths, parse the whole paths for inputs as well
      and store in a path list.  For that purpose, rewrite the output parser
      code to be generically usable.
      
      The input path list is not referred at all in this patch.  It'll be
      used to replace the fixed adc/capsrc array in later patches for more
      flexible input path selections.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      36f0fd54
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Make path->idx[] and path->multi[] consistent · 95e960ce
      Takashi Iwai authored
      So far, idx[i] and multi[i] indicate the attribute of the widget
      path[i - 1].  This was just for simplifying the code in
      __parse_output_path(), but this is rather confusing for later use.
      It's more natural if both idx[i] and multi[i] point to the same widget
      of path[i].  This patch changes to that way.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      95e960ce
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Simplify the output volume initialization · 78e635c9
      Takashi Iwai authored
      Simplify the output path initialization using the existing path
      information instead of assuming the topology specific to Realtek
      codecs.  This is also implicitly a fix for some amp values on output
      pins where the old parser missed (e.g. ALC260 output pins).
      
      The same function alc_auto_set_output_and_unmute() can be used now for
      the multi-io activation, since the output selection means nothing but
      activating the given output path.
      
      And, finally at this stage, we can get rid of alc_go_down_to_selector()
      and other functions that are codec really specifically to Realtek
      codecs.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      78e635c9
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Reduce vol/mute ctl lookups at parsing codec · 792cf2fa
      Takashi Iwai authored
      So far, Realtek codec driver evaluates the NIDs for volume and mute
      controls twice, once while parsing the DACs and evaluating the
      assignment, and another while creating the mixer elements.  This is
      utterly redundant and even fragile, as it's assuming that the ctl
      element evaluation is identical between both parsing DACs and creating
      mixer elements.
      
      This patch simplifies the code flow by doing the volume / mute
      controls evaluation only once while parsing the DACs.  The patch ended
      up in larger changes than expected because of some cleanups became
      mandatory.
      
      As a gratis bonus, this patch also fixes some cases where the stereo
      channels are used wrongly for mono amps.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      792cf2fa
    • Takashi Iwai's avatar
      ALSA: hda - Fix mono amp values in proc output · 2f179721
      Takashi Iwai authored
      The mono widget is always connected to the left channel, thus the left
      channel amp value also should be referred for mono widgets instead of
      the right channel.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      2f179721
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Manage mixer controls in out_path list · ba811127
      Takashi Iwai authored
      As we parse the output paths more precisely now, we can use this path
      list for parsing the widgets for volume and mute mixer controls.
      The spec->vol_ctls[] and sw_ctls[] bitmasks are replaced with the
      ctls[] in each output path instance.
      
      Interestingly, this move alone automagically fixes some bugs that the
      conflicting volume or mute NIDs weren't properly detected.
      Also, by parsing the whole path, there are more chances to get a free
      widget for volume/mute controls.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      ba811127
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Add output path parser · 30dcd3b4
      Takashi Iwai authored
      Add the output path parser to Realtek codec driver as we already have
      in patch_via.c.  The nid_path struct represents the complete output
      path from a DAC to a pin.  The alc_spec contains an array of these
      paths, and a new path is added at each time when a new DAC is
      assigned.
      
      So far, this path list is used only in limited codes: namely in this
      patch, only alc_is_dac_already_used() checks the list instead of dac
      arrays in all possible outputs.  In the later development, the path
      list will be referred from more places, such as the mixer control
      assignment / check, the mute/unmute of active routes, etc.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      30dcd3b4
    • Takashi Iwai's avatar
      ALSA: hda/realtek - List up all available DACs · 463419de
      Takashi Iwai authored
      In the probing phase, create a list of all available DACs in the codec
      and use it for checking the single DAC connections.
      This list will be used in more other places in the later commits, too.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      463419de
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Simplify alc_auto_is_dac_reachable() · 6a84c305
      Takashi Iwai authored
      Use the helper function snd_hda_get_conn_index() instead of open
      codes.  This also improves the detection of some routes to DAC on
      ALC260 (although the difference doesn't influence on the end
      results of the mapping).
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      6a84c305
    • Kailang Yang's avatar
      ALSA: hda - Add support of new codec ALC284 · 065380f0
      Kailang Yang authored
      Added the support for a new codec ALC284, which is compatible with
      ALC269.  Also add more codec variants to handle the SSID check
      properly.
      Signed-off-by: default avatarKailang Yang <kailang@realtek.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      065380f0
    • Sachin Kamat's avatar
      ALSA: usb-audio: Make ebox44_table static · e8e7da23
      Sachin Kamat authored
      Fixes the following sparse warning:
      sound/usb/mixer_quirks.c:1209:23: warning:
      symbol 'ebox44_table' was not declared. Should it be static?
      Signed-off-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      e8e7da23
  3. 09 Jan, 2013 3 commits
  4. 07 Jan, 2013 2 commits
  5. 04 Jan, 2013 2 commits
  6. 03 Jan, 2013 2 commits
  7. 22 Dec, 2012 8 commits
    • Linus Torvalds's avatar
      Linux 3.8-rc1 · a49f0d1e
      Linus Torvalds authored
      a49f0d1e
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · 4fe19a13
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
       "This includes some fixes and code improvements (like
        clk_prepare_enable and clk_disable_unprepare), conversion from the
        omap_wdt and twl4030_wdt drivers to the watchdog framework, addition
        of the SB8x0 chipset support and the DA9055 Watchdog driver and some
        OF support for the davinci_wdt driver."
      
      * git://www.linux-watchdog.org/linux-watchdog: (22 commits)
        watchdog: mei: avoid oops in watchdog unregister code path
        watchdog: Orion: Fix possible null-deference in orion_wdt_probe
        watchdog: sp5100_tco: Add SB8x0 chipset support
        watchdog: davinci_wdt: add OF support
        watchdog: da9052: Fix invalid free of devm_ allocated data
        watchdog: twl4030_wdt: Change TWL4030_MODULE_PM_RECEIVER to TWL_MODULE_PM_RECEIVER
        watchdog: remove depends on CONFIG_EXPERIMENTAL
        watchdog: Convert dev_printk(KERN_<LEVEL> to dev_<level>(
        watchdog: DA9055 Watchdog driver
        watchdog: omap_wdt: eliminate goto
        watchdog: omap_wdt: delete redundant platform_set_drvdata() calls
        watchdog: omap_wdt: convert to devm_ functions
        watchdog: omap_wdt: convert to new watchdog core
        watchdog: WatchDog Timer Driver Core: fix comment
        watchdog: s3c2410_wdt: use clk_prepare_enable and clk_disable_unprepare
        watchdog: imx2_wdt: Select the driver via ARCH_MXC
        watchdog: cpu5wdt.c: add missing del_timer call
        watchdog: hpwdt.c: Increase version string
        watchdog: Convert twl4030_wdt to watchdog core
        davinci_wdt: preparation for switch to common clock framework
        ...
      4fe19a13
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 769cb858
      Linus Torvalds authored
      Pull CIFS fixes from Steve French:
       "Misc small cifs fixes"
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: eliminate cifsERROR variable
        cifs: don't compare uniqueids in cifs_prime_dcache unless server inode numbers are in use
        cifs: fix double-free of "string" in cifs_parse_mount_options
      769cb858
    • Linus Torvalds's avatar
      Merge tag 'dm-3.8-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm · b49249d1
      Linus Torvalds authored
      Pull dm update from Alasdair G Kergon:
       "Miscellaneous device-mapper fixes, cleanups and performance
        improvements.
      
        Of particular note:
         - Disable broken WRITE SAME support in all targets except linear and
           striped.  Use it when kcopyd is zeroing blocks.
         - Remove several mempools from targets by moving the data into the
           bio's new front_pad area(which dm calls 'per_bio_data').
         - Fix a race in thin provisioning if discards are misused.
         - Prevent userspace from interfering with the ioctl parameters and
           use kmalloc for the data buffer if it's small instead of vmalloc.
         - Throttle some annoying error messages when I/O fails."
      
      * tag 'dm-3.8-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm: (36 commits)
        dm stripe: add WRITE SAME support
        dm: remove map_info
        dm snapshot: do not use map_context
        dm thin: dont use map_context
        dm raid1: dont use map_context
        dm flakey: dont use map_context
        dm raid1: rename read_record to bio_record
        dm: move target request nr to dm_target_io
        dm snapshot: use per_bio_data
        dm verity: use per_bio_data
        dm raid1: use per_bio_data
        dm: introduce per_bio_data
        dm kcopyd: add WRITE SAME support to dm_kcopyd_zero
        dm linear: add WRITE SAME support
        dm: add WRITE SAME support
        dm: prepare to support WRITE SAME
        dm ioctl: use kmalloc if possible
        dm ioctl: remove PF_MEMALLOC
        dm persistent data: improve improve space map block alloc failure message
        dm thin: use DMERR_LIMIT for errors
        ...
      b49249d1
    • J. Bruce Fields's avatar
      Revert "nfsd: warn on odd reply state in nfsd_vfs_read" · 10532b56
      J. Bruce Fields authored
      This reverts commit 79f77bf9.
      
      This is obviously wrong, and I have no idea how I missed seeing the
      warning in testing: I must just not have looked at the right logs.  The
      caller bumps rq_resused/rq_next_page, so it will always be hit on a
      large enough read.
      Reported-by: default avatarDave Jones <davej@redhat.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      10532b56
    • Linus Torvalds's avatar
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 184e2516
      Linus Torvalds authored
      Pull more infiniband changes from Roland Dreier:
       "Second batch of InfiniBand/RDMA changes for 3.8:
         - cxgb4 changes to fix lookup engine hash collisions
         - mlx4 changes to make flow steering usable
         - fix to IPoIB to avoid pinning dst reference for too long"
      
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        RDMA/cxgb4: Fix bug for active and passive LE hash collision path
        RDMA/cxgb4: Fix LE hash collision bug for passive open connection
        RDMA/cxgb4: Fix LE hash collision bug for active open connection
        mlx4_core: Allow choosing flow steering mode
        mlx4_core: Adjustments to Flow Steering activation logic for SR-IOV
        mlx4_core: Fix error flow in the flow steering wrapper
        mlx4_core: Add QPN enforcement for flow steering rules set by VFs
        cxgb4: Add LE hash collision bug fix path in LLD driver
        cxgb4: Add T4 filter support
        IPoIB: Call skb_dst_drop() once skb is enqueued for sending
      184e2516
    • Linus Torvalds's avatar
      Merge tag 'asm-generic' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · 0264405b
      Linus Torvalds authored
      Pull asm-generic cleanup from Arnd Bergmann:
       "These are a few cleanups for asm-generic:
      
         - a set of patches from Lars-Peter Clausen to generalize asm/mmu.h
           and use it in the architectures that don't need any special
           handling.
         - A patch from Will Deacon to remove the {read,write}s{b,w,l} as
           discussed during the arm64 review
         - A patch from James Hogan that helps with the meta architecture
           series."
      
      * tag 'asm-generic' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        xtensa: Use generic asm/mmu.h for nommu
        h8300: Use generic asm/mmu.h
        c6x: Use generic asm/mmu.h
        asm-generic/mmu.h: Add support for FDPIC
        asm-generic/mmu.h: Remove unused vmlist field from mm_context_t
        asm-generic: io: remove {read,write} string functions
        asm-generic/io.h: remove asm/cacheflush.h include
      0264405b
    • Kukjin Kim's avatar
      ARM: dts: fix duplicated build target and alphabetical sort out for exynos · 7e65df38
      Kukjin Kim authored
      Commit db5b0ae0 ("Merge tag 'dt' of git://git.kernel.org/.../arm-soc")
      causes a duplicated build target.  This patch fixes it and sorts out the
      build target alphabetically so that we can recognize something wrong
      easily.
      
      Cc: Olof Johansson <olof@lixom.net>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7e65df38
  8. 21 Dec, 2012 1 commit