26 May, 2010

6 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: emu10k1: allow high-resolution mixer controls
    ALSA: pcm: fix delta calculation at boundary wraparound
    ALSA: hda_intel: fix handling of non-completion stream interrupts
    ALSA: usb/caiaq: fix Traktor Kontrol X1 ABS_HAT2X axis
    ALSA: hda: Fix model quirk for Dell M1730
    ALSA: hda - iMac9,1 sound fixes
    ALSA: hda: Use LPIB for Toshiba A100-259
    ALSA: hda: Use LPIB for Acer Aspire 5110
    ALSA: aw2-alsa.c: use pci_ids.h defines and fix checkpatch.pl noise
    ALSA: usb-audio: add support for Akai MPD16
    ALSA: pcm: fix the fix of the runtime->boundary calculation

    Linus Torvalds
     
  • Takashi Iwai
     
  • Add a module option to allow the GPR mixer controls to have the full
    resolution of the hardware, i.e., 0...2^31-1 instead of 0...100.

    Because of bugs in userspace tools like alsactl and alsamixer, this is
    not yet enabled by default.

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     
  • In the cleanup of the hw_ptr update functions in 2.6.33, the calculation
    of the delta value was changed to use the modulo operator to protect
    against a negative difference due to the pointer wrapping around at the
    boundary.

    However, the ptr variables are unsigned, so a negative difference would
    result in the two complement's value which has no relation to the actual
    difference relative to the boundary; the result is typically some value
    near LONG_MAX-boundary. Furthermore, even if the modulo operation would
    be done with signed types, the result of a negative dividend could be
    negative.

    The invalid delta value is then caught by the following checks, but this
    means that the pointer update is ignored.

    To fix this, use a range check as in the other pointer calculations.

    Signed-off-by: Clemens Ladisch
    Cc:
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     
  • Check that the interrupt raised for a stream is actually a buffer
    completion interrupt before handling it as one. Otherwise, memory
    errors or FIFO xruns would be interpreted as a pointer update and could
    break the stream timing.

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     
  • Signed-off-by: Daniel Mack
    Signed-off-by: Takashi Iwai

    Daniel Mack
     

25 May, 2010

5 commits

  • BugLink: https://launchpad.net/bugs/576160

    Symptom: Currently (2.6.32.12) the Dell M1730 uses the 3stack model
    quirk. Unfortunately this means that capture is not functional out-
    of-the-box despite ensuring that capture settings are unmuted and
    raised fully.

    Test case: boot from Ubuntu 10.04 LTS live cd; capture does not
    work.

    Resolution: Correct the model quirk for Dell M1730 to rely on the
    BIOS configuration.

    This patch also trivially sorts the quirk into the correct section
    based on the comments.

    Reported-and-Tested-By:
    Tested-By: Daren Hayward
    Tested-By: Tobias Krais
    Cc:
    Signed-off-by: Daniel T Chen
    Signed-off-by: Takashi Iwai

    Daniel T Chen
     
  • First issue:
    With the original patch, I've noticed by unmuting the mic
    (and even having it muted), there is a distorted("Noise")
    coming from the internal speakers, even when the headphones are plugged in.
    What my finding's revealed is:

    /* Mic (rear) pin: input vref at 80% */
    {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80},
    {0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE},

    From the original patch. Looking at codec#0 0x18/0x1a is listed as:

    Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
    Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
    Amp-In vals: [0x00 0x00]
    Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
    Amp-Out vals: [0x00 0x00]
    Pincap 0x0000373c: IN OUT HP Detect
    Vref caps: HIZ 50 GRD 80 100
    Pin Default 0x90100141: [Fixed] Speaker at Int N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0x4, Sequence = 0x1
    Misc = NO_PRESENCE
    Pin-ctls: 0x41: OUT VREF_50
    Unsolicited: tag=00, enabled=0
    Connection: 5
    0x0c* 0x0d 0x0e 0x0f 0x26

    seems this Node is listed as: [Fixed] Speaker while 0x15

    Node 0x15 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
    Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
    Amp-In vals: [0x00 0x00]
    Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
    Amp-Out vals: [0x80 0x80]
    Pincap 0x0000373c: IN OUT HP Detect
    Vref caps: HIZ 50 GRD 80 100
    Pin Default 0x018b3020: [Jack] Line In at Ext Rear
    Conn = Comb, Color = Blue
    DefAssociation = 0x2, Sequence = 0x0
    Pin-ctls: 0x01: VREF_50
    Unsolicited: tag=00, enabled=0
    Connection: 5
    0x0c 0x0d* 0x0e 0x0f 0x26

    is [Jack] Line In at Ext Rear.
    (looking at the other apple products as examples
    I came up with the fix below).

    Second issue:
    alc885_mbp_4ch_modes
    The original patch does a good job with the
    HP pin automute function, but from what I noticed is I would have to manually
    change the channel form 2 to 4 after plugging the headphones in.
    And not to mention having odd moments to where I was jamming out
    with the headphones on, then later realized I had sound blasting out
    of the speakers as well. My findings revealed that changing
    alc885_mbp_4ch_modes to alc885_mba21_ch_modes and setting
    - spec->autocfg.speaker_pins[0] = 0x15;
    + spec->autocfg.speaker_pins[0] = 0x18;
    gets the automute function when the headphones plugged in working
    flawlessly(and the no need to manually change the channel number
    afterwards).

    Third issue:
    alc885_imac91_mixer
    There probably doesnt need to be anything changed with this
    (esspecially if your one to like lots of sliders),but my findings
    revealed that mac osx only has a master on the top right,
    another switch on itunes, and then a slider for the mic.

    So the changes I did below try and mimic osx as much as possible
    (only thing I had an issue with is just having one mute switch
    on the master, instead of having two(still investigating)).

    fourth issue:
    alc882_capture_source
    I endeded up creating alc889A_imac91_capture_source()
    only because looking at alc882_capture_source I see
    that the mic is set to 0x1 while this works, I also noticed
    that adding 0x1 and 0x01 and testing that 0x1 somehow
    stops working, and 0x01 works(so I figured 0x01 was more
    of the alpha of the numbers(still need to figure out
    where that valuse is)). In any case the microphone
    does work with the original, and with the below patch, but both
    still record not as clean(lots of "Noise", which I would like to
    look into too).
    Note: using alsamixer -Va reveals the capture switches.

    Signed-off-by: Justin P. Mattock
    Signed-off-by: Takashi Iwai

    Justin P. Mattock
     
  • BugLink: https://launchpad.net/bugs/549560

    Symptom: on a significant number of hardware, booting from a live cd
    results in capture working correctly, but once the distribution is
    installed, booting from the install results in capture not working.

    Test case: boot from Ubuntu 10.04 LTS live cd; capture works correctly.
    Install to HD and reboot; capture does not work. Reproduced with 2.6.32
    mainline build (vanilla kernel.org compile)

    Resolution: add SSID for Toshiba A100-259 to the position_fix quirk
    table, explicitly specifying the LPIB method.

    I'll be sending additional patches for these SSIDs as bug reports are
    confirmed.

    This patch also trivially sorts the quirk table in ascending order by
    subsystem vendor.

    Reported-and-Tested-by:
    Cc:
    Signed-off-by: Daniel T Chen
    Signed-off-by: Takashi Iwai

    Daniel T Chen
     
  • BugLink: https://launchpad.net/bugs/583983

    Symptom: on a significant number of hardware, booting from a live cd
    results in capture working correctly, but once the distribution is
    installed, booting from the install results in capture not working.

    Test case: boot from Ubuntu 10.04 LTS live cd; capture works correctly.
    Install to HD and reboot; capture does not work. Reproduced with 2.6.32
    mainline build (vanilla kernel.org compile).

    Resolution: add SSID for Acer Aspire 5110 to the position_fix quirk
    table, explicitly specifying the LPIB method.

    I'll be sending additional patches for these SSIDs as bug reports are
    confirmed.

    Reported-and-Tested-By: Leo
    Cc:
    Signed-off-by: Daniel T Chen
    Signed-off-by: Takashi Iwai

    Daniel T Chen
     
  • Use the VENDOR/DEVICE ids provided in pci_ids.h instead of creating
    local ids of the same values.

    Also, fix the following checkpatch.pl warnings:

    WARNING: Use #include instead of
    WARNING: unnecessary whitespace before a quoted newline

    Signed-off-by: H Hartley Sweeten
    Signed-off-by: Takashi Iwai

    H Hartley Sweeten
     

24 May, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (25 commits)
    sh: fix up sh7785lcr_32bit_defconfig.
    arch/sh/lib/strlen.S: Checkpatch cleanup
    sh: fix up sh7786 dmaengine build.
    sh: guard cookie consistency across termination in the DMA driver
    sh: prevent the DMA driver from unloading, while in use
    sh: fix Oops in the serial SCI driver
    sh: allow platforms to specify SD-card supported voltages
    mmc: let MFD's provide supported Vdd card voltages to tmio_mmc
    sh: disable SD-card write-protection detection on kfr2r09
    mfd: pass platform flags down to the tmio_mmc driver
    tmio: add a platform flag to disable card write-protection detection
    sh: Add SDHI DMA support to migor
    sh: Add SDHI DMA support to kfr2r09
    sh: Add SDHI DMA support to ms7724se
    sh: Add SDHI DMA support to ecovec
    mmc: add DMA support to tmio_mmc driver, when used on SuperH
    sh: prepare the SDHI MFD driver to pass DMA configuration to tmio_mmc.c
    mmc: prepare tmio_mmc for passing of DMA configuration from the MFD cell
    sh: add DMA slave definitions to sh7724
    sh: add DMA slaves for two SDHI controllers to sh7722
    ...

    Linus Torvalds
     

22 May, 2010

6 commits

  • Now that DMA slave IDs are only used used in platform specific code and have
    become opaque cookies for the rest of the code, we can make the, CPU specific
    too.

    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Paul Mundt

    Guennadi Liakhovetski
     
  • Merging in current state of Linus' tree to deal with merge conflicts and
    build failures in vio.c after merge.

    Conflicts:
    drivers/i2c/busses/i2c-cpm.c
    drivers/i2c/busses/i2c-mpc.c
    drivers/net/gianfar.c

    Also fixed up one line in arch/powerpc/kernel/vio.c to use the
    correct node pointer.

    Signed-off-by: Grant Likely

    Grant Likely
     
  • .name, .match_table and .owner are duplicated in both of_platform_driver
    and device_driver. This patch is a removes the extra copies from struct
    of_platform_driver and converts all users to the device_driver members.

    This patch is a pretty mechanical change. The usage model doesn't change
    and if any drivers have been missed, or if anything has been fixed up
    incorrectly, then it will fail with a compile time error, and the fixup
    will be trivial. This patch looks big and scary because it touches so
    many files, but it should be pretty safe.

    Signed-off-by: Grant Likely
    Acked-by: Sean MacLennan

    Grant Likely
     
  • By moving dma_mask into pdev_archdata, and adding archdata to
    struct of_device, it makes it possible to substitute of_device
    with struct platform_device, which is a stepping stone to
    removing the of_platform bus entirely.

    Signed-off-by: Grant Likely

    Grant Likely
     
  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:
    DMAENGINE: extend the control command to include an arg
    async_tx: trim dma_async_tx_descriptor in 'no channel switch' case
    DMAENGINE: DMA40 fix for allocation of logical channel 0
    DMAENGINE: DMA40 support paused channel status
    dmaengine: mpc512x: Use resource_size
    DMA ENGINE: Do not reset 'private' of channel
    ioat: Remove duplicated devm_kzalloc() calls for ioatdma_device
    ioat3: disable cacheline-unaligned transfers for raid operations
    ioat2,3: convert to producer/consumer locking
    ioat: convert to circ_buf
    DMAENGINE: Support for ST-Ericssons DMA40 block v3
    async_tx: use of kzalloc/kfree requires the include of slab.h
    dmaengine: provide helper for setting txstate
    DMAENGINE: generic channel status v2
    DMAENGINE: generic slave control v2
    dma: timb-dma: Update comment and fix compiler warning
    dma: Add timb-dma
    DMAENGINE: COH 901 318 fix bytesleft
    DMAENGINE: COH 901 318 rename confusing vars

    Linus Torvalds
     
  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (92 commits)
    powerpc: Remove unused 'protect4gb' boot parameter
    powerpc: Build-in e1000e for pseries & ppc64_defconfig
    powerpc/pseries: Make request_ras_irqs() available to other pseries code
    powerpc/numa: Use ibm,architecture-vec-5 to detect form 1 affinity
    powerpc/numa: Set a smaller value for RECLAIM_DISTANCE to enable zone reclaim
    powerpc: Use smt_snooze_delay=-1 to always busy loop
    powerpc: Remove check of ibm,smt-snooze-delay OF property
    powerpc/kdump: Fix race in kdump shutdown
    powerpc/kexec: Fix race in kexec shutdown
    powerpc/kexec: Speedup kexec hash PTE tear down
    powerpc/pseries: Add hcall to read 4 ptes at a time in real mode
    powerpc: Use more accurate limit for first segment memory allocations
    powerpc/kdump: Use chip->shutdown to disable IRQs
    powerpc/kdump: CPUs assume the context of the oopsing CPU
    powerpc/crashdump: Do not fail on NULL pointer dereferencing
    powerpc/eeh: Fix oops when probing in early boot
    powerpc/pci: Check devices status property when scanning OF tree
    powerpc/vio: Switch VIO Bus PM to use generic helpers
    powerpc: Avoid bad relocations in iSeries code
    powerpc: Use common cpu_die (fixes SMP+SUSPEND build)
    ...

    Linus Torvalds
     

21 May, 2010

9 commits

  • The decoding/encoding is based on own reverse-engineering. Both control and
    data ports are handled. Writing to control port supports SysEx events only,
    as this is the only type of messages that MPD16 recognizes.

    Signed-off-by: Krzysztof Foltman
    Signed-off-by: Takashi Iwai

    Krzysztof Foltman
     
  • Commit 7910b4a1db63fefc3d291853d33c34c5b6352e8e in 2.6.34 changed the
    runtime->boundary calculation to make this value a multiple of both the
    buffer_size and the period_size, because the latter is assumed by the
    runtime->hw_ptr_interrupt calculation.

    However, due to the lack of a ioctl that could read the software
    parameters before they are set, the kernel requires that alsa-lib
    calculates the boundary value, too. The changed algorithm leads to
    a different boundary value used by alsa-lib, which makes, e.g., mplayer
    fail to play a 44.1 kHz file because the silence_size parameter is now
    invalid; bug report:
    .

    This patch reverts the change to the boundary calculation, and instead
    fixes the hw_ptr_interrupt calculation to be period-aligned regardless
    of the boundary value.

    Signed-off-by: Clemens Ladisch
    Cc:
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (229 commits)
    USB: remove unused usb_buffer_alloc and usb_buffer_free macros
    usb: musb: update gfp/slab.h includes
    USB: ftdi_sio: fix legacy SIO-device header
    USB: kl5usb105: reimplement using generic framework
    USB: kl5usb105: minor clean ups
    USB: kl5usb105: fix memory leak
    USB: io_ti: use kfifo to implement write buffering
    USB: io_ti: remove unsused private counter
    USB: ti_usb: use kfifo to implement write buffering
    USB: ir-usb: fix incorrect write-buffer length
    USB: aircable: fix incorrect write-buffer length
    USB: safe_serial: straighten out read processing
    USB: safe_serial: reimplement read using generic framework
    USB: safe_serial: reimplement write using generic framework
    usb-storage: always print quirks
    USB: usb-storage: trivial debug improvements
    USB: oti6858: use port write fifo
    USB: oti6858: use kfifo to implement write buffering
    USB: cypress_m8: use kfifo to implement write buffering
    USB: cypress_m8: remove unused drain define
    ...

    Fix up conflicts (due to usb_buffer_alloc/free renaming) in
    drivers/input/tablet/acecad.c
    drivers/input/tablet/kbtab.c
    drivers/input/tablet/wacom_sys.c
    drivers/media/video/gspca/gspca.c
    sound/usb/usbaudio.c

    Linus Torvalds
     
  • This is needed before the USB merge.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • For more clearance what the functions actually do,

    usb_buffer_alloc() is renamed to usb_alloc_coherent()
    usb_buffer_free() is renamed to usb_free_coherent()

    They should only be used in code which really needs DMA coherency.

    All call sites have been changed accordingly, except for staging
    drivers.

    Signed-off-by: Daniel Mack
    Cc: Alan Stern
    Cc: Pedro Ribeiro
    Signed-off-by: Greg Kroah-Hartman

    Daniel Mack
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (250 commits)
    ALSA: hda: Storage class should be before const qualifier
    ASoC: tpa6130a2: Remove CPVSS and HPVdd supplies
    ASoC: tpa6130a2: Define output pins with SND_SOC_DAPM_OUTPUT
    ASoC: sdp4430 - add sdp4430 pcm ops to DAI.
    ASoC: TWL6040: Enable earphone path in codec
    ASoC: SDP4430: Add support for Earphone speaker
    ASoC: SDP4430: Add sdp4430 machine driver
    ASoC: tlv320dac33: Avoid powering off while in BIAS_OFF
    ASoC: tlv320dac33: Use dev_dbg in dac33_hard_power function
    ALSA: sound/pci/asihpi: Use kzalloc
    ALSA: hdmi - dont fail on extra nodes
    ALSA: intelhdmi - add id for the CougarPoint chipset
    ALSA: intelhdmi - user friendly codec name
    ALSA: intelhdmi - add dependency on SND_DYNAMIC_MINORS
    ALSA: asihpi: incorrect range check
    ALSA: asihpi: testing the wrong variable
    ALSA: es1688: add pedantic range checks
    ARM: McBSP: Add support for omap4 in McBSP driver
    ARM: McBSP: Fix request for irq in OMAP4
    OMAP: McBSP: Add 32-bit mode support
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (44 commits)
    vlynq: make whole Kconfig-menu dependant on architecture
    add descriptive comment for TIF_MEMDIE task flag declaration.
    EEPROM: max6875: Header file cleanup
    EEPROM: 93cx6: Header file cleanup
    EEPROM: Header file cleanup
    agp: use NULL instead of 0 when pointer is needed
    rtc-v3020: make bitfield unsigned
    PCI: make bitfield unsigned
    jbd2: use NULL instead of 0 when pointer is needed
    cciss: fix shadows sparse warning
    doc: inode uses a mutex instead of a semaphore.
    uml: i386: Avoid redefinition of NR_syscalls
    fix "seperate" typos in comments
    cocbalt_lcdfb: correct sections
    doc: Change urls for sparse
    Powerpc: wii: Fix typo in comment
    i2o: cleanup some exit paths
    Documentation/: it's -> its where appropriate
    UML: Fix compiler warning due to missing task_struct declaration
    UML: add kernel.h include to signal.c
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: (29 commits)
    pcmcia: disable PCMCIA ioctl also for ARM
    drivers/staging/comedi: dev_node removal (quatech_daqp_cs)
    drivers/staging/comedi: dev_node removal (ni_mio_cs)
    drivers/staging/comedi: dev_node removal (ni_labpc_cs)
    drivers/staging/comedi: dev_node removal (ni_daq_dio24)
    drivers/staging/comedi: dev_node removal (ni_daq_700)
    drivers/staging/comedi: dev_node removal (das08_cs)
    drivers/staging/comedi: dev_node removal (cb_das16_cs)
    pata_pcmcia: get rid of extra indirection
    pcmcia: remove suspend-related comment from yenta_socket.c
    pcmcia: call pcmcia_{read,write}_cis_mem with ops_mutex held
    pcmcia: remove pcmcia_add_device_lock
    pcmcia: update gfp/slab.h includes
    pcmcia: remove unused mem_op.h
    pcmcia: do not autoadd root PCI bus resources
    pcmcia: clarify alloc_io_space, move it to resource handlers
    pcmcia: move all pcmcia_resource_ops providers into one module
    pcmcia: move high level CIS access code to separate file
    pcmcia: dev_node removal (core)
    pcmcia: dev_node removal (remaining drivers)
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
    PM: PM QOS update fix
    Freezer / cgroup freezer: Update stale locking comments
    PM / platform_bus: Allow runtime PM by default
    i2c: Fix bus-level power management callbacks
    PM QOS update
    PM / Hibernate: Fix block_io.c printk warning
    PM / Hibernate: Group swap ops
    PM / Hibernate: Move the first_sector out of swsusp_write
    PM / Hibernate: Separate block_io
    PM / Hibernate: Snapshot cleanup
    FS / libfs: Implement simple_write_to_buffer
    PM / Hibernate: document open(/dev/snapshot) side effects
    PM / Runtime: Add sysfs debug files
    PM: Improve device power management document
    PM: Update device power management document
    PM: Allow runtime_suspend methods to call pm_schedule_suspend()
    PM: pm_wakeup - switch to using bool

    Linus Torvalds
     

20 May, 2010

10 commits


19 May, 2010

3 commits