1. 03 8月, 2012 1 次提交
  2. 27 7月, 2012 1 次提交
  3. 23 7月, 2012 1 次提交
  4. 11 7月, 2012 4 次提交
  5. 10 7月, 2012 3 次提交
  6. 17 6月, 2012 1 次提交
  7. 04 5月, 2012 1 次提交
  8. 03 5月, 2012 1 次提交
  9. 30 4月, 2012 2 次提交
    • G
      powerpc/irqdomain: Fix broken NR_IRQ references · 4013369f
      Grant Likely 提交于
      The switch from using irq_map to irq_alloc_desc*() for managing irq
      number allocations introduced new bugs in some of the powerpc
      interrupt code.  Several functions rely on the value of NR_IRQS to
      determine the maximum irq number that could get allocated.  However,
      with sparse_irq and using irq_alloc_desc*() the maximum possible irq
      number is now specified with 'nr_irqs' which may be a number larger
      than NR_IRQS.  This has caused breakage on powermac when
      CONFIG_NR_IRQS is set to 32.
      
      This patch removes most of the direct references to NR_IRQS in the
      powerpc code and replaces them with either a nr_irqs reference or by
      using the common for_each_irq_desc() macro.  The powerpc-specific
      for_each_irq() macro is removed at the same time.
      
      Also, the Cell axon_msi driver is refactored to remove the global
      build assumption on the size of NR_IRQS and instead add a limit to the
      maximum irq number when calling irq_domain_add_nomap().
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      4013369f
    • G
      powerpc/8xx: Fix NR_IRQ bugs and refactor 8xx interrupt controller · 8751ed14
      Grant Likely 提交于
      The mpc8xx driver uses a reference to NR_IRQS that is buggy.  It uses
      NR_IRQs for the array size of the ppc_cached_irq_mask bitmap, but
      NR_IRQs could be smaller than the number of hardware irqs that
      ppc_cached_irq_mask tracks.
      
      Also, while fixing that problem, it became apparent that the interrupt
      controller only supports 32 interrupt numbers, but it is written as if
      it supports multiple register banks which is more complicated.
      
      This patch pulls out the buggy reference to NR_IRQs and fixes the size
      of the ppc_cached_irq_mask to match the number of HW irqs.  It also
      drops the now-unnecessary code since ppc_cached_irq_mask is no longer
      an array.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      8751ed14
  10. 23 4月, 2012 2 次提交
  11. 20 4月, 2012 2 次提交
  12. 19 4月, 2012 1 次提交
    • P
      powerpc: fix system.h fallout in sysdev/scom.c [chroma_defconfig] · 1bc68a9e
      Paul Gortmaker 提交于
      The following shows up in chroma_defconfig:
      
       CC      arch/powerpc/sysdev/scom.o
      arch/powerpc/sysdev/scom.c: In function 'scom_debug_init':
      arch/powerpc/sysdev/scom.c:182:36: error: 'powerpc_debugfs_root' undeclared (first use in this function)
      arch/powerpc/sysdev/scom.c:182:36: note: each undeclared identifier is reported only once for each function it appears in
      make[2]: *** [arch/powerpc/sysdev/scom.o] Error 1
      make[1]: *** [arch/powerpc/sysdev/scom.o] Error 2
      
      A bisect leads to commit 9ffc93f2
      
          "Remove all #inclusions of asm/system.h"
      
      Add the debug header which contains powerpc_debugfs_root.
      Acked-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      1bc68a9e
  13. 29 3月, 2012 2 次提交
  14. 17 3月, 2012 5 次提交
  15. 16 3月, 2012 3 次提交
    • L
    • L
      powerpc/srio: Fix the compile errors when building with 64bit · 2a2383da
      Liu Gang 提交于
      For the file "arch/powerpc/sysdev/fsl_rmu.c", there will be some compile
      errors while using the corenet64_smp_defconfig:
      
      .../fsl_rmu.c:315: error: cast from pointer to integer of different size
      .../fsl_rmu.c:320: error: cast to pointer from integer of different size
      .../fsl_rmu.c:320: error: cast to pointer from integer of different size
      .../fsl_rmu.c:320: error: cast to pointer from integer of different size
      .../fsl_rmu.c:330: error: cast to pointer from integer of different size
      .../fsl_rmu.c:332: error: cast to pointer from integer of different size
      .../fsl_rmu.c:339: error: cast to pointer from integer of different size
      .../fsl_rmu.c:340: error: cast to pointer from integer of different size
      .../fsl_rmu.c:341: error: cast to pointer from integer of different size
      .../fsl_rmu.c:348: error: cast to pointer from integer of different size
      .../fsl_rmu.c:348: error: cast to pointer from integer of different size
      .../fsl_rmu.c:348: error: cast to pointer from integer of different size
      .../fsl_rmu.c:659: error: cast from pointer to integer of different size
      .../fsl_rmu.c:659: error: format '%8.8x' expects type 'unsigned int',
                         but argument 5 has type 'size_t'
      .../fsl_rmu.c:985: error: cast from pointer to integer of different size
      .../fsl_rmu.c:997: error: cast to pointer from integer of different size
      
      Rewrote the corresponding code with the support of 64bit building.
      Signed-off-by: NLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: NShaohui Xie <Shaohui.Xie@freescale.com>
      Reported-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      2a2383da
    • L
      powerpc/srio: Fix the relocation errors when building with 64bit · b6c46dcf
      Liu Gang 提交于
      For the file "arch/powerpc/sysdev/fsl_rio.c", there will be some relocation
      errors while using the corenet64_smp_defconfig:
      
      WARNING: modpost: Found 6 section mismatch(es).
      To see full details build your kernel with:
      'make CONFIG_DEBUG_SECTION_MISMATCH=y'
        GEN     .version
        CHK     include/generated/compile.h
        UPD     include/generated/compile.h
        CC      init/version.o
        LD      init/built-in.o
        LD      .tmp_vmlinux1
      arch/powerpc/sysdev/built-in.o:(__ex_table+0x0):
      	relocation truncated to fit: R_PPC64_ADDR16 against `.text'+3208
      arch/powerpc/sysdev/built-in.o:(__ex_table+0x2):
      	relocation truncated to fit: R_PPC64_ADDR16 against `.fixup'
      arch/powerpc/sysdev/built-in.o:(__ex_table+0x4):
      	relocation truncated to fit: R_PPC64_ADDR16 against `.text'+3230
      arch/powerpc/sysdev/built-in.o:(__ex_table+0x6):
      	relocation truncated to fit: R_PPC64_ADDR16 against `.fixup'+c
      arch/powerpc/sysdev/built-in.o:(__ex_table+0x8):
      	relocation truncated to fit: R_PPC64_ADDR16 against `.text'+3250
      arch/powerpc/sysdev/built-in.o:(__ex_table+0xa):
      	relocation truncated to fit: R_PPC64_ADDR16 against `.fixup'+18
      
      Rewrote the corresponding code with the support of 64bit building.
      Signed-off-by: NLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      b6c46dcf
  16. 27 2月, 2012 1 次提交
  17. 23 2月, 2012 5 次提交
    • K
      powerpc/mpic: Remove duplicate MPIC_WANTS_RESET flag · e55d7f73
      Kyle Moffett 提交于
      There are two separate flags controlling whether or not the MPIC is
      reset during initialization, which is completely unnecessary, and only
      one of them can be specified in the device tree.
      
      Also, most platforms in-tree right now do actually want to reset the
      MPIC during initialization anyways, which means lots of duplicate code
      passing the MPIC_WANTS_RESET flag.
      
      Fix all of the callers which currently do not pass the MPIC_WANTS_RESET
      flag to pass the MPIC_NO_RESET flag, then remove the MPIC_WANTS_RESET
      flag and make the code reset the MPIC by default.
      Signed-off-by: NKyle Moffett <Kyle.D.Moffett@boeing.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      e55d7f73
    • K
      powerpc/mpic: Add "last-interrupt-source" property to override hardware · c1b8d45d
      Kyle Moffett 提交于
      The FreeScale PowerQUICC-III-compatible (mpc85xx/mpc86xx) MPICs do not
      correctly report the number of hardware interrupt sources, so software
      needs to override the detected value with "256".
      
      To avoid needing to write custom board-specific code to detect that
      scenario, allow it to be easily overridden in the device-tree.
      Signed-off-by: NKyle Moffett <Kyle.D.Moffett@boeing.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      c1b8d45d
    • K
      powerpc/mpic: Remove MPIC_BROKEN_FRR_NIRQS and duplicate irq_count · 5019609f
      Kyle Moffett 提交于
      The mpic->irq_count variable is only used as a software error-checking
      limit to determine whether or not an IRQ number is valid.  In board code
      which does not manually specify an IRQ count to mpic_alloc(), i.e. 0, it
      is automatically detected from the number of ISUs and the ISU size.
      
      In practice, all hardware ends up with irq_count == num_sources, so all
      of the runtime checks on mpic->irq_count should just check the value of
      mpic->num_sources instead.
      
      When platform hardware does not correctly report the number of IRQs,
      which only happens on the MPC85xx/MPC86xx, the MPIC_BROKEN_FRR_NIRQS
      flag is used to override the detected value of num_sources with the
      manual irq_count parameter.  Since there's no need to manually specify
      the number of IRQs except in this case, the extra flag can be eliminated
      and the test changed to "irq_count != 0".
      Signed-off-by: NKyle Moffett <Kyle.D.Moffett@boeing.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      5019609f
    • K
      fsl/mpic: Create and document the "single-cpu-affinity" device-tree flag · 9ca163c8
      Kyle Moffett 提交于
      The Freescale MPIC (and perhaps others in the future) is incapable of
      routing non-IPI interrupts to more than once CPU at a time.  Currently
      all of the Freescale boards msut pass the MPIC_SINGLE_DEST_CPU flag to
      mpic_alloc(), but that information should really be present in the
      device-tree.
      
      Older board code can't rely on the device-tree having the property set,
      but newer platforms won't need it manually specified in the code.
      
      [BenH: Remove unrelated changes, folded in a different patch]
      Signed-off-by: NKyle Moffett <Kyle.D.Moffett@boeing.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      9ca163c8
    • K
      powerpc/mpic: Fix use of "flags" variable in mpic_alloc() · 3a7a7176
      Kyle Moffett 提交于
      The mpic_alloc() function takes a "flags" parameter and assigns it into
      the mpic->flags variable fairly early on, but several later pieces of
      code detect various device-tree properties and save them into the
      "mpic->flags" variable (EG: "big-endian" => MPIC_BIG_ENDIAN).
      
      Unfortunately, a number of codepaths (including several which test the
      flag MPIC_BIG_ENDIAN!) test "flags" instead of "mpic->flags", and get
      wrong answers as a result.
      
      Consolidate the device-tree flag tests early in mpic_alloc() and change
      all of the checks after "mpic->flags" is init'ed to use "mpic->flags".
      
      [BenH: Fixed up use of mpic->node before it's initialized]
      Signed-off-by: NKyle Moffett <Kyle.D.Moffett@boeing.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      3a7a7176
  18. 16 2月, 2012 4 次提交
    • G
      irq_domain/powerpc: Replace custom xlate functions with library functions · ff8c3ab8
      Grant Likely 提交于
      This patch converts a number of the powerpc drivers to use the common library
      of irq_domain xlate functions, dropping a bunch of lines in the process.
      
      v5: - Remove tsi108 changes from patch
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: Rob Herring <rob.herring@calxeda.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Milton Miller <miltonm@bga.com>
      Tested-by: NOlof Johansson <olof@lixom.net>
      ff8c3ab8
    • G
      irq_domain/powerpc: constify irq_domain_ops · 9f70b8eb
      Grant Likely 提交于
      Make all the irq_domain_ops structures in powerpc 'static const'
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Milton Miller <miltonm@bga.com>
      Tested-by: NOlof Johansson <olof@lixom.net>
      9f70b8eb
    • G
      irq_domain: constify irq_domain_ops · a18dc81b
      Grant Likely 提交于
      Make irq_domain_ops pointer a constant to make it safer for multiple
      instances to share the same ops pointer and change the irq_domain code
      so that it does not modify the ops.
      
      v4: Fix mismatched type reference in powerpc code
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Milton Miller <miltonm@bga.com>
      Tested-by: NOlof Johansson <olof@lixom.net>
      a18dc81b
    • G
      irq_domain: Add support for base irq and hwirq in legacy mappings · 1bc04f2c
      Grant Likely 提交于
      Add support for a legacy mapping where irq = (hwirq - first_hwirq + first_irq)
      so that a controller driver can allocate a fixed range of irq_descs and use
      a simple calculation to translate back and forth between linux and hw irq
      numbers.  This is needed to use an irq_domain with many of the ARM interrupt
      controller drivers that manage their own irq_desc allocations.  Ultimately
      the goal is to migrate those drivers to use the linear revmap, but doing it
      this way allows each driver to be converted separately which makes the
      migration path easier.
      
      This patch generalizes the IRQ_DOMAIN_MAP_LEGACY method to use
      (first_irq-first_hwirq) as the offset between hwirq and linux irq number,
      and adds checks to make sure that the hwirq number does not exceed range
      assigned to the controller.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: Rob Herring <rob.herring@calxeda.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Milton Miller <miltonm@bga.com>
      Tested-by: NOlof Johansson <olof@lixom.net>
      1bc04f2c