14 Dec, 2016

1 commit

  • Pull drm updates from Dave Airlie:
    "This is the main pull request for drm for 4.10 kernel.

    New drivers:
    - ZTE VOU display driver (zxdrm)
    - Amlogic Meson Graphic Controller GXBB/GXL/GXM SoCs (meson)
    - MXSFB support (mxsfb)

    Core:
    - Format handling has been reworked
    - Better atomic state debugging
    - drm_mm leak debugging
    - Atomic explicit fencing support
    - fbdev helper ops
    - Documentation updates
    - MST fbcon fixes

    Bridge:
    - Silicon Image SiI8620 driver

    Panel:
    - Add support for new simple panels

    i915:
    - GVT Device model
    - Better HDMI2.0 support on skylake
    - More watermark fixes
    - GPU idling rework for suspend/resume
    - DP Audio workarounds
    - Scheduler prep-work
    - Opregion CADL handling
    - GPU scheduler and priority boosting

    amdgfx/radeon:
    - Support for virtual devices
    - New VM manager for non-contig VRAM buffers
    - UVD powergating
    - SI register header cleanup
    - Cursor fixes
    - Powermanagement fixes

    nouveau:
    - Powermangement reworks for better voltage/clock changes
    - Atomic modesetting support
    - Displayport Multistream (MST) support.
    - GP102/104 hang and cursor fixes
    - GP106 support

    hisilicon:
    - hibmc support (BMC chip for aarch64 servers)

    armada:
    - add tracing support for overlay change
    - refactor plane support
    - de-midlayer the driver

    omapdrm:
    - Timing code cleanups

    rcar-du:
    - R8A7792/R8A7796 support
    - Misc fixes.

    sunxi:
    - A31 SoC display engine support

    imx-drm:
    - YUV format support
    - Cleanup plane atomic update

    mali-dp:
    - Misc fixes

    dw-hdmi:
    - Add support for HDMI i2c master controller

    tegra:
    - IOMMU support fixes
    - Error handling fixes

    tda998x:
    - Fix connector registration
    - Improved robustness
    - Fix infoframe/audio compliance

    virtio:
    - fix busid issues
    - allocate more vbufs

    qxl:
    - misc fixes and cleanups.

    vc4:
    - Fragment shader threading
    - ETC1 support
    - VEC (tv-out) support

    msm:
    - A5XX GPU support
    - Lots of atomic changes

    tilcdc:
    - Misc fixes and cleanups.

    etnaviv:
    - Fix dma-buf export path
    - DRAW_INSTANCED support
    - fix driver on i.MX6SX

    exynos:
    - HDMI refactoring

    fsl-dcu:
    - fbdev changes"

    * tag 'drm-for-v4.10' of git://people.freedesktop.org/~airlied/linux: (1343 commits)
    drm/nouveau/kms/nv50: fix atomic regression on original G80
    drm/nouveau/bl: Do not register interface if Apple GMUX detected
    drm/nouveau/bl: Assign different names to interfaces
    drm/nouveau/bios/dp: fix handling of LevelEntryTableIndex on DP table 4.2
    drm/nouveau/ltc: protect clearing of comptags with mutex
    drm/nouveau/gr/gf100-: handle GPC/TPC/MPC trap
    drm/nouveau/core: recognise GP106 chipset
    drm/nouveau/ttm: wait for bo fence to signal before unmapping vmas
    drm/nouveau/gr/gf100-: FECS intr handling is not relevant on proprietary ucode
    drm/nouveau/gr/gf100-: properly ack all FECS error interrupts
    drm/nouveau/fifo/gf100-: recover from host mmu faults
    drm: Add fake controlD* symlinks for backwards compat
    drm/vc4: Don't use drm_put_dev
    drm/vc4: Document VEC DT binding
    drm/vc4: Add support for the VEC (Video Encoder) IP
    drm: Add TV connector states to drm_connector_state
    drm: Turn DRM_MODE_SUBCONNECTOR_xx definitions into an enum
    drm/vc4: Fix ->clock_select setting for the VEC encoder
    drm/amdgpu/dce6: Set MASTER_UPDATE_MODE to 0 in resume_mc_access as well
    drm/amdgpu: use pin rather than pin_restricted in a few cases
    ...

    Linus Torvalds
     

13 Dec, 2016

1 commit

  • Commit 4bcc595ccd80 ("printk: reinstate KERN_CONT for printing
    continuation lines") allows to define more message headers for a single
    message. The motivation is that continuous lines might get mixed.
    Therefore it make sense to define the right log level for every piece of
    a cont line.

    This patch allows to copy only the real message level. We should ignore
    KERN_CONT because is added for each message. By other
    words, we want to know where each piece of the line comes from.

    [pmladek@suse.com: fix a check of the valid message level]
    Link: http://lkml.kernel.org/r/20161111183444.GE2145@dhcp128.suse.cz
    Link: http://lkml.kernel.org/r/1478695291-12169-5-git-send-email-pmladek@suse.com
    Signed-off-by: Petr Mladek
    Cc: Joe Perches
    Cc: Sergey Senozhatsky
    Cc: Steven Rostedt
    Cc: Jason Wessel
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Cc: Chris Mason
    Cc: Josef Bacik
    Cc: David Sterba
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Petr Mladek
     

07 Dec, 2016

1 commit


05 Dec, 2016

1 commit


30 Nov, 2016

1 commit

  • drm/virtio: fix busid in a different way, allocate more vbufs.
    drm/qxl: various bugfixes and cleanups,

    * tag 'drm-qemu-20161121' of git://git.kraxel.org/linux: (224 commits)
    drm/virtio: allocate some extra bufs
    qxl: Allow resolution which are not multiple of 8
    qxl: Don't notify userspace when monitors config is unchanged
    qxl: Remove qxl_bo_init() return value
    qxl: Call qxl_gem_{init, fini}
    qxl: Add missing '\n' to qxl_io_log() call
    qxl: Remove unused prototype
    qxl: Mark some internal functions as static
    Revert "drm: virtio: reinstate drm_virtio_set_busid()"
    drm/virtio: fix busid regression
    drm: re-export drm_dev_set_unique
    Linux 4.9-rc5
    gp8psk: Fix DVB frontend attach
    gp8psk: fix gp8psk_usb_in_op() logic
    dvb-usb: move data_mutex to struct dvb_usb_device
    iio: maxim_thermocouple: detect invalid storage size in read()
    aoe: fix crash in page count manipulation
    lightnvm: invalid offset calculation for lba_shift
    Kbuild: enable -Wmaybe-uninitialized warnings by default
    pcmcia: fix return value of soc_pcmcia_regulator_set
    ...

    Dave Airlie
     

29 Nov, 2016

2 commits

  • Pull sparc fixes from David Miller:
    "Two ugly build warning fixes"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    dbri: Fix compiler warning
    qlogicpti: Fix compiler warnings

    Linus Torvalds
     
  • dbri uses 'u32' for dma handle while invoking kernel DMA APIs,
    instead of using dma_addr_t. This hasn't caused any 'incompatible
    pointer type' warning on SPARC because until now dma_addr_t is of
    type u32. However, recent changes in SPARC ATU (iommu) enabled 64bit
    DMA and therefore dma_addr_t became of type u64. This makes
    'incompatible pointer type' warnings inevitable.

    e.g.
    sound/sparc/dbri.c: In function ‘snd_dbri_create’:
    sound/sparc/dbri.c:2538: warning: passing argument 3 of ‘dma_zalloc_coherent’ from incompatible pointer type
    ./include/linux/dma-mapping.h:608: note: expected ‘dma_addr_t *’ but argument is of type ‘u32 *’

    For the record, dbri(sbus) driver never executes on sun4v. Therefore
    even though 64bit DMA is enabled on SPARC, dbri continues to use
    legacy iommu that guarantees DMA address is always in 32bit range.

    This patch resolves above compiler warning.

    Signed-off-by: Tushar Dave
    Reviewed-by: thomas tai
    Signed-off-by: David S. Miller

    Tushar Dave
     

19 Nov, 2016

1 commit

  • Pull sound fixes from Takashi Iwai:
    "Three trivial fixes:

    A regression fix for ASRock mobo, a use-after-free fix at hot-unplug
    of USB-audio, and a quirk for new Thinkpad models"

    * tag 'sound-4.9-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: usb-audio: Fix use-after-free of usb_device at disconnect
    ALSA: hda - Fix mic regression by ASRock mobo fixup
    ALSA: hda - add a new condition to check if it is thinkpad

    Linus Torvalds
     

15 Nov, 2016

2 commits

  • The usb-audio driver implements the deferred device disconnection for
    the device in use. In this mode, the disconnection callback returns
    immediately while the actual ALSA card object removal happens later
    when all files get closed. As Shuah reported, this code flow,
    however, leads to a use-after-free, detected by KASAN:

    BUG: KASAN: use-after-free in snd_usb_audio_free+0x134/0x160 [snd_usb_audio] at addr ffff8801c863ce10
    Write of size 8 by task pulseaudio/2244
    Call Trace:
    [] dump_stack+0x67/0x94
    [] kasan_object_err+0x21/0x70
    [] kasan_report_error+0x1fa/0x4e0
    [] ? kasan_slab_free+0x87/0xb0
    [] __asan_report_store8_noabort+0x43/0x50
    [] ? snd_usb_audio_free+0x134/0x160 [snd_usb_audio]
    [] snd_usb_audio_free+0x134/0x160 [snd_usb_audio]
    [] snd_usb_audio_dev_free+0x31/0x40 [snd_usb_audio]
    [] __snd_device_free+0x12a/0x210
    [] snd_device_free_all+0x85/0xd0
    [] release_card_device+0x34/0x130
    [] device_release+0x76/0x1e0
    [] kobject_release+0x107/0x370
    .....
    Object at ffff8801c863cc80, in cache kmalloc-2048 size: 2048
    Allocated:
    [] save_stack_trace+0x2b/0x50
    [] save_stack+0x46/0xd0
    [] kasan_kmalloc+0xad/0xe0
    [] kmem_cache_alloc_trace+0xfa/0x240
    [] usb_alloc_dev+0x57/0xc90
    [] hub_event+0xf1d/0x35f0
    ....
    Freed:
    [] save_stack_trace+0x2b/0x50
    [] save_stack+0x46/0xd0
    [] kasan_slab_free+0x71/0xb0
    [] kfree+0xd9/0x280
    [] usb_release_dev+0xde/0x110
    [] device_release+0x76/0x1e0
    ....

    It's the code trying to clear drvdata of the assigned usb_device where
    the usb_device itself was already released in usb_release_dev() after
    the disconnect callback.

    This patch fixes it by checking whether the code path is via the
    disconnect callback, i.e. chip->shutdown flag is set.

    Fixes: 79289e24194a ('ALSA: usb-audio: Refer to chip->usb_id for quirks...')
    Reported-and-tested-by: Shuah Khan
    Cc: # v4.6+
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • In commit 022d00ee0b55 ("ASoC: lpass-platform: Fix broken pcm data
    usage") the stream specific information initialization was broken, with
    the dma channel information not being initialized if there was no
    alloc_dma_channel() helper function.

    Before that, the DMA channel number was implicitly initialized to zero
    because the backing store was allocated with devm_kzalloc(). When the
    init code was rewritten, that implicit initialization was lost, and gcc
    rightfully complains about an uninitialized variable being used.

    Cc: Srinivas Kandagatla
    Cc: Mark Brown
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

11 Nov, 2016

1 commit

  • The commit [1a3f099101b8: ALSA: hda - Fix surround output pins for
    ASRock B150M mobo] introduced a fixup of pin configs for ASRock
    mobos to fix the surround outputs. However, this overrides the pin
    configs of the mic pins as if they are outputs-only, effectively
    disabling the mic inputs. Of course, it's a regression wrt mic
    functionality.

    Actually the pins 0x18 and 0x1a don't need to be changed; we just need
    to disable the bogus pins 0x14 and 0x15. Then the auto-parser will
    pick up mic pins as switchable and assign the surround outputs there.

    This patch removes the incorrect pin overrides of NID 0x18 and 0x1a
    from the ASRock fixup.

    Fixes: 1a3f099101b8 ('ALSA: hda - Fix surround output pins for ASRock...')
    Reported-and-tested-by: Vitor Antunes
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=187431
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

10 Nov, 2016

1 commit


08 Nov, 2016

2 commits

  • Currently the ALSA proc handler allows read or write even if the proc
    file were write-only or read-only. It's mostly harmless, does thing
    but allocating memory and ignores the input/output. But it doesn't
    tell user about the invalid use, and it's confusing and inconsistent
    in comparison with other proc files.

    This patch adds some sanity checks and let the proc handler returning
    an -EIO error when the invalid read/write is performed.

    Cc: # v4.2+
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The ALSA proc handler allows currently the write in the unlimited size
    until kmalloc() fails. But basically the write is supposed to be only
    for small inputs, mostly for one line inputs, and we don't have to
    handle too large sizes at all. Since the kmalloc error results in the
    kernel warning, it's better to limit the size beforehand.

    This patch adds the limit of 16kB, which must be large enough for the
    currently existing code.

    Cc: stable@vger.kernel.org # v4.2+
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

07 Nov, 2016

1 commit


05 Nov, 2016

3 commits


02 Nov, 2016

2 commits

  • This patch fixes issues introduced in commit 73f5dfc68316bef2ab7062ec
    "ASoC: samsung: get access to DMA engine early to defer probe properly"
    and indicated by a following compilation warning:

    CC [M] sound/soc/samsung/spdif.o
    sound/soc/samsung/spdif.c: In function ‘spdif_probe’:
    sound/soc/samsung/spdif.c:419:6: warning: ‘filter’ may be used uninitialized
    in this function [-Wuninitialized]

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mark Brown

    Sylwester Nawrocki
     
  • In the current probe function the GPIO is acquired after the codec's
    bus clock is enabled. However if it fails to acquire the GPIO due to
    a deferred probe, it does not disable the bus clock before bailing out.
    This would result in the clock being enabled multiple times.

    Move the code that enables the bus clock after the part that gets the
    GPIO, maintaining a separation between resource acquisition and device
    enablement in the probe function.

    Signed-off-by: Chen-Yu Tsai
    Signed-off-by: Mark Brown

    Chen-Yu Tsai
     

01 Nov, 2016

2 commits

  • This patch adds module licence to lpass-cpu driver, without this
    patch lpass-cpu module would taint with below error:

    snd_soc_lpass_cpu: module license 'unspecified' taints kernel.
    Disabling lock debugging due to kernel taint
    snd_soc_lpass_cpu: Unknown symbol regmap_write (err 0)
    snd_soc_lpass_cpu: Unknown symbol devm_kmalloc (err 0)
    ...

    Signed-off-by: Srinivas Kandagatla
    Acked-by: Kenneth Westfield
    Signed-off-by: Mark Brown

    Srinivas Kandagatla
     
  • This patch fixes lpass-platform driver which was broken in v4.9-rc1.
    lpass_pcm_data data structure holds information specific to stream.
    Holding a single private pointer to it in global lpass_data
    will not work, because it would be overwritten by for each pcm instance.

    This code was breaking playback when we have both playback and capture
    pcm streams, as playback settings are over written by capture settings.

    Fix this by moving channel allocation logic out of pcm_new to pcm_open
    so that we can store the stream specific information in private_data of
    snd_pcm_runtime.

    Fixes: 6adcbdcd4b6e ("ASoC: lpass-platform: don't use snd_soc_pcm_set_drvdata()")
    Signed-off-by: Srinivas Kandagatla
    Signed-off-by: Mark Brown

    Srinivas Kandagatla
     

31 Oct, 2016

1 commit

  • When sun4i_codec_create_card fails, we do not assign a proper error
    code to the return value. The return value would be 0 from the previous
    function call, or we would have bailed out sooner. This would confuse
    the driver core into thinking the device probe succeeded, when in fact
    it didn't, leaving various devres based resources lingering.

    Make the create_card function pass back a meaningful error code, and
    assign it to the return value.

    Fixes: 45fb6b6f2aa3 ("ASoC: sunxi: add support for the on-chip codec on
    early Allwinner SoCs")
    Signed-off-by: Chen-Yu Tsai
    Signed-off-by: Mark Brown

    Chen-Yu Tsai
     

29 Oct, 2016

4 commits

  • If a DAI specifies "#sound-dai-cells = " in device-tree then
    hdmi_of_xlate_dai_name() will be called with zero args, which it isn't
    implemented to cope with. The resulting use of an uninitialised variable
    for the id will usually result in an error like:

    asoc-simple-card sound: parse error -11
    asoc-simple-card: probe of sound failed with error -11

    Fix this by using and id of zero if no arg is provided.

    Fixes: 9731f82d6016 ("ASoC: hdmi-codec: enable multi probe for same device")

    Signed-off-by: Jon Medhurst
    Signed-off-by: Mark Brown

    Jon Medhurst (Tixy)
     
  • ASoC Samsung sub-drivers tried to get access to their DMA engine
    controllers as a last step in driver probe. If a DMA engine was not
    available yet, samsung_asoc_dma_platform_register() function ended in
    -EPROBE_DEFER, but the driver already registered its component to ASoC
    core. This patch moves samsung_asoc_dma_platform_register() call before
    registering any components, to the common place, where driver was gathering
    all needed resources.

    In case of Samsung Exynos i2s driver the issue was even worse. The driver
    managed already to register its secondary DAI platform device before
    even getting the DMA engine access. That together with -EPROBE_DEFER error
    code from samsung_i2s_probe() immediately triggered another round of
    deferred probe retry and in turn endless loop of driver probing.

    This patch fixes broken boot on Odroid XU3 and other Exynos5422-based
    boards.

    Signed-off-by: Marek Szyprowski
    Reviewed-by: Javier Martinez Canillas
    Reviewed-by: Sylwester Nawrocki
    Signed-off-by: Mark Brown

    Marek Szyprowski
     
  • da7219 output (for headset capture) should be set to high-impedance when
    not in use, since it will otherwise interfere with output from other
    codecs attached to the same DAI.

    Signed-off-by: Stephen Barber
    Acked-by: Adam Thomson
    Signed-off-by: Mark Brown

    Stephen Barber
     
  • HDMI codec is required to be powered up before controller initialization
    for successful enumeration of codec. If the probe fails it needs to be
    powered off to balance the power state of HDMI codec.

    This fix balances the reference count in the error path before turning
    off the codec.

    Reported-by: Takashi Sakamoto
    Signed-off-by: Sodhi, VunnyX
    Signed-off-by: Subhransu S. Prusty
    Signed-off-by: Mark Brown

    Sodhi, VunnyX
     

27 Oct, 2016

1 commit

  • The stk1160 chip needs QUIRK_AUDIO_ALIGN_TRANSFER. This patch resolves
    the issue reported on the mailing list
    (http://marc.info/?l=linux-sound&m=139223599126215&w=2) and also fixes
    bug 180071 (https://bugzilla.kernel.org/show_bug.cgi?id=180071).

    Signed-off-by: Marcel Hasler
    Cc:
    Signed-off-by: Takashi Iwai

    Marcel Hasler
     

26 Oct, 2016

2 commits


25 Oct, 2016

5 commits

  • The recent rewrite of the sequencer time accounting using timespec64
    in the commit [3915bf294652: ALSA: seq_timer: use monotonic times
    internally] introduced a bad regression. Namely, the time reported
    back doesn't increase but goes back and forth.

    The culprit was obvious: the delta is stored to the result (cur_time =
    delta), instead of adding the delta (cur_time += delta)!

    Let's fix it.

    Fixes: 3915bf294652 ('ALSA: seq_timer: use monotonic times internally')
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=177571
    Reported-by: Yves Guillemot
    Cc: # v4.8+
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • ASRock B150M Pro4/D3 mobo with ALC892 codec doesn't seem to provide
    proper pins for the surround outputs, hence we need to specify the
    pincfgs manually with a couple of other corrections.

    Reported-and-tested-by: Benjamin Valentin
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • - first slice of the gvt device model (Zhenyu et al)
    - compression support for gpu error states (Chris)
    - sunset clause on gpu errors resulting in dmesg noise telling users
    how to report them
    - .rodata diet from Tvrtko
    - switch over lots of macros to only take dev_priv (Tvrtko)
    - underrun suppression for dp link training (Ville)
    - lspcon (hmdi 2.0 on skl/bxt) support from Shashank Sharma, polish
    from Jani
    - gen9 wm fixes from Paulo&Lyude
    - updated ddi programming for kbl (Rodrigo)
    - respect alternate aux/ddc pins (from vbt) for all ddi ports (Ville)

    * tag 'drm-intel-next-2016-10-24' of git://anongit.freedesktop.org/drm-intel: (227 commits)
    drm/i915: Update DRIVER_DATE to 20161024
    drm/i915: Stop setting SNB min-freq-table 0 on powersave setup
    drm/i915/dp: add lane_count check in intel_dp_check_link_status
    drm/i915: Fix whitespace issues
    drm/i915: Clean up DDI DDC/AUX CH sanitation
    drm/i915: Respect alternate_ddc_pin for all DDI ports
    drm/i915: Respect alternate_aux_channel for all DDI ports
    drm/i915/gen9: Remove WaEnableYV12BugFixInHalfSliceChicken7
    drm/i915: KBL - Recommended buffer translation programming for DisplayPort
    drm/i915: Move down skl/kbl ddi iboost and n_edp_entires fixup
    drm/i915: Add a sunset clause to GPU hang logging
    drm/i915: Stop reporting error details in dmesg as well as the error-state
    drm/i915/gvt: do not ignore return value of create_scratch_page
    drm/i915/gvt: fix spare warnings on odd constant _Bool cast
    drm/i915/gvt: mark symbols static where possible
    drm/i915/gvt: fix sparse warnings on different address spaces
    drm/i915/gvt: properly access enabled intel_engine_cs
    drm/i915/gvt: Remove defunct vmap_batch()
    drm/i915/gvt: Use common mapping routines for shadow_bb object
    drm/i915/gvt: Use common mapping routines for indirect_ctx object
    ...

    Dave Airlie
     
  • I rand into a new build error with SND_MMP_SOC_BROWNSTONE:

    warning: (SND_MMP_SOC_BROWNSTONE && SND_SOC_SAMSUNG_SMDK_WM8994 && SND_SOC_SMDK_WM8994_PCM && SND_SOC_LITTLEMILL) selects MFD_WM8994 which has unmet direct dependencies (HAS_IOMEM && I2C)
    drivers/mfd/wm8994-core.c:688:1: error: data definition has no type or storage class [-Werror]
    drivers/mfd/wm8994-core.c:688:1: error: type defaults to 'int' in declaration of 'module_i2c_driver' [-Werror=implicit-int]

    I don't see why this never showed up before, as the dependency seems to
    have been missing since the symbol was first introduced several years
    ago. This adds a dependency like the other drivers have.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Mark Brown

    Arnd Bergmann
     
  • skl_probe() releases a runtime pm ref unconditionally wheras
    skl_remove() acquires one only if the device is wakeup capable.
    Thus if the device is not wakeup capable, unloading and reloading
    the module will result in the refcount being decreased below 0.
    Fix it.

    Fixes: d8c2dab8381d ("ASoC: Intel: Add Skylake HDA audio driver")
    Signed-off-by: Lukas Wunner
    Signed-off-by: Mark Brown

    Lukas Wunner
     

24 Oct, 2016

2 commits


20 Oct, 2016

1 commit


18 Oct, 2016

2 commits

  • Some elements in hr are not cleared before being copied to user space,
    leaking kernel heap memory to user space. For example, this happens in
    the error handling code for the HPI_ADAPTER_DELETE case. Zero the memory
    before it's copied.

    Signed-off-by: Vlad Tsyrklevich
    Signed-off-by: Takashi Iwai

    Vlad Tsyrklevich
     
  • We have a new Dell laptop model which uses ALC295, the pin definition
    is different from the existing ones in the pin quirk table, to fix the
    headset mic detection and mic mute led's problem, we need to add the
    new pin defintion into the pin quirk table.

    Cc: stable@vger.kernel.org
    Signed-off-by: Hui Wang
    Signed-off-by: Takashi Iwai

    Hui Wang