1. 28 4月, 2014 1 次提交
    • S
      powerpc/legacy_serial: Support MVME5100 UARTS with shifted registers · 13ae4037
      Stephen Chivers 提交于
      This patch adds support to legacy serial for
      UARTS with shifted registers.
      
      The MVME5100 Single Board Computer is a PowerPC platform
      that has 16550 style UARTS with register addresses that are
      16 bytes apart (shifted by 4).
      
      Commit 	30925748
      "powerpc: Cleanup udbg_16550 and add support for LPC PIO-only UARTs"
      added support to udbg_16550 for shifted registers by adding a "stride"
      parameter to the initialisation operations for Programmed IO and
      Memory Mapped IO.
      
      As a consequence it is now possible to use the services of legacy serial
      to provide early serial console messages for the MVME5100.
      
      An added benefit of this is that the serial console will always be
      "ttyS0" irrespective of whether the computer is fitted with extra
      PCI 8250 interface boards or not.
      
      I have tested this patch using the four PowerPC platforms available to me:
      
      	MVME5100 - shifted registers,
      	SAM440EP - unshifted registers,
      	MPC8349 - unshifted registers,
      	MVME4100 - unshifted registers.
      Signed-off-by: NStephen Chivers <schivers@csc.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      13ae4037
  2. 20 3月, 2014 1 次提交
  3. 07 3月, 2014 1 次提交
    • P
      powerpc: Delete old PrPMC 280/2800 support · 3c8464a9
      Paul Gortmaker 提交于
      This processor/memory module was mostly used on ATCA blades and
      before that, on cPCI blades.  It wasn't really user friendly, with
      custom non u-boot bootloaders (powerboot/motload) and no real way
      to recover corrupted boot flash (which was a common problem).
      
      As such, it had its day back before the big ppc --> powerpc move
      to device trees, and that was largely through commercial BSPs that
      started to dry up around 2007.
      
      Systems using one were largely in a "deploy and sustain" mode,
      so interest in upgrading to new kernels in the field was nil.
      Also, requiring 50A, 48V power supplies and a 2'x2'x2' ATCA
      chassis largely rules out any hobbyist/enthusiast interest.
      
      The point of all this, is that we might as well delete the in
      kernel files relating to this platform.  No point in continuing
      to build it via walking the defconfigs or via linux-next testing.
      
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: linuxppc-dev@lists.ozlabs.org
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      3c8464a9
  4. 15 1月, 2014 1 次提交
  5. 10 1月, 2014 1 次提交
    • S
      powerpc/embedded6xx: Add support for Motorola/Emerson MVME5100 · be201981
      Stephen Chivers 提交于
      Add support for the Motorola/Emerson MVME5100 Single Board Computer.
      
      The MVME5100 is a 6U form factor VME64 computer with:
      
      	- A single MPC7410 or MPC750 CPU
      	- A HAWK Processor Host Bridge (CPU to PCI) and
      	  MultiProcessor Interrupt Controller (MPIC)
      	- Up to 500Mb of onboard memory
      	- A M48T37 Real Time Clock (RTC) and Non-Volatile Memory chip
      	- Two 16550 compatible UARTS
      	- Two Intel E100 Fast Ethernets
      	- Two PCI Mezzanine Card (PMC) Slots
      	- PPCBug Firmware
      
      The HAWK PHB/MPIC is compatible with the MPC10x devices.
      
      There is no onboard disk support. This is usually provided by installing a PMC
      in first PMC slot.
      
      This patch revives the board support, it was present in early 2.6
      series kernels. The board support in those days was by Matt Porter of
      MontaVista Software.
      
      CSC Australia has around 31 of these boards in service. The kernel in use
      for the boards is based on 2.6.31. The boards are operated without disks
      from a file server.
      
      This patch is based on linux-3.13-rc2 and has been boot tested.
      
      Only boards with 512 Mb of memory are known to work.
      Signed-off-by: NStephen Chivers <schivers@csc.com>
      Tested-by: NAlessio Igor Bogani <alessio.bogani@elettra.eu>
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      be201981
  6. 29 10月, 2013 1 次提交
  7. 10 10月, 2013 1 次提交
    • R
      powerpc: add explicit OF includes · 26a2056e
      Rob Herring 提交于
      When removing prom.h include by of.h, several OF headers will no longer
      be implicitly included. Add explicit includes of of_*.h as needed.
      Signed-off-by: NRob Herring <rob.herring@calxeda.com>
      Acked-by: NGrant Likely <grant.likely@linaro.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Anatolij Gustschin <agust@denx.de>
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Cc: Olof Johansson <olof@lixom.net>
      Cc: linuxppc-dev@lists.ozlabs.org
      26a2056e
  8. 06 5月, 2013 1 次提交
    • B
      powerpc/pci: Support per-aperture memory offset · 3fd47f06
      Benjamin Herrenschmidt 提交于
      The PCI core supports an offset per aperture nowadays but our arch
      code still has a single offset per host bridge representing the
      difference betwen CPU memory addresses and PCI MMIO addresses.
      
      This is a problem as new machines and hypervisor versions are
      coming out where the 64-bit windows will have a different offset
      (basically mapped 1:1) from the 32-bit windows.
      
      This fixes it by using separate offsets. In the long run, we probably
      want to get rid of that intermediary struct pci_controller and have
      those directly stored into the pci_host_bridge as they are parsed
      but this will be a more invasive change.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      3fd47f06
  9. 18 4月, 2013 1 次提交
  10. 10 4月, 2013 1 次提交
  11. 29 3月, 2012 1 次提交
  12. 23 2月, 2012 3 次提交
    • P
      ppc-6xx: fix build failure in flipper-pic.c and hlwd-pic.c · 6d166fec
      Paul Gortmaker 提交于
      The commit bae1d8f1 (linux-next)
      
        "irq_domain/powerpc: Use common irq_domain structure instead of irq_host"
      
      made this change:
      
         -static struct irq_host *flipper_irq_host;
         +static struct irq_domain *flipper_irq_host;
      
      and this change:
      
         -static struct irq_host *hlwd_irq_host;
         +static struct irq_domain *hlwd_irq_host;
      
      The intent was to change the type, and not the name, but then in a
      couple of instances, it looks like the sed to change the irq_domain_ops
      name inadvertently also changed the irq_host name where it was not
      supposed to, causing build failures.
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      6d166fec
    • 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: 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
  13. 16 2月, 2012 2 次提交
    • 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: Replace irq_alloc_host() with revmap-specific initializers · a8db8cf0
      Grant Likely 提交于
      Each revmap type has different arguments for setting up the revmap.
      This patch splits up the generator functions so that each revmap type
      can do its own setup and the user doesn't need to keep track of how
      each revmap type handles the arguments.
      
      This patch also adds a host_data argument to the generators.  There are
      cases where the host_data pointer will be needed before the function returns.
      ie. the legacy map calls the .map callback for each irq before returning.
      
      v2: - Add void *host_data argument to irq_domain_add_*() functions
          - fixed failure to compile
          - Moved IRQ_DOMAIN_MAP_* defines into irqdomain.c
      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>
      a8db8cf0
  14. 15 2月, 2012 1 次提交
    • G
      irq_domain/powerpc: Use common irq_domain structure instead of irq_host · bae1d8f1
      Grant Likely 提交于
      This patch drops the powerpc-specific irq_host structures and uses the common
      irq_domain strucutres defined in linux/irqdomain.h.  It also fixes all
      the users to use the new structure names.
      
      Renaming irq_host to irq_domain has been discussed for a long time, and this
      patch is a step in the process of generalizing the powerpc virq code to be
      usable by all architecture.
      
      An astute reader will notice that this patch actually removes the irq_host
      structure instead of renaming it.  This is because the irq_domain structure
      already exists in include/linux/irqdomain.h and has the needed data members.
      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>
      bae1d8f1
  15. 09 12月, 2011 2 次提交
    • T
      memblock: s/memblock_analyze()/memblock_allow_resize()/ and update users · 1aadc056
      Tejun Heo 提交于
      The only function of memblock_analyze() is now allowing resize of
      memblock region arrays.  Rename it to memblock_allow_resize() and
      update its users.
      
      * The following users remain the same other than renaming.
      
        arm/mm/init.c::arm_memblock_init()
        microblaze/kernel/prom.c::early_init_devtree()
        powerpc/kernel/prom.c::early_init_devtree()
        openrisc/kernel/prom.c::early_init_devtree()
        sh/mm/init.c::paging_init()
        sparc/mm/init_64.c::paging_init()
        unicore32/mm/init.c::uc32_memblock_init()
      
      * In the following users, analyze was used to update total size which
        is no longer necessary.
      
        powerpc/kernel/machine_kexec.c::reserve_crashkernel()
        powerpc/kernel/prom.c::early_init_devtree()
        powerpc/mm/init_32.c::MMU_init()
        powerpc/mm/tlb_nohash.c::__early_init_mmu()  
        powerpc/platforms/ps3/mm.c::ps3_mm_add_memory()
        powerpc/platforms/embedded6xx/wii.c::wii_memory_fixups()
        sh/kernel/machine_kexec.c::reserve_crashkernel()
      
      * x86/kernel/e820.c::memblock_x86_fill() was directly setting
        memblock_can_resize before populating memblock and calling analyze
        afterwards.  Call memblock_allow_resize() before start populating.
      
      memblock_can_resize is now static inside memblock.c.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      1aadc056
    • T
      powerpc: Cleanup memblock usage · 6fbef13c
      Tejun Heo 提交于
      * early_init_devtree(): Total memory size is aligned to PAGE_SIZE;
        however, alignment isn't enforced if memory_limit is explicitly
        specified.  Simplify the logic and always apply PAGE_SIZE alignment.
      
      * MMU_init(): memblock regions is truncated by directly modifying
        memblock.memory.cnt.  This is incomplete (reserved array is not
        truncated) and unnecessarily low level hindering further memblock
        improvments.  Use memblock_enforce_memory_limit() instead.
      
      * wii_memory_fixups(): Unnecessarily low level direct manipulation of
        memblock regions.  The same result can be achieved using properly
        abstracted operations.  Reimplement using memblock API.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      6fbef13c
  16. 07 12月, 2011 3 次提交
  17. 01 11月, 2011 2 次提交
  18. 15 9月, 2011 1 次提交
  19. 19 5月, 2011 1 次提交
  20. 04 5月, 2011 1 次提交
  21. 29 3月, 2011 2 次提交
  22. 10 3月, 2011 1 次提交
  23. 21 1月, 2011 1 次提交
  24. 11 9月, 2010 1 次提交
  25. 04 8月, 2010 1 次提交
  26. 14 7月, 2010 1 次提交
  27. 26 4月, 2010 1 次提交
  28. 21 12月, 2009 2 次提交
    • A
      powerpc/gc/wii: Remove get_irq_desc() · 95cd34b4
      Albert Herranz 提交于
      Fix the following build failures:
      
      arch/powerpc/platforms/embedded6xx/flipper-pic.c: In function 'flipper_pic_map':
      arch/powerpc/platforms/embedded6xx/flipper-pic.c:105: error: implicit declaration of function 'get_irq_desc'
      
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c: In function 'hlwd_pic_map':
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c:98: error: implicit declaration of function 'get_irq_desc'
      
      These failures are caused by the changes introduced in commit
      "powerpc: Remove get_irq_desc()". The reason these drivers were not
      updated is that they weren't merged yet.
      Signed-off-by: NAlbert Herranz <albert_herranz@yahoo.es>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      95cd34b4
    • A
      powerpc/gc/wii: hlwd-pic: convert irq_desc.lock to raw_spinlock · 7ccec3e7
      Albert Herranz 提交于
      Fix the following build failures:
      
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c: In function 'hlwd_pic_irq_cascade':
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c:135: error: passing argument 1 of 'spin_lock' from incompatible pointer type
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c:137: error: passing argument 1 of 'spin_unlock' from incompatible pointer type
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c:145: error: passing argument 1 of 'spin_lock' from incompatible pointer type
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c:149: error: passing argument 1 of 'spin_unlock' from incompatible pointer type
      
      These failures are caused by the changes introduced in commit
      "genirq: Convert irq_desc.lock to raw_spinlock". The reason this driver
      was not updated is that it wasn't merged yet.
      Signed-off-by: NAlbert Herranz <albert_herranz@yahoo.es>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      7ccec3e7
  29. 18 12月, 2009 1 次提交
  30. 13 12月, 2009 2 次提交