Forum Discussion

ALast5's avatar
ALast5
Icon for New Contributor rankNew Contributor
6 years ago

TLP request with Root port to endpoint

Hello,

I had a problem with the Read Config Type 0 request from the Root port to the endpoint

I use the CRA interface and my query is

32'h 04000001

32'h0000170F

32'h00000000

32'h00000000

I use one endpoint and one communication line, cfg_bus [12: 0] on both devices shows 13'd0.

Ltssmstate [4: 0] takes the value 0x0F and lane_act [3: 0] takes 0x01.

The problem is that when sending a request from the Root port, it receives it and responds to it (gives its configuration space to the Root port) and the data does not reach the endpoint, I use Cyclone 5, tell me what could be the problem?

10 Replies

  • ALast5's avatar
    ALast5
    Icon for New Contributor rankNew Contributor

    Hello,

    Solved a problem

    First, I assigned the device number and bus number

    0x44000001

    0x0000100F

    0x00000018

    0x00010100

    and then done the configuration read type 1

    0x05000001

    0x0000100F

    0x01080000

    0x00000000

    thanks for the help

  • BoonT_Intel's avatar
    BoonT_Intel
    Icon for Frequent Contributor rankFrequent Contributor

    Hi Sir,

    Let me clarify, do you mean the endpoint is ack with the config_read request but never return a data?

  • ALast5's avatar
    ALast5
    Icon for New Contributor rankNew Contributor

    Hello,

    That's right, as I understand it, this is connected with routing, but apparently I don’t understand how to use it correctly, or is it connected with "enumeration"?

    Sorry for my bad english

    Sincerely, Alexander

  • BoonT_Intel's avatar
    BoonT_Intel
    Icon for Frequent Contributor rankFrequent Contributor

    Hi Sir,

    can you help to show us fro where you observe the ACK and waiting for the data? Do you try with other address? Also, if you perform memory read, will you facing the same issue?

    Yes, usually config_read/write is happen during enumeration automatically, user do not need to trigger it manually. May I know is the enumeration is complete at the root port?

  • ALast5's avatar
    ALast5
    Icon for New Contributor rankNew Contributor

    Hello,

    I probably did not say so. I'm on the Root port side. I'm trying to get device configuration space. I guess I do not completely do enumration.

  • BoonT_Intel's avatar
    BoonT_Intel
    Icon for Frequent Contributor rankFrequent Contributor

    Hi, Ltssmstate [4: 0] takes the value 0x0F and lane_act [3: 0] takes 0x01. show the link are up. with this we can assume the enumeration is completely done.

    can you give a try on doing same config read to other endpoint? Or try with different address

  • ALast5's avatar
    ALast5
    Icon for New Contributor rankNew Contributor

    Hello,

    Unfortunately, there is no possibility to use another endpoint. How to configure routing? To use queries Read Config Type 1?

  • BoonT_Intel's avatar
    BoonT_Intel
    Icon for Frequent Contributor rankFrequent Contributor

    Routing done by header 0 and header 1.

    Header 0 is for endpoints (device) while header 1 is for rootcomplex, SWs and bridges.

  • BoonT_Intel's avatar
    BoonT_Intel
    Icon for Frequent Contributor rankFrequent Contributor

    Hi Sir,

    Glad to know it is solve.

    Can you help by briefly explain how you decode these:

    First, I assigned the device number and bus number

    0x44000001

    0x0000100F

    0x00000018

    0x00010100

    and then done the configuration read type 1

    0x05000001

    0x0000100F

    0x01080000

    0x00000000

    This may help others whose using CRA interface.