srio doorbell 能正常发,接收无中断问题

VxWorks_developer 2020-03-30 04:29:16


操作系统版本:Linux p2020rdb 4.19.68-ga5c3ba83f-dirty #18 SMP PREEMPT Mon Mar 30 14:01:04 CST 2020 ppc GNU/Linux


硬件板卡:powerpc p2020

问题描述:p2020与fpga(K7)直连,p2020发doorbell,k7可接收,k7发doorbell,p2020无中断



详细log如下:


1.uboot
tlb flasjh esel = 2
Flash: bank num = 0
bank num and size = 8388608
bank num and size = 8388608
bank num = 1
bank num and size = 134217728
bank num and size = 67108864
bank num = 2
bank num and size = 134217728
bank num and size = 67108864
bank num = 3
bank num and size = 8388608
bank num and size = 8388608
bank num = 4
bank num and size = 8388608
bank num and size = 8388608
flash size = 159383552
152 MiB
L2: 512 KiB enabled
SRIO1: enabled
SRIO2: enabled
MMC: FSL_SDHC: 0
PCIe1: disabled
PCIe2: disabled
In: serial
Out: serial
Err: serial
Net: phy interface = 1
phy interface else = 1
eTSEC2 [PRIME]




2.dmesg srio

[ 0.183895] fsl-of-rio ffec0000.rapidio: Of-device full name /rapidio@ffec0000
[ 0.189750] fsl-of-rio ffec0000.rapidio: Regs: [mem 0xffec0000-0xffed0fff]
[ 0.195478] fsl-of-rio ffec0000.rapidio: bellirq: 57
[ 0.199076] fsl-of-rio ffec0000.rapidio: pwirq: 16
[ 0.202556] fsl-of-rio ffec0000.rapidio: /rapidio@ffec0000/port1: LAW start 0x0000000ca0000000, size 0x0000000000010000.
[ 0.212088] fsl-of-rio ffec0000.rapidio: Hardware port width: 4
[ 0.216687] fsl-of-rio ffec0000.rapidio: Training connection status: Single-lane 0
[ 0.222931] fsl-of-rio ffec0000.rapidio: RapidIO Common Transport System size: 256
[ 0.234826] fsl-of-rio ffec0000.rapidio: /rapidio@ffec0000/port2: LAW start 0x0000000cb0000000, size 0x0000000000010000.
[ 0.244336] fsl-of-rio ffec0000.rapidio: Hardware port width: 4
[ 0.248912] fsl-of-rio ffec0000.rapidio: Training connection status: Single-lane 0
[ 0.255167] fsl-of-rio ffec0000.rapidio: RapidIO Common Transport System size: 256
[ 0.613825] rio_mport: Added RIO mport 0 cdev(251:0)
[ 0.617566] rio_mport: Added RIO mport 1 cdev(251:1)
[ 1.217908] RIO: rio_register_scan for mport_id=-1
[ 1.217964] rio_cm: riocm_init Registered class with 250 major
[ 1.217976] rio_cm: riocm_add_mport add mport RIO mport 0
[ 1.219318] rio_cm: riocm_add_mport add mport RIO mport 1
[ 1.220958] rio_cm: riocm_cdev_add Added rio_cm cdev(250:0)

3.interrupt
CPU0 CPU1
16: 0 0 OpenPIC 16 Level port-write
19: 0 0 OpenPIC 19 Level fsl-lbc
24: 0 2 OpenPIC 6 Level mdio@ffe24520:05
35: 0 53 OpenPIC 35 Level eth1_g0_tx
36: 1012 0 OpenPIC 36 Level eth1_g0_rx
40: 0 0 OpenPIC 40 Level eth1_g0_er
42: 3211 0 OpenPIC 42 Level ttyS0
47: 0 0 OpenPIC 47 Level gpio-cascade
57: 0 0 OpenPIC 57 Level dbell_rx
60: 0 0 OpenPIC 60 Level msg_tx
61: 0 0 OpenPIC 61 Level msg_rx
62: 0 0 OpenPIC 62 Level msg_tx
63: 0 0 OpenPIC 63 Level msg_rx
68: 0 0 OpenPIC 68 Level ptp_qoriq
507: 13083 13046 OpenPIC 2043 Edge ipi call function
508: 2500 3425 OpenPIC 2044 Edge ipi reschedule
509: 0 0 OpenPIC 2045 Edge ipi tick-broadcast
LOC: 7464 3472 Local timer interrupts for timer event device
BCT: 0 0 Broadcast timer interrupts for timer event device
LOC: 2 2 Local timer interrupts for others
SPU: 0 0 Spurious interrupts
PMI: 0 0 Performance monitoring interrupts
MCE: 0 0 Machine check exceptions
NMI: 0 0 System Reset interrupts


4.dmesg
[ 0.000000] barrier-nospec: patched 193 locations
[ 0.000000] Top of RAM: 0x20000000, Total RAM: 0x20000000
[ 0.000000] Memory hole size: 0MB
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000000000000-0x000000001fffffff]
[ 0.000000] Normal empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x000000001fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000001fffffff]
[ 0.000000] On node 0 totalpages: 131072
[ 0.000000] DMA zone: 1024 pages used for memmap
[ 0.000000] DMA zone: 0 pages reserved
[ 0.000000] DMA zone: 131072 pages, LIFO batch:31
[ 0.000000] MMU: Allocated 1088 bytes of context maps for 255 contexts
[ 0.000000] percpu: Embedded 13 pages/cpu s22796 r8192 d22260 u53248
[ 0.000000] pcpu-alloc: s22796 r8192 d22260 u53248 alloc=13*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 130048
[ 0.000000] Kernel command line:
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Memory: 420796K/524288K available (4320K kernel code, 260K rwdata, 1248K rodata, 232K init, 1139K bss, 103492K reserved, 0K cma-reserved)
[ 0.000000] Kernel virtual memory layout:
[ 0.000000] * 0xfffdf000..0xfffff000 : fixmap
[ 0.000000] * 0xfdffd000..0xfe000000 : early ioremap
[ 0.000000] * 0xe1000000..0xfdffd000 : vmalloc & ioremap
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=2.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[ 0.000000] NR_IRQS: 512, nr_irqs: 512, preallocated irqs: 16
[ 0.000000] mpic: Resetting
[ 0.000000] mpic: Setting up MPIC " OpenPIC " version 1.2 at ffe40000, max 2 CPUs
[ 0.000000] mpic: ISU size: 256, shift: 8, mask: ff
[ 0.000000] mpic: Initializing for 256 sources
[ 0.000000] time_init: decrementer frequency = 50.000000 MHz
[ 0.000000] time_init: processor frequency = 1000.000000 MHz
[ 0.000010] clocksource: timebase: mask: 0xffffffffffffffff max_cycles: 0xb8812736b, max_idle_ns: 440795202655 ns
[ 0.008874] clocksource: timebase mult[14000000] shift[24] registered
[ 0.013996] clockevent: decrementer mult[ccccccd] shift[32] cpu[0]
[ 0.014099] Console: colour dummy device 80x25
[ 0.017162] pid_max: default: 32768 minimum: 301
[ 0.020585] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.025820] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.032177] mpic: requesting IPIs...
[ 0.063688] rcu: Hierarchical SRCU implementation.
[ 0.079746] smp: Bringing up secondary CPUs ...
[ 0.112210] smp: Brought up 1 node, 2 CPUs
[ 0.114910] Using shared cache scheduler topology
[ 0.118870] devtmpfs: initialized
[ 0.123204] random: get_random_u32 called from bucket_table_alloc+0x14c/0x188 with crng_init=0
[ 0.130802] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.139173] futex hash table entries: 512 (order: 2, 16384 bytes)
[ 0.144489] NET: Registered protocol family 16
[ 0.148240] audit: initializing netlink subsys (disabled)
[ 0.152424] audit: type=2000 audit(0.128:1): state=initialized audit_enabled=0 res=1
[ 0.178705] Setting up RapidIO peer-to-peer network /rapidio@ffec0000
[ 0.183895] fsl-of-rio ffec0000.rapidio: Of-device full name /rapidio@ffec0000
[ 0.189750] fsl-of-rio ffec0000.rapidio: Regs: [mem 0xffec0000-0xffed0fff]
[ 0.195478] fsl-of-rio ffec0000.rapidio: bellirq: 57
[ 0.199076] fsl-of-rio ffec0000.rapidio: pwirq: 16
[ 0.202556] fsl-of-rio ffec0000.rapidio: /rapidio@ffec0000/port1: LAW start 0x0000000ca0000000, size 0x0000000000010000.
[ 0.212088] fsl-of-rio ffec0000.rapidio: Hardware port width: 4
[ 0.216687] fsl-of-rio ffec0000.rapidio: Training connection status: Single-lane 0
[ 0.222931] fsl-of-rio ffec0000.rapidio: RapidIO Common Transport System size: 256
[ 0.229475] /soc@ffe00000/rmu@d3000/message-unit@0: txirq: 60, rxirq 61
[ 0.234807] rapidio_port rapidio0: RIO: registered mport0
[ 0.234826] fsl-of-rio ffec0000.rapidio: /rapidio@ffec0000/port2: LAW start 0x0000000cb0000000, size 0x0000000000010000.
[ 0.244336] fsl-of-rio ffec0000.rapidio: Hardware port width: 4
[ 0.248912] fsl-of-rio ffec0000.rapidio: Training connection status: Single-lane 0
[ 0.255167] fsl-of-rio ffec0000.rapidio: RapidIO Common Transport System size: 256
[ 0.261699] /soc@ffe00000/rmu@d3000/message-unit@100: txirq: 62, rxirq 63
[ 0.267193] rapidio_port rapidio1: RIO: registered mport1
[ 0.267211] dbell_ring.virt = d983e000
[ 0.267215] dbell_ring.phys = 1983e000
[ 0.278516] HugeTLB registered 4.00 MiB page size, pre-allocated 0 pages
[ 0.286474] HugeTLB registered 16.0 MiB page size, pre-allocated 0 pages
[ 0.292043] HugeTLB registered 64.0 MiB page size, pre-allocated 0 pages
[ 0.297363] HugeTLB registered 256 MiB page size, pre-allocated 0 pages
[ 0.302664] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.309288] pps_core: LinuxPPS API ver. 1 registered
[ 0.313012] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.320826] PTP clock support registered
[ 0.323933] clocksource: Switched to clocksource timebase
[ 0.338563] NET: Registered protocol family 2
[ 0.342060] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
[ 0.348358] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.354108] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.359272] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.364345] UDP hash table entries: 256 (order: 1, 8192 byt
...全文
619 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
VxWorks_developer 2020-03-30
  • 打赏
  • 举报
回复
小弟初学,谁能给指点12啊? K7的程序在VxWorks下验证过,srio可以正常通信。linux doorbell接收,无中断,怎么去分析啊?读了srio相关的状态寄存器,也没看出异常来,怎么着手啊??迷茫。。

1,318

社区成员

发帖
与我相关
我的任务
社区描述
主要是开发驱动技术
社区管理员
  • 驱动程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧