]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge branch 'merge' into powerpc-next
authorPaul Mackerras <paulus@samba.org>
Fri, 23 May 2008 06:53:23 +0000 (16:53 +1000)
committerPaul Mackerras <paulus@samba.org>
Fri, 23 May 2008 06:53:23 +0000 (16:53 +1000)
1  2 
arch/powerpc/sysdev/mpic.c
drivers/net/Kconfig
include/asm-powerpc/mpic.h

index 466e2183e86c6662bf46cdabf713b9408483cb0e,7680001676a6ee076627fbc214528750c098efc6..f99f81abbd5c7f4b1a0eafc6d0a99835ff2b8f20
@@@ -1144,12 -1144,9 +1144,12 @@@ struct mpic * __init mpic_alloc(struct 
        mpic->num_cpus = ((greg_feature & MPIC_GREG_FEATURE_LAST_CPU_MASK)
                          >> MPIC_GREG_FEATURE_LAST_CPU_SHIFT) + 1;
        if (isu_size == 0)
 -              mpic->num_sources =
 -                      ((greg_feature & MPIC_GREG_FEATURE_LAST_SRC_MASK)
 -                       >> MPIC_GREG_FEATURE_LAST_SRC_SHIFT) + 1;
 +              if (flags & MPIC_BROKEN_FRR_NIRQS)
 +                      mpic->num_sources = mpic->irq_count;
 +              else
 +                      mpic->num_sources =
 +                              ((greg_feature & MPIC_GREG_FEATURE_LAST_SRC_MASK)
 +                               >> MPIC_GREG_FEATURE_LAST_SRC_SHIFT) + 1;
  
        /* Map the per-CPU registers */
        for (i = 0; i < mpic->num_cpus; i++) {
@@@ -1334,6 -1331,9 +1334,9 @@@ void mpic_irq_set_priority(unsigned in
        unsigned long flags;
        u32 reg;
  
+       if (!mpic)
+               return;
        spin_lock_irqsave(&mpic_lock, flags);
        if (is_ipi) {
                reg = mpic_ipi_read(src - mpic->ipi_vecs[0]) &
        spin_unlock_irqrestore(&mpic_lock, flags);
  }
  
- unsigned int mpic_irq_get_priority(unsigned int irq)
- {
-       unsigned int is_ipi;
-       struct mpic *mpic = mpic_find(irq, &is_ipi);
-       unsigned int src = mpic_irq_to_hw(irq);
-       unsigned long flags;
-       u32 reg;
-       spin_lock_irqsave(&mpic_lock, flags);
-       if (is_ipi)
-               reg = mpic_ipi_read(src = mpic->ipi_vecs[0]);
-       else
-               reg = mpic_irq_read(src, MPIC_INFO(IRQ_VECTOR_PRI));
-       spin_unlock_irqrestore(&mpic_lock, flags);
-       return (reg & MPIC_VECPRI_PRIORITY_MASK) >> MPIC_VECPRI_PRIORITY_SHIFT;
- }
  void mpic_setup_this_cpu(void)
  {
  #ifdef CONFIG_SMP
diff --combined drivers/net/Kconfig
index 02d5165b147c8f9a299f9c27092d240b257ded5c,dd0ec9ebc939a92d0bb4fadaba75648b95297359..b1ca6f2a44e80f5ba88e372e4054ccdb05898b0f
@@@ -1353,7 -1353,7 +1353,7 @@@ config APRICO
  
  config B44
        tristate "Broadcom 440x/47xx ethernet support"
-       depends on SSB_POSSIBLE
+       depends on SSB_POSSIBLE && HAS_DMA
        select SSB
        select MII
        help
@@@ -1884,6 -1884,7 +1884,6 @@@ config NE_H830
          Say Y here if you want to use the NE2000 compatible
          controller on the Renesas H8/300 processor.
  
 -source "drivers/net/fec_8xx/Kconfig"
  source "drivers/net/fs_enet/Kconfig"
  
  endif # NET_ETHERNET
index 6802570f4240a96d086dd5826c68ee677ce87a6a,a4d0f876b427d9540c4821a12fce209a8df12bd9..fe566a348a86e7e770ab014b11d96b380563183f
@@@ -353,8 -353,6 +353,8 @@@ struct mpi
  #define MPIC_ENABLE_MCK                       0x00000200
  /* Disable bias among target selection, spread interrupts evenly */
  #define MPIC_NO_BIAS                  0x00000400
 +/* Ignore NIRQS as reported by FRR */
 +#define MPIC_BROKEN_FRR_NIRQS         0x00000800
  
  /* MPIC HW modification ID */
  #define MPIC_REGSET_MASK              0xf0000000
@@@ -430,12 -428,11 +430,11 @@@ extern void mpic_init(struct mpic *mpic
   */
  
  
- /* Change/Read the priority of an interrupt. Default is 8 for irqs and
+ /* Change the priority of an interrupt. Default is 8 for irqs and
   * 10 for IPIs. You can call this on both IPIs and IRQ numbers, but the
   * IPI number is then the offset'ed (linux irq number mapped to the IPI)
   */
  extern void mpic_irq_set_priority(unsigned int irq, unsigned int pri);
- extern unsigned int mpic_irq_get_priority(unsigned int irq);
  
  /* Setup a non-boot CPU */
  extern void mpic_setup_this_cpu(void);