- Nov 03, 2009
-
-
Julia Lawall authored
The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d but is perhaps more readable. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/ ) // <smpl> @haskernel@ @@ @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // </smpl> Signed-off-by:
Julia Lawall <julia@diku.dk> Signed-off-by:
Hirokazu Takata <takata@linux-m32r.org>
-
Nicolas Ferre authored
cpu_is_xxx() macros are identifying generic at91sam9g45 chip. This patch adds the capacity to differentiate Engineering Samples and final lots through the inclusion of at91_cpu_fully_identify() and the related chip IDs with chip version field preserved. Signed-off-by:
Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by:
Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Acked-by:
Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
-
Nicolas Ferre authored
Somme common drivers will need those at91 cpu_is_xxx() definitions. As at91sam9g10 and at91sam9g45 are on the way to linus' tree, here is the patch that adds those chips to cpu.h in AVR32 architecture. Signed-off-by:
Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by:
Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
-
- Nov 02, 2009
-
-
Tony Luck authored
This reverts commit b94b0808. genksyms currently cannot handle complicated types for exported percpu variables. Drop this patch for now as it prevents a module from being loaded on sn2 systems: xpc: no symbol version for per_cpu____sn_cnodeid_to_nasid xpc: Unknown symbol per_cpu____sn_cnodeid_to_nasid Signed-off-by:
Tony Luck <tony.luck@intel.com>
-
Russell King authored
Mapping the same memory using two different attributes (memory type, shareability, cacheability) is unpredictable. During boot, we encounter a situation when we're updating the kernel's page tables which can lead to dirty cache lines existing in the cache which are subsequently missed. This causes stack corruption, and therefore a crash. Therefore, ensure that the shared and cacheability settings matches the configuration that will be used later; this together with the restriction in early_cachepolicy() ensures that we won't create a mismatch during boot. Acked-by:
Catalin Marinas <catalin.marinas@arm.com> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
Claudio Scordino authored
ARM unwind is known to compile only with EABI and not-buggy compilers. The problem is not the unwinding information but the -fno-frame-pointer option added as a result of !CONFIG_FRAME_POINTER. Now we check the compiler and raise a #warning in case of wrong compiler. Signed-off-by:
Claudio Scordino <claudio@evidence.eu.com> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
Arnaud Patard authored
sys_ppoll syscall needs to use a compat handler on 64bit kernels with o32 user-space. Signed-off-by:
Arnaud Patard <apatard@mandriva.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Wu Zhangjin authored
Unify the naming method between kernel and the user-space oprofile tool. Because loongson is used instead of godson in most of the places, we agreed to use loongson instead, which will simplify future maintenance. Signed-off-by:
Wu Zhangjin <wuzhangjin@gmail.com> Acked-by:
Robert Richter <robert.richter@amd.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Manuel Lauss authored
The handle_edge_irq() flowhandler disables edge int sources which occur too fast (i.e. another edge comes in before the irq handler function had a chance to finish). Currently, the mask_ack() callback does not ack the edges in hardware, leading to an endless loop in the flowhandler where it tries to shut up the irq source. When I rewrote the alchemy IRQ code I wrongly assumed the mask_ack() callback was only used by the level flowhandler, hence it omitted the (at the time pointless) edge acks. Turned out I was wrong; so here is a complete mask_ack implementation for Alchemy IC, which fixes the above mentioned problem. Signed-off-by:
Manuel Lauss <manuel.lauss@gmail.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Atsushi Nemoto authored
TXx9 SPI bit rate is calculated by: fBR = fSPI / 2 / (n + 1) (fSPI is SPI master clock freq, i.e. imbusclk freq.) So use imbus_clk / 2 as a spi-baseclk. Signed-off-by:
Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Florian Fainelli authored
For consistency with other BCM63xx SoC set the CPU name to "Broadcom BCM6338" when actually running on that system. Signed-off-by:
Florian Fainelli <florian@openwrt.org> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Zhang Le authored
Loongson 2 does not have dcache aliases when is using 16k pages. and the And because Loongson 2 doesn't do SMP , cpu_icache_snoops_remote_store does not matter here. Signed-off-by:
Zhang Le <r0bertz@gentoo.org> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Ralf Baechle authored
set_saved_sp reads Context register. Avoid reading stale value from earlier incomplete write. Issue found and fixed for head.S by Chris Dearman <chris@mips.com>. Signed-off-by:
Chris Dearman <chris@mips.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
David Daney authored
Some newer Octeon chips have registers that allow lockless operation of the interrupt controller. Take advantage of them. Signed-off-by:
David Daney <ddaney@caviumnetworks.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
David Daney authored
Since the locks are used from interrupt context we need the irqsave/irqrestore versions of the locking functions. Signed-off-by:
David Daney <ddaney@caviumnetworks.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Ralf Baechle authored
Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Jaidev Patwardhan authored
Signed-off-by:
Chris Dearman <chris@mips.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Jaidev Patwardhan authored
Signed-off-by:
Chris Dearman <chris@mips.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Chris Dearman authored
Signed-off-by:
Chris Dearman <chris@mips.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Chris Dearman authored
Signed-off-by:
Chris Dearman <(chris@mips.com)> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Nigel Stephens authored
This patch ensures that the sign bit is always updated for NaN operands. Signed-off-by:
Chris Dearman <chris@mips.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Chris Dearman authored
Signed-off-by:
Chris Dearman <chris@mips.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Ralf Baechle authored
Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Ralf Baechle authored
Based on original patch by Chris Dearman <chris@mips.com>. Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Ralf Baechle authored
Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Chris Dearman authored
This fixes the remaining problems introduced by f1974653 (incorrect access length & byteswapping in bigendian mode) Signed-off-by:
Chris Dearman <chris@mips.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Kevin Cernekee authored
On an SMP system with cache aliases, the following sequence of events may happen: 1) copy_user_highpage() runs on CPU0, invoking kmap_coherent() to create a temporary mapping in the fixmap region 2) copy_page() starts on CPU0 3) CPU1 sends CPU0 an IPI asking CPU0 to run local_r4k_flush_cache_page() 4) CPU0 takes the interrupt, interrupting copy_page() 5) local_r4k_flush_cache_page() on CPU0 calls kmap_coherent() again 6) The second invocation of kmap_coherent() on CPU0 tries to use the same fixmap virtual address that was being used by copy_user_highpage() 7) CPU0 throws a machine check exception for the TLB address conflict Fixed by creating an extra set of fixmap entries for use in interrupt handlers. This prevents fixmap VA conflicts between copy_user_highpage() running in user context, and local_r4k_flush_cache_page() invoked from an SMP IPI. Signed-off-by:
Kevin Cernekee <cernekee@gmail.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Ralf Baechle authored
Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Florian Fainelli authored
This patch checks if the watchdog enable bit is set in the DCL register meaning that the hardware watchdog actually works and if so, register the ar7_wdt platform_device. Signed-off-by:
Florian Fainelli <florian@openwrt.org> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Florian Fainelli authored
This patch prepares the board code to register a bcm63xx_wdt platform_device that we are going to use in a subsequent patch. Signed-off-by:
Florian Fainelli <florian@openwrt.org> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Florian Fainelli authored
This patch removes the calls to bcm63xx_uart_register in board_bcm963xx.c and make bcm63xx_uart_register an initfunc. Allows us to remove bcm63xx_dev_uart.h which was there to make checkpatch.pl happy. Signed-off-by:
Florian Fainelli <florian@openwrt.org> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Florian Fainelli authored
This patch fixes the following warning, which becomes an error due to -Werror to be turned on: CC arch/mips/alchemy/common/gpiolib-au1000.o cc1: warnings being treated as errors arch/mips/alchemy/common/gpiolib-au1000.c: In function 'au1100_gpio2_to_irq': /home/florian/dev/kernel/linux-queue/arch/mips/include/asm/mach-au1x00/gpio-au1000.h:107: warning: control reaches end of non-void function Signed-off-by:
Florian Fainelli <florian@openwrt.org> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Florian Fainelli authored
This patch fixes a lockup on BCM6345 where setting the PLL soft reset bit will also lock the other blocks including UART. Instead of setting only the PLL soft reset bit in the software reset register, set this bit but do not touch the others. Signed-off-by:
Florian Fainelli <florian@openwrt.org> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Ralf Roesch authored
Error was introduced by commit 0385d1f3d394c6814be0b165c153fc3fc254469a. Signed-off-by:
Ralf Roesch <ralf.roesch@rw-gmbh.de> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Wu Zhangjin authored
As the commit 3ee4c147 shows, we need to "Add IRQF_TIMER flag for timer interrupts", Atsushi Nemoto have reported that some other timer interrupts should be considered, Here it is. Acked-by:
Thomas Gleixner <tglx@linutronix.de> Acked-by:
Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by:
Wu Zhangjin <wuzhangjin@gmail.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Wu Zhangjin authored
An o32 aplication passes a 64-bit value in a pair of registers; a 64-bit kernel expects a 64-bit argument in a single register. Signed-off-by:
Chen Jie <chenj@lemote.com> Signed-off-by:
Hu Hongbing <huhb@lemote.com> Signed-off-by:
Wu Zhangjin <wuzhangjin@gmail.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Ralf Baechle authored
Signed-off-by:
Ralf Baechle <ralf@linux-mips.org> Reported-by:
Josip Rodin <joy@entuzijast.net>
-
Wu Zhangjin authored
Along the lines of d6c585a4, add IRQF_TIMER flag for all timer interrupts This ensures that timer interrupts won't be disabled on suspend and not threaded for PREEMPT_RT. Signed-off-by:
Wu Zhangjin <wuzhangjin@gmail.com> Acked-by:
Thomas Gleixner <tglx@linutronix.de> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Wu Zhangjin authored
That code is executed with irq disabled already, so, remove the redundant local_irq_disable() here. Signed-off-by:
Wu Zhangjin <wuzhangjin@gmail.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Ralf Baechle authored
Broken by 182a85f8. Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-