Hi all:
I want to use pcie to do communicate between two dm8168 board of our own, one as pcie rc ,another as ep.
we have a pcie bridge between this two board, and followed TI81XX_PSP_PCI_Express_Endpoint_Driver_User_Guide
i built ti81xx_pcie_epdrv.ko ti81xx_edma.ko ti81xx_pcie_rcdrv.ko.
When i power on these two boards, there is no ep device was found,
and when i insmod ti81xx_pcie_epdrv.ko module broken,
and log print as follow:
root@dm816x:/opt/dvr_rdk/ti816x/kermod# insmod ti81xx_pcie_epdrv.ko
[ 63.390000] Unhandled fault: external abort on non-linefetch (0x1028) at 0xd3001004
[ 63.400000] Internal error: : 1028 [#1]
[ 63.400000] last sysfs file: /sys/kernel/uevent_seqnum
[ 63.400000] Modules linked in: ti81xx_pcie_epdrv(+)
[ 63.400000] CPU: 0 Not tainted (2.6.37 #8)
[ 63.400000] PC is at ti81xx_ep_pcie_init+0x1a8/0x28c [ti81xx_pcie_epdrv]
[ 63.400000] LR is at kobject_put+0x48/0x5c
[ 63.400000] pc : [<bf000b8c>] lr : [<c01bbb34>] psr: 60000013
[ 63.400000] sp : cd779e98 ip : cd779db8 fp : cd779ebc
[ 63.400000] r10: 0000001c r9 : 00000013 r8 : 00000000
[ 63.400000] r7 : bf000d95 r6 : 00000000 r5 : bf001158 r4 : bf001124
[ 63.400000] r3 : d3000000 r2 : d3001000 r1 : c01bbbd0 r0 : bf001124
[ 63.400000] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 63.400000] Control: 10c5387d Table: 8d43c019 DAC: 00000015
[ 63.400000] Process insmod (pid: 451, stack limit = 0xcd7782e8)
[ 63.400000] Stack: (0xcd779e98 to 0xcd77a000)
[ 63.400000] 9e80: bf000d95 bf001158
[ 63.400000] 9ea0: bf001000 00000000 00000001 bf0009e4 cd779ef4 cd779ec0 c00424f8 bf0009f0
[ 63.400000] 9ec0: bf001000 00000000 00000001 cd41d240 cd779ef4 bf001000 00000000 00000001
[ 63.400000] 9ee0: cd41d240 00000001 cd779fa4 cd779ef8 c00a10d4 c0042448 bf00100c cd779f08
[ 63.400000] 9f00: c0042298 c009ebd0 00000000 00012008 bf001108 c039f424 c00de3d8 d08fe000
[ 63.400000] 9f20: 00002ca3 d08ffc18 d08ffb5d d09008a8 cd412680 0000119c 0000135c 00000000
[ 63.400000] 9f40: 00000000 00000011 00000012 00000009 00000007 00000005 00000000 00000000
[ 63.400000] 9f60: 00000000 00000000 00000000 00000000 00000000 c04bc080 cd412c00 00008a2c
[ 63.400000] 9f80: 00012008 be889eca 00000080 c004cde8 cd778000 00000000 00000000 cd779fa8
[ 63.400000] 9fa0: c004cc40 c009fa14 00008a2c 00012008 00012018 00002ca3 00012008 40247248
[ 63.400000] 9fc0: 00008a2c 00012008 be889eca 00000080 00004000 00000000 00000003 00000000
[ 63.400000] 9fe0: 00002ca3 be889c4c 00008ca4 401e5684 60000010 00012018 00000000 00000000
[ 63.400000] Backtrace:
[ 63.400000] [<bf0009e4>] (ti81xx_ep_pcie_init+0x0/0x28c [ti81xx_pcie_epdrv]) from [<c00424f8>] (do_one_initcall+0xbc/0x190)
[ 63.400000] r7:bf0009e4 r6:00000001 r5:00000000 r4:bf001000
[ 63.400000] [<c004243c>] (do_one_initcall+0x0/0x190) from [<c00a10d4>] (sys_init_module+0x16cc/0x1894)
[ 63.400000] r8:00000001 r7:cd41d240 r6:00000001 r5:00000000 r4:bf001000
[ 63.400000] [<c009fa08>] (sys_init_module+0x0/0x1894) from [<c004cc40>] (ret_fast_syscall+0x0/0x30)
[ 63.400000] Code: e5943028 e1a00004 e2832a01 e583618c (e5921004)
[ 63.640000] ---[ end trace f234e815e66268a3 ]---
Segmentation fault
i have set pci_mem=8M in boot params,
to fix this problem i do insmod ti81xx_pcie_epdrv.ko on ti8168 evm board without any other pcie device connected,
same problem also happens then, what is the problem then ?
I think ep should start before rc board, but before i insmod ti81xx_pcie_epdrv.ko, can ep be found at rc board?
or it have to be after insmod ti81xx_pcie_epdrv.ko?
best regards
xavier