element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet & Tria Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
PicoZed Hardware Design PICe MSI - legacy interrupt issues
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Avnet Boards Forums to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 5 replies
  • Subscribers 338 subscribers
  • Views 1187 views
  • Users 0 members are here
Related

PICe MSI - legacy interrupt issues

Former Member
Former Member over 10 years ago

Weu2019ve starting use the PCIe part of picoZed, xc7z030sbg485-1. The root complex seems to be coming up OK:

[root@alarm ~]# lspci
00:00.0 PCI bridge: Xilinx Corporation Device 7012
01:00.0 PCI bridge: PLX Technology, Inc. PEX 8605 PCI Express 4-port Gen2 Switch (rev ab)
02:02.0 PCI bridge: PLX Technology, Inc. PEX 8605 PCI Express 4-port Gen2 Switch (rev ab)
02:03.0 PCI bridge: PLX Technology, Inc. PEX 8605 PCI Express 4-port Gen2 Switch (rev ab)
03:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
04:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)

The issue seems to be with the MSI interrupt connections. When the i210 driver loads its indicating using legacy interrupts.

[    1.159680] pci 0000:00:00.0: enabling device (0144 -> 0147)
[    1.164007] pci 0000:01:00.0: enabling device (0140 -> 0143)
[    1.168325] pci 0000:02:02.0: enabling device (0140 -> 0143)
[    1.172663] igb 0000:03:00.0: enabling device (0140 -> 0142)
[    1.210435] igb 0000:03:00.0: added PHC on eth0
[    1.213606] igb 0000:03:00.0: Intel(R) Gigabit Ethernet Network Connection
[    1.219137] igb 0000:03:00.0: eth0: (PCIe:unknown:unknown) 00:a0:c9:00:00:00
[    1.224967] igb 0000:03:00.0: eth0: PBA No: 000300-000
[    1.228719] igb 0000:03:00.0: Using legacy interrupts. 1 rx queue(s), 1 tx queue(s)
[    1.235130] pci 0000:02:03.0: enabling device (0140 -> 0143)
[    1.239423] igb 0000:04:00.0: enabling device (0140 -> 0142)
[    1.277118] igb 0000:04:00.0: added PHC on eth1
[    1.280260] igb 0000:04:00.0: Intel(R) Gigabit Ethernet Network Connection
[    1.285838] igb 0000:04:00.0: eth1: (PCIe:unknown:unknown) 00:a0:c9:00:aa:aa
[    1.291626] igb 0000:04:00.0: eth1: PBA No: 000300-000
[    1.295394] igb 0000:04:00.0: Using legacy interrupts. 1 rx queue(s), 1 tx queue(s)

Then when we try to connect the Ethernet port we get an error 22:

[root@alarm ~]# ifconfig enp4s0 up
igb 0000:04:00.0: Error -22 getting interrupt
SIOCSIFFLAGS: Invalid argument

I have the MSI vectors req set to 5 and have MSI/MSI-X enabled in the Kernel build, and connected the interrupt from the AXI-PCIe to the Zynq core IRQ_F2P[0]. Weu2019re also using a PLX 8505 switch to connect the Intel MACs to the PCIe root.

Weu2019ve try removing one of the Intel MACs from the PLX switch (so only one is showing). The problem stayed the same. 

Also, tried loading the i210 driver manual via modprobe. The problem stays the same. 

Any ideas on how to debug / fixes the MSI and / or legacy interrupts issues?

  • Sign in to reply
  • Cancel
Parents
  • Former Member
    0 Former Member over 10 years ago

    I tried an experiment to see if the PLX switch was part of the issues; using the Mini-ITX board to boot using the PCIe reference design and an Intel NIC (i210 part). Iu2019m still seeing error -22 when the IGB driver load and was unable to get the NIC to link up. A couple on points of note; the PCIe reference will not load without changing the how the AXI PCIe interrupt is connected. In the reference design the interrupt is connected in the top level wrapper. Doing this, the device tree generator doesnu2019t know how the interrupt is routed and the AXI PCIe doesnu2019t load. I fixed the connection. For SW, I used the 3.17 kernel with the IGB driver built-in, uBoot from the 2014.4 release, and a RAM RootFS from the reference design NIC-example.

    Van

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • Former Member
    0 Former Member over 10 years ago

    I tried an experiment to see if the PLX switch was part of the issues; using the Mini-ITX board to boot using the PCIe reference design and an Intel NIC (i210 part). Iu2019m still seeing error -22 when the IGB driver load and was unable to get the NIC to link up. A couple on points of note; the PCIe reference will not load without changing the how the AXI PCIe interrupt is connected. In the reference design the interrupt is connected in the top level wrapper. Doing this, the device tree generator doesnu2019t know how the interrupt is routed and the AXI PCIe doesnu2019t load. I fixed the connection. For SW, I used the 3.17 kernel with the IGB driver built-in, uBoot from the 2014.4 release, and a RAM RootFS from the reference design NIC-example.

    Van

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube