AnsweredAssumed Answered

10GMAC-A004 details

Question asked by anil jacob on Oct 6, 2016
Latest reply on Oct 9, 2016 by Serguei Podiatchev

Hi Support team,

 

I have a hardware based on P4080QorIQ processor. During the FMAN initialization, I am seeing the following error. It happens at attempting a workaround for an erratta as given by the log. The OS is based on linux-2.6.34 kernel. 

 

Aug 31 23:41:27 base0-0-0-5-0-11-1 kernel: cpu6: fsl_mac: FSL FMan MAC API based driver ()

Aug 31 23:41:27 base0-0-0-5-0-11-1 kernel: cpu6/6: Applying 10G tx-ecc error workaround (10GMAC-A004) ...

Aug 31 23:41:27 base0-0-0-5-0-11-1 kernel: cpu6/6: FAILED!

Aug 31 23:41:27 base0-0-0-5-0-11-1 kernel: cpu6/6: ! MAJOR FM-MAC Error [CPU06, linux/drivers/net/dpa/NetCommSw/Peripherals/FM/MAC/tgec.c:997 TgecInit]: Operation Timed Out;

Aug 31 23:41:27 base0-0-0-5-0-11-1 kernel: cpu6/6: TgecTxEccWorkaround FAILED, skipping workaround

Aug 31 23:41:27 base0-0-0-5-0-11-1 kernel: cpu6/6:

Aug 31 23:41:27 base0-0-0-5-0-11-1 kernel: cpu6: fsl_mac: ffe4f0000.ethernet: FMan XGEC version: 0x0001032c

Aug 31 23:41:27 base0-0-0-5-0-11-1 kernel: cpu6: fsl_mac: ffe4f0000.ethernet: FMan MAC address: ec:9e:cd:11:ad:eb

 

From the code snippet, seems like the operation is timing out

WRITE_UINT32(p_Fm->p_FmFpmRegs->fpmextc, 0x40000000);

    CORE_MemoryBarrier();

    while ((GET_UINT32(p_Fm->p_FmFpmRegs->fpmextc) & 0x40000000) &&

           --timeout) ;

    if (!timeout)

        return ERROR_CODE(E_TIMEOUT);

    return E_OK; WRITE_UINT32(p_Fm->p_FmFpmRegs->fpmextc, 0x40000000);

    CORE_MemoryBarrier();

    while ((GET_UINT32(p_Fm->p_FmFpmRegs->fpmextc) & 0x40000000) &&

           --timeout) ;

    if (!timeout)

        return ERROR_CODE(E_TIMEOUT);

    return E_OK;

 

The data sheet says, this is register which can be set by software and which gets cleared by FMAN once the operation is completed. Can you tell what is the external request  0x40000000 stands for?

 

Can you please comment what is the erratta it is referring to? What is the operation happening here? What can be the possible reasons of timeout in the workaround? What will be the impact of this failure in the working of the FMAN TGEC as I can see that the initialization of TGEC is still going forward?

 

Thanks

Anil Jacob

Outcomes