> - tried to fix AT91's "already-free IRQ" and highres problem. Michael > Langfinge reported it initially and Sami Pietikäinen sent a patch for > the "already-free IRQ" problem. Based on another patch I looked at the > highres patch and tried to fix it. As I don't have the hardware, some > feedback would be nice. I did a quick test run with the 3.12.0-rt2 kernel. There are no "Trying to free already free IRQ 1" warnings anymore so that issue seems to be fixed. However, the system still hangs. CONFIG_HIGH_RES_TIMERS=y CONFIG_ATMEL_TCB_CLKSRC=y Hangs (or resets if the WD is enabled) CONFIG_HIGH_RES_TIMERS=y CONFIG_ATMEL_TCB_CLKSRC=n Boots ok. Now the kernel boots with the CONFIG_HIGH_RES_TIMERS enabled, but hangs when I enable the TCB clock source. Michael, if you have spare time, maybe you could also test these configs to see if you have similar behavior. BR, Sami Pietikäinen
[Mon Nov 18 10:32:13.484 2013] Starting kernel ... [Mon Nov 18 10:32:13.486 2013] [Mon Nov 18 10:32:13.499 2013] Uncompressing Linux... done, booting the kernel. [Mon Nov 18 10:32:13.814 2013] Booting Linux on physical CPU 0x0 [Mon Nov 18 10:32:13.817 2013] Linux version 3.12.0-rt2-custom (VirtualBox) (gcc version 4.7.2 (GCC) ) #2 PREEMPT RT Mon Nov 18 10:27:37 EET 2013 [Mon Nov 18 10:32:13.827 2013] CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=50c53c7d [Mon Nov 18 10:32:13.833 2013] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [Mon Nov 18 10:32:13.839 2013] Machine: Atmel SAMA5 (Device Tree), model: [Mon Nov 18 10:32:13.844 2013] Memory policy: ECC disabled, Data cache writeback [Mon Nov 18 10:32:13.849 2013] AT91: Detected soc type: sama5d3 [Mon Nov 18 10:32:13.851 2013] AT91: Detected soc subtype: sama5d35 [Mon Nov 18 10:32:13.855 2013] AT91: sram at 0x300000 of 0x20000 mapped at 0xfef58000 [Mon Nov 18 10:32:13.861 2013] DT missing boot CPU MPIDR[23:0], fall back to default cpu_logical_map [Mon Nov 18 10:32:13.867 2013] CPU: All CPU(s) started in SVC mode. [Mon Nov 18 10:32:13.870 2013] Clocks: CPU 528 MHz, master 132 MHz, main 12.000 MHz [Mon Nov 18 10:32:13.874 2013] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048 [Mon Nov 18 10:32:13.881 2013] Kernel command line: console=ttyS0,115200 loglevel=7 loglevel=7 printk.time=0 rootfstype=ubifs ubi.mtd=4 root=ubi0:rootfs mtdparts=atmel_nand(partitioning removed) [Mon Nov 18 10:32:13.915 2013] PID hash table entries: 2048 (order: 1, 8192 bytes) [Mon Nov 18 10:32:13.919 2013] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) [Mon Nov 18 10:32:13.925 2013] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) [Mon Nov 18 10:32:13.931 2013] Memory: 516380K/524288K available (2044K kernel code, 166K rwdata, 828K rodata, 96K init, 122K bss, 7908K reserved) [Mon Nov 18 10:32:13.941 2013] Virtual kernel memory layout: [Mon Nov 18 10:32:13.944 2013] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [Mon Nov 18 10:32:13.948 2013] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) [Mon Nov 18 10:32:13.952 2013] vmalloc : 0xe0800000 - 0xff000000 ( 488 MB) [Mon Nov 18 10:32:13.957 2013] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB) [Mon Nov 18 10:32:13.961 2013] modules : 0xbf800000 - 0xc0000000 ( 8 MB) [Mon Nov 18 10:32:13.966 2013] .text : 0xc0008000 - 0xc02d64bc (2874 kB) [Mon Nov 18 10:32:13.970 2013] .init : 0xc02d7000 - 0xc02ef20c ( 97 kB) [Mon Nov 18 10:32:13.975 2013] .data : 0xc02f0000 - 0xc0319a40 ( 167 kB) [Mon Nov 18 10:32:13.980 2013] .bss : 0xc0319a4c - 0xc0338254 ( 123 kB) [Mon Nov 18 10:32:13.984 2013] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [Mon Nov 18 10:32:13.989 2013] Preemptible hierarchical RCU implementation. [Mon Nov 18 10:32:13.993 2013] NR_IRQS:16 nr_irqs:16 16 [Mon Nov 18 10:32:13.995 2013] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms [Mon Nov 18 10:32:14.002 2013] Console: colour dummy device 80x30 [Mon Nov 18 10:32:14.005 2013] Calibrating delay loop... 351.43 BogoMIPS (lpj=1757184) [Mon Nov 18 10:32:14.010 2013] pid_max: default: 32768 minimum: 301 [Mon Nov 18 10:32:14.014 2013] Mount-cache hash table entries: 512 [Mon Nov 18 10:32:14.017 2013] CPU: Testing write buffer coherency: ok [Mon Nov 18 10:32:14.020 2013] Setting up static identity map for 0xc01edae8 - 0xc01edb18 [Mon Nov 18 10:32:14.026 2013] devtmpfs: initialized [Mon Nov 18 10:32:14.028 2013] VFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1 [Mon Nov 18 10:32:14.034 2013] pinctrl core: initialized pinctrl subsystem [Mon Nov 18 10:32:14.038 2013] NET: Registered protocol family 16 [Mon Nov 18 10:32:14.042 2013] DMA: preallocated 256 KiB pool for atomic coherent allocations [Mon Nov 18 10:32:14.047 2013] gpio-at91 fffff200.gpio: at address fefff200 [Mon Nov 18 10:32:14.051 2013] gpio-at91 fffff400.gpio: at address fefff400 [Mon Nov 18 10:32:14.055 2013] gpio-at91 fffff600.gpio: at address fefff600 [Mon Nov 18 10:32:14.059 2013] gpio-at91 fffff800.gpio: at address fefff800 [Mon Nov 18 10:32:14.063 2013] gpio-at91 fffffa00.gpio: at address fefffa00 [Mon Nov 18 10:32:14.067 2013] pinctrl-at91 pinctrl.2: initialized AT91 pinctrl driver [Mon Nov 18 10:32:14.072 2013] bio: create slab <bio-0> at 0 [Mon Nov 18 10:32:14.074 2013] at_hdmac ffffe600.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 channels [Mon Nov 18 10:32:14.082 2013] at_hdmac ffffe800.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 channels [Mon Nov 18 10:32:14.090 2013] SCSI subsystem initialized [Mon Nov 18 10:32:14.092 2013] of_dma_request_slave_channel: dma-names property of node '/ahb/apb/i2c@f0018000' missing or empty [Mon Nov 18 10:32:14.101 2013] at91_i2c f0018000.i2c: can't get a DMA channel for tx [Mon Nov 18 10:32:14.106 2013] at91_i2c f0018000.i2c: can't use DMA [Mon Nov 18 10:32:14.109 2013] at91_i2c f0018000.i2c: AT91 i2c bus driver. [Mon Nov 18 10:32:14.113 2013] Switched to clocksource tcb_clksrc [Mon Nov 18 10:32:14.116 2013] NET: Registered protocol family 2 [Mon Nov 18 10:32:14.119 2013] TCP established hash table entries: 4096 (order: 3, 32768 bytes) [Mon Nov 18 10:32:14.125 2013] TCP bind hash table entries: 4096 (order: 4, 98304 bytes) [Mon Nov 18 10:32:14.130 2013] TCP: Hash tables configured (established 4096 bind 4096) [Mon Nov 18 10:32:14.135 2013] TCP: reno registered [Mon Nov 18 10:32:14.137 2013] UDP hash table entries: 256 (order: 2, 16384 bytes) [Mon Nov 18 10:32:14.141 2013] UDP-Lite hash table entries: 256 (order: 2, 16384 bytes) [Mon Nov 18 10:32:14.146 2013] NET: Registered protocol family 1 [Mon Nov 18 10:32:14.150 2013] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. [Mon Nov 18 10:32:14.155 2013] msgmni has been set to 1008 [Mon Nov 18 10:32:14.158 2013] io scheduler noop registered (default) [Mon Nov 18 10:32:14.161 2013] ffffee00.serial: ttyS0 at MMIO 0xffffee00 (irq = 35, base_baud = 8250000) is a ATMEL_SERIAL [Mon Nov 18 10:32:14.170 2013] console [ttyS0] enabled [Mon Nov 18 10:32:14.174 2013] brd: module loaded [Mon Nov 18 10:32:14.178 2013] atmel_nand: Use On Flash BBT [Mon Nov 18 10:32:14.181 2013] atmel_nand 60000000.nand: No DMA support for NAND access. [Mon Nov 18 10:32:14.187 2013] ONFI param page 0 valid [Mon Nov 18 10:32:14.189 2013] ONFI flash detected [Mon Nov 18 10:32:14.191 2013] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron MT29F2G08ABAEAWP), 256MiB, page size: 2048, OOB size: 64 [Mon Nov 18 10:32:14.201 2013] atmel_nand 60000000.nand: ONFI params, minimum required ECC: 4 bits in 512 bytes [Mon Nov 18 10:32:14.208 2013] atmel_nand 60000000.nand: Initialize PMECC params, cap: 4, sector: 512 [Mon Nov 18 10:32:14.215 2013] Bad block table found at page 131008, version 0x01 [Mon Nov 18 10:32:14.219 2013] Bad block table found at page 130944, version 0x01 [Mon Nov 18 10:32:14.225 2013] 8 cmdlinepart partitions found on MTD device atmel_nand [Mon Nov 18 10:32:14.230 2013] Creating 8 MTD partitions on "atmel_nand": (nand partitioning removed) [Mon Nov 18 10:32:14.278 2013] libphy: MACB_mii_bus: probed [Mon Nov 18 10:32:14.283 2013] macb f0028000.ethernet eth0: Cadence GEM at 0xf0028000 irq 23 (d2:be:9e:3d:30:13) [Mon Nov 18 10:32:14.292 2013] macb f0028000.ethernet eth0: attached PHY driver [Micrel KSZ9021 Gigabit PHY] (mii_bus:phy_addr=f0028000.etherne:01, irq=-1) [Mon Nov 18 10:32:14.303 2013] libphy: MACB_mii_bus: probed [Mon Nov 18 10:32:14.309 2013] macb f802c000.ethernet eth1: Cadence MACB at 0xf802c000 irq 29 (d2:be:9e:3d:30:14) [Mon Nov 18 10:32:14.317 2013] macb f802c000.ethernet eth1: attached PHY driver [Micrel KSZ8031] (mii_bus:phy_addr=f802c000.etherne:00, irq=-1) [Mon Nov 18 10:32:14.328 2013] at91_rtc fffffeb0.rtc: rtc core: registered fffffeb0.rtc as rtc0 [Mon Nov 18 10:32:14.334 2013] at91_rtc fffffeb0.rtc: AT91 Real Time Clock driver. [Mon Nov 18 10:32:14.339 2013] i2c /dev entries driver [Mon Nov 18 10:32:14.342 2013] at91sam9_wdt: sorry, watchdog is disabled [Mon Nov 18 10:32:14.345 2013] at91_wdt: probe of fffffe40.watchdog failed with error -5 [Mon Nov 18 10:32:14.351 2013] iio iio:device0: Resolution used: 12 bits [Mon Nov 18 10:32:14.357 2013] TCP: cubic registered [Mon Nov 18 10:32:14.361 2013] NET: Registered protocol family 10 [Mon Nov 18 10:32:14.365 2013] sit: IPv6 over IPv4 tunneling driver [Mon Nov 18 10:32:14.370 2013] NET: Registered protocol family 17 [Mon Nov 18 10:32:14.375 2013] UBI: attaching mtd4 to ubi0 [Mon Nov 18 10:32:14.533 2013] UBI: scanning is finished [Mon Nov 18 10:32:14.545 2013] UBI: attached mtd4 (name "root", size 29 MiB) to ubi0 [Mon Nov 18 10:32:14.551 2013] UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes [Mon Nov 18 10:32:14.556 2013] UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048 [Mon Nov 18 10:32:14.562 2013] UBI: VID header offset: 2048 (aligned 2048), data offset: 4096 [Mon Nov 18 10:32:14.567 2013] UBI: good PEBs: 232, bad PEBs: 0, corrupted PEBs: 0 [Mon Nov 18 10:32:14.572 2013] UBI: user volume: 1, internal volumes: 1, max. volumes count: 128 [Mon Nov 18 10:32:14.577 2013] UBI: max/mean erase counter: 1/0, WL threshold: 4096, image sequence number: 960934847 [Mon Nov 18 10:32:14.585 2013] UBI: available PEBs: 0, total reserved PEBs: 232, PEBs reserved for bad PEB handling: 40 [Mon Nov 18 10:32:14.593 2013] at91_rtc fffffeb0.rtc: setting system clock to 2013-11-15 08:13:18 UTC (1384503198) [Mon Nov 18 10:32:14.688 2013] UBIFS: mounted UBI device 0, volume 0, name "rootfs", R/O mode [Mon Nov 18 10:32:14.696 2013] UBIFS: LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes [Mon Nov 18 10:32:14.703 2013] UBIFS: FS size: 22474752 bytes (21 MiB, 177 LEBs), journal size 9023488 bytes (8 MiB, 72 LEBs) [Mon Nov 18 10:32:14.712 2013] UBIFS: reserved for root: 0 bytes (0 KiB) [Mon Nov 18 10:32:14.716 2013] UBIFS: media format: w4/r0 (latest is w4/r0), UUID CBD0566A-AC06-466A-A627-81FD91BE44B5, small LPT model [Mon Nov 18 10:32:14.726 2013] VFS: Mounted root (ubifs filesystem) readonly on device 0:11. [Mon Nov 18 10:32:14.732 2013] devtmpfs: mounted [Mon Nov 18 10:32:14.735 2013] Freeing unused kernel memory: 96K (c02d7000 - c02ef000) [Mon Nov 18 10:32:14.871 2013] INUBI: background thread "ubi_bgt0d" started, PID 50 [Mon Nov 18 10:32:14.878 2013] IT: (system hangs here or resets if WD is enabled)
Attachment:
config
Description: config