i use IMX6q pcie as RC to connect FPGA direcly.
in L3.0.35_4.1.0(linux 3.0.35),sytem run succeed, i can use FPGA driver to control FPGA device。
now, when L3.0.101_4.1.1 release, i try to update.but FGPA can not run success when i load driver. when i try to read or write FPGA reg, i prompt fail.
the wrong log is below:
[ 710.741196] PCI: enabling device 0000:02:04.0 (0140 -> 0142)
[ 710.746926] AudioCardProbe!
[ 710.754666] PCI Driver mem space Bar0:start at 0x1000000, end at 0x13fffff, Flag is 0x42208, len is 4194304, Bar1: start at 0x1500000, end at 0x1503fff, Flag is 0x40200, len is 16384, irq is 155
[ 710.777415] alloc virtural addr is Bar0:0xc9800000, Bar1:0xc0c10000
[ 710.907366] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[ 710.915462] pgd = bc830000
[ 710.918171] [00000000] *pgd=4c4b1831, *pte=00000000, *ppte=00000000
[ 710.924486] Internal error: Oops: 17 [#1] PREEMPT SMP
[ 710.929542] Modules linked in: audiocard(+)
[ 710.933760] CPU: 0 Not tainted (3.0.101-2790-gc248ed7 #8)
[ 710.939517] PC is at vsnprintf+0x38/0x3ec
[ 710.943533] LR is at vscnprintf+0xc/0x24
[ 710.947462] pc : [<8029a7cc>] lr : [<8029ac00>] psr: 20000093
[ 710.947467] sp : bc4e7bdc ip : c097e000 fp : 00000020
[ 710.958958] r10: 80b3d700 r9 : bc4e7cd8 r8 : bc4e7cd8
[ 710.964187] r7 : 00000400 r6 : 80b3d700 r5 : 00000000 r4 : 00000000
[ 710.970718] r3 : bc4e7cd8 r2 : 00000000 r1 : 00000400 r0 : 80b3d700
[ 710.977253] Flags: nzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user
[ 710.984481] Control: 10c53c7d Table: 4c83004a DAC: 00000015
[ 710.990231] Process insmod (pid: 1547, stack limit = 0xbc4e62f0)
[ 710.996243] Stack: (0xbc4e7bdc to 0xbc4e8000)
[ 711.000605] 7bc0: 00005e48
[ 711.008792] 7be0: 00005e86 80b069dc 00005e86 800f3998 80b3d700 00000400 00005e86 00000000
[ 711.016978] 7c00: 00000000 00205b3e 00000400 80b0699c 80b3d700 00000400 00000000 bc4e7cd8
[ 711.025164] 7c20: 00000000 00000000 8029ac00 00000000 800d57ac bc4e7c5e dcdc1c8e 00000058
[ 711.033350] 7c40: 850daa1c 000000a5 80b3d648 80b3d648 00000000 bc4e6000 60000013 205b00a5
[ 711.041536] 7c60: 30313720 3130392e 5d393638 60000020 bc4e7cbd 0000040f 00000406 c9800000
[ 711.049722] 7c80: c9840004 8009e910 7f0079b0 00000000 80b069fc 00000004 00000000 000000c8
[ 711.057908] 7ca0: 00000000 000000c8 c9800000 c9840004 bc36d300 00000001 bc36d300 bc4e7d6c
[ 711.066094] 7cc0: 80579180 8057916c bc4e7cd8 ffffffff 7f0079b0 00000000 80b069fc 00000000
[ 711.074279] 7ce0: 00000000 c9800000 00000000 0000007a 00000000 7f000568 00000000 00000000
[ 711.082464] 7d00: 00000000 7f008b4c c9800000 7f002e7c 7f00c528 004e7d24 00000001 00000000
[ 711.090650] 7d20: bc3adc00 c9800000 7f008b4c 7f0037f0 00000000 bc3adc00 7f008b30 7f00c528
[ 711.098836] 7d40: bc36d300 7f007498 00000000 01500000 01503fff 00040200 00004000 0000009b
[ 711.107022] 7d60: 00000000 bc36d390 00000000 69647541 7261436f 80003064 000000d0 801a0324
[ 711.115208] 7d80: 80a47a7c bc783cc0 00000008 bc000ae0 bc6fbba0 bc783cc0 0000001f 801a07e0
[ 711.123394] 7da0: 801041e4 801a0344 bc783cc0 bc4e7de0 bc4e7de0 801a0844 bc079d00 bc783cc0
[ 711.131580] 7dc0: bc783cc0 00000000 bc4e7de0 bc3ad860 bc3ad8c0 bc3add28 bc3adc60 bc3adc00
[ 711.139766] 7de0: 7f008e88 00000000 7f008df4 7f008e24 801041e4 802afff0 bc3adc60 80b5860c
[ 711.147953] 7e00: bc3adc94 00000000 7f008e24 7f008ec0 7f00f000 80307210 bc3adc60 7f008e24
[ 711.156138] 7e20: bc3adc94 00000000 00000001 803073a8 7f008e24 00000000 8030731c 80306428
[ 711.164324] 7e40: bc030540 bc1508d8 7f008e24 80b15eb8 bc09b420 80306be4 7f007d0c 7f008e24
[ 711.172510] 7e60: 7f008e24 7f008e24 7f008e24 80b15eb8 00000000 00000001 7f00f000 80307854
[ 711.180695] 7e80: 7f008df4 7f008e24 80b15eb8 00000000 00000001 802b0b18 00000000 80b3bf00
[ 711.188881] 7ea0: bc4e6000 00000001 00000000 80099458 00000010 8bf99c40 00000010 7f00f000
[ 711.197067] 7ec0: 40000000 00000010 bc000ce0 00000000 00000001 80106cc4 7f008ec0 7f008ec0
[ 711.205253] 7ee0: 7f008f08 00000001 bc4a2340 00000001 7f008ec0 801040fc 801041e4 80106464
[ 711.213438] 7f00: 7f008ecc 00000000 00000000 00000124 00000000 00011008 7f008fec 7f008ecc
[ 711.221624] 7f20: 00000000 c0bf8000 0000f5e4 c0c02388 c0c021a8 c0c066e8 bc7a0c00 0000c83c
[ 711.229810] 7f40: 0000d71c 00000000 00000000 00000029 0000002a 0000001e 00000022 0000001a
[ 711.237995] 7f60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 80a93ac4
[ 711.246180] 7f80: 00000003 00000002 0000f5e4 00011018 00000080 8009f084 bc4e6000 00000000
[ 711.254366] 7fa0: 00000000 8009ef00 00000002 0000f5e4 00011018 0000f5e4 00011008 2ad8c248
[ 711.262552] 7fc0: 00000002 0000f5e4 00011018 00000080 00000003 00000000 00010000 00000000
[ 711.270739] 7fe0: 00011008 7eecdc4c 00008834 2ad2bfc4 60000010 00011018 00000000 00000000
[ 711.278933] [<8029a7cc>] (vsnprintf+0x38/0x3ec) from [<8029ac00>] (vscnprintf+0xc/0x24)
[ 711.286954] [<8029ac00>] (vscnprintf+0xc/0x24) from [<800d57ac>] (vprintk+0xf4/0x4c8)
[ 711.294806] [<800d57ac>] (vprintk+0xf4/0x4c8) from [<80579180>] (printk+0x1c/0x2c)
[ 711.302417] [<80579180>] (printk+0x1c/0x2c) from [<7f0079b0>] (g_pStrVoiceCardDeviceInfoTbl+0x40/0xfffffd58 [audiocard])
[ 711.313297] Code: ba0000e0 e59da014 e3a0b020 e59d1018 (e5d23000)
[ 711.319604] ---[ end trace c78ae217b17be00b ]---
[ 711.324247] note: insmod[1547] exited with preempt_count 2
[ 711.329764] BUG: scheduling while atomic: insmod/1547/0x40000003
[ 711.335788] Modules linked in: audiocard(+)
[ 711.340031] [<800a5b0c>] (unwind_backtrace+0x0/0xf8) from [<8057d4bc>] (__schedule+0x4c0/0x704)
[ 711.348760] [<8057d4bc>] (__schedule+0x4c0/0x704) from [<800cff30>] (__cond_resched+0x24/0x34)
[ 711.357399] [<800cff30>] (__cond_resched+0x24/0x34) from [<8057d798>] (_cond_resched+0x34/0x44)
[ 711.366146] [<8057d798>] (_cond_resched+0x34/0x44) from [<801359d0>] (unmap_vmas+0x41c/0x648)
[ 711.374701] [<801359d0>] (unmap_vmas+0x41c/0x648) from [<8013b150>] (exit_mmap+0x108/0x244)
[ 711.383080] [<8013b150>] (exit_mmap+0x108/0x244) from [<800d2b1c>] (mmput+0x48/0x114)
[ 711.390924] [<800d2b1c>] (mmput+0x48/0x114) from [<800d6bb0>] (exit_mm+0x128/0x168)
[ 711.398606] [<800d6bb0>] (exit_mm+0x128/0x168) from [<800d8534>] (do_exit+0x58c/0x704)
[ 711.406548] [<800d8534>] (do_exit+0x58c/0x704) from [<800a2674>] (die+0x228/0x284)
[ 711.414145] [<800a2674>] (die+0x228/0x284) from [<805783d0>] (__do_kernel_fault.part.4+0x54/0x74)
[ 711.423043] [<805783d0>] (__do_kernel_fault.part.4+0x54/0x74) from [<800a979c>] (do_page_fault+0x2b4/0x31c)
[ 711.432816] [<800a979c>] (do_page_fault+0x2b4/0x31c) from [<800992f4>] (do_DataAbort+0x34/0x9c)
[ 711.441544] [<800992f4>] (do_DataAbort+0x34/0x9c) from [<8009e910>] (__dabt_svc+0x70/0xa0)
[ 711.449814] Exception stack(0xbc4e7b90 to 0xbc4e7bd8)
[ 711.454916] 7b80: 80b3d700 00000400 00000000 bc4e7cd8
[ 711.463116] 7ba0: 00000000 00000000 80b3d700 00000400 bc4e7cd8 bc4e7cd8 80b3d700 00000020
[ 711.471312] 7bc0: c097e000 bc4e7bdc 8029ac00 8029a7cc 20000093 ffffffff
[ 711.477943] [<8009e910>] (__dabt_svc+0x70/0xa0) from [<8029a7cc>] (vsnprintf+0x38/0x3ec)
[ 711.486056] [<8029a7cc>] (vsnprintf+0x38/0x3ec) from [<8029ac00>] (vscnprintf+0xc/0x24)
[ 711.494083] [<8029ac00>] (vscnprintf+0xc/0x24) from [<800d57ac>] (vprintk+0xf4/0x4c8)
[ 711.501974] [<800d57ac>] (vprintk+0xf4/0x4c8) from [<80579180>] (printk+0x1c/0x2c)
[ 711.509579] [<80579180>] (printk+0x1c/0x2c) from [<7f0079b0>] (g_pStrVoiceCardDeviceInfoTbl+0x40/0xfffffd58 [audiocard])
Segmentation fault
system log is in the attachment
Original Attachment has been moved to: system.log.zip
Hi rao
I would suggest to rebuild all image from scratch, including fpga
and audiocard.ko drivers for new 3.0.101 kernel.
Clean up all the configure files and objects :
./ltib –m distclean
then run the ./ltib –config command, choose the kernel version as
linux 3.0.101-imx
Best regards
igor
i create new environment to build 3.0.101 according to document" i.MX 6 Linux 3.0.101_4.1.1 Patch Release Notes".
i can also try to use pcie connect network card(intel 82574)directly. the network driver(e1000e.ko) also crash just like fpga driver.
but network card and fpga device can work fine in 3.0.35.
Hi rao
you can also check if PCIe is enabled both in Uboot and Linux
as described below
uboot-imx.git - Freescale i.MX u-boot Tree
~igor
Hi igorpadykov
the u-boot version that you provide is 2014.04,but 4.1.1 u-boot version is 2009.
we cannot find pcie enable in u-boot 2009.
do you mean we must update u-boot to 2014?
i just wonder why pcie can run succeed in L4.1.0.but fail in L4.1.1.
i trying to run L4.1.1 in freescale SDB broad, to found whether can run correctly when enable PCIE。
Hi rao
you can check IOMUXC_GPR8 in
L4.1.0.and make the same in L4.1.1
~igor