22 Apr, 2011

1 commit


14 Sep, 2010

1 commit


07 Apr, 2010

1 commit


04 Apr, 2010

3 commits


05 Nov, 2009

1 commit


03 Jun, 2009

2 commits

  • All __initdata should be __devinitdata as platform device is hotpluggable.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • [I am not sure if this is the correct approach as I don't know if any of
    this actual hardware or drivers are really hot pluggable.]

    Gets rid of these build warnings:

    WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x5c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_new()
    The function __devinit .snd_pmac_probe() references
    a function __init .snd_pmac_new().
    If .snd_pmac_new is only used by .snd_pmac_probe then
    annotate .snd_pmac_new with a matching annotation.

    WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x10c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_burgundy_init()
    The function __devinit .snd_pmac_probe() references
    a function __init .snd_pmac_burgundy_init().
    If .snd_pmac_burgundy_init is only used by .snd_pmac_probe then
    annotate .snd_pmac_burgundy_init with a matching annotation.

    WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x164): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_daca_init()
    The function __devinit .snd_pmac_probe() references
    a function __init .snd_pmac_daca_init().
    If .snd_pmac_daca_init is only used by .snd_pmac_probe then
    annotate .snd_pmac_daca_init with a matching annotation.

    WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1dc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_init()
    The function __devinit .snd_pmac_probe() references
    a function __init .snd_pmac_tumbler_init().
    If .snd_pmac_tumbler_init is only used by .snd_pmac_probe then
    annotate .snd_pmac_tumbler_init with a matching annotation.

    WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1ec): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_post_init()
    The function __devinit .snd_pmac_probe() references
    a function __init .snd_pmac_tumbler_post_init().
    If .snd_pmac_tumbler_post_init is only used by .snd_pmac_probe then
    annotate .snd_pmac_tumbler_post_init with a matching annotation.

    WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x28c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_awacs_init()
    The function __devinit .snd_pmac_probe() references
    a function __init .snd_pmac_awacs_init().
    If .snd_pmac_awacs_init is only used by .snd_pmac_probe then
    annotate .snd_pmac_awacs_init with a matching annotation.

    WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2bc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_pcm_new()
    The function __devinit .snd_pmac_probe() references
    a function __init .snd_pmac_pcm_new().
    If .snd_pmac_pcm_new is only used by .snd_pmac_probe then
    annotate .snd_pmac_pcm_new with a matching annotation.

    WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2f8): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_attach_beep()
    The function __devinit .snd_pmac_probe() references
    a function __init .snd_pmac_attach_beep().
    If .snd_pmac_attach_beep is only used by .snd_pmac_probe then
    annotate .snd_pmac_attach_beep with a matching annotation.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Takashi Iwai

    Stephen Rothwell
     

09 Mar, 2009

1 commit


12 Nov, 2008

1 commit


13 Aug, 2008

1 commit


10 Jul, 2008

1 commit


15 Feb, 2008

1 commit

  • The sound drivers and the pnpbios core test for current->root != NULL. This
    test seems to be unnecessary since we always have rootfs mounted before
    initializing the drivers.

    Signed-off-by: Jan Blunck
    Acked-by: Christoph Hellwig
    Cc: Bjorn Helgaas
    Cc: Jaroslav Kysela
    Acked-by: Takashi Iwai
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Blunck
     

01 Feb, 2008

3 commits

  • This header file exists only for some hacks to adapt alsa-driver
    tree. It's useless for building in the kernel. Let's move a few
    lines in it to sound/core.h and remove it.
    With this patch, sound/driver.h isn't removed but has just a single
    compile warning to include it. This should be really killed in
    future.

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

    Takashi Iwai
     
  • The kernel build fails, with following error
    CC sound/ppc/tumbler.o
    sound/ppc/tumbler.c: In function ‘snapper_get_capture_source’:
    sound/ppc/tumbler.c:812: error: ‘union ’ has no member named ‘value’
    sound/ppc/tumbler.c: In function ‘snapper_put_capture_source’:
    sound/ppc/tumbler.c:824: error: ‘union ’ has no member named ‘enuemerated’
    make[2]: *** [sound/ppc/tumbler.o] Error 1
    make[1]: *** [sound/ppc] Error 2
    make: *** [sound] Error 2

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

    Kamalesh Babulal
     
  • Check the value ranges in ctl put callbacks properly in snd-powermac
    driver.

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

    Takashi Iwai
     

07 May, 2007

1 commit


24 Apr, 2007

1 commit


13 Apr, 2007

1 commit


22 Nov, 2006

1 commit


05 Oct, 2006

1 commit

  • Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
    of passing regs around manually through all ~1800 interrupt handlers in the
    Linux kernel.

    The regs pointer is used in few places, but it potentially costs both stack
    space and code to pass it around. On the FRV arch, removing the regs parameter
    from all the genirq function results in a 20% speed up of the IRQ exit path
    (ie: from leaving timer_interrupt() to leaving do_IRQ()).

    Where appropriate, an arch may override the generic storage facility and do
    something different with the variable. On FRV, for instance, the address is
    maintained in GR28 at all times inside the kernel as part of general exception
    handling.

    Having looked over the code, it appears that the parameter may be handed down
    through up to twenty or so layers of functions. Consider a USB character
    device attached to a USB hub, attached to a USB controller that posts its
    interrupts through a cascaded auxiliary interrupt controller. A character
    device driver may want to pass regs to the sysrq handler through the input
    layer which adds another few layers of parameter passing.

    I've build this code with allyesconfig for x86_64 and i386. I've runtested the
    main part of the code on FRV and i386, though I can't test most of the drivers.
    I've also done partial conversion for powerpc and MIPS - these at least compile
    with minimal configurations.

    This will affect all archs. Mostly the changes should be relatively easy.
    Take do_IRQ(), store the regs pointer at the beginning, saving the old one:

    struct pt_regs *old_regs = set_irq_regs(regs);

    And put the old one back at the end:

    set_irq_regs(old_regs);

    Don't pass regs through to generic_handle_irq() or __do_IRQ().

    In timer_interrupt(), this sort of change will be necessary:

    - update_process_times(user_mode(regs));
    - profile_tick(CPU_PROFILING, regs);
    + update_process_times(user_mode(get_irq_regs()));
    + profile_tick(CPU_PROFILING);

    I'd like to move update_process_times()'s use of get_irq_regs() into itself,
    except that i386, alone of the archs, uses something other than user_mode().

    Some notes on the interrupt handling in the drivers:

    (*) input_dev() is now gone entirely. The regs pointer is no longer stored in
    the input_dev struct.

    (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does
    something different depending on whether it's been supplied with a regs
    pointer or not.

    (*) Various IRQ handler function pointers have been moved to type
    irq_handler_t.

    Signed-Off-By: David Howells
    (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)

    David Howells
     

23 Sep, 2006

1 commit

  • When booting with line out or headphone plugged, you won't hear anything.
    The problem is that after reset all channels are muted, but the actual
    value of the gpio port doesn't exactly match the active_val settings as
    expected by check_audio_gpio. For example, the line_mute port is set to
    7, but check_audio_gpio would expect 0xd or 0xf, thus its return value
    indicates that it is not active, even though it is. AFAICS only looking
    at the low bit is enough to determine whether the port is active.

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

    Andreas Schwab
     

08 Aug, 2006

1 commit


03 Aug, 2006

1 commit


31 Jul, 2006

1 commit


03 Jul, 2006

1 commit

  • This adds the new irq remapper core and removes the old one. Because
    there are some fundamental conflicts with the old code, like the value
    of NO_IRQ which I'm now setting to 0 (as per discussions with Linus),
    etc..., this commit also changes the relevant platform and driver code
    over to use the new remapper (so as not to cause difficulties later
    in bisecting).

    This patch removes the old pre-parsing of the open firmware interrupt
    tree along with all the bogus assumptions it made to try to renumber
    interrupts according to the platform. This is all to be handled by the
    new code now.

    For the pSeries XICS interrupt controller, a single remapper host is
    created for the whole machine regardless of how many interrupt
    presentation and source controllers are found, and it's set to match
    any device node that isn't a 8259. That works fine on pSeries and
    avoids having to deal with some of the complexities of split source
    controllers vs. presentation controllers in the pSeries device trees.

    The powerpc i8259 PIC driver now always requests the legacy interrupt
    range. It also has the feature of being able to match any device node
    (including NULL) if passed no device node as an input. That will help
    porting over platforms with broken device-trees like Pegasos who don't
    have a proper interrupt tree.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     

21 Apr, 2006

1 commit


24 Mar, 2006

1 commit

  • Several media/video and sound drivers include i2c-dev.h while they
    don't need it at all. Clean it up.

    This header file is really only needed by i2c-dev.c and
    compat_ioctl.c, other drivers should never need it.

    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     

08 Feb, 2006

1 commit

  • The PowerMac sound drivers used to rely on a "bug" of the i2c-keywest
    driver that implemented I2C_SMBUS_BLOCK_DATA incorrectly, that is it did
    what I2C_SMBUS_I2C_BLOCK_DATA should have done. The new i2c-powermac
    driver that replaces keywest has this bug fixed, thus the sound drivers
    must be fixed too.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     

03 Jan, 2006

1 commit


16 Nov, 2005

1 commit

  • ever since suspend to disk works I had the problem that headphone
    (un)plugging doesn't get detected properly anymore after the first
    resume.
    Reloading the module worked around this ever since, however the real
    cause of the problem was that after a resume the driver only got
    interrupts on "unplug" not on "plug". Reactivating the headphone status
    interrupt in tumbler_resume fixes this. This shouldn't cause
    any trouble with software suspend, but it would be nice if somebody
    could confirm this:

    Signed-off-by: Guido Guenther
    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Guido Guenther
     

12 Sep, 2005

1 commit


28 Jul, 2005

1 commit

  • PPC AWACS driver,PPC PMAC driver,PPC Tumbler driver
    Description: Fix-up sleeping in sound/ppc. Replace big_mdelay() with
    msleep() to guarantee the task delays as expected. This also involved
    replacing/removing custom sleep functions.

    Signed-off-by: Nishanth Aravamudan
    Signed-off-by: Jaroslav Kysela

    Nishanth Aravamudan
     

28 Jun, 2005

1 commit

  • This patch removes CONFIG_PMAC_PBOOK (PowerBook support). This is now
    split into CONFIG_PMAC_MEDIABAY for the actual hotswap bay that some
    powerbooks have, CONFIG_PM for power management related code, and just left
    out of any CONFIG_* option for some generally useful stuff that can be used
    on non-laptops as well.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     

01 May, 2005

2 commits

  • Ben's patch that shutdowns master switch and restores it after resume
    ("pmac: Improve sleep code of tumbler driver") isn't enough here on an
    iBook (snapper chip).

    The master switch is correctly saved and restored, but somehow
    tumbler_put_master_volume() gets called just after
    tumbler_set_master_volume() and sets mix->master_vol[*] to 0. So, on
    resuming, the master switch is reenabled, but the volume is set to 0.

    Here's a patch that also saves and restores master_vol.

    Signed-off-by: Colin Leroy
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Colin Leroy
     
  • This patch fixes a couple more issues with the management of the GPIOs
    dealing with headphone and line out mute on the G5. It should fix the
    remaining problems of people not getting any sound out of the headphone
    jack.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     

17 Apr, 2005

3 commits

  • This patch hacks the current PowerMac Alsa driver to add some basic support
    of analog sound output to some desktop G5s. It has severe limitations
    though:

    - Only 44100Khz 16 bits
    - Only work on G5 models using a TAS3004 analog code, that is early
    single CPU desktops and all dual CPU desktops at this date, but none
    of the more recent ones like iMac G5.
    - It does analog only, no digital/SPDIF support at all, no native
    AC3 support

    Better support would require a complete rewrite of the driver (which I am
    working on, but don't hold your breath), to properly support the diversity
    of apple sound HW setup, including dual codecs, several i2s busses, all the
    new codecs used in the new machines, proper clock switching with digital,
    etc etc etc...

    This patch applies on top of the other PowerMac sound patches I posted in
    the past couple of days (new powerbook support and sleep fixes).

    Note: This is a FAQ entry for PowerMac sound support with TI codecs: They
    have a feature called "DRC" which is automatically enabled for the internal
    speaker (at least when auto mute control is enabled) which will cause your
    sound to fade out to nothing after half a second of playback if you don't
    set a proper "DRC Range" in the mixer. So if you have a problem like that,
    check alsamixer and raise your DRC Range to something reasonable.

    Note2: This patch will also add auto-mute of the speaker when line-out jack
    is used on some earlier desktop G4s (and on the G5) in addition to the
    headphone jack. If that behaviour isn't what you want, just disable
    auto-muting and use the manual mute controls in alsamixer.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     
  • This patch improves the behaviour of the "tumbler/snapper" driver used on
    newer PowerMacs during sleep. It properly set the HW mutes to shut down
    amplifiers and does an analog shutdown of the codec. That might improve
    power consumption during sleep on a number of machines.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     
  • This patch hacks the current Alsa snd-powermac driver to add support for
    recent machine models with the tas3004 chip, that is basically new laptop
    models. The Mac Mini is _NOT_ yet supported by this patch (soon soon ...).
    The G5s (iMac or Desktop) will need the rewritten sound driver on which
    I'm working on (I _might_ get a hack for analog only on some G5s on the
    current driver, but no promise).

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

    Benjamin Herrenschmidt