Hi All,
I'm trying to bring-up a PCIe based NIC(e1000e) card on a PowerPC-440 based
board, I'm able to list this device under lspci from the user space, but the
driver probe fails and looks like mmio mapping doesn't look right. Following is
the bootlog of the kernel. Can anyone point out what is going wrong here? The
kernel is a relocatable one and system memory is mapped at 0x5000_0000 to
0x6000_0000
I dont have a serial console, I use ttyprintk to get the userspace prints (on
dmesg).
<6>[ 0.000000] Using XXX machine description<5>[ 0.000000] Linux version
3.3.0-rc2 (root@sumeshkn) (gcc version 4.4.6 20110214 (4.4.5-6) (GCC) ) #125
PREEMPT Mon Jun 4 04:51:02 EDT 2012<7>[ 0.000000] Found initrd at
0xc0937000:0xc0d8803b<7>[ 0.000000] Top of RAM: 0x60000000, Total RAM:
0x10000000<7>[ 0.000000] Memory hole size: 1280MB<7>[ 0.000000] Zone PFN
ranges:<7>[ 0.000000] DMA 0x00050000 -> 0x00060000<7>[ 0.000000]
Normal empty<7>[ 0.000000] HighMem empty<7>[ 0.000000] Movable zone
start PFN for each node<7>[ 0.000000] Early memory PFN ranges<7>[
0.000000] 0: 0x00050000 -> 0x00060000<7>[ 0.000000] On node 0
totalpages: 65536<7>[ 0.000000] free_area_init_node: node 0, pgdat c026d258,
node_mem_map c02b0000<7>[ 0.000000] DMA zone: 512 pages used for
memmap<7>[ 0.000000] DMA zone: 0 pages reserved<7>[ 0.000000] DMA
zone: 65024 pages, LIFO batch:15<6>[ 0.000000] MMU: Allocated 1088 bytes of
context maps for 255 contexts<7>[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768
alloc=1*32768<7>[ 0.000000] pcpu-alloc: [0] 0 <7>[ 0.000000] Built 1
zonelists in Zone order, mobility grouping on. Total pages: 65024<5>[
0.000000] Kernel command line: root=/dev/ram<6>[ 0.000000] PID hash table
entries: 1024 (order: 0, 4096 bytes)<6>[ 0.000000] Dentry cache hash table
entries: 32768 (order: 5, 131072 bytes)<6>[ 0.000000] Inode-cache hash table
entries: 16384 (order: 4, 65536 bytes)<7>[ 0.000000] High memory: 0k<6>[
0.000000] Memory: 252632k/262144k available (2372k kernel code, 9512k reserved,
148k data, 222k bss, 160k init)<6>[ 0.000000] Kernel virtual memory
layout:<6>[ 0.000000] * 0xfffcf000..0xfffff000 : fixmap<6>[ 0.000000]
* 0xffc00000..0xffe00000 : highmem PTEs<6>[ 0.000000] *
0xffa00000..0xffc00000 : consistent mem<6>[ 0.000000] *
0xffa00000..0xffa00000 : early ioremap<6>[ 0.000000] *
0xd1000000..0xffa00000 : vmalloc & ioremap<6>[ 0.000000] NR_IRQS:512<6>[
0.000000] kmemleak: Kernel memory leak detector disabled<7>[ 0.000000]
time_init: decrementer frequency = 166.666667 MHz<7>[ 0.000000] time_init:
processor frequency = 666.666664 MHz<6>[ 0.000000] clocksource: timebase
mult[6000000] shift[24] registered<7>[ 0.000000] clockevent: decrementer
mult[2aaaaaac] shift[32] cpu[0]<6>[ 0.000000] Console: colour dummy device
80x25<6>[ 0.000000] console [tty0] enabled<4>[ 0.000000] kmemleak: Early
log buffer exceeded (907), please increase DEBUG_KMEMLEAK_EARLY_LOG_SIZE<6>[
0.000061] pid_max: default: 32768 minimum: 301<6>[ 0.000085] Mount-cache
hash table entries: 512<6>[ 0.000279] NET: Registered protocol family 16<6>[
0.104014] PCI host bridge /pciex (primary) ranges:<6>[ 0.104017] MEM
0x0000000080000000..0x000000009fffffff -> 0x0000000080000000 <6>[ 0.104019]
IO 0x00000000b0000000..0x00000000b00fffff -> 0x0000000000000000<6>[
0.104029] PCIE0: successfully set as root-complex<6>[ 0.104072] PCI: Probing
PCI hardware<7>[ 0.104075] PCI: Scanning PHB /pciex<7>[ 0.104076] PCI:
PHB IO resource = 0000000000000000-00000000000fffff [100]<7>[ 0.104077]
PCI: PHB MEM resource 0 = 0000000080000000-000000009fffffff [200]<7>[
0.104077] PCI: PHB MEM offset = 0000000000000000<7>[ 0.104078] PCI: PHB
IO offset = 00000000<6>[ 0.104110] PCI host bridge to bus 0000:00<6>[
0.104113] pci_bus 0000:00: root bus resource [io 0x0000-0xfffff]<6>[
0.104115] pci_bus 0000:00: root bus resource [mem 0x80000000-0x9fffffff]<7>[
0.104116] pci-common- probe mode: 0<7>[ 0.104117] pci_bus 0000:00:
PCI_DRIVER: pci_scanning_bus<7>[ 0.104119] PCI_DRIVER: pci_setup_device <7>[
0.104121] pci 0000:00:00.0: PCI_DRIVER [8086:105e] type 0 class 0x000200<7>[
0.104121] pci 0000:00:00.0: pci_cfg_space_size -before<7>[ 0.104122] pci
0000:00:00.0: pci_cfg_space_size - after<7>[ 0.104122] PCI_DRIVER:
pci_fixup_device<7>[ 0.104123] PCI_DRIVER: case pci_fixup_early<7>[
0.104124] pci 0000:00:00.0: calling fixup_xxx+0x0/0x64<7>[ 0.104125]
XXX_FIXUP_EARLY: vendor : 8086, device: 105e<7>[ 0.104126] pci 0000:00:00.0:
calling quirk_mmio_always_on+0x0/0x24<7>[ 0.104127] pci 0000:00:00.0:
pci_fxup_device (pci_fixup_early)<7>[ 0.104127] PCI_DRIVER:
pci_read_bases:vendor:8086,device:105e Pos : 0x0, Reg:0x10<7>[ 0.104128]
pci 0000:00:00.0: reg 10: [mem 0x80000000-0x8001ffff]<7>[ 0.104129]
PCI_DRIVER: pci_read_bases:vendor:8086,device:105e Pos : 0x1, Reg:0x14<7>[
0.104130] pci 0000:00:00.0: reg 14: [mem 0x00000000-0x0001ffff]<7>[
0.104130] PCI_DRIVER: pci_read_bases:vendor:8086,device:105e Pos : 0x2,
Reg:0x18<7>[ 0.104131] pci 0000:00:00.0: reg 18: [io 0x0000-0x001f]<7>[
0.104132] PCI_DRIVER: pci_read_bases:vendor:8086,device:105e Pos : 0x3,
Reg:0x1c<7>[ 0.104132] PCI_DRIVER: pci_read_bases:vendor:8086,device:105e
Pos : 0x4, Reg:0x20<7>[ 0.104133] PCI_DRIVER:
pci_read_bases:vendor:8086,device:105e Pos : 0x5, Reg:0x24<7>[ 0.104134]
pci 0000:00:00.0: reg 30: [mem 0x00000000-0x0001ffff pref]<7>[ 0.104135]
PCI_DRIVER: pci_fixup_device<7>[ 0.104135] PCI_DRIVER: case
pci_fixup_header<7>[ 0.104136] pci 0000:00:00.0: calling
pcibios_fixup_resources+0x0/0x284<7>[ 0.104143] PCI:0000:00:00.0 Resource 0
0000000080000000-000000008001ffff [40200] fixup...<7>[ 0.104143]
PCI:0000:00:00.0 0000000080000000-000000008001ffff<7>[ 0.104146]
PCI:0000:00:00.0 Resource 1 0000000000000000-000000000001ffff [40200]
fixup...<7>[ 0.104146] PCI:0000:00:00.0
0000000000000000-000000000001ffff<7>[ 0.104149] PCI:0000:00:00.0 Resource 2
0000000000000000-000000000000001f [40101] fixup...<7>[ 0.104150]
PCI:0000:00:00.0 0000000000000000-000000000000001f<7>[ 0.104152]
PCI:0000:00:00.0 Resource 6 0000000000000000-000000000001ffff [4e200]
fixup...<7>[ 0.104153] PCI:0000:00:00.0
0000000000000000-000000000001ffff<7>[ 0.104154] pci 0000:00:00.0: calling
fixup_ppc4xx_pci_bridge+0x0/0x14c<6>[ 0.104156] PCI: Hiding 4xx host bridge
resources 0000:00:00.0<7>[ 0.104158] pci 0000:00:00.0: calling
quirk_resource_alignment+0x0/0x1d4<7>[ 0.104160] pci 0000:00:00.0: PME#
supported from D0 D3hot D3cold<7>[ 0.104161] pci 0000:00:00.0: PME#
disabled<7>[ 0.104162] PCI_DRIVER: pci_scan_single_device <7>[ 0.104163]
PCI_DRIVER: pci_scan_slotPCI_DRIVER: pci_scan_slot: Done<7>[ 0.104164]
fixups for bus<7>[ 0.104164] PCI: Fixup bus devices 0 (PHB)<7>[ 0.104165]
PCI: Try to map irq for 0000:00:00.0...<7>[ 0.104166] pci 0000:00:00.0:
scanning [bus 00-00] behind bridge, pass 0<7>[ 0.104167] pci 0000:00:00.0:
bus configuration invalid, reconfiguring<7>[ 0.104167] pci 0000:00:00.0:
scanning [bus 00-00] behind bridge, pass 1<7>[ 0.104171] pci_bus 0000:01:
PCI_DRIVER: pci_scanning_bus<7>[ 0.104172] PCI_DRIVER: pci_scan_slot:
Done<7>[ 0.104172] fixups for bus<6>[ 0.104173] pci 0000:00:00.0: PCI
bridge to [bus 01-ff]<7>[ 0.104174] PCI: Fixup bus devices 1
(0000:00:00.0)<7>[ 0.104175] pci_bus 0000:01: bus scan returning with
max=01<7>[ 0.104176] pci_bus 0000:00: bus scan returning with max=01<7>[
0.104176] pci-common- pcibios_scan_phb : Done<7>[ 0.104239] PCI:
Allocating bus resources for 0000:00...<7>[ 0.104240] PCI: PHB (bus 0)
bridge rsrc 4: 0000000000000000-00000000000fffff [0x100], parent c0255db0 (PCI
IO)<7>[ 0.104241] PCI: PHB (bus 0) bridge rsrc 5:
0000000080000000-000000009fffffff [0x200], parent c0255d88 (PCI mem)<7>[
0.104242] PCI: Allocating bus resources for 0000:01...<6>[ 0.104961] bio:
create slab <bio-0> at 0<6>[ 0.105072] vgaarb: loaded<6>[ 0.105221]
Switching to clocksource timebase<7>[ 0.107533] PCI_QUIRKS :
pci_apply_final_quirks<7>[ 0.107534] PCI_DRIVER: pci_fixup_device<7>[
0.107534] PCI_DRIVER: case pci_fixup_final <7>[ 0.107536] pci 0000:00:00.0:
calling quirk_e100_interrupt+0x0/0x1b0<7>[ 0.107538] pci 0000:00:00.0:
calling quirk_cardbus_legacy+0x0/0x50<7>[ 0.107539] pci 0000:00:00.0:
calling quirk_usb_early_handoff+0x0/0x718<7>[ 0.107540] PCI: CLS 128 bytes,
default 32<6>[ 0.107647] Trying to unpack rootfs image as initramfs...<6>[
0.108413] rootfs image is not initramfs (no cpio magic); looks like an
initrd<6>[ 0.110225] Freeing initrd memory: 4424k freed<6>[ 0.110462]
msgmni has been set to 502<6>[ 0.110471] io scheduler noop registered<6>[
0.110472] io scheduler deadline registered<6>[ 0.110478] io scheduler cfq
registered (default)<6>[ 0.128194] brd: module loaded<6>[ 0.128860] loop:
module loaded<6>[ 0.128864] e1000e: Intel(R) PRO/1000 Network Driver -
1.5.1-k<6>[ 0.128865] e1000e: Copyright(c) 1999 - 2011 Intel
Corporation.<6>[ 0.128870] e1000e 0000:00:00.0: Disabling ASPM L1<7>[
0.128871] PCI_DRIVER: pci_fixup_device<7>[ 0.128872] PCI_DRIVER: case
pci_fixup_enable<7>[ 0.128873] e1000e 0000:00:00.0: enabling bus
mastering<7>[ 0.128895] e1000e DRIVER probe: mmio_start: cf9bc000, mmio_len:
0<7>[ 0.128896] __ioremap(): phys addr 0x0 is RAM lr c01c6bf0<4>[
0.128899] e1000e: probe of 0000:00:00.0 failed with error -5<5>[ 0.128993]
RAMDISK: gzip image found at block 0<6>[ 0.178833] VFS: Mounted root (ext2
filesystem) on device 1:0.<6>[ 0.178924] Freeing unused kernel memory: 160k
freed<6>[ 0.178957] Executing /sbin/init<6>[ 0.181707] [U] lspci -xxx
:<6>[ 0.183257] [U] 00:00.0 Class 0200: Device 8086:105e (rev 06)<6>[
0.183268] [U] 00: 86 80 5e 10 00 00 10 00 06 00 00 02 20 00 80 00<6>[
0.183271] [U] 10: 00 00 00 80 00 00 00 00 01 01 01 00 00 00 00 00<6>[
0.183274] [U] 20: 00 00 00 00 00 00 00 00 00 00 00 00 14 10 40 03<6>[
0.183277] [U] 30: 00 00 00 00 c8 00 00 00 00 00 00 00 00 01 00 00<6>[
0.183280] [U] 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<6>[
0.183283] [U] 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<6>[
0.183285] [U] 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<6>[
0.183288] [U] 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<6>[
0.183291] [U] 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<6>[
0.183294] [U] 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<6>[
0.183296] [U] a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<6>[
0.183299] [U] b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<6>[
0.183302] [U] c0: 00 00 00 00 00 00 00 00 01 d0 22 c8 00 20 00 21<6>[
0.183305] [U] d0: 05 e0 80 00 00 00 00 00 00 00 00 00 00 00 00 00<6>[
0.183307] [U] e0: 10 00 01 00 c1 0c 00 00 10 28 10 00 41 64 03 00<6>[
0.183310] [U] f0: 00 00 41 10 00 00 00 00 00 00 00 00 00 00 00 00<6>[
0.183312] [U] <6>[ 0.184285] [U] lspci -vvv :<6>[ 0.185108] [U] 00:00.0
Class 0200: Device 8086:105e (rev 06)<6>[ 0.185113] [U] Subsystem:
Device 1014:0340<6>[ 0.185115] [U] Control: I/O- Mem- BusMaster-
SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-<6>[
0.185119] [U] Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-<6>[ 0.185121] [U]
Interrupt: pin A routed to IRQ 0<6>[ 0.185124] [U] Region 0: Memory at
<ignored> (32-bit, non-prefetchable) [disabled]<6>[ 0.185126] [U]
Region 2: I/O ports at <ignored> [disabled]<6>[ 0.185131] [U]
Capabilities: [c8] Power Management version 2<6>[ 0.185134] [U]
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)<6>[
0.185137] [U] Status: D0 NoSoftRst- PME-Enable- DSel=0
DScale=1 PME-<6>[ 0.185139] [U] Capabilities: [d0] MSI: Enable-
Count=1/1 Maskable- 64bit+<6>[ 0.185142] [U] Address:
0000000000000000 Data: 0000<6>[ 0.185144] [U] Capabilities: [e0]
Express (v1) Endpoint, MSI 00<6>[ 0.185147] [U] DevCap: MaxPayload
256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us<6>[ 0.185150] [U]
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-<6>[ 0.185152]
[U] DevCtl: Report errors: Correctable- Non-Fatal- Fatal-
Unsupported-<6>[ 0.185154] [U] RlxdOrd+ ExtTag-
PhantFunc- AuxPwr- NoSnoop+<6>[ 0.185156] [U]
MaxPayload 128 bytes, MaxReadReq 512 bytes<6>[ 0.185158] [U]
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-<6>[
0.185161] [U] LnkCap: Port #0, Speed 2.5GT/s, Width x4, ASPM
L0s, Latency L0 <4us, L1 <64us<6>[ 0.185164] [U]
ClockPM- Surprise- LLActRep- BwNot-<6>[ 0.185166] [U] LnkCtl:
ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-<6>[ 0.185168] [U]
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-<6>[ 0.185170]
[U] LnkSta: Speed 2.5GT/s, Width x4, TrErr- Train- SlotClk+
DLActive- BWMgmt- ABWMgmt-<6>[ 0.185175] [U] Capabilities: [100 v1]
Advanced Error Reporting<6>[ 0.185178] [U] UESta: DLP- SDES-
TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq-
ACSViol-<6>[ 0.185182] [U] UEMsk: DLP- SDES- TLP- FCP-
CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-<6>[
0.185185] [U] UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-<6>[ 0.185188] [U]
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-<6>[
0.185190] [U] CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout-
NonFatalErr-<6>[ 0.185193] [U] AERCap: First Error Pointer: 00,
GenCap- CGenEn- ChkCap- ChkEn-<6>[ 0.185196] [U] Capabilities: [140 v1]
Device Serial Number e4-1f-13-ff-ff-51-06-82<6>[ 0.185206] [U]
Regards,Sumesh _______________________________________________
Linuxppc-dev mailing list
[email protected]
https://lists.ozlabs.org/listinfo/linuxppc-dev