21 Nov, 2007

7 commits

  • Check value ranges in ctl callbacks properly. This fixes the unexpected
    crash due to wrong value assignment.
    Also, remove invalid comments in the last patch.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Takashi Iwai
     
  • Signed-off-by: James Courtier-Dutton
    Signed-off-by: Jaroslav Kysela

    James Courtier-Dutton
     
  • Fix the calculation of the private_data pointer in the CS4270 driver.

    Signed-off-by: Timur Tabi
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Timur Tabi
     
  • Reported by Ingo Molnar,
    when booting an allyesconfig bzImage kernel the bootup hangs in the
    portman2x4 driver (on a box that does not have this hardware), at:
    Pid: 1, comm: swapper
    EIP: 0060:[] CPU: 0
    EIP is at parport_pc_read_status+0x4/0x8
    EFLAGS: 00000202 Not tainted (2.6.23-rc9 #904)
    EAX: f7e57a7f EBX: 00000010 ECX: c2b808c0 EDX: 00000379
    ESI: f7cb8230 EDI: 00000010 EBP: f7cb8230 DS: 007b ES: 007b FS: 0000
    CR0: 8005003b CR2: fff9c000 CR3: 007ec000 CR4: 00000690
    DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
    DR6: ffff0ff0 DR7: 00000400
    [] portman_flush_input+0xde/0x12c
    [] snd_portman_probe+0x368/0x484
    [] __device_attach+0x0/0x8
    [] platform_drv_probe+0xc/0x10
    [] driver_probe_device+0x74/0x194
    [] klist_next+0x38/0x70
    [] __device_attach+0x0/0x8
    [] bus_for_each_drv+0x35/0x68
    [] device_attach+0x72/0x78
    the reason is due to an inconsistent error return code of 1 or 2, while
    snd_portman_probe only realizes negative error codes.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Takashi Iwai
     
  • The driver assigns the write proc callback to read wrongly.
    Fixed now.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Takashi Iwai
     
  • The Samsung S3C24xx uses new architecture file layout in the post 2.6.23
    kernel. This patch fixes include path for the s3c2443-ac97.c.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Krzysztof Helt
     
  • Volume knob controls with STAC codecs seem to cause problems with some
    devices. Volumes change very slowly or silent suddenly. It's likely
    due to conflict between the software and the hardware volume knob
    setup.
    Since we'll have a virtual master control in future, it's safer to
    remove this control completely right now.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Takashi Iwai
     

20 Nov, 2007

5 commits

  • Check the value ranges in ctl put callbacks properly.
    Some callbacks may access a wrong pointer depending on the value passed.
    Also, fixed the access to the wrong field for enum values, and fixed
    some callbacks to return the proper error code.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Takashi Iwai
     
  • The recent addition of checking PINCAP for EAPD seems to break some
    systems due to unexpected response from the codec chip. We shouldn't
    issue GET_PINCAP verb to non-PIN widgets. Now checks the widget type
    before checking EAPD bit.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Takashi Iwai
     
  • When the output and input ports are used at the same time, the timer can
    be interrupted by the hardware interrupt, so we have to disable
    interrupts when we take a lock in the timer.

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Jaroslav Kysela

    Clemens Ladisch
     
  • Fix the definitions of the CM_FLINKON/CM_FLINKOFF register bits that
    were garbled in the last 'update register definitions' patch.

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Jaroslav Kysela

    Clemens Ladisch
     
  • AD1986A has a hardware problem that it cannot share a stream with
    multiple pins properly. The problem occurs e.g. when a volume is changed
    during playback.
    So far, hda-intel driver unconditionally assigns the stream to multiple
    output pins in copy-front mode, and this should be avoided for AD1986A
    codec.
    The original fix patch was by zhejiang .

    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Takashi Iwai
     

28 Oct, 2007

1 commit


24 Oct, 2007

1 commit


23 Oct, 2007

11 commits


22 Oct, 2007

1 commit


20 Oct, 2007

2 commits

  • Fix the various misspellings of "system", controller", "interrupt" and
    "[un]necessary".

    Signed-off-by: Robert P. J. Day
    Signed-off-by: Adrian Bunk

    Robert P. J. Day
     
  • get rid of input BIT* duplicate defines

    use newly global defined macros for input layer. Also remove includes of
    input.h from non-input sources only for BIT macro definiton. Define the
    macro temporarily in local manner, all those local definitons will be
    removed further in this patchset (to not break bisecting).
    BIT macro will be globally defined (1<
    Cc:
    Acked-by: Jiri Kosina
    Cc:
    Acked-by: Marcel Holtmann
    Cc:
    Acked-by: Mauro Carvalho Chehab
    Cc:
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     

19 Oct, 2007

2 commits

  • Found these while looking at printk uses.

    Add missing newlines to dev_ uses
    Add missing KERN_ prefixes to multiline dev_s
    Fixed a wierd->weird spelling typo
    Added a newline to a printk

    Signed-off-by: Joe Perches
    Cc: "Luck, Tony"
    Cc: Jens Axboe
    Cc: Mark M. Hoffman
    Cc: Roland Dreier
    Cc: Tilman Schmidt
    Cc: David Woodhouse
    Cc: Jeff Garzik
    Cc: Stephen Hemminger
    Cc: Greg KH
    Cc: Jeremy Fitzhardinge
    Cc: Geert Uytterhoeven
    Cc: Alessandro Zummo
    Cc: David Brownell
    Cc: James Smart
    Cc: Andrew Vasquez
    Cc: "Antonino A. Daplas"
    Cc: Evgeniy Polyakov
    Cc: Russell King
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • This patch contains the next round of scheduled OSS code removal.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     

16 Oct, 2007

10 commits

  • The last patches to replace with schedule_timeout() don't work as expected.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Takashi Iwai
     
  • This patch sync sparc driver with x86 isa cs4231 driver patches.
    It fixes wrong waiting for the auto calibration bit and makes
    further waiting use much finer granularity.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Krzysztof Helt
     
  • This patch replaces cs4231 registers definitions with
    common include.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Krzysztof Helt
     
  • the BTC 1817DW board.
    The QS1000 is connected through the digital input
    to the Opti931 chip.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Krzysztof Helt
     
  • open and close operations are called only from pcm layer
    and mutexed there with pcm->open_mutex.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Krzysztof Helt
     
  • when simulating a storm of fake GUS interrupts (without actually owning
    this venerable piece of ISA hardware) the driver falls over (crashes) in
    two ways:
    1) spinlocks being initialized too late:
    INFO: trying to register non-static key.
    the code is fine but needs lockdep annotation.
    turning off the locking correctness validator.
    [] show_trace_log_lvl+0x1a/0x30
    [] show_trace+0x12/0x20
    [] dump_stack+0x16/0x20
    [] __lock_acquire+0xcfb/0x1030
    [] lock_acquire+0x60/0x80
    [] _spin_lock_irqsave+0x38/0x50
    [] snd_gf1_i_look8+0x22/0x60
    [] snd_gus_interrupt+0x13e/0x270
    [] handle_IRQ_event+0x28/0x60
    [] handle_fasteoi_irq+0x71/0xe0
    [] do_IRQ+0x48/0xa0
    [] common_interrupt+0x2e/0x40
    [] register_handler_proc+0x92/0xf0
    [] setup_irq+0xe2/0x190
    [] request_irq+0xb4/0xd0
    [] snd_gus_create+0x124/0x3c0
    [] snd_gusclassic_probe+0x2a7/0x4b0
    [] isa_bus_probe+0x1f/0x30
    [] driver_probe_device+0x84/0x190
    [] __device_attach+0x8/0x10
    [] bus_for_each_drv+0x53/0x80
    [] device_attach+0x8b/0x90
    [] bus_attach_device+0x48/0x80
    [] device_add+0x45d/0x5a0
    [] device_register+0x12/0x20
    [] isa_register_driver+0xb3/0x140
    [] alsa_card_gusclassic_init+0x12/0x20
    [] kernel_init+0x133/0x310
    [] kernel_thread_helper+0x7/0x10
    =======================
    2) callback functions not being filled in yet:
    BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000
    printing eip:
    00000000
    *pde = 00000000
    Oops: 0000 [#1]
    SMP DEBUG_PAGEALLOC
    CPU: 0
    EIP: 0060:[] Not tainted VLI
    EFLAGS: 00010002 (2.6.23 #37)
    EIP is at 0x0
    eax: 7fe94000 ebx: 7fe94000 ecx: 00000000 edx: 00000226
    esi: 00000000 edi: 00000005 ebp: 7ff87c28 esp: 7ff87bf4
    ds: 007b es: 007b fs: 00d8 gs: 0000 ss: 0068
    Process swapper (pid: 1, ti=7ff86000 task=7ff84000 task.ti=7ff86000)
    Stack: 40590683 408424a9 408db87c 00000029 40787406 00000064 00000046 ff000000
    000000ff 00000001 7faefaf0 00000000 00000005 7ff87c40 401548e8 00000000
    40a52000 7faefaf0 00000005 7ff87c58 40155cc1 40a52030 00000005 00000000
    Call Trace:
    [] show_trace_log_lvl+0x1a/0x30
    [] show_stack_log_lvl+0xab/0xd0
    [] show_registers+0x1cc/0x2d0
    [] die+0x116/0x240
    [] do_page_fault+0x18b/0x670
    [] error_code+0x72/0x80
    [] handle_IRQ_event+0x28/0x60
    [] handle_fasteoi_irq+0x71/0xe0
    [] do_IRQ+0x48/0xa0
    [] common_interrupt+0x2e/0x40
    [] proc_create+0x3e/0x120
    [] proc_mkdir_mode+0x23/0x50
    [] proc_mkdir+0xf/0x20
    [] register_handler_proc+0xd4/0xf0
    [] setup_irq+0xe2/0x190
    [] request_irq+0xb4/0xd0
    [] snd_gus_create+0x124/0x3c0
    [] snd_gusclassic_probe+0x2a7/0x4b0
    [] isa_bus_probe+0x1f/0x30
    [] driver_probe_device+0x84/0x190
    [] __device_attach+0x8/0x10
    [] bus_for_each_drv+0x53/0x80
    [] device_attach+0x8b/0x90
    [] bus_attach_device+0x48/0x80
    [] device_add+0x45d/0x5a0
    [] device_register+0x12/0x20
    [] isa_register_driver+0xb3/0x140
    [] alsa_card_gusclassic_init+0x12/0x20
    [] kernel_init+0x133/0x310
    [] kernel_thread_helper+0x7/0x10
    =======================
    Code: Bad EIP value.
    EIP: [] 0x0 SS:ESP 0068:7ff87bf4
    Kernel panic - not syncing: Fatal exception in interrupt
    with these things fixed, i get the expected 'no such hardware' result
    from the driver initialization:
    Calling initcall 0x40aa3dc0: alsa_card_gusclassic_init+0x0/0x20()
    ALSA sound/isa/gus/gusclassic.c:136: [0x220] check 1 failed - 0xff
    initcall 0x40aa3dc0: alsa_card_gusclassic_init+0x0/0x20() returned 0.
    initcall 0x40aa3dc0 ran for 133 msecs:
    alsa_card_gusclassic_init+0x0/0x20()

    Signed-off-by: Ingo Molnar
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Ingo Molnar
     
  • Fixed SKU ID function for realtek codecs. It's used by the automatic
    BIOS configuration mode. Now it supports the correct jack-detection
    mechanism, too.

    Signed-off-by: Kailang Yang
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Kailang Yang
     
  • Signed-off-by: Kailang Yang
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Kailang Yang
     
  • Reported by Jan-Marek Glogowski.
    The dmic array is passed to snd_hda_parse_pin_def_config() and
    should be zero-terminated.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Takashi Iwai
     
  • Fix zero-division bug in the calculation dds offset.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Takashi Iwai