1. 04 5月, 2011 1 次提交
  2. 29 3月, 2011 2 次提交
  3. 10 3月, 2011 1 次提交
  4. 05 3月, 2010 1 次提交
  5. 17 2月, 2010 1 次提交
  6. 09 2月, 2010 1 次提交
  7. 09 12月, 2009 1 次提交
  8. 24 11月, 2009 1 次提交
  9. 30 10月, 2009 1 次提交
  10. 20 8月, 2009 1 次提交
  11. 08 7月, 2009 1 次提交
    • A
      powerpc: Don't use alloc_bootmem() in init_IRQ() path · ea96025a
      Anton Vorontsov 提交于
      This patch fixes various badnesses like this for all interrupt
      controllers:
      
      ------------[ cut here ]------------
      Badness at c04db9dc [verbose debug info unavailable]
      NIP: c04db9dc LR: c04db9ac CTR: 00000000
      REGS: c053de30 TRAP: 0700   Not tainted  (2.6.31-rc1-00432-ge69b2b5-dirty)
      MSR: 00021000 <ME,CE>  CR: 22020084  XER: 00000000
      TASK = c0500480[0] 'swapper' THREAD: c053c000
      GPR00: 00000001 c053dee0 c0500480 00000000 00000050 00000020 3fffffff 00000000
      GPR08: 00000001 c0540000 e0080080 00000000 22000084 64183600 3ff8f800 00000000
      GPR16: 841b0240 449a0303 00000000 00000000 00000000 00000000 00000000 c04f5bf4
      GPR24: 00000000 00000000 00000000 00000050 00000020 00000000 3fffffff 00000050
      NIP [c04db9dc] alloc_arch_preferred_bootmem+0x48/0x74
      LR [c04db9ac] alloc_arch_preferred_bootmem+0x18/0x74
      Call Trace:
      [c053dee0] [c000a5a4] __of_address_to_resource+0x44/0xd0 (unreliable)
      [c053def0] [c04dba58] ___alloc_bootmem_nopanic+0x50/0x108
      [c053df20] [c04dbb28] ___alloc_bootmem+0x18/0x50
      [c053df30] [c04d5de0] qe_ic_init+0x5c/0x1b0
      [c053df70] [c04d77b0] mpc85xx_mds_pic_init+0xb8/0x10c
      [c053dfb0] [c04cf374] init_IRQ+0x28/0x3c
      
      p.s. commit 85355bb2 ("powerpc: Fix
      mpic alloc warning") missed some alloc_bootmem() instances, this is
      now fixed.
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Acked-by: NTimur Tabi <timur@freescale.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ea96025a
  12. 09 6月, 2008 2 次提交
  13. 25 1月, 2008 1 次提交
  14. 08 10月, 2007 2 次提交
    • A
      [POWERPC] QEIC: Implement pluggable handlers, fix MPIC cascading · cccd2102
      Anton Vorontsov 提交于
      set_irq_chained_handler overwrites MPIC's handle_irq function
      (handle_fasteoi_irq) thus MPIC never gets eoi event from the
      cascaded IRQ. This situation hangs MPIC on MPC8568E.
      
      To solve this problem efficiently, QEIC needs pluggable handlers,
      specific to the underlaying interrupt controller.
      
      Patch extends qe_ic_init() function to accept low and high interrupt
      handlers. To avoid #ifdefs, stack of interrupt handlers specified in
      the header file and functions are marked 'static inline', thus
      handlers are compiled-in only if actually used (in the board file).
      Another option would be to lookup for parent controller and
      automatically detect handlers (will waste text size because of
      never used handlers, so this option abolished).
      
      qe_ic_init() also changed in regard to support multiplexed high/low
      lines as found in MPC8568E-MDS, plus qe_ic_cascade_muxed_mpic()
      handler implemented appropriately.
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      cccd2102
    • T
      [POWERPC] qe: miscellaneous code improvements and fixes to the QE library · 6b0b594b
      Timur Tabi 提交于
      This patch makes numerous miscellaneous code improvements to the QE library.
      
      1. Remove struct ucc_common and merge ucc_init_guemr() into ucc_set_type()
         (every caller of ucc_init_guemr() also calls ucc_set_type()).  Modify all
         callers of ucc_set_type() accordingly.
      
      2. Remove the unused enum ucc_pram_initial_offset.
      
      3. Refactor qe_setbrg(), also implement work-around for errata QE_General4.
      
      4. Several printk() calls were missing the terminating \n.
      
      5. Add __iomem where needed, and change u16 to __be16 and u32 to __be32 where
         appropriate.
      
      6. In ucc_slow_init() the RBASE and TBASE registers in the PRAM were programmed
         with the wrong value.
      
      7. Add the protocol type to struct us_info and updated ucc_slow_init() to
         use it, instead of always programming QE_CR_PROTOCOL_UNSPECIFIED.
      
      8. Rename ucc_slow_restart_x() to ucc_slow_restart_tx()
      
      9. Add several macros in qe.h (mostly for slow UCC support, but also to
         standardize some naming convention) and remove several unused macros.
      
      10. Update ucc_geth.c to use the new macros.
      
      11. Add ucc_slow_info.protocol to specify which QE_CR_PROTOCOL_xxx protcol
          to use when initializing the UCC in ucc_slow_init().
      
      12. Rename ucc_slow_pram.rfcr to rbmr and ucc_slow_pram.tfcr to tbmr, since
          these are the real names of the registers.
      
      13. Use the setbits, clrbits, and clrsetbits where appropriate.
      
      14. Refactor ucc_set_qe_mux_rxtx().
      
      15. Remove all instances of 'volatile'.
      
      16. Simplify get_cmxucr_reg();
      
      17. Replace qe_mux.cmxucrX with qe_mux.cmxucr[].
      
      18. Updated struct ucc_geth because struct ucc_fast is not padded any more.
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      6b0b594b
  15. 13 9月, 2007 1 次提交
  16. 26 1月, 2007 1 次提交
  17. 24 1月, 2007 1 次提交
  18. 08 12月, 2006 1 次提交
  19. 07 10月, 2006 1 次提交
  20. 06 10月, 2006 1 次提交
  21. 04 10月, 2006 1 次提交
    • L
      [POWERPC] Add QUICC Engine (QE) infrastructure · 98658538
      Li Yang 提交于
      Add QUICC Engine (QE) configuration, header files, and
      QE management and library code that are used by QE devices
      drivers.
      
      Includes Leo's modifications up to, and including, the
      platform_device to of_device adaptation:
      
      "The series of patches add generic QE infrastructure called
      qe_lib, and MPC8360EMDS board support.  Qe_lib is used by
      QE device drivers such as ucc_geth driver.
      
      This version updates QE interrupt controller to use new irq
      mapping mechanism, addresses all the comments received with
      last submission and includes some style fixes.
      
      v2: Change to use device tree for BCSR and MURAM;
      Remove I/O port interrupt handling code as it is not generic
      enough.
      
      v3: Address comments from Kumar;  Update definition of several
      device tree nodes;  Copyright style change."
      
      In addition, the following changes have been made:
      
      o removed typedefs
      o uint -> u32 conversions
      o removed following defines:
        QE_SIZEOF_BD, BD_BUFFER_ARG, BD_BUFFER_CLEAR, BD_BUFFER,
        BD_STATUS_AND_LENGTH_SET, BD_STATUS_AND_LENGTH, and BD_BUFFER_SET
        because they hid sizeof/in_be32/out_be32 operations from the reader.
      o fixed qe_snums_init() serial num assignment to use a const array
      o made CONFIG_UCC_FAST select UCC_SLOW
      o reduced NR_QE_IC_INTS from 128 to 64
      o remove _IO_BASE, etc. defines (not used)
      o removed irrelevant comments, added others to resemble removed BD_ defines
      o realigned struct definitions in headers
      o various other style fixes including things like pinMask -> pin_mask
      o fixed a ton of whitespace issues
      o marked ioregs as __be32/__be16
      o removed platform_device code and redundant get_qe_base()
      o removed redundant comments
      o added cpu_relax() to qe_reset
      o uncasted all get_property() assignments
      o eliminated unneeded casts
      o eliminated immrbar_phys_to_virt (not used)
      Signed-off-by: NLi Yang <leoli@freescale.com>
      Signed-off-by: NShlomi Gridish <gridish@freescale.com>
      Signed-off-by: NKim Phillips <kim.phillips@freescale.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      98658538