11 Jan, 2012

2 commits


08 Dec, 2011

7 commits

  • This patch addresses a couple of related problems:

    1) The kernel may reside in physical memory outside of the ranges set
    by plat_mem_setup(). If this is the case, init mem cannot be
    reused as it resides outside of the range of pages that the kernel
    memory allocators control.

    2) initrd images might be loaded in physical memory outside of the
    ranges set by plat_mem_setup(). The memory likewise cannot be
    reused. The patch doesn't handle this specific case, but the
    infrastructure is useful for future patches that do.

    The crux of the problem is that there are memory regions that need be
    memory_present(), but that cannot be free_bootmem() at the time of
    arch_mem_init(). We create a new type of memory (BOOT_MEM_INIT_RAM)
    for use with add_memory_region(). Then arch_mem_init() adds the init
    mem with this type if the init mem is not already covered by existing
    ranges.

    When memory is being freed into the bootmem allocator, we skip the
    BOOT_MEM_INIT_RAM ranges so they are not clobbered, but we do signal
    them as memory_present(). This way when they are later freed, the
    necessary memory manager structures have initialized and the Sparse
    allocater is prevented from crashing.

    The Octeon specific code that handled this case is removed, because
    the new general purpose code handles the case.

    Signed-off-by: David Daney
    To: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/1988/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • OCTEON II has a new dma to phys mapping method for PCIe. Define
    OCTEON_DMA_BAR_TYPE_PCIE2 to denote this case, and handle it.

    OCTEON II also needs a swiotlb if the OHCI USB driver is enabled, so
    allocate this too.

    Signed-off-by: David Daney
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/2983/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • Signed-off-by: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: netdev@vger.kernel.org
    Cc: devel@driverdev.osuosl.org
    Acked-by: Greg Kroah-Hartman
    Patchwork: https://patchwork.linux-mips.org/patch/2941/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • Many new types of boards exist, so lets recognize them.

    Signed-off-by: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: netdev@vger.kernel.org
    Cc: devel@driverdev.osuosl.org
    Acked-by: Greg Kroah-Hartman
    Patchwork: https://patchwork.linux-mips.org/patch/2940/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • Signed-off-by: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: netdev@vger.kernel.org
    Cc: devel@driverdev.osuosl.org
    Acked-by: Greg Kroah-Hartman
    Patchwork: https://patchwork.linux-mips.org/patch/2942/
    Patchwork: https://patchwork.linux-mips.org/patch/3012/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • Several newer chips were not covered, update the code to detect them.
    This necessitates updating cvmx-mio-defs.h as well, because it has new
    and required definitions.

    Signed-off-by: David Daney
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/2939/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • Panic() invokes printk() to add a \n internally, so panic arguments should
    not themselves end in \n. Panic invocations in arch/mips and elsewhere
    are inconsistently sometimes terminating in \n, sometimes not.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

11 Nov, 2011

1 commit


08 Nov, 2011

1 commit

  • This is to exclude it from force threading to allow RT patch set to work.
    And while on this line
    * Remove IRQF_DISABLED as as this flag is NOOP
    * Add IRQF_PERCPU as this is a per cpu interrupt.

    Signed-off-by: Venkat Subbiah
    Acked-by: David Daney
    To: linux-mips@linux-mips.org
    To: linux-rt-users@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/2817/
    Acked-by: Thomas Gleixner
    Signed-off-by: Ralf Baechle

    Venkat Subbiah
     

01 Nov, 2011

1 commit


28 May, 2011

1 commit

  • * git://git.infradead.org/mtd-2.6: (97 commits)
    mtd: kill CONFIG_MTD_PARTITIONS
    mtd: remove add_mtd_partitions, add_mtd_device and friends
    mtd: convert remaining users to mtd_device_register()
    mtd: samsung onenand: convert to mtd_device_register()
    mtd: omap2 onenand: convert to mtd_device_register()
    mtd: txx9ndfmc: convert to mtd_device_register()
    mtd: tmio_nand: convert to mtd_device_register()
    mtd: socrates_nand: convert to mtd_device_register()
    mtd: sharpsl: convert to mtd_device_register()
    mtd: s3c2410 nand: convert to mtd_device_register()
    mtd: ppchameleonevb: convert to mtd_device_register()
    mtd: orion_nand: convert to mtd_device_register()
    mtd: omap2: convert to mtd_device_register()
    mtd: nomadik_nand: convert to mtd_device_register()
    mtd: ndfc: convert to mtd_device_register()
    mtd: mxc_nand: convert to mtd_device_register()
    mtd: mpc5121_nfc: convert to mtd_device_register()
    mtd: jz4740_nand: convert to mtd_device_register()
    mtd: h1910: convert to mtd_device_register()
    mtd: fsmc_nand: convert to mtd_device_register()
    ...

    Fixed up trivial conflicts in
    - drivers/mtd/maps/integrator-flash.c: removed in ARM tree
    - drivers/mtd/maps/physmap.c: addition of afs partition probe type
    clashing with removal of CONFIG_MTD_PARTITIONS

    Linus Torvalds
     

25 May, 2011

1 commit


20 May, 2011

2 commits

  • …x/kernel/git/tip/linux-2.6-tip

    * 'timers-clocksource-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    clocksource: convert mips to generic i8253 clocksource
    clocksource: convert x86 to generic i8253 clocksource
    clocksource: convert footbridge to generic i8253 clocksource
    clocksource: add common i8253 PIT clocksource
    blackfin: convert to clocksource_register_hz
    mips: convert to clocksource_register_hz/khz
    sparc: convert to clocksource_register_hz/khz
    alpha: convert to clocksource_register_hz
    microblaze: convert to clocksource_register_hz/khz
    ia64: convert to clocksource_register_hz/khz
    x86: Convert remaining x86 clocksources to clocksource_register_hz/khz
    Make clocksource name const

    Linus Torvalds
     
  • …kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (60 commits)
    sched: Fix and optimise calculation of the weight-inverse
    sched: Avoid going ahead if ->cpus_allowed is not changed
    sched, rt: Update rq clock when unthrottling of an otherwise idle CPU
    sched: Remove unused parameters from sched_fork() and wake_up_new_task()
    sched: Shorten the construction of the span cpu mask of sched domain
    sched: Wrap the 'cfs_rq->nr_spread_over' field with CONFIG_SCHED_DEBUG
    sched: Remove unused 'this_best_prio arg' from balance_tasks()
    sched: Remove noop in alloc_rt_sched_group()
    sched: Get rid of lock_depth
    sched: Remove obsolete comment from scheduler_tick()
    sched: Fix sched_domain iterations vs. RCU
    sched: Next buddy hint on sleep and preempt path
    sched: Make set_*_buddy() work on non-task entities
    sched: Remove need_migrate_task()
    sched: Move the second half of ttwu() to the remote cpu
    sched: Restructure ttwu() some more
    sched: Rename ttwu_post_activation() to ttwu_do_wakeup()
    sched: Remove rq argument from ttwu_stat()
    sched: Remove rq->lock from the first half of ttwu()
    sched: Drop rq->lock from sched_exec()
    ...

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched: Fix rt_rq runtime leakage bug

    Linus Torvalds
     

19 May, 2011

2 commits


14 May, 2011

1 commit


11 May, 2011

1 commit

  • Instead of making each Octeon specific option depend on
    CPU_CAVIUM_OCTEON, gate the body of the entire file with
    CPU_CAVIUM_OCTEON. With this change, CAVIUM_OCTEON_SPECIFIC_OPTIONS
    becomes useless, so get rid of it as well.

    Signed-off-by: David Daney
    To: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/2091/
    Signed-off-by: Ralf Baechle

    David Daney
     

14 Apr, 2011

1 commit

  • For future rework of try_to_wake_up() we'd like to push part of that
    function onto the CPU the task is actually going to run on.

    In order to do so we need a generic callback from the existing scheduler IPI.

    This patch introduces such a generic callback: scheduler_ipi() and
    implements it as a NOP.

    BenH notes: PowerPC might use this IPI on offline CPUs under rare conditions!

    Acked-by: Russell King
    Acked-by: Martin Schwidefsky
    Acked-by: Chris Metcalf
    Acked-by: Jesper Nilsson
    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Ralf Baechle
    Reviewed-by: Frank Rowand
    Cc: Mike Galbraith
    Cc: Nick Piggin
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Signed-off-by: Ingo Molnar
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20110405152728.744338123@chello.nl

    Peter Zijlstra
     

31 Mar, 2011

1 commit


29 Mar, 2011

2 commits

  • Make use of the IRQCHIP_ONOFFLINE_ENABLED flag and remove the
    wrappers. Use irqd_irq_disabled() instead of desc->status, which will
    go away.

    Signed-off-by: Thomas Gleixner
    Tested-by: David Daney

    Thomas Gleixner
     
  • This includes conversion to new style irq_chip functions, and
    correctly enabling/disabling per-CPU interrupts.

    The hardware interrupt bit to irq number mapping is now done with a
    flexible map, instead of by bit twiddling the irq number.

    [ tglx: Adjusted to new irq_cpu_on/offline callbacks and
    __irq_set_affinity_lock ]

    Signed-off-by: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: ralf@linux-mips.org
    LKML-Reference:
    Signed-off-by: Thomas Gleixner

    David Daney
     

22 Feb, 2011

1 commit


30 Oct, 2010

9 commits

  • Declare that OCTEON reference boards have both OHCI and EHCI.

    Add platform devices for the corresponding hardware.

    Signed-off-by: David Daney
    To: linux-usb@vger.kernel.org
    To: dbrownell@users.sourceforge.net
    Patchwork: http://patchwork.linux-mips.org/patch/1676/
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Ralf Baechle

    David Daney
     
  • The CN63XXP1 needs a couple of workarounds to ensure memory is not written
    in unexpected ways.

    All PREF with hints in the range 0-4,6-24 are replaced with PREF 28. We
    pass a flag to the assembler to cover compiler generated code, and patch
    uasm for the dynamically generated code.

    The write buffer threshold is reduced to 4.

    Signed-off-by: David Daney
    Patchwork: http://patchwork.linux-mips.org/patch/1672/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • The I2C and UARTS are clocked by the I/O clock, use its rate for these
    devices.

    Signed-off-by: David Daney
    Patchwork: http://patchwork.linux-mips.org/patch/1670/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • Starting with cn63xx Octeon I/O blocks are clocked at a different rate
    than the CPU. Add a new function octeon_get_io_clock_rate() that
    yields the I/O clock rate.

    Also rearrange octeon_get_clock_rate() to get the value from the saved
    sysinfo structure.

    Signed-off-by: David Daney
    Patchwork: http://patchwork.linux-mips.org/patch/1671/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • We can run with any simulator clock rate. Get rid of the code
    overriding it to 6MHz.

    Signed-off-by: David Daney
    Patchwork: http://patchwork.linux-mips.org/patch/1669/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • The per-CPU clocks are synchronized from IPD_CLK_COUNT, on cn63XX it must
    be scaled by the clock frequency ratio.

    Signed-off-by: David Daney
    Patchwork: http://patchwork.linux-mips.org/patch/1667/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • The CN63XX has a different L2 cache architecture. Update the helper
    functions to reflect this.

    Some joining of split lines was also done to improve readability, as
    well as reformatting of comments.

    Signed-off-by: David Daney
    Patchwork: http://patchwork.linux-mips.org/patch/1663/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • All Octeon chips can support more than 4GB of RAM. Also due to how Octeon
    PCI is setup, even some configurations with less than 4GB of RAM will have
    portions that are not accessible from 32-bit devices.

    Enable the swiotlb code to handle the cases where a device cannot directly
    do DMA. This is a complete rewrite of the Octeon DMA mapping code.

    Signed-off-by: David Daney
    Patchwork: http://patchwork.linux-mips.org/patch/1639/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • This allows follow-on patches to dma mapping functions to work with
    the octeon mgmt device..

    Signed-off-by: David Daney
    Patchwork: http://patchwork.linux-mips.org/patch/1632/
    Signed-off-by: Ralf Baechle

    David Daney
     

07 Oct, 2010

1 commit

  • Add missing #inclusions of to a whole bunch of files that should
    really include it. Note that this can replace #inclusions of .

    This is required for the patch to sort out irqflags handling function naming to
    compile on MIPS.

    The problem is that these files require access to things like setup_irq() -
    which isn't available by #including

    Signed-off-by: David Howells
    Acked-by: Ralf Baechle

    David Howells
     

05 Oct, 2010

2 commits

  • It is an early_initcall, so it should be in __init memory.

    Signed-off-by: David Daney
    To: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/1593/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • This patch adds an config switch to determine if we need to build some
    workaround helper files.

    The staging driver octeon-ethernet references some symbols which are only
    built when PCI is enabled. The new config switch enables these symbols in
    bothe cases.

    Signed-off-by: Andreas Bießmann
    To: linux-kernel@vger.kernel.org
    Cc: Andreas Bießmann
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/1543/
    Acked-by: David Daney
    Signed-off-by: Ralf Baechle

    Andreas Bießmann
     

05 Aug, 2010

3 commits

  • We reserve the 3.75GB - 4GB region of PCIe address space for device to
    device transfers, making the corresponding physical memory under
    direct mapping unavailable for DMA.

    To allow for PCIe DMA to all physical memory we map this chunk of
    physical memory with BAR1. Because of the resulting discontinuity in
    the mapping function, we remove a page of memory at each end of the
    range so multi-page DMA buffers can never be allocated that span the
    range.

    Signed-off-by: David Daney
    To: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/1535/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • The forthcoming watchdog driver will use it.

    Signed-off-by: David Daney
    To: linux-mips@linux-mips.org
    To: wim@iguana.be
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/1499/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • Power throttling make deterministic delay loops impossible.
    Re-implement delays using the cycle counter. This also allows us to
    get rid of the code that calculates loops per jiffy.

    Signed-off-by: David Daney
    To: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/1317/
    Signed-off-by: Ralf Baechle

    David Daney