aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/701-net-0034-Extend-FM-MAC-Statistics-with-frame-size-counters-re.patch
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2022-03-21 01:16:48 +0000
committerDaniel Golle <daniel@makrotopia.org>2022-03-21 13:11:56 +0000
commit786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186 (patch)
tree926fecb2b1f6ce1e42ba7ef4c7aab8e68dfd214c /target/linux/layerscape/patches-5.4/701-net-0034-Extend-FM-MAC-Statistics-with-frame-size-counters-re.patch
parent9470160c350d15f765c33d6c1db15d6c4709a64c (diff)
downloadupstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.gz
upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.bz2
upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.zip
kernel: delete Linux 5.4 config and patches
As the upcoming release will be based on Linux 5.10 only, remove all kernel configuration as well as patches for Linux 5.4. There were no targets still actively using Linux 5.4. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 3a14580411adfb75f9a44eded9f41245b9e44606)
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0034-Extend-FM-MAC-Statistics-with-frame-size-counters-re.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/701-net-0034-Extend-FM-MAC-Statistics-with-frame-size-counters-re.patch406
1 files changed, 0 insertions, 406 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0034-Extend-FM-MAC-Statistics-with-frame-size-counters-re.patch b/target/linux/layerscape/patches-5.4/701-net-0034-Extend-FM-MAC-Statistics-with-frame-size-counters-re.patch
deleted file mode 100644
index d880cc8aa6..0000000000
--- a/target/linux/layerscape/patches-5.4/701-net-0034-Extend-FM-MAC-Statistics-with-frame-size-counters-re.patch
+++ /dev/null
@@ -1,406 +0,0 @@
-From 60f5101cdfbabd4cc29c02d69aa43a84fab52cf7 Mon Sep 17 00:00:00 2001
-From: Iordache Florinel-R70177 <florinel.iordache@nxp.com>
-Date: Thu, 12 Oct 2017 11:13:41 +0300
-Subject: [PATCH] Extend FM MAC Statistics with frame size counters (request
- from Nokia)
-
-Signed-off-by: Iordache Florinel-R70177 <florinel.iordache@nxp.com>
----
- .../freescale/sdk_fman/Peripherals/FM/MAC/dtsec.c | 1 +
- .../freescale/sdk_fman/Peripherals/FM/MAC/fm_mac.c | 16 ++++++
- .../freescale/sdk_fman/Peripherals/FM/MAC/fm_mac.h | 1 +
- .../sdk_fman/Peripherals/FM/MAC/fman_memac.c | 21 ++++++++
- .../freescale/sdk_fman/Peripherals/FM/MAC/memac.c | 57 ++++++++++++++++++++++
- .../freescale/sdk_fman/Peripherals/FM/MAC/tgec.c | 42 ++++++++++++++++
- .../sdk_fman/inc/Peripherals/fm_mac_ext.h | 28 +++++++++++
- .../freescale/sdk_fman/inc/flib/fsl_fman_memac.h | 7 +++
- .../sdk_fman/src/inc/wrapper/lnxwrp_exp_sym.h | 2 +
- .../sdk_fman/src/wrapper/lnxwrp_ioctls_fm.c | 41 ++++++++++++++++
- .../uapi/linux/fmd/Peripherals/fm_port_ioctls.h | 25 ++++++++++
- 11 files changed, 241 insertions(+)
-
---- a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/dtsec.c
-+++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/dtsec.c
-@@ -1389,6 +1389,7 @@ static void InitFmMacControllerDriver(t_
-
- p_FmMacControllerDriver->f_FM_MAC_ResetCounters = DtsecResetCounters;
- p_FmMacControllerDriver->f_FM_MAC_GetStatistics = DtsecGetStatistics;
-+ p_FmMacControllerDriver->f_FM_MAC_GetFrameSizeCounters = NULL;
-
- p_FmMacControllerDriver->f_FM_MAC_ModifyMacAddr = DtsecModifyMacAddress;
- p_FmMacControllerDriver->f_FM_MAC_AddHashMacAddr = DtsecAddHashMacAddress;
---- a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fm_mac.c
-+++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fm_mac.c
-@@ -461,6 +461,22 @@ t_Error FM_MAC_GetStatistics (t_Handle h
-
- /* ......................................................................... */
-
-+t_Error FM_MAC_GetFrameSizeCounters(t_Handle h_FmMac, t_FmMacFrameSizeCounters *p_FrameSizeCounters, e_CommMode type)
-+{
-+ t_FmMacControllerDriver *p_FmMacControllerDriver = (t_FmMacControllerDriver *)h_FmMac;
-+
-+ SANITY_CHECK_RETURN_ERROR(p_FmMacControllerDriver, E_INVALID_HANDLE);
-+
-+ memset(p_FrameSizeCounters, 0, sizeof(t_FmMacFrameSizeCounters));
-+
-+ if (p_FmMacControllerDriver->f_FM_MAC_GetFrameSizeCounters)
-+ return p_FmMacControllerDriver->f_FM_MAC_GetFrameSizeCounters(h_FmMac, p_FrameSizeCounters, type);
-+
-+ RETURN_ERROR(MINOR, E_NOT_SUPPORTED, NO_MSG);
-+}
-+
-+/* ......................................................................... */
-+
- t_Error FM_MAC_ModifyMacAddr (t_Handle h_FmMac, t_EnetAddr *p_EnetAddr)
- {
- t_FmMacControllerDriver *p_FmMacControllerDriver = (t_FmMacControllerDriver *)h_FmMac;
---- a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fm_mac.h
-+++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fm_mac.h
-@@ -106,6 +106,7 @@ typedef struct {
-
- t_Error (*f_FM_MAC_ResetCounters) (t_Handle h_FmMac);
- t_Error (*f_FM_MAC_GetStatistics) (t_Handle h_FmMac, t_FmMacStatistics *p_Statistics);
-+ t_Error (*f_FM_MAC_GetFrameSizeCounters) (t_Handle h_FmMac, t_FmMacFrameSizeCounters *p_FrameSizeCounters, e_CommMode type);
-
- t_Error (*f_FM_MAC_ModifyMacAddr) (t_Handle h_FmMac, t_EnetAddr *p_EnetAddr);
- t_Error (*f_FM_MAC_AddHashMacAddr) (t_Handle h_FmMac, t_EnetAddr *p_EnetAddr);
---- a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_memac.c
-+++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_memac.c
-@@ -360,24 +360,45 @@ uint64_t fman_memac_get_counter(struct m
- case E_MEMAC_COUNTER_R64:
- ret_val = GET_MEMAC_CNTR_64(r64);
- break;
-+ case E_MEMAC_COUNTER_T64:
-+ ret_val = GET_MEMAC_CNTR_64(t64);
-+ break;
- case E_MEMAC_COUNTER_R127:
- ret_val = GET_MEMAC_CNTR_64(r127);
- break;
-+ case E_MEMAC_COUNTER_T127:
-+ ret_val = GET_MEMAC_CNTR_64(t127);
-+ break;
- case E_MEMAC_COUNTER_R255:
- ret_val = GET_MEMAC_CNTR_64(r255);
- break;
-+ case E_MEMAC_COUNTER_T255:
-+ ret_val = GET_MEMAC_CNTR_64(t255);
-+ break;
- case E_MEMAC_COUNTER_R511:
- ret_val = GET_MEMAC_CNTR_64(r511);
- break;
-+ case E_MEMAC_COUNTER_T511:
-+ ret_val = GET_MEMAC_CNTR_64(t511);
-+ break;
- case E_MEMAC_COUNTER_R1023:
- ret_val = GET_MEMAC_CNTR_64(r1023);
- break;
-+ case E_MEMAC_COUNTER_T1023:
-+ ret_val = GET_MEMAC_CNTR_64(t1023);
-+ break;
- case E_MEMAC_COUNTER_R1518:
- ret_val = GET_MEMAC_CNTR_64(r1518);
- break;
-+ case E_MEMAC_COUNTER_T1518:
-+ ret_val = GET_MEMAC_CNTR_64(t1518);
-+ break;
- case E_MEMAC_COUNTER_R1519X:
- ret_val = GET_MEMAC_CNTR_64(r1519x);
- break;
-+ case E_MEMAC_COUNTER_T1519X:
-+ ret_val = GET_MEMAC_CNTR_64(t1519x);
-+ break;
- case E_MEMAC_COUNTER_RFRG:
- ret_val = GET_MEMAC_CNTR_64(rfrg);
- break;
---- a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac.c
-+++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac.c
-@@ -593,6 +593,62 @@ static t_Error MemacGetStatistics(t_Hand
-
- /* ......................................................................... */
-
-+static t_Error MemacGetFrameSizeCounters(t_Handle h_Memac, t_FmMacFrameSizeCounters *p_FrameSizeCounters, e_CommMode type)
-+{
-+ t_Memac *p_Memac = (t_Memac *)h_Memac;
-+
-+ SANITY_CHECK_RETURN_ERROR(p_Memac, E_NULL_POINTER);
-+ SANITY_CHECK_RETURN_ERROR(!p_Memac->p_MemacDriverParam, E_INVALID_STATE);
-+ SANITY_CHECK_RETURN_ERROR(p_FrameSizeCounters, E_NULL_POINTER);
-+
-+ switch (type)
-+ {
-+ case e_COMM_MODE_NONE:
-+ break;
-+
-+ case e_COMM_MODE_RX:
-+ p_FrameSizeCounters->count_pkts_64 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R64);
-+ p_FrameSizeCounters->count_pkts_65_to_127 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R127);
-+ p_FrameSizeCounters->count_pkts_128_to_255 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R255);
-+ p_FrameSizeCounters->count_pkts_256_to_511 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R511);
-+ p_FrameSizeCounters->count_pkts_512_to_1023 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R1023);
-+ p_FrameSizeCounters->count_pkts_1024_to_1518 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R1518);
-+ p_FrameSizeCounters->count_pkts_1519_to_1522 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R1519X);
-+ break;
-+
-+ case e_COMM_MODE_TX:
-+ p_FrameSizeCounters->count_pkts_64 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T64);
-+ p_FrameSizeCounters->count_pkts_65_to_127 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T127);
-+ p_FrameSizeCounters->count_pkts_128_to_255 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T255);
-+ p_FrameSizeCounters->count_pkts_256_to_511 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T511);
-+ p_FrameSizeCounters->count_pkts_512_to_1023 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T1023);
-+ p_FrameSizeCounters->count_pkts_1024_to_1518 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T1518);
-+ p_FrameSizeCounters->count_pkts_1519_to_1522 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T1519X);
-+ break;
-+
-+ case e_COMM_MODE_RX_AND_TX:
-+ p_FrameSizeCounters->count_pkts_64 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R64)
-+ + fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T64);
-+ p_FrameSizeCounters->count_pkts_65_to_127 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R127)
-+ + fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T127);
-+ p_FrameSizeCounters->count_pkts_128_to_255 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R255)
-+ + fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T255);
-+ p_FrameSizeCounters->count_pkts_256_to_511 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R511)
-+ + fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T511);
-+ p_FrameSizeCounters->count_pkts_512_to_1023 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R1023)
-+ + fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T1023);
-+ p_FrameSizeCounters->count_pkts_1024_to_1518 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R1518)
-+ + fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T1518);
-+ p_FrameSizeCounters->count_pkts_1519_to_1522 = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R1519X)
-+ + fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T1519X);
-+ break;
-+ }
-+
-+ return E_OK;
-+}
-+
-+/* ......................................................................... */
-+
- static t_Error MemacModifyMacAddress (t_Handle h_Memac, t_EnetAddr *p_EnetAddr)
- {
- t_Memac *p_Memac = (t_Memac *)h_Memac;
-@@ -1025,6 +1081,7 @@ static void InitFmMacControllerDriver(t_
-
- p_FmMacControllerDriver->f_FM_MAC_ResetCounters = MemacResetCounters;
- p_FmMacControllerDriver->f_FM_MAC_GetStatistics = MemacGetStatistics;
-+ p_FmMacControllerDriver->f_FM_MAC_GetFrameSizeCounters = MemacGetFrameSizeCounters;
-
- p_FmMacControllerDriver->f_FM_MAC_ModifyMacAddr = MemacModifyMacAddress;
- p_FmMacControllerDriver->f_FM_MAC_AddHashMacAddr = MemacAddHashMacAddress;
---- a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/tgec.c
-+++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/tgec.c
-@@ -438,6 +438,47 @@ static t_Error TgecGetStatistics(t_Handl
-
- /* ......................................................................... */
-
-+static t_Error TgecGetFrameSizeCounters(t_Handle h_Tgec, t_FmMacFrameSizeCounters *p_FrameSizeCounters, e_CommMode type)
-+{
-+ t_Tgec *p_Tgec = (t_Tgec *)h_Tgec;
-+ struct tgec_regs *p_TgecMemMap;
-+
-+ SANITY_CHECK_RETURN_ERROR(p_Tgec, E_NULL_POINTER);
-+ SANITY_CHECK_RETURN_ERROR(!p_Tgec->p_TgecDriverParam, E_INVALID_STATE);
-+ SANITY_CHECK_RETURN_ERROR(p_FrameSizeCounters, E_NULL_POINTER);
-+
-+ p_TgecMemMap = p_Tgec->p_MemMap;
-+
-+ switch (type)
-+ {
-+ case e_COMM_MODE_NONE:
-+ break;
-+
-+ case e_COMM_MODE_RX:
-+ p_FrameSizeCounters->count_pkts_64 = fman_tgec_get_counter(p_TgecMemMap, E_TGEC_COUNTER_R64);
-+ p_FrameSizeCounters->count_pkts_65_to_127 = fman_tgec_get_counter(p_TgecMemMap, E_TGEC_COUNTER_R127);
-+ p_FrameSizeCounters->count_pkts_128_to_255 = fman_tgec_get_counter(p_TgecMemMap, E_TGEC_COUNTER_R255);
-+ p_FrameSizeCounters->count_pkts_256_to_511 = fman_tgec_get_counter(p_TgecMemMap, E_TGEC_COUNTER_R511);
-+ p_FrameSizeCounters->count_pkts_512_to_1023 = fman_tgec_get_counter(p_TgecMemMap, E_TGEC_COUNTER_R1023);
-+ p_FrameSizeCounters->count_pkts_1024_to_1518 = fman_tgec_get_counter(p_TgecMemMap, E_TGEC_COUNTER_R1518);
-+ p_FrameSizeCounters->count_pkts_1519_to_1522 = fman_tgec_get_counter(p_TgecMemMap, E_TGEC_COUNTER_R1519X);
-+ break;
-+
-+ case e_COMM_MODE_TX:
-+ //Tx counters not supported
-+ break;
-+
-+ case e_COMM_MODE_RX_AND_TX:
-+ //Tx counters not supported
-+ break;
-+ }
-+
-+ return E_OK;
-+}
-+
-+
-+/* ......................................................................... */
-+
- static t_Error TgecEnable1588TimeStamp(t_Handle h_Tgec)
- {
- t_Tgec *p_Tgec = (t_Tgec *)h_Tgec;
-@@ -905,6 +946,7 @@ static void InitFmMacControllerDriver(t_
-
- p_FmMacControllerDriver->f_FM_MAC_ResetCounters = TgecResetCounters;
- p_FmMacControllerDriver->f_FM_MAC_GetStatistics = TgecGetStatistics;
-+ p_FmMacControllerDriver->f_FM_MAC_GetFrameSizeCounters = TgecGetFrameSizeCounters;
-
- p_FmMacControllerDriver->f_FM_MAC_ModifyMacAddr = TgecModifyMacAddress;
- p_FmMacControllerDriver->f_FM_MAC_AddHashMacAddr = TgecAddHashMacAddress;
---- a/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_mac_ext.h
-+++ b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_mac_ext.h
-@@ -197,6 +197,19 @@ typedef struct t_FmMacStatistics {
- - Other */
- } t_FmMacStatistics;
-
-+/**************************************************************************//**
-+ @Description FM MAC Frame Size Counters
-+*//***************************************************************************/
-+typedef struct t_FmMacFrameSizeCounters {
-+
-+ uint64_t count_pkts_64; /**< 64 byte frame counter */
-+ uint64_t count_pkts_65_to_127; /**< 65 to 127 byte frame counter */
-+ uint64_t count_pkts_128_to_255; /**< 128 to 255 byte frame counter */
-+ uint64_t count_pkts_256_to_511; /**< 256 to 511 byte frame counter */
-+ uint64_t count_pkts_512_to_1023; /**< 512 to 1023 byte frame counter */
-+ uint64_t count_pkts_1024_to_1518; /**< 1024 to 1518 byte frame counter */
-+ uint64_t count_pkts_1519_to_1522; /**< 1519 to 1522 byte good frame count */
-+} t_FmMacFrameSizeCounters;
-
- /**************************************************************************//**
- @Group FM_mac_init_grp FM MAC Initialization Unit
-@@ -654,6 +667,21 @@ t_Error FM_MAC_SetStatistics(t_Handle h_
- t_Error FM_MAC_GetStatistics(t_Handle h_FmMac, t_FmMacStatistics *p_Statistics);
-
- /**************************************************************************//**
-+ @Function FM_MAC_GetFrameSizeCounters
-+
-+ @Description get MAC statistics counters for different frame size
-+
-+ @Param[in] h_FmMac - A handle to a FM MAC Module.
-+ @Param[in] p_FrameSizeCounters - Structure with counters
-+ @Param[in] type - Type of counters to be read
-+
-+ @Return E_OK on success; Error code otherwise.
-+
-+ @Cautions Allowed only following FM_Init().
-+*//***************************************************************************/
-+t_Error FM_MAC_GetFrameSizeCounters(t_Handle h_FmMac, t_FmMacFrameSizeCounters *p_FrameSizeCounters, e_CommMode type);
-+
-+/**************************************************************************//**
- @Function FM_MAC_ModifyMacAddr
-
- @Description Replace the main MAC Address
---- a/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_memac.h
-+++ b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_memac.h
-@@ -146,12 +146,19 @@ _val &= ~TX_FIFO_SECTIONS_TX_EMPTY_MASK;
-
- enum memac_counters {
- E_MEMAC_COUNTER_R64,
-+ E_MEMAC_COUNTER_T64,
- E_MEMAC_COUNTER_R127,
-+ E_MEMAC_COUNTER_T127,
- E_MEMAC_COUNTER_R255,
-+ E_MEMAC_COUNTER_T255,
- E_MEMAC_COUNTER_R511,
-+ E_MEMAC_COUNTER_T511,
- E_MEMAC_COUNTER_R1023,
-+ E_MEMAC_COUNTER_T1023,
- E_MEMAC_COUNTER_R1518,
-+ E_MEMAC_COUNTER_T1518,
- E_MEMAC_COUNTER_R1519X,
-+ E_MEMAC_COUNTER_T1519X,
- E_MEMAC_COUNTER_RFRG,
- E_MEMAC_COUNTER_RJBR,
- E_MEMAC_COUNTER_RDRP,
---- a/drivers/net/ethernet/freescale/sdk_fman/src/inc/wrapper/lnxwrp_exp_sym.h
-+++ b/drivers/net/ethernet/freescale/sdk_fman/src/inc/wrapper/lnxwrp_exp_sym.h
-@@ -123,6 +123,8 @@ EXPORT_SYMBOL(FM_PCD_SetAdvancedOffloadS
- /* FMAN MAC exported routines */
- EXPORT_SYMBOL(FM_MAC_GetStatistics);
-
-+EXPORT_SYMBOL(FM_MAC_GetFrameSizeCounters);
-+
- EXPORT_SYMBOL(FM_GetSpecialOperationCoding);
-
- #endif /* __LNXWRP_EXP_SYM_H */
---- a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_ioctls_fm.c
-+++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_ioctls_fm.c
-@@ -4608,6 +4608,47 @@ t_Error LnxwrpFmPortIOCTL(t_LnxWrpFmPort
- break;
- }
-
-+ case FM_PORT_IOC_GET_MAC_FRAME_SIZE_COUNTERS:
-+ {
-+ t_LnxWrpFmDev *p_LnxWrpFmDev =
-+ (t_LnxWrpFmDev *)p_LnxWrpFmPortDev->h_LnxWrpFmDev;
-+ ioc_fm_port_mac_frame_size_counters_t param;
-+ t_FmMacFrameSizeCounters frameSizeCounters;
-+ int mac_id = p_LnxWrpFmPortDev->id;
-+
-+ if (!p_LnxWrpFmDev)
-+ RETURN_ERROR(MINOR, E_NOT_AVAILABLE, ("Port not initialized or other error!"));
-+
-+ if (&p_LnxWrpFmDev->txPorts[mac_id] != p_LnxWrpFmPortDev &&
-+ &p_LnxWrpFmDev->rxPorts[mac_id] != p_LnxWrpFmPortDev)
-+ mac_id += FM_MAX_NUM_OF_1G_MACS; /* 10G port */
-+
-+ if (!p_LnxWrpFmDev->macs[mac_id].h_Dev)
-+ RETURN_ERROR(MINOR, E_NOT_AVAILABLE, ("Port not initialized or other error!"));
-+
-+ if (copy_from_user(&param, (ioc_fm_port_mac_frame_size_counters_t *)arg,
-+ sizeof(ioc_fm_port_mac_frame_size_counters_t)))
-+ RETURN_ERROR(MINOR, E_WRITE_FAILED, NO_MSG);
-+
-+ if (FM_MAC_GetFrameSizeCounters(p_LnxWrpFmDev->macs[mac_id].h_Dev,
-+ &frameSizeCounters, param.type))
-+ RETURN_ERROR(MINOR, E_WRITE_FAILED, NO_MSG);
-+
-+ param.count_pkts_64 = frameSizeCounters.count_pkts_64;
-+ param.count_pkts_65_to_127 = frameSizeCounters.count_pkts_65_to_127;
-+ param.count_pkts_128_to_255 = frameSizeCounters.count_pkts_128_to_255;
-+ param.count_pkts_256_to_511 = frameSizeCounters.count_pkts_256_to_511;
-+ param.count_pkts_512_to_1023 = frameSizeCounters.count_pkts_512_to_1023;
-+ param.count_pkts_1024_to_1518 = frameSizeCounters.count_pkts_1024_to_1518;
-+ param.count_pkts_1519_to_1522 = frameSizeCounters.count_pkts_1519_to_1522;
-+
-+ if (copy_to_user((ioc_fm_port_mac_frame_size_counters_t *)arg, &param,
-+ sizeof(ioc_fm_port_mac_frame_size_counters_t)))
-+ RETURN_ERROR(MINOR, E_WRITE_FAILED, NO_MSG);
-+
-+ break;
-+ }
-+
- case FM_PORT_IOC_GET_BMI_COUNTERS:
- {
- t_LnxWrpFmDev *p_LnxWrpFmDev =
---- a/include/uapi/linux/fmd/Peripherals/fm_port_ioctls.h
-+++ b/include/uapi/linux/fmd/Peripherals/fm_port_ioctls.h
-@@ -939,6 +939,31 @@ typedef struct ioc_fm_port_vsp_alloc_par
-
- #define FM_PORT_IOC_GET_BMI_COUNTERS _IOR(FM_IOC_TYPE_BASE, FM_PORT_IOC_NUM(42), ioc_fm_port_bmi_stats_t)
-
-+typedef struct ioc_fm_port_mac_frame_size_counters_t {
-+
-+ e_CommMode type;
-+ uint64_t count_pkts_64; /**< 64 byte frame counter */
-+ uint64_t count_pkts_65_to_127; /**< 65 to 127 byte frame counter */
-+ uint64_t count_pkts_128_to_255; /**< 128 to 255 byte frame counter */
-+ uint64_t count_pkts_256_to_511; /**< 256 to 511 byte frame counter */
-+ uint64_t count_pkts_512_to_1023; /**< 512 to 1023 byte frame counter */
-+ uint64_t count_pkts_1024_to_1518; /**< 1024 to 1518 byte frame counter */
-+ uint64_t count_pkts_1519_to_1522; /**< 1519 to 1522 byte good frame count */
-+} ioc_fm_port_mac_frame_size_counters_t;
-+
-+/**************************************************************************//**
-+ @Function FM_MAC_GetFrameSizeCounters
-+
-+ @Description get MAC statistics counters for different frame size
-+
-+ @Param[out] ioc_fm_port_mac_frame_size_counters_t A structure holding the counters
-+
-+ @Return E_OK on success; Error code otherwise.
-+
-+ @Cautions Allowed only following FM_Init().
-+*//***************************************************************************/
-+#define FM_PORT_IOC_GET_MAC_FRAME_SIZE_COUNTERS _IOR(FM_IOC_TYPE_BASE, FM_PORT_IOC_NUM(43), ioc_fm_port_mac_frame_size_counters_t)
-+
-
- /** @} */ /* end of lnx_ioctl_FM_PORT_pcd_runtime_control_grp group */
- /** @} */ /* end of lnx_ioctl_FM_PORT_runtime_control_grp group */