diff options
Diffstat (limited to 'drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c')
-rw-r--r-- | drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c | 146 |
1 files changed, 10 insertions, 136 deletions
diff --git a/drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c b/drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c index 16dd8aa..a1083a0 100644 --- a/drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c +++ b/drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c @@ -153,7 +153,7 @@ static t_Error CheckFmParameters(t_Fm *p_Fm) if (!p_Fm->p_FmStateStruct->totalFifoSize || (p_Fm->p_FmStateStruct->totalFifoSize > BMI_MAX_FIFO_SIZE)) RETURN_ERROR(MAJOR, E_INVALID_VALUE, - ("totalFifoSize (curr - %d) has to be in the range 256 - %d", + ("totalFifoSize (currently defined as %d) has to be in the range of 256 to %d", p_Fm->p_FmStateStruct->totalFifoSize, BMI_MAX_FIFO_SIZE)); if (!p_Fm->p_FmStateStruct->totalNumOfTasks || @@ -2637,8 +2637,15 @@ t_Error FmSetSizeOfFifo(t_Handle h_Fm, /* check that there are enough uncommitted fifo size */ if ((p_Fm->p_FmStateStruct->accumulatedFifoSize - currentVal + sizeOfFifo) > - (p_Fm->p_FmStateStruct->totalFifoSize - p_Fm->p_FmStateStruct->extraFifoPoolSize)) - RETURN_ERROR(MAJOR, E_NOT_AVAILABLE, ("Requested fifo size and extra size exceed total FIFO size.")); + (p_Fm->p_FmStateStruct->totalFifoSize - p_Fm->p_FmStateStruct->extraFifoPoolSize)){ + REPORT_ERROR(MAJOR, E_INVALID_VALUE, + ("Port request fifo size + accumulated size > total FIFO size:")); + RETURN_ERROR(MAJOR, E_INVALID_VALUE, + ("port 0x%x requested %d bytes, extra size = %d, accumulated size = %d total size = %d", + hardwarePortId, sizeOfFifo, p_Fm->p_FmStateStruct->extraFifoPoolSize, + p_Fm->p_FmStateStruct->accumulatedFifoSize, + p_Fm->p_FmStateStruct->totalFifoSize)); + } else { /* update accumulated */ @@ -5077,139 +5084,6 @@ t_Error FM_CtrlMonGetCounters(t_Handle h_Fm, uint8_t fmCtrlIndex, t_FmCtrlMon *p return E_OK; } -#if (defined(DEBUG_ERRORS) && (DEBUG_ERRORS > 0)) -t_Error FM_DumpRegs(t_Handle h_Fm) -{ - t_Fm *p_Fm = (t_Fm *)h_Fm; - uint8_t i,j = 0; - DECLARE_DUMP; - SANITY_CHECK_RETURN_ERROR(p_Fm, E_INVALID_HANDLE); - SANITY_CHECK_RETURN_ERROR(!p_Fm->p_FmDriverParam, E_INVALID_STATE); - SANITY_CHECK_RETURN_ERROR(((p_Fm->guestId == NCSW_MASTER_ID) || - p_Fm->baseAddr), E_INVALID_OPERATION); - - DUMP_SUBTITLE(("\n")); - - DUMP_TITLE(p_Fm->p_FmFpmRegs, ("FM-FPM Regs")); - - DUMP_VAR(p_Fm->p_FmFpmRegs,fmfp_tnc); - DUMP_VAR(p_Fm->p_FmFpmRegs,fmfp_prc); - DUMP_VAR(p_Fm->p_FmFpmRegs,fmfp_brkc); - DUMP_VAR(p_Fm->p_FmFpmRegs,fmfp_mxd); - DUMP_VAR(p_Fm->p_FmFpmRegs,fmfp_dist1); - DUMP_VAR(p_Fm->p_FmFpmRegs,fmfp_dist2); - DUMP_VAR(p_Fm->p_FmFpmRegs,fm_epi); - DUMP_VAR(p_Fm->p_FmFpmRegs,fm_rie); - - DUMP_TITLE(&p_Fm->p_FmFpmRegs->fmfp_fcev, ("fmfp_fcev")); - DUMP_SUBSTRUCT_ARRAY(i, 4) - { - DUMP_MEMORY(&p_Fm->p_FmFpmRegs->fmfp_fcev[i], sizeof(uint32_t)); - } - - DUMP_TITLE(&p_Fm->p_FmFpmRegs->fmfp_cee, ("fmfp_cee")); - DUMP_SUBSTRUCT_ARRAY(i, 4) - { - DUMP_MEMORY(&p_Fm->p_FmFpmRegs->fmfp_cee[i], sizeof(uint32_t)); - } - - DUMP_SUBTITLE(("\n")); - DUMP_VAR(p_Fm->p_FmFpmRegs,fmfp_tsc1); - DUMP_VAR(p_Fm->p_FmFpmRegs,fmfp_tsc2); - DUMP_VAR(p_Fm->p_FmFpmRegs,fmfp_tsp); - DUMP_VAR(p_Fm->p_FmFpmRegs,fmfp_tsf); - DUMP_VAR(p_Fm->p_FmFpmRegs,fm_rcr); - DUMP_VAR(p_Fm->p_FmFpmRegs,fmfp_extc); - DUMP_VAR(p_Fm->p_FmFpmRegs,fmfp_ext1); - DUMP_VAR(p_Fm->p_FmFpmRegs,fmfp_ext2); - - DUMP_SUBTITLE(("\n")); - WRITE_UINT32(p_Fm->p_FmFpmRegs->fmfp_dra, 0); - CORE_MemoryBarrier(); - for (j=0; j<128; j++) - { - DUMP_TITLE(j, ("fmfp_dra")); - DUMP_SUBSTRUCT_ARRAY(i, 4) - { - DUMP_MEMORY(&p_Fm->p_FmFpmRegs->fmfp_drd[i], sizeof(uint32_t)); - } - DUMP_TITLE(j, ("fmfp_ts")); - DUMP_MEMORY(&p_Fm->p_FmFpmRegs->fmfp_ts[j], sizeof(uint32_t)); - } - - DUMP_SUBTITLE(("\n")); - DUMP_VAR(p_Fm->p_FmFpmRegs,fm_ip_rev_1); - DUMP_VAR(p_Fm->p_FmFpmRegs,fm_ip_rev_2); - DUMP_VAR(p_Fm->p_FmFpmRegs,fm_rstc); - DUMP_VAR(p_Fm->p_FmFpmRegs,fm_cld); - DUMP_VAR(p_Fm->p_FmFpmRegs,fm_npi); - DUMP_VAR(p_Fm->p_FmFpmRegs,fmfp_ee); - - DUMP_TITLE(&p_Fm->p_FmFpmRegs->fmfp_cev, ("fmfp_cev")); - DUMP_SUBSTRUCT_ARRAY(i, 4) - { - DUMP_MEMORY(&p_Fm->p_FmFpmRegs->fmfp_cev[i], sizeof(uint32_t)); - } - - DUMP_TITLE(&p_Fm->p_FmFpmRegs->fmfp_ps, ("fmfp_ps")); - DUMP_SUBSTRUCT_ARRAY(i, 64) - { - DUMP_MEMORY(&p_Fm->p_FmFpmRegs->fmfp_ps[i], sizeof(uint32_t)); - } - - DUMP_TITLE(p_Fm->p_FmDmaRegs, ("FM-DMA Regs")); - DUMP_VAR(p_Fm->p_FmDmaRegs,fmdmsr); - DUMP_VAR(p_Fm->p_FmDmaRegs,fmdmemsr); - DUMP_VAR(p_Fm->p_FmDmaRegs,fmdmmr); - DUMP_VAR(p_Fm->p_FmDmaRegs,fmdmtr); - DUMP_VAR(p_Fm->p_FmDmaRegs,fmdmhy); - DUMP_VAR(p_Fm->p_FmDmaRegs,fmdmsetr); - DUMP_VAR(p_Fm->p_FmDmaRegs,fmdmtah); - DUMP_VAR(p_Fm->p_FmDmaRegs,fmdmtal); - DUMP_VAR(p_Fm->p_FmDmaRegs,fmdmtcid); - DUMP_VAR(p_Fm->p_FmDmaRegs,fmdmra); - DUMP_VAR(p_Fm->p_FmDmaRegs,fmdmrd); - DUMP_VAR(p_Fm->p_FmDmaRegs,fmdmwcr); - DUMP_VAR(p_Fm->p_FmDmaRegs,fmdmebcr); - DUMP_VAR(p_Fm->p_FmDmaRegs,fmdmdcr); - - DUMP_TITLE(&p_Fm->p_FmDmaRegs->fmdmplr, ("fmdmplr")); - - DUMP_SUBSTRUCT_ARRAY(i, FM_MAX_NUM_OF_HW_PORT_IDS/2) - { - DUMP_MEMORY(&p_Fm->p_FmDmaRegs->fmdmplr[i], sizeof(uint32_t)); - } - - DUMP_TITLE(p_Fm->p_FmBmiRegs, ("FM-BMI COMMON Regs")); - DUMP_VAR(p_Fm->p_FmBmiRegs,fmbm_init); - DUMP_VAR(p_Fm->p_FmBmiRegs,fmbm_cfg1); - DUMP_VAR(p_Fm->p_FmBmiRegs,fmbm_cfg2); - DUMP_VAR(p_Fm->p_FmBmiRegs,fmbm_ievr); - DUMP_VAR(p_Fm->p_FmBmiRegs,fmbm_ier); - - DUMP_TITLE(&p_Fm->p_FmBmiRegs->fmbm_arb, ("fmbm_arb")); - DUMP_SUBSTRUCT_ARRAY(i, 8) - { - DUMP_MEMORY(&p_Fm->p_FmBmiRegs->fmbm_arb[i], sizeof(uint32_t)); - } - - DUMP_TITLE(p_Fm->p_FmQmiRegs, ("FM-QMI COMMON Regs")); - DUMP_VAR(p_Fm->p_FmQmiRegs,fmqm_gc); - DUMP_VAR(p_Fm->p_FmQmiRegs,fmqm_eie); - DUMP_VAR(p_Fm->p_FmQmiRegs,fmqm_eien); - DUMP_VAR(p_Fm->p_FmQmiRegs,fmqm_eif); - DUMP_VAR(p_Fm->p_FmQmiRegs,fmqm_ie); - DUMP_VAR(p_Fm->p_FmQmiRegs,fmqm_ien); - DUMP_VAR(p_Fm->p_FmQmiRegs,fmqm_if); - DUMP_VAR(p_Fm->p_FmQmiRegs,fmqm_gs); - DUMP_VAR(p_Fm->p_FmQmiRegs,fmqm_etfc); - DUMP_VAR(p_Fm->p_FmQmiRegs,fmqm_tapc); - - return E_OK; -} -#endif /* (defined(DEBUG_ERRORS) && ... */ - - /****************************************************/ /* Hidden-DEBUG Only API */ |