1. 20 8月, 2008 2 次提交
    • M
      powerpc: Convert the MPIC MSI code to use msi_bitmap · 25235f71
      Michael Ellerman 提交于
      This affects the U3 MSI code as well as the PASEMI MSI code.  We keep
      some of the MPIC routines as helpers, and also the U3 best-guess
      reservation logic.  The rest is replaced by the generic code.
      
      And a few printk format changes due to hwirq type change.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      25235f71
    • M
      powerpc: Split-out common MSI bitmap logic into msi_bitmap.c · 7e302869
      Michael Ellerman 提交于
      There are now two almost identical implementations of an MSI bitmap
      allocator, one in mpic_msi.c and the other in fsl_msi.c.
      
      Merge them together and put the result in msi_bitmap.c.  Some of the
      MPIC bits will remain to provide a nicer interface for the MPIC users.
      
      In the process we fix two buglets.  The first is that the allocation
      routines, now msi_bitmap_alloc_hwirqs(), returned an unsigned result,
      even though they use -1 to indicate allocation failure.  Although all
      the callers were checking correctly, it is much better for the routine
      to just return an int.  At least until someone wants > ~2 billion MSIs.
      
      The second buglet is that the device tree reservation logic only
      allowed power-of-two reservations.  AFAICT that didn't effect any
      existing code but it's nicer if we can reserve arbitrary irqs from MSI
      use.
      
      We also add some selftests, which exposed the two buglets and now test
      for them, as well as some basic sanity tests.  The tests are only built
      when CONFIG_DEBUG_KERNEL=y.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      7e302869
  2. 18 8月, 2008 4 次提交
  3. 15 8月, 2008 1 次提交
  4. 11 8月, 2008 1 次提交
    • B
      powerpc/mm: Fix attribute confusion with htab_bolt_mapping() · bc033b63
      Benjamin Herrenschmidt 提交于
      The function htab_bolt_mapping() is used to create permanent
      mappings in the MMU hash table, for example, in order to create
      the linear mapping of vmemmap.  It's also used by early boot
      ioremap (before mem_init_done).
      
      However, the way ioremap uses it is incorrect as it passes it the
      protection flags in the "linux PTE" form while htab_bolt_mapping()
      expects them in the hash table format.  This is made more confusing by
      the fact that some of those flags are actually in the same position in
      both cases.
      
      This fixes it all by making htab_bolt_mapping() take normal linux
      protection flags instead, and use a little helper to convert them to
      htab flags. Callers can now use the usual PAGE_* definitions safely.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      
       arch/powerpc/include/asm/mmu-hash64.h |    2 -
       arch/powerpc/mm/hash_utils_64.c       |   65 ++++++++++++++++++++--------------
       arch/powerpc/mm/init_64.c             |    9 +---
       3 files changed, 44 insertions(+), 32 deletions(-)
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      bc033b63
  5. 06 8月, 2008 1 次提交
  6. 04 8月, 2008 2 次提交