diff options
author | Mandy Lavi <mandy.lavi@freescale.com> | 2013-04-24 07:56:04 (GMT) |
---|---|---|
committer | Fleming Andrew-AFLEMING <AFLEMING@freescale.com> | 2013-04-29 20:22:02 (GMT) |
commit | 5045184a0cc3283bcd30d3bbebff6188d30e9fce (patch) | |
tree | f47057a56b74a822fe8329767802f4ff59711e3f /drivers/net/ethernet/freescale/fman/Peripherals/FM/HC/hc.c | |
parent | 56206bd9f58df8e2a1640c523d6f7fa392e580d1 (diff) | |
download | linux-fsl-qoriq-5045184a0cc3283bcd30d3bbebff6188d30e9fce.tar.xz |
fmd21 integration
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Prev fmd integration was fmd19
Diffs from fmd19 to fmd21:
Added kgHashShift to t_FmPcdHashTableParams
Added nonConsistentSp to t_FmPcdManipReassemIpStats
sp - 2 layers separation - for future flib integration
rtc - 2 layers separation - for future flib integration
PFC enhancement (B4 Rev2 FMAN)
API addition (for B4 rev 2): FM_PORT_SetPfcPrioritiesMappingToQmanWQ
File fsl_fman.h renamed to lnxwrp_fsl_fman.h
The name fsl_fman.h has been applied to other fman internal header file
In dpaa_eth:
Due to renaming of fsl_fman.h to lnxwrp_fsl_fman.h
The relevant include lines in some of the files had to change accordingly
Change-Id: I8f25c758963a44a75ca8676aad45f7f96767b0b5
Reviewed-on: http://git.am.freescale.net:8181/2069
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Diffstat (limited to 'drivers/net/ethernet/freescale/fman/Peripherals/FM/HC/hc.c')
-rw-r--r-- | drivers/net/ethernet/freescale/fman/Peripherals/FM/HC/hc.c | 39 |
1 files changed, 32 insertions, 7 deletions
diff --git a/drivers/net/ethernet/freescale/fman/Peripherals/FM/HC/hc.c b/drivers/net/ethernet/freescale/fman/Peripherals/FM/HC/hc.c index ed3674f..463a095 100644 --- a/drivers/net/ethernet/freescale/fman/Peripherals/FM/HC/hc.c +++ b/drivers/net/ethernet/freescale/fman/Peripherals/FM/HC/hc.c @@ -296,13 +296,6 @@ t_Handle FmHcConfigAndInit(t_FmHcParams *p_FmHcParams) return (t_Handle)p_FmHc; } -t_Handle FmGcGetHcPortDevH(t_Handle h_FmHc) -{ - t_FmHc *p_FmHc = (t_FmHc *)h_FmHc; - - return (p_FmHc) ? p_FmHc->h_HcPortDev : NULL; -} - void FmHcFree(t_Handle h_FmHc) { t_FmHc *p_FmHc = (t_FmHc*)h_FmHc; @@ -1190,3 +1183,35 @@ t_Error FmHcPcdCcDoDynamicChange(t_Handle h_FmHc, uint32_t oldAdAddrOffset, uint return E_OK; } +t_Error FmHcPcdSync(t_Handle h_FmHc) +{ + t_FmHc *p_FmHc = (t_FmHc*)h_FmHc; + t_HcFrame *p_HcFrame; + t_DpaaFD fmFd; + t_Error err = E_OK; + uint32_t seqNum; + + ASSERT_COND(p_FmHc); + + p_HcFrame = GetBuf(p_FmHc, &seqNum); + if (!p_HcFrame) + RETURN_ERROR(MINOR, E_NO_MEMORY, ("HC Frame object")); + memset(p_HcFrame, 0, sizeof(t_HcFrame)); + /* first read SP register */ + p_HcFrame->opcode = (uint32_t)(HC_HCOR_GBL | HC_HCOR_OPCODE_SYNC); + p_HcFrame->actionReg = 0; + p_HcFrame->extraReg = 0; + p_HcFrame->commandSequence = seqNum; + + BUILD_FD(sizeof(t_HcFrame)); + + err = EnQFrm(p_FmHc, &fmFd, seqNum); + + PutBuf(p_FmHc, p_HcFrame, seqNum); + + if (err != E_OK) + RETURN_ERROR(MINOR, err, NO_MSG); + + return E_OK; +} + |