Hi Linus, Please pull the 'for-linus' branch of
git://www.atmel.no/~hskinnemoen/linux/kernel/avr32.git for-linus to receive the following updates. Note that this will crash on boot if CONFIG_SLUB_DEBUG=y and slub_debug is not set, but the alternative is more subtle DMA breakage and Christoph Lameter has sent a patch to Andrew (Subject: "SLUB: minimum alignment fixes") which takes care of it. Andrea Righi (1): [AVR32] ratelimit segfault reporting rate David Brownell (1): [AVR32] gpio_*_cansleep() fix Haavard Skinnemoen (2): [AVR32] STK1000: Set SPI_MODE_3 in the ltv350qv board info [AVR32] Define ARCH_KMALLOC_MINALIGN to L1_CACHE_BYTES arch/avr32/boards/atstk1000/atstk1002.c | 1 + arch/avr32/mm/fault.c | 2 +- include/asm-avr32/arch-at32ap/gpio.h | 2 ++ include/asm-avr32/cache.h | 9 +++++++++ 4 files changed, 13 insertions(+), 1 deletions(-) diff --git a/arch/avr32/boards/atstk1000/atstk1002.c b/arch/avr32/boards/atstk1000/atstk1002.c index fe1dbe2..e253e86 100644 --- a/arch/avr32/boards/atstk1000/atstk1002.c +++ b/arch/avr32/boards/atstk1000/atstk1002.c @@ -42,6 +42,7 @@ static struct spi_board_info spi0_board_info[] __initdata = { .modalias = "ltv350qv", .max_speed_hz = 16000000, .chip_select = 1, + .mode = SPI_MODE_3, }, }; diff --git a/arch/avr32/mm/fault.c b/arch/avr32/mm/fault.c index e011f1c..4b24952 100644 --- a/arch/avr32/mm/fault.c +++ b/arch/avr32/mm/fault.c @@ -158,7 +158,7 @@ bad_area: up_read(&mm->mmap_sem); if (user_mode(regs)) { - if (exception_trace) + if (exception_trace && printk_ratelimit()) printk("%s%s[%d]: segfault at %08lx pc %08lx " "sp %08lx ecr %lu\n", is_init(tsk) ? KERN_EMERG : KERN_INFO, diff --git a/include/asm-avr32/arch-at32ap/gpio.h b/include/asm-avr32/arch-at32ap/gpio.h index 80a21aa..af7f953 100644 --- a/include/asm-avr32/arch-at32ap/gpio.h +++ b/include/asm-avr32/arch-at32ap/gpio.h @@ -14,6 +14,8 @@ int gpio_direction_output(unsigned int gpio, int value); int gpio_get_value(unsigned int gpio); void gpio_set_value(unsigned int gpio, int value); +#include <asm-generic/gpio.h> /* cansleep wrappers */ + static inline int gpio_to_irq(unsigned int gpio) { return gpio + GPIO_IRQ_BASE; diff --git a/include/asm-avr32/cache.h b/include/asm-avr32/cache.h index dabb955..d3cf35a 100644 --- a/include/asm-avr32/cache.h +++ b/include/asm-avr32/cache.h @@ -4,6 +4,15 @@ #define L1_CACHE_SHIFT 5 #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT) +/* + * Memory returned by kmalloc() may be used for DMA, so we must make + * sure that all such allocations are cache aligned. Otherwise, + * unrelated code may cause parts of the buffer to be read into the + * cache before the transfer is done, causing old data to be seen by + * the CPU. + */ +#define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES + #ifndef __ASSEMBLER__ struct cache_info { unsigned int ways; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/