1. 03 Jun, 2009 2 commits
    • Takashi Iwai's avatar
      ALSA: powermac - Replace the rest of __init* · 3e1e0a5d
      Takashi Iwai authored
      All __initdata should be __devinitdata as platform device is hotpluggable.
      Signed-off-by: default avatarTakashi Iwai <[email protected]>
      3e1e0a5d
    • Stephen Rothwell's avatar
      ALSA: sound/ppc: update annotations of serveral functions · 5c9b6e9e
      Stephen Rothwell authored
      [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: default avatarStephen Rothwell <[email protected]>
      Signed-off-by: default avatarTakashi Iwai <[email protected]>
      5c9b6e9e
  2. 09 Mar, 2009 1 commit
  3. 12 Nov, 2008 1 commit
  4. 13 Aug, 2008 1 commit
  5. 10 Jul, 2008 1 commit
  6. 15 Feb, 2008 1 commit
  7. 31 Jan, 2008 3 commits
  8. 07 May, 2007 1 commit
  9. 24 Apr, 2007 1 commit
  10. 12 Apr, 2007 1 commit
  11. 22 Nov, 2006 1 commit
  12. 05 Oct, 2006 1 commit
    • David Howells's avatar
      IRQ: Maintain regs pointer globally rather than passing to IRQ handlers · 7d12e780
      David Howells authored
      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: default avatarDavid Howells <[email protected]>
      (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
      7d12e780
  13. 23 Sep, 2006 1 commit
  14. 03 Aug, 2006 1 commit
  15. 31 Jul, 2006 1 commit
  16. 03 Jul, 2006 1 commit
    • Benjamin Herrenschmidt's avatar
      [POWERPC] Add new interrupt mapping core and change platforms to use it · 0ebfff14
      Benjamin Herrenschmidt authored
      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: default avatarBenjamin Herrenschmidt <[email protected]>
      Signed-off-by: default avatarPaul Mackerras <[email protected]>
      0ebfff14
  17. 21 Apr, 2006 1 commit
  18. 23 Mar, 2006 1 commit
  19. 08 Feb, 2006 1 commit
  20. 03 Jan, 2006 1 commit
  21. 16 Nov, 2005 1 commit
  22. 12 Sep, 2005 1 commit
  23. 28 Jul, 2005 1 commit
  24. 27 Jun, 2005 1 commit
  25. 01 May, 2005 2 commits
  26. 16 Apr, 2005 4 commits
    • Benjamin Herrenschmidt's avatar
      [PATCH] ppc64: very basic desktop g5 sound support · 7bbd8277
      Benjamin Herrenschmidt authored
      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: default avatarBenjamin Herrenschmidt <[email protected]>
      Signed-off-by: default avatarAndrew Morton <[email protected]>
      Signed-off-by: default avatarLinus Torvalds <[email protected]>
      7bbd8277
    • Benjamin Herrenschmidt's avatar
      [PATCH] pmac: Improve sleep code of tumbler driver · b20af5f5
      Benjamin Herrenschmidt authored
      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: default avatarBenjamin Herrenschmidt <[email protected]>
      Signed-off-by: default avatarAndrew Morton <[email protected]>
      Signed-off-by: default avatarLinus Torvalds <[email protected]>
      b20af5f5
    • Benjamin Herrenschmidt's avatar
      [PATCH] pmac: sound support for latest laptops · b75550e1
      Benjamin Herrenschmidt authored
      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: default avatarAndrew Morton <[email protected]>
      Signed-off-by: default avatarLinus Torvalds <[email protected]>
      b75550e1
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4