This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PCIe bus showing 32 bit reads on 16 bit access

Hello,

We are using a wireless mini-PCIe board with the DM8148 EVM and are seeing that when we perform a 16 bit read (readw) from the BAR0 memory space, we see a 32 bit read transaction on the PCIe bus analyzer.  This is causing an issue with this particular board because it only will support 16 bit reads in certain portions of its memory.  Is there a way to get true 16 bit reads on the PCIe bus?  

Thank you.

  • David,

    Do you refer to 16-bit data or address?

    In case of 16-bit data, PCIE is doing an outbound read of 16-bit and the resulting read turns into a 32-bit on the PCIE interface. Is this correct?

    If so we have the following limitation on outbound PCIE reads of less that 4 bytes:

    Four or Less Byte Outbound Read Transactions

    Outbound read transactions requesting four or less bytes are performed through read TLPs that read a minimum of 4 bytes. In addition, reads that are not aligned to four byte boundary will lead to reads of eight bytes.

    Regards,
    Pavel