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.

6655 EMAC transmit DMA host error

Hello,

I am using a custom board with a 6655 processor.

Periodically, during high-volume outbound data transfers over a gigabit link, I am getting an EMAC interrupt with bit 26 (HOSTPEND) of MACINVECTOR register set.

The MACSTATUS register indicates either one of the two TX error codes: 5 (zero buffer length) or 2 (ownership bit not set in SOP buffer).  According to the documentaiton, both errors are related to to transmit DMA errors.

Emac device driver is derived from pdk_C6657_1_1_2_6.

The rest of the configuration is as follows:

  • CCS6.1
  • Compiler 8.0.3
  • bios 6.42.1.20
  • xdc tools 3.31.2.38 core
  • ndk 2.24.02.31

I would appreciate any suggestions as to how to troubleshoot this issue.

Sincerely,

 

Dmitry Gringauz

  • Hi,

    Thanks for your post.

    I guess, the value put in TPCFG register for tx. DMA channel 0 of EMIC was not sufficient. We would recommend you to increase the value, thereby, the fatal error "ownership bit not set in SOP buffer" will not occur.

    Also, i would suggest you to disable the EMAC interrupt and reinitialize the same which would also fix the fatal error.

    Thanks & regards,

    Sivaraj K

    -------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.

    -------------------------------------------------------------------------------------------------------

  • Sivaraj,

    Thank you very much for your timely reply.

    I am a little new to this, so please be patient with me.  I need a bit more guidance here with the basics.  I've looked through the Keystone EMAC document (SPRUHH1, July 2012), and did not see any references to the TPCFG register in sections that talked about EMAC DMA.  Am I looking at the wrong document?

     

    Thank you,

     

    Dmitry.

  • Hi Sivaraj,

    I've never heard back from you, so I was wondering if it is possible for you to refer me to the appropriate documentation.

    I am using MCSDK 2.01.02.06, with PDK C6657_1_1_2_6.

    We are using a different PHY than the 6657 EVM, a Marvel 88e1512, so I had to make some minor changes in mdio.c to make the driver work with that phy.  Otherwise, it is a stock MCSDK/PDK driver.

    If there is an issue with either MCSDK or PDK that can lead to the errors that I am seeing, I would very much like to know.  The errors usually occur during very high transmit rates, on a gigabit connection, when there is a mix of large and small ethernet packets.

    Thank you in advance for your response,

    Dmitry.