AMCC yosemite 440ep PCI slot doesn't work.
Hello All,
when insert a RealTek RTL8139 network card into PCI slot, After system boot up,
root@localhost:/root> ifconfig eth2 192.168.17.12 irq 25: nobody cared (try booting with the "irqpoll" option)
Call Trace: [cf135af0] [c0008820] show_stack+0x48/0x190 (unreliable) [cf135b20] [c003c414] __report_bad_irq+0x34/0xac [cf135b40] [c003c714] note_interrupt+0x288/0x2c8 [cf135b70] [c003b818] __do_IRQ+0x104/0x110 [cf135b90] [c0006900] do_IRQ+0xbc/0xc0 [cf135ba0] [c00020c0] ret_from_except+0x0/0x18
[cf135c60] [00000019] 0x19
[cf135c90] [c000668c] do_softirq+0x54/0x58 [cf135ca0] [c001df40] irq_exit+0x48/0x58
[cf135cb0] [c00068b4] do_IRQ+0x70/0xc0
[cf135cc0] [c00020c0] ret_from_except+0x0/0x18 [cf135d80] [c003c2b4] setup_irq+0x1ac/0x200 [cf135da0] [c003c3cc] request_irq+0xc4/0xd8 [cf135dd0] [c0122328] rtl8139_open+0x38/0x210 [cf135df0] [c0187500] dev_open+0x7c/0xcc
[cf135e10] [c0187420] dev_change_flags+0x16c/0x1d0 [cf135e30] [c01cbff0] devinet_ioctl+0x604/0x720 [cf135ea0] [c01cc1f8] inet_ioctl+0x98/0xbc [cf135eb0] [c0179328] sock_ioctl+0x60/0x260 [cf135ed0] [c006c360] do_ioctl+0x38/0x84
[cf135ee0] [c006c438] vfs_ioctl+0x8c/0x40c [cf135f10] [c006c7f8] sys_ioctl+0x40/0x74
[cf135f40] [c0001a84] ret_from_syscall+0x0/0x3c handlers:
[<c0122bd4>] (rtl8139_interrupt+0x0/0x52c)
Disabling IRQ #25
root@localhost:/root>
Message from syslogd@localhost at Thu Jan 1 00:02:13 1970 ... localhost kernel: Disabling IRQ #25
root@localhost:/root>
The system boot up information as follows:
root@localhost:/root> dmesg
Linux version 2.6.23-rc6-gea60adb5 ([email protected]) (gcc version 4.0.0 (DENX ELDK 4.1 4.0.0)) #3 Fri Sep 21 18:37:59 CST 2007 AMCC PowerPC 440EP Yosemite Platform
Entering add_active_range(0, 0, 65536) 0 entries of 256 used Zone PFN ranges:
DMA 0 -> 65536
Normal 65536 -> 65536
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0 -> 65536
On node 0 totalpages: 65536
DMA zone: 512 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 65024 pages, LIFO batch:15
Normal zone: 0 pages used for memmap
Movable zone: 0 pages used for memmap
Built 1 zonelists in Zone order. Total pages: 65024
Kernel command line: root=/dev/nfs rw nfsroot=128.224.149.6:/tftpboot/sliu/rootfs ip=128.224.149.11::128.224.149.1:255.255.255.0:yosemite:eth0:off console=ttyS0,9600
PID hash table entries: 1024 (order: 10, 4096 bytes)
console [ttyS0] enabled
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 256896k available (2052k kernel code, 716k data, 152k init, 0k highmem)
Calibrating delay loop... 798.72 BogoMIPS (lpj=1597440) Mount-cache hash table entries: 512
NET: Registered protocol family 16
PCI: Probing PCI hardware
PCI: Scanning bus 0000:00
PCI: Found 0000:00:0c.0 [10ec/8139] 000200 00
PCI: Calling quirk c000444c for 0000:00:0c.0
PCI: Fixups for bus 0000:00
PCI: Bus scan for 0000:00 returning with max=00
PCI: fixup irq: (0000:00:0c.0) got 25
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes) TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
PCI: Calling quirk c00fbab4 for 0000:00:0c.0
PCI: Calling quirk c02ae3b8 for 0000:00:0c.0
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at MMIO 0x0 (irq = 0) is a 16550A
serial8250: ttyS1 at MMIO 0x0 (irq = 1) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize PPC 4xx OCP EMAC driver, version 3.54
mal0: initialized, 4 TX channels, 2 RX channels
zmii0: bridge in RMII mode
eth0: emac0, MAC 00:10:ec:00:87:42
eth0: found Generic MII PHY (0x01)
eth1: emac1, MAC 00:00:00:00:00:00
eth1: found Generic MII PHY (0x03)
8139too Fast Ethernet driver 0.9.28
eth2: RealTek RTL8139 at 0xd1012f00, 00:0e:2e:7e:f5:e6, IRQ 25
eth2: Identified 8139 chip type 'RTL-8100B/8139D'
pegasus: v0.6.14 (2006/09/27), Pegasus/Pegasus II USB Ethernet driver
usbcore: registered new interface driver pegasus
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
usbmon: debugfs is not availableohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver ppc-soc-ohci ppc-soc-ohci.0: USB Host Controller
ppc-soc-ohci ppc-soc-ohci.0: new USB bus registered, assigned bus number 1 ppc-soc-ohci ppc-soc-ohci.0: irq 40, io mem 0xef601000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
ether gadget: using random self ethernet address
ether gadget: using random host ethernet address
usb0: Ethernet Gadget, version: May Day 2005
usb0: using musbhsfc_udc, OUT ep2 IN ep1 STATUS ep3
usb0: MAC 66:91:74:ab:fb:61
usb0: HOST MAC 1a:b5:87:5d:8f:00
usb0: RNDIS readymusbhsfc_udc: registered gadget driver 'ether'
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
usb 1-1: new full speed USB device using ppc-soc-ohci and address 2 usb 1-1: configuration #1 chosen from 1 choice
eth0: link is up, 100 FDX, pause enabled
scsi0 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
IP-Config: Complete:
device=eth0, addr=128.224.149.11, mask=255.255.255.0,
gw=128.224.149.1,
host=yosemite, domain=, nis-domain=(none), bootserver=255.255.255.255, rootserver=128.224.149.6, rootpath=
Looking up port of RPC 100003/2 on 128.224.149.6
Looking up port of RPC 100005/1 on 128.224.149.6
VFS: Mounted root (nfs filesystem).
Freeing unused kernel memory: 152k init
scsi 0:0:0:0: Direct-Access Kingston DataTraveler 2.0 6.16 PQ: 0
ANSI: 0 CCS
sd 0:0:0:0: [sda] 244735 512-byte hardware sectors (125 MB) sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 45 00 00 08
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] 244735 512-byte hardware sectors (125 MB) sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 45 00 00 08
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1
sd 0:0:0:0: [sda] Attached SCSI removable disk
sd 0:0:0:0: Attached scsi generic sg0 type 0
usb-storage: device scan complete
irq 25: nobody cared (try booting with the "irqpoll" option)
Call Trace: [cf135af0] [c0008820] show_stack+0x48/0x190 (unreliable) [cf135b20] [c003c414] __report_bad_irq+0x34/0xac [cf135b40] [c003c714] note_interrupt+0x288/0x2c8 [cf135b70] [c003b818] __do_IRQ+0x104/0x110 [cf135b90] [c0006900] do_IRQ+0xbc/0xc0 [cf135ba0] [c00020c0] ret_from_except+0x0/0x18
[cf135c60] [00000019] 0x19
[cf135c90] [c000668c] do_softirq+0x54/0x58 [cf135ca0] [c001df40] irq_exit+0x48/0x58 [cf135cb0] [c00068b4] do_IRQ+0x70/0xc0 [cf135cc0] [c00020c0] ret_from_except+0x0/0x18 [cf135d80] [c003c2b4] setup_irq+0x1ac/0x200 [cf135da0] [c003c3cc] request_irq+0xc4/0xd8 [cf135dd0] [c0122328] rtl8139_open+0x38/0x210 [cf135df0] [c0187500] dev_open+0x7c/0xcc [cf135e10] [c0187420] dev_change_flags+0x16c/0x1d0 [cf135e30] [c01cbff0] devinet_ioctl+0x604/0x720 [cf135ea0] [c01cc1f8] inet_ioctl+0x98/0xbc [cf135eb0] [c0179328] sock_ioctl+0x60/0x260 [cf135ed0] [c006c360] do_ioctl+0x38/0x84 [cf135ee0] [c006c438] vfs_ioctl+0x8c/0x40c [cf135f10] [c006c7f8] sys_ioctl+0x40/0x74 [cf135f40] [c0001a84] ret_from_syscall+0x0/0x3c handlers:
[<c0122bd4>] (rtl8139_interrupt+0x0/0x52c) Disabling IRQ #25
eth2: link up, 100Mbps, full-duplex, lpa 0x45E1
Who can give some advice?
Thanks.
BRs,
Andrew.
Quoted 203 lines · Andrew Liu
Hello All,
when insert a RealTek RTL8139 network card into PCI slot, After system boot up,
root@localhost:/root> ifconfig eth2 192.168.17.12 irq 25: nobody cared (try booting with the "irqpoll" option)
Call Trace: [cf135af0] [c0008820] show_stack+0x48/0x190 (unreliable) [cf135b20] [c003c414] __report_bad_irq+0x34/0xac [cf135b40] [c003c714] note_interrupt+0x288/0x2c8 [cf135b70] [c003b818] __do_IRQ+0x104/0x110 [cf135b90] [c0006900] do_IRQ+0xbc/0xc0 [cf135ba0] [c00020c0] ret_from_except+0x0/0x18[
cf135c60] [00000019]0x19
[cf135c90] [c000668c]do_softirq+0x54/0x58[cf135ca0] [c001df40]irq_exit+0x48/0x58
[cf135cb0] [c00068b4]do_IRQ+0x70/0xc0
[cf135cc0] [c00020c0]ret_from_except+0x0/0x18[cf135d80] [c003c2b4]setup_irq+0x1ac/0x200[cf135da0] [c003c3cc]request_irq+0xc4/0xd8[cf135dd0] [c0122328]rtl8139_open+0x38/0x210[cf135df0] [c0187500]dev_open+0x7c/0xcc
[cf135e10] [c0187420]dev_change_flags+0x16c/0x1d0[cf135e30] [c01cbff0]devinet_ioctl+0x604/0x720[cf135ea0] [c01cc1f8]inet_ioctl+0x98/0xbc[cf135eb0] [c0179328]sock_ioctl+0x60/0x260[cf135ed0] [c006c360]do_ioctl+0x38/0x84
[cf135ee0] [c006c438]vfs_ioctl+0x8c/0x40c[cf135f10] [c006c7f8]sys_ioctl+0x40/0x74
[cf135f40] [c0001a84]ret_from_syscall+0x0/0x3chandlers:
[<c0122bd4>] (rtl8139_interrupt+0x0/0x52c)
Disabling IRQ #25
root@localhost:/root>
Message from syslogd@localhost at Thu Jan 1 00:02:13 1970 ... localhost kernel: Disabling IRQ #25root@localhost:/root>
The system boot up information as follows:
root@localhost:/root> dmesg
Linux version 2.6.23-rc6-gea60adb5 ([email protected]) (gcc version 4.0.0 (DENX ELDK 4.1 4.0.0)) #3 Fri Sep 21 18:37:59 CST 2007 AMCC PowerPC 440EP Yosemite Platform
Enteringadd_active_range(0, 0, 65536)0 entries of 256 used Zone PFN ranges:
DMA 0 -> 65536
Normal 65536 -> 65536
Movable zone start PFN for each node
early_node_map[1] active PFN ranges0: 0 -> 65536On node 0 totalpages: 65536
DMA zone: 512 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 65024 pages, LIFO batch:15
Normal zone: 0 pages used for memmap
Movable zone: 0 pages used for memmap
Built 1 zonelists in Zone order. Total pages: 65024
Kernel command line: root=/dev/nfs rw nfsroot=128.224.149.6:/tftpboot/sliu/rootfs ip=128.224.149.11::128.224.149.1:255.255.255.0:yosemite:eth0:off console=ttyS0,9600
PID hash table entries: 1024 (order: 10, 4096 bytes)
console [ttyS0] enabled
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 256896k available (2052k kernel code, 716k data, 152k init, 0k highmem)
Calibrating delay loop... 798.72 BogoMIPS (lpj=1597440) Mount-cache hash table entries: 512
NET: Registered protocol family 16
PCI: Probing PCI hardware
PCI: Scanning bus 0000:00
PCI: Found 0000:00:0c.0 [10ec/8139] 000200 00
PCI: Calling quirkc000444cfor 0000:00:0c.0
PCI: Fixups for bus 0000:00
PCI: Bus scan for 0000:00 returning with max=00
PCI: fixup irq: (0000:00:0c.0) got 25
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes) TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
PCI: Calling quirkc00fbab4for 0000:00:0c.0
PCI: Calling quirkc02ae3b8for 0000:00:0c.0
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at MMIO0x0(irq = 0) is a 16550A
serial8250: ttyS1 at MMIO0x0(irq = 1) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize PPC 4xx OCP EMAC driver, version 3.54
mal0: initialized, 4 TX channels, 2 RX channels
zmii0: bridge in RMII mode
eth0: emac0, MAC 00:10:ec:00:87:42
eth0: found Generic MII PHY (0x01)
eth1: emac1, MAC 00:00:00:00:00:00
eth1: found Generic MII PHY (0x03)
8139too Fast Ethernet driver 0.9.28
eth2: RealTek RTL8139 at0xd1012f00, 00:0e:2e:7e:f5:e6, IRQ 25
eth2: Identified 8139 chip type 'RTL-8100B/8139D'
pegasus: v0.6.14 (2006/09/27), Pegasus/Pegasus II USB Ethernet driver
usbcore: registered new interface driver pegasus
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
usbmon: debugfs is not availableohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver ppc-soc-ohci ppc-soc-ohci.0: USB Host Controller
ppc-soc-ohci ppc-soc-ohci.0: new USB bus registered, assigned bus number 1 ppc-soc-ohci ppc-soc-ohci.0: irq 40, io mem0xef601000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
ether gadget: using random self ethernet address
ether gadget: using random host ethernet address
usb0: Ethernet Gadget, version: May Day 2005
usb0: usingmusbhsfc_udc, OUT ep2 IN ep1 STATUS ep3
usb0: MAC 66:91:74:ab:fb:61
usb0: HOST MAC 1a:b5:87:5d:8f:00
usb0: RNDIS readymusbhsfc_udc: registered gadget driver 'ether'
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
usb 1-1: new full speed USB device using ppc-soc-ohci and address 2 usb 1-1: configuration #1 chosen from 1 choice
eth0: link is up, 100 FDX, pause enabled
scsi0 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
IP-Config: Complete:device=eth0, addr=128.224.149.11, mask=255.255.255.0,gw=128.224.149.1,
host=yosemite, domain=, nis-domain=(none), bootserver=255.255.255.255, rootserver=128.224.149.6, rootpath=
Looking up port of RPC 100003/2 on 128.224.149.6
Looking up port of RPC 100005/1 on 128.224.149.6
VFS: Mounted root (nfs filesystem).
Freeing unused kernel memory: 152k init
scsi 0:0:0:0: Direct-Access Kingston DataTraveler 2.0 6.16 PQ: 0
ANSI: 0 CCS
sd 0:0:0:0: [sda] 244735 512-byte hardware sectors (125 MB) sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 45 00 00 08
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] 244735 512-byte hardware sectors (125 MB) sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 45 00 00 08
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1
sd 0:0:0:0: [sda] Attached SCSI removable disk
sd 0:0:0:0: Attached scsi generic sg0 type 0
usb-storage: device scan complete
irq 25: nobody cared (try booting with the "irqpoll" option)Call Trace: [cf135af0] [c0008820] show_stack+0x48/0x190 (unreliable) [cf135b20] [c003c414] __report_bad_irq+0x34/0xac [cf135b40] [c003c714] note_interrupt+0x288/0x2c8 [cf135b70] [c003b818] __do_IRQ+0x104/0x110 [cf135b90] [c0006900] do_IRQ+0xbc/0xc0 [cf135ba0] [c00020c0] ret_from_except+0x0/0x18[
cf135c60] [00000019]0x19
[cf135c90] [c000668c]do_softirq+0x54/0x58[cf135ca0] [c001df40]irq_exit+0x48/0x58[cf135cb0] [c00068b4]do_IRQ+0x70/0xc0[cf135cc0] [c00020c0]ret_from_except+0x0/0x18[cf135d80] [c003c2b4]setup_irq+0x1ac/0x200[cf135da0] [c003c3cc]request_irq+0xc4/0xd8[cf135dd0] [c0122328]rtl8139_open+0x38/0x210[cf135df0] [c0187500]dev_open+0x7c/0xcc[cf135e10] [c0187420]dev_change_flags+0x16c/0x1d0[cf135e30] [c01cbff0]devinet_ioctl+0x604/0x720[cf135ea0] [c01cc1f8]inet_ioctl+0x98/0xbc[cf135eb0] [c0179328]sock_ioctl+0x60/0x260[cf135ed0] [c006c360]do_ioctl+0x38/0x84[cf135ee0] [c006c438]vfs_ioctl+0x8c/0x40c[cf135f10] [c006c7f8]sys_ioctl+0x40/0x74[cf135f40] [c0001a84]ret_from_syscall+0x0/0x3chandlers:
[<c0122bd4>] (rtl8139_interrupt+0x0/0x52c) Disabling IRQ #25
eth2: link up, 100Mbps, full-duplex, lpa0x45E1Who can give some advice?
Thanks.
BRs,
Andrew.
Quoted 4 lines
_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-dev
Looks like wrong external interrupt settings (trigger/level) for PCI interrupt.
By default, it is IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE
I change it to IRQ_SENSE_EDGE | IRQ_POLARITY_NEGATIVE orIRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE.
It displays:
eth2: link up, 100Mbps, full-duplex, lpa 0x45E1 eth2: no IPv6 routers present NETDEV WATCHDOG: eth2: transmit timed out eth2: Transmit timeout, status 0c 0005 c07f media 10. eth2: Tx queue start entry 4 dirty entry 0. eth2: Tx descriptor 0 is 0008a05a. (queue head) eth2: Tx descriptor 1 is 0008a04e. eth2: Tx descriptor 2 is 0008a046. eth2: Tx descriptor 3 is 0008a05a. eth2: link up, 100Mbps, full-duplex, lpa 0x45E1
and
root@localhost:/root> ifconfig eth2
eth2 Link encap:Ethernet HWaddr 00:0E:2E:7E:F5:E6
inet addr:128.224.149.13 Bcast:128.224.255.255 Mask:255.255.0.0
inet6 addr: fe80::20e:2eff:fe7e:f5e6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:25 Base address:0x6f00and
root@localhost:/root> cat /proc/interrupts
CPU0
2: 0 UIC0 Edge IBM IIC 7: 0 UIC0 Edge IBM IIC 10: 11961 UIC0 Edge MAL TX EOB 11: 18471 UIC0 Edge MAL RX EOB 25: 0 UIC0 Edge eth2 32: 0 UIC1 Edge MAL SERR 33: 0 UIC1 Edge MAL TX DE 34: 0 UIC1 Edge MAL RX DE 40: 32 UIC1 Edge ohci_hcd:usb1 60: 0 UIC1 Edge EMAC
BAD: 0
Can PCI slot use level trigger?
give me some advice.
Thanks.
Quoted 214 lines · Valentine Barshak
Quoted 205 lines · Andrew Liu
Hello All,
when insert a RealTek RTL8139 network card into PCI slot, After system boot up,
root@localhost:/root> ifconfig eth2 192.168.17.12 irq 25: nobody cared (try booting with the "irqpoll" option)
Call Trace: [cf135af0] [c0008820] show_stack+0x48/0x190 (unreliable) [cf135b20] [c003c414] __report_bad_irq+0x34/0xac [cf135b40] [c003c714] note_interrupt+0x288/0x2c8 [cf135b70] [c003b818] __do_IRQ+0x104/0x110 [cf135b90] [c0006900] do_IRQ+0xbc/0xc0 [cf135ba0] [c00020c0] ret_from_except+0x0/0x18[
cf135c60] [00000019]0x19
[cf135c90] [c000668c]do_softirq+0x54/0x58[cf135ca0] [c001df40]irq_exit+0x48/0x58
[cf135cb0] [c00068b4]do_IRQ+0x70/0xc0
[cf135cc0] [c00020c0]ret_from_except+0x0/0x18[cf135d80] [c003c2b4]setup_irq+0x1ac/0x200[cf135da0] [c003c3cc]request_irq+0xc4/0xd8[cf135dd0] [c0122328]rtl8139_open+0x38/0x210[cf135df0] [c0187500]dev_open+0x7c/0xcc
[cf135e10] [c0187420]dev_change_flags+0x16c/0x1d0[cf135e30] [c01cbff0]devinet_ioctl+0x604/0x720[cf135ea0] [c01cc1f8]inet_ioctl+0x98/0xbc[cf135eb0] [c0179328]sock_ioctl+0x60/0x260[cf135ed0] [c006c360]do_ioctl+0x38/0x84
[cf135ee0] [c006c438]vfs_ioctl+0x8c/0x40c[cf135f10] [c006c7f8]sys_ioctl+0x40/0x74
[cf135f40] [c0001a84]ret_from_syscall+0x0/0x3chandlers:
[<c0122bd4>] (rtl8139_interrupt+0x0/0x52c)
Disabling IRQ #25
root@localhost:/root>
Message from syslogd@localhost at Thu Jan 1 00:02:13 1970 ... localhost kernel: Disabling IRQ #25root@localhost:/root>
The system boot up information as follows:
root@localhost:/root> dmesg
Linux version 2.6.23-rc6-gea60adb5 ([email protected]) (gcc version 4.0.0 (DENX ELDK 4.1 4.0.0)) #3 Fri Sep 21 18:37:59 CST 2007 AMCC PowerPC 440EP Yosemite Platform
Enteringadd_active_range(0, 0, 65536)0 entries of 256 used Zone PFN ranges:
DMA 0 -> 65536
Normal 65536 -> 65536
Movable zone start PFN for each node
early_node_map[1] active PFN ranges0: 0 -> 65536On node 0 totalpages: 65536
DMA zone: 512 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 65024 pages, LIFO batch:15
Normal zone: 0 pages used for memmap
Movable zone: 0 pages used for memmap
Built 1 zonelists in Zone order. Total pages: 65024
Kernel command line: root=/dev/nfs rw nfsroot=128.224.149.6:/tftpboot/sliu/rootfs ip=128.224.149.11::128.224.149.1:255.255.255.0:yosemite:eth0:off console=ttyS0,9600
PID hash table entries: 1024 (order: 10, 4096 bytes)
console [ttyS0] enabled
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 256896k available (2052k kernel code, 716k data, 152k init, 0k highmem)
Calibrating delay loop... 798.72 BogoMIPS (lpj=1597440) Mount-cache hash table entries: 512
NET: Registered protocol family 16
PCI: Probing PCI hardware
PCI: Scanning bus 0000:00
PCI: Found 0000:00:0c.0 [10ec/8139] 000200 00
PCI: Calling quirkc000444cfor 0000:00:0c.0
PCI: Fixups for bus 0000:00
PCI: Bus scan for 0000:00 returning with max=00
PCI: fixup irq: (0000:00:0c.0) got 25
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes) TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
PCI: Calling quirkc00fbab4for 0000:00:0c.0
PCI: Calling quirkc02ae3b8for 0000:00:0c.0
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at MMIO0x0(irq = 0) is a 16550A
serial8250: ttyS1 at MMIO0x0(irq = 1) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize PPC 4xx OCP EMAC driver, version 3.54
mal0: initialized, 4 TX channels, 2 RX channels
zmii0: bridge in RMII mode
eth0: emac0, MAC 00:10:ec:00:87:42
eth0: found Generic MII PHY (0x01)
eth1: emac1, MAC 00:00:00:00:00:00
eth1: found Generic MII PHY (0x03)
8139too Fast Ethernet driver 0.9.28
eth2: RealTek RTL8139 at0xd1012f00, 00:0e:2e:7e:f5:e6, IRQ 25
eth2: Identified 8139 chip type 'RTL-8100B/8139D'
pegasus: v0.6.14 (2006/09/27), Pegasus/Pegasus II USB Ethernet driver
usbcore: registered new interface driver pegasus
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
usbmon: debugfs is not availableohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver ppc-soc-ohci ppc-soc-ohci.0: USB Host Controller ppc-soc-ohci ppc-soc-ohci.0: new USB bus registered, assigned bus number 1
ppc-soc-ohci ppc-soc-ohci.0: irq 40, io mem0xef601000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
ether gadget: using random self ethernet address
ether gadget: using random host ethernet address
usb0: Ethernet Gadget, version: May Day 2005
usb0: usingmusbhsfc_udc, OUT ep2 IN ep1 STATUS ep3
usb0: MAC 66:91:74:ab:fb:61
usb0: HOST MAC 1a:b5:87:5d:8f:00
usb0: RNDIS readymusbhsfc_udc: registered gadget driver 'ether'
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
usb 1-1: new full speed USB device using ppc-soc-ohci and address 2 usb 1-1: configuration #1 chosen from 1 choice
eth0: link is up, 100 FDX, pause enabled
scsi0 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
IP-Config: Complete:device=eth0, addr=128.224.149.11, mask=255.255.255.0,gw=128.224.149.1,
host=yosemite, domain=, nis-domain=(none), bootserver=255.255.255.255, rootserver=128.224.149.6, rootpath=
Looking up port of RPC 100003/2 on 128.224.149.6
Looking up port of RPC 100005/1 on 128.224.149.6
VFS: Mounted root (nfs filesystem).
Freeing unused kernel memory: 152k init
scsi 0:0:0:0: Direct-Access Kingston DataTraveler 2.0 6.16 PQ: 0
ANSI: 0 CCS
sd 0:0:0:0: [sda] 244735 512-byte hardware sectors (125 MB) sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 45 00 00 08
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] 244735 512-byte hardware sectors (125 MB) sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 45 00 00 08
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1
sd 0:0:0:0: [sda] Attached SCSI removable disk
sd 0:0:0:0: Attached scsi generic sg0 type 0
usb-storage: device scan complete
irq 25: nobody cared (try booting with the "irqpoll" option)Call Trace: [cf135af0] [c0008820] show_stack+0x48/0x190 (unreliable) [cf135b20] [c003c414] __report_bad_irq+0x34/0xac [cf135b40] [c003c714] note_interrupt+0x288/0x2c8 [cf135b70] [c003b818] __do_IRQ+0x104/0x110 [cf135b90] [c0006900] do_IRQ+0xbc/0xc0 [cf135ba0] [c00020c0] ret_from_except+0x0/0x18[
cf135c60] [00000019]0x19
[cf135c90] [c000668c]do_softirq+0x54/0x58[cf135ca0] [c001df40]irq_exit+0x48/0x58[cf135cb0] [c00068b4]do_IRQ+0x70/0xc0[cf135cc0] [c00020c0]ret_from_except+0x0/0x18[cf135d80] [c003c2b4]setup_irq+0x1ac/0x200[cf135da0] [c003c3cc]request_irq+0xc4/0xd8[cf135dd0] [c0122328]rtl8139_open+0x38/0x210[cf135df0] [c0187500]dev_open+0x7c/0xcc[cf135e10] [c0187420]dev_change_flags+0x16c/0x1d0[cf135e30] [c01cbff0]devinet_ioctl+0x604/0x720[cf135ea0] [c01cc1f8]inet_ioctl+0x98/0xbc[cf135eb0] [c0179328]sock_ioctl+0x60/0x260[cf135ed0] [c006c360]do_ioctl+0x38/0x84[cf135ee0] [c006c438]vfs_ioctl+0x8c/0x40c[cf135f10] [c006c7f8]sys_ioctl+0x40/0x74[cf135f40] [c0001a84]ret_from_syscall+0x0/0x3chandlers:
[<c0122bd4>] (rtl8139_interrupt+0x0/0x52c) Disabling IRQ #25
eth2: link up, 100Mbps, full-duplex, lpa0x45E1Who can give some advice?
Thanks.
BRs,
Andrew.Quoted 4 lines
_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-devLooks like wrong external interrupt settings (trigger/level) for PCI interrupt.
Quoted 1 line · Andrew Liu
By default, it is
IRQ_SENSE_LEVEL|IRQ_POLARITY_NEGATIVE
And that should be correct for PCI interrupts.
Quoted 40 lines
I change it to
IRQ_SENSE_EDGE|IRQ_POLARITY_NEGATIVEorIRQ_SENSE_EDGE|IRQ_POLARITY_POSITIVE.
It displays:eth2: link up, 100Mbps, full-duplex, lpa 0x45E1 eth2: no IPv6 routers present NETDEV WATCHDOG: eth2: transmit timed out eth2: Transmit timeout, status 0c 0005 c07f media 10. eth2: Tx queue start entry 4 dirty entry 0. eth2: Tx descriptor 0 is 0008a05a. (queue head) eth2: Tx descriptor 1 is 0008a04e. eth2: Tx descriptor 2 is 0008a046. eth2: Tx descriptor 3 is 0008a05a. eth2: link up, 100Mbps, full-duplex, lpa 0x45E1and
root@localhost:/root> ifconfig eth2
eth2 Link encap:Ethernet HWaddr 00:0E:2E:7E:F5:E6inet addr:128.224.149.13 Bcast:128.224.255.255 Mask:255.255.0.0 inet6 addr: fe80::20e:2eff:fe7e:f5e6/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:25 Base address:0x6f00and
root@localhost:/root> cat/proc/interrupts
CPU02: 0 UIC0 Edge IBM IIC 7: 0 UIC0 Edge IBM IIC 10: 11961 UIC0 Edge MAL TX EOB 11: 18471 UIC0 Edge MAL RX EOB 25: 0 UIC0 Edge eth2 32: 0 UIC1 Edge MAL SERR 33: 0 UIC1 Edge MAL TX DE 34: 0 UIC1 Edge MAL RX DE 40: 32 UIC1 Edge ohci_hcd:usb1 60: 0 UIC1 Edge EMAC
Quoted 6 lines
BAD: 0
Can PCI slot use level trigger?
give me some advice.
Hmmm. Did you try an earlier Linux version too? For example 2.6.22 or even earlier? Please give it a try and let us know if the same problem occurs.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: [email protected]
=====================================================================
Quoted 51 lines · Stefan Roese
Quoted 1 line · Andrew Liu
By default, it is
IRQ_SENSE_LEVEL|IRQ_POLARITY_NEGATIVEAnd that should be correct for PCI interrupts.
Quoted 46 lines
I change it to
IRQ_SENSE_EDGE|IRQ_POLARITY_NEGATIVEorIRQ_SENSE_EDGE|IRQ_POLARITY_POSITIVE.
It displays:eth2: link up, 100Mbps, full-duplex, lpa 0x45E1 eth2: no IPv6 routers present NETDEV WATCHDOG: eth2: transmit timed out eth2: Transmit timeout, status 0c 0005 c07f media 10. eth2: Tx queue start entry 4 dirty entry 0. eth2: Tx descriptor 0 is 0008a05a. (queue head) eth2: Tx descriptor 1 is 0008a04e. eth2: Tx descriptor 2 is 0008a046. eth2: Tx descriptor 3 is 0008a05a. eth2: link up, 100Mbps, full-duplex, lpa 0x45E1and
root@localhost:/root> ifconfig eth2
eth2 Link encap:Ethernet HWaddr 00:0E:2E:7E:F5:E6inet addr:128.224.149.13 Bcast:128.224.255.255 Mask:255.255.0.0 inet6 addr: fe80::20e:2eff:fe7e:f5e6/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:25 Base address:0x6f00and
root@localhost:/root> cat/proc/interrupts
CPU02: 0 UIC0 Edge IBM IIC 7: 0 UIC0 Edge IBM IIC 10: 11961 UIC0 Edge MAL TX EOB 11: 18471 UIC0 Edge MAL RX EOB 25: 0 UIC0 Edge eth2 32: 0 UIC1 Edge MAL SERR 33: 0 UIC1 Edge MAL TX DE 34: 0 UIC1 Edge MAL RX DE 40: 32 UIC1 Edge ohci_hcd:usb1 60: 0 UIC1 Edge EMACBAD: 0
Can PCI slot use level trigger?
give me some advice.
This could be caused by misseting the IRQ_lEVEL flag in desc->status.
There have been a commit 4dc7b4b0405fd7320940849b6e31ea8ea68fd0df that fixes the problem. Thanks,
Valentine.
Quoted 11 lines
Hmmm. Did you try an earlier Linux version too? For example 2.6.22 or even earlier? Please give it a try and let us know if the same problem occurs.
Best regards,
Stefan=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: [email protected]
=====================================================================
Currently, ppc44x use ppc branch, not powerpc, especially for AMCC yosemite 440ep.
Through adding printk in function ppc4xx_pic_init which is in arch/ppc/syslib/ppc4xx_pic.c, whether setting IRQ_LEVEL has no effect on it.
BRs,
Andrew
Quoted 75 lines · Valentine Barshak
Quoted 52 lines · Stefan Roese
Quoted 1 line · Andrew Liu
By default, it is
IRQ_SENSE_LEVEL|IRQ_POLARITY_NEGATIVEAnd that should be correct for PCI interrupts.
Quoted 47 lines
I change it to
IRQ_SENSE_EDGE|IRQ_POLARITY_NEGATIVEorIRQ_SENSE_EDGE|IRQ_POLARITY_POSITIVE.
It displays:eth2: link up, 100Mbps, full-duplex, lpa 0x45E1 eth2: no IPv6 routers present NETDEV WATCHDOG: eth2: transmit timed out eth2: Transmit timeout, status 0c 0005 c07f media 10. eth2: Tx queue start entry 4 dirty entry 0. eth2: Tx descriptor 0 is 0008a05a. (queue head) eth2: Tx descriptor 1 is 0008a04e. eth2: Tx descriptor 2 is 0008a046. eth2: Tx descriptor 3 is 0008a05a. eth2: link up, 100Mbps, full-duplex, lpa 0x45E1and
root@localhost:/root> ifconfig eth2
eth2 Link encap:Ethernet HWaddr 00:0E:2E:7E:F5:E6inet addr:128.224.149.13 Bcast:128.224.255.255Mask:255.255.0.0
inet6 addr: fe80::20e:2eff:fe7e:f5e6/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:25 Base address:0x6f00and
root@localhost:/root> cat/proc/interrupts
CPU02: 0 UIC0 Edge IBM IIC 7: 0 UIC0 Edge IBM IIC 10: 11961 UIC0 Edge MAL TX EOB 11: 18471 UIC0 Edge MAL RX EOB 25: 0 UIC0 Edge eth2 32: 0 UIC1 Edge MAL SERR 33: 0 UIC1 Edge MAL TX DE 34: 0 UIC1 Edge MAL RX DE 40: 32 UIC1 Edge ohci_hcd:usb1 60: 0 UIC1 Edge EMACBAD: 0
Can PCI slot use level trigger?
give me some advice.
This could be caused by misseting the
IRQ_lEVELflag indesc->status. There have been a commit4dc7b4b0405fd7320940849b6e31ea8ea68fd0dfthat fixes the problem.
Thanks,
Valentine.Quoted 13 lines
Hmmm. Did you try an earlier Linux version too? For example 2.6.22 or even earlier? Please give it a try and let us know if the same problem occurs.
Best regards,
Stefan=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: [email protected]
=====================================================================
I have tested it on linux-2.6.19 which is from AMCC website , linux 2.6.21.7 which is from linux mainline and linux-2.6.23.rc7 which is from git://www.denx.de/git/linux-2.6-denx.git
Have the same problem.
I don't understand, why after enabling this PCI interrupts. in so
short time, produce 100,000 interrupt request (25: 100000 UIC0
Level eth2).
BRs,
Andrew.
Quoted 69 lines · Stefan Roese
Quoted 2 lines · Andrew Liu
By default, it is
IRQ_SENSE_LEVEL|IRQ_POLARITY_NEGATIVEAnd that should be correct for PCI interrupts.
Quoted 40 lines
I change it to
IRQ_SENSE_EDGE|IRQ_POLARITY_NEGATIVEorIRQ_SENSE_EDGE|IRQ_POLARITY_POSITIVE.
It displays:eth2: link up, 100Mbps, full-duplex, lpa 0x45E1 eth2: no IPv6 routers present NETDEV WATCHDOG: eth2: transmit timed out eth2: Transmit timeout, status 0c 0005 c07f media 10. eth2: Tx queue start entry 4 dirty entry 0. eth2: Tx descriptor 0 is 0008a05a. (queue head) eth2: Tx descriptor 1 is 0008a04e. eth2: Tx descriptor 2 is 0008a046. eth2: Tx descriptor 3 is 0008a05a. eth2: link up, 100Mbps, full-duplex, lpa 0x45E1and
root@localhost:/root> ifconfig eth2
eth2 Link encap:Ethernet HWaddr 00:0E:2E:7E:F5:E6inet addr:128.224.149.13 Bcast:128.224.255.255 Mask:255.255.0.0 inet6 addr: fe80::20e:2eff:fe7e:f5e6/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:25 Base address:0x6f00and
root@localhost:/root> cat/proc/interrupts
CPU02: 0 UIC0 Edge IBM IIC 7: 0 UIC0 Edge IBM IIC 10: 11961 UIC0 Edge MAL TX EOB 11: 18471 UIC0 Edge MAL RX EOB 25: 0 UIC0 Edge eth2 32: 0 UIC1 Edge MAL SERR 33: 0 UIC1 Edge MAL TX DE 34: 0 UIC1 Edge MAL RX DE 40: 32 UIC1 Edge ohci_hcd:usb1 60: 0 UIC1 Edge EMACQuoted 7 lines
BAD: 0
Can PCI slot use level trigger?
give me some advice.
Hmmm. Did you try an earlier Linux version too? For example 2.6.22 or even earlier? Please give it a try and let us know if the same problem occurs.
Best regards,
Stefan=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: [email protected]
=====================================================================
Quoted 7 lines · Andrew Liu
I have tested it on linux-2.6.19 which is from AMCC website , linux 2.6.21.7 which is from linux mainline and linux-2.6.23.rc7 which is from
git://www.denx.de/git/linux-2.6-denx.git
Have the same problem.
I don't understand, why after enabling this PCI interrupts. in so
short time, produce 100,000 interrupt request (25: 100000 UIC0
Level eth2).
Because the interrupt is somehow not acknowledged in the PCI device.
I will test this on my Yosemite and let you know.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: [email protected]
=====================================================================
Quoted 9 lines · Stefan Roese
Quoted 7 lines · Andrew Liu
I have tested it on linux-2.6.19 which is from AMCC website , linux 2.6.21.7 which is from linux mainline and linux-2.6.23.rc7 which is from
git://www.denx.de/git/linux-2.6-denx.git
Have the same problem.
I don't understand, why after enabling this PCI interrupts. in so
short time, produce 100,000 interrupt request (25: 100000 UIC0
Level eth2).
Quoted 3 lines
Because the interrupt is somehow not acknowledged in the PCI device.
I will test this on my Yosemite and let you know.
I just tested on my Yellowstone, which is nearly identical to the Yosemite. And it works just fine with an Intel EEPRO/100.
Could you test another PCI board (ethernet, IDE, USB...)? Or do you have access to another Yosemite or Yellowstone board?
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: [email protected]
=====================================================================