Embedded Server
Consolidate Considerations of Intel® Xeon and Atom server Hardware, Firmware, Software, and Tools
305 Discussions

Trouble Communicating with MCTP over PCIe VDM on Intel Ice Lake D Motherboard

mdlin
Beginner
130 Views

 

Hi,

I’m a firmware engineer working on the JMicron AHCI card. I’m developing firmware to support MCTP over PCIe VDM and have encountered problems when using Intel Ice Lake D motherboard.
The AHCI card is inserted into the PCIe slot nearest the CPU on the Ice Lake D motherboard.
When the system boots into the Linux kernel, the PCIe bus owner sends Endpoint Discovery Request, and the AHCI card replies to Endpoint Discovery Response.
Then, the bus owner sends a Get Endpoint ID Request. I’ve tested two different scenarios:

 

Scenario (1) : Replying with a Static EID

When the AHCI card replies with an EID of 0x09 (static), the bus owner sends another Endpoint Discovery Request (as shown in the red box in the trace screenshot below ). This may indicate that the AHCI card’s response to the Get Endpoint ID Request did not meet expectations. Please refer to the attached trace file static.tgd.zip for detail. Why does the bus owner send Endpoint Discovery Request again?

screenshot1.PNG

 

Scenario (2) : Replying with a Dynamic EID

When the AHCI card replies with "EID not yet assigned," the bus owner sends a Set Endpoint ID Request to assign EID 0x09. After AHCI card replies with "accepted," it seems the response to Set Endpoint ID did not meet expectations, so the bus owner sends another Set Endpoint ID Request (as shown in the red box in the trace screenshot below). Please refer to the attached trace file dynamic.tgd.zip for detail. Why does the bus owner send Set Endpoint ID Request again?

screenshot2.PNG

0 Kudos
0 Replies
Reply