From c46ccb69d17e584479df849a107423175a143c83 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sat, 24 Oct 2020 21:15:20 +0200 Subject: mediatek: mt7622: add Linux 5.10 support Switch mt7622 subtarget to Linux 5.10, it has been tested by many of us on several devices for a couple of weeks already. Signed-off-by: Felix Fietkau --- .../drivers/net/phy/rtk/rtl8367c/include/stat.h | 433 +++++++++++++++++++++ 1 file changed, 433 insertions(+) create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/stat.h (limited to 'target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/stat.h') diff --git a/target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/stat.h b/target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/stat.h new file mode 100644 index 0000000000..a7357633a1 --- /dev/null +++ b/target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/stat.h @@ -0,0 +1,433 @@ +/* + * Copyright (C) 2013 Realtek Semiconductor Corp. + * All Rights Reserved. + * + * Unless you and Realtek execute a separate written software license + * agreement governing use of this software, this software is licensed + * to you under the terms of the GNU General Public License version 2, + * available at https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt + * + * Purpose : RTL8367/RTL8367C switch high-level API + * + * Feature : The file includes MIB module high-layer API defination + * + */ + +#ifndef __RTK_API_STAT_H__ +#define __RTK_API_STAT_H__ + +/* + * Data Type Declaration + */ +typedef rtk_u_long_t rtk_stat_counter_t; + +/* global statistic counter structure */ +typedef struct rtk_stat_global_cntr_s +{ + rtk_uint64 dot1dTpLearnedEntryDiscards; +}rtk_stat_global_cntr_t; + +typedef enum rtk_stat_global_type_e +{ + DOT1D_TP_LEARNED_ENTRY_DISCARDS_INDEX = 58, + MIB_GLOBAL_CNTR_END +}rtk_stat_global_type_t; + +/* port statistic counter structure */ +typedef struct rtk_stat_port_cntr_s +{ + rtk_uint64 ifInOctets; + rtk_uint32 dot3StatsFCSErrors; + rtk_uint32 dot3StatsSymbolErrors; + rtk_uint32 dot3InPauseFrames; + rtk_uint32 dot3ControlInUnknownOpcodes; + rtk_uint32 etherStatsFragments; + rtk_uint32 etherStatsJabbers; + rtk_uint32 ifInUcastPkts; + rtk_uint32 etherStatsDropEvents; + rtk_uint64 etherStatsOctets; + rtk_uint32 etherStatsUndersizePkts; + rtk_uint32 etherStatsOversizePkts; + rtk_uint32 etherStatsPkts64Octets; + rtk_uint32 etherStatsPkts65to127Octets; + rtk_uint32 etherStatsPkts128to255Octets; + rtk_uint32 etherStatsPkts256to511Octets; + rtk_uint32 etherStatsPkts512to1023Octets; + rtk_uint32 etherStatsPkts1024toMaxOctets; + rtk_uint32 etherStatsMcastPkts; + rtk_uint32 etherStatsBcastPkts; + rtk_uint64 ifOutOctets; + rtk_uint32 dot3StatsSingleCollisionFrames; + rtk_uint32 dot3StatsMultipleCollisionFrames; + rtk_uint32 dot3StatsDeferredTransmissions; + rtk_uint32 dot3StatsLateCollisions; + rtk_uint32 etherStatsCollisions; + rtk_uint32 dot3StatsExcessiveCollisions; + rtk_uint32 dot3OutPauseFrames; + rtk_uint32 dot1dBasePortDelayExceededDiscards; + rtk_uint32 dot1dTpPortInDiscards; + rtk_uint32 ifOutUcastPkts; + rtk_uint32 ifOutMulticastPkts; + rtk_uint32 ifOutBrocastPkts; + rtk_uint32 outOampduPkts; + rtk_uint32 inOampduPkts; + rtk_uint32 pktgenPkts; + rtk_uint32 inMldChecksumError; + rtk_uint32 inIgmpChecksumError; + rtk_uint32 inMldSpecificQuery; + rtk_uint32 inMldGeneralQuery; + rtk_uint32 inIgmpSpecificQuery; + rtk_uint32 inIgmpGeneralQuery; + rtk_uint32 inMldLeaves; + rtk_uint32 inIgmpLeaves; + rtk_uint32 inIgmpJoinsSuccess; + rtk_uint32 inIgmpJoinsFail; + rtk_uint32 inMldJoinsSuccess; + rtk_uint32 inMldJoinsFail; + rtk_uint32 inReportSuppressionDrop; + rtk_uint32 inLeaveSuppressionDrop; + rtk_uint32 outIgmpReports; + rtk_uint32 outIgmpLeaves; + rtk_uint32 outIgmpGeneralQuery; + rtk_uint32 outIgmpSpecificQuery; + rtk_uint32 outMldReports; + rtk_uint32 outMldLeaves; + rtk_uint32 outMldGeneralQuery; + rtk_uint32 outMldSpecificQuery; + rtk_uint32 inKnownMulticastPkts; + rtk_uint32 ifInMulticastPkts; + rtk_uint32 ifInBroadcastPkts; + rtk_uint32 ifOutDiscards; +}rtk_stat_port_cntr_t; + +/* port statistic counter index */ +typedef enum rtk_stat_port_type_e +{ + STAT_IfInOctets = 0, + STAT_Dot3StatsFCSErrors, + STAT_Dot3StatsSymbolErrors, + STAT_Dot3InPauseFrames, + STAT_Dot3ControlInUnknownOpcodes, + STAT_EtherStatsFragments, + STAT_EtherStatsJabbers, + STAT_IfInUcastPkts, + STAT_EtherStatsDropEvents, + STAT_EtherStatsOctets, + STAT_EtherStatsUnderSizePkts, + STAT_EtherOversizeStats, + STAT_EtherStatsPkts64Octets, + STAT_EtherStatsPkts65to127Octets, + STAT_EtherStatsPkts128to255Octets, + STAT_EtherStatsPkts256to511Octets, + STAT_EtherStatsPkts512to1023Octets, + STAT_EtherStatsPkts1024to1518Octets, + STAT_EtherStatsMulticastPkts, + STAT_EtherStatsBroadcastPkts, + STAT_IfOutOctets, + STAT_Dot3StatsSingleCollisionFrames, + STAT_Dot3StatsMultipleCollisionFrames, + STAT_Dot3StatsDeferredTransmissions, + STAT_Dot3StatsLateCollisions, + STAT_EtherStatsCollisions, + STAT_Dot3StatsExcessiveCollisions, + STAT_Dot3OutPauseFrames, + STAT_Dot1dBasePortDelayExceededDiscards, + STAT_Dot1dTpPortInDiscards, + STAT_IfOutUcastPkts, + STAT_IfOutMulticastPkts, + STAT_IfOutBroadcastPkts, + STAT_OutOampduPkts, + STAT_InOampduPkts, + STAT_PktgenPkts, + STAT_InMldChecksumError, + STAT_InIgmpChecksumError, + STAT_InMldSpecificQuery, + STAT_InMldGeneralQuery, + STAT_InIgmpSpecificQuery, + STAT_InIgmpGeneralQuery, + STAT_InMldLeaves, + STAT_InIgmpInterfaceLeaves, + STAT_InIgmpJoinsSuccess, + STAT_InIgmpJoinsFail, + STAT_InMldJoinsSuccess, + STAT_InMldJoinsFail, + STAT_InReportSuppressionDrop, + STAT_InLeaveSuppressionDrop, + STAT_OutIgmpReports, + STAT_OutIgmpLeaves, + STAT_OutIgmpGeneralQuery, + STAT_OutIgmpSpecificQuery, + STAT_OutMldReports, + STAT_OutMldLeaves, + STAT_OutMldGeneralQuery, + STAT_OutMldSpecificQuery, + STAT_InKnownMulticastPkts, + STAT_IfInMulticastPkts, + STAT_IfInBroadcastPkts, + STAT_IfOutDiscards, + STAT_PORT_CNTR_END +}rtk_stat_port_type_t; + +typedef enum rtk_logging_counter_mode_e +{ + LOGGING_MODE_32BIT = 0, + LOGGING_MODE_64BIT, + LOGGING_MODE_END +}rtk_logging_counter_mode_t; + +typedef enum rtk_logging_counter_type_e +{ + LOGGING_TYPE_PACKET = 0, + LOGGING_TYPE_BYTE, + LOGGING_TYPE_END +}rtk_logging_counter_type_t; + +typedef enum rtk_stat_lengthMode_e +{ + LENGTH_MODE_EXC_TAG = 0, + LENGTH_MODE_INC_TAG, + LENGTH_MODE_END +}rtk_stat_lengthMode_t; + + + +/* Function Name: + * rtk_stat_global_reset + * Description: + * Reset global MIB counter. + * Input: + * None + * Output: + * None + * Return: + * RT_ERR_OK - OK + * RT_ERR_FAILED - Failed + * RT_ERR_SMI - SMI access error + * Note: + * Reset MIB counter of ports. API will use global reset while port mask is all-ports. + */ +extern rtk_api_ret_t rtk_stat_global_reset(void); + +/* Function Name: + * rtk_stat_port_reset + * Description: + * Reset per port MIB counter by port. + * Input: + * port - port id. + * Output: + * None + * Return: + * RT_ERR_OK - OK + * RT_ERR_FAILED - Failed + * RT_ERR_SMI - SMI access error + * Note: + * + */ +extern rtk_api_ret_t rtk_stat_port_reset(rtk_port_t port); + +/* Function Name: + * rtk_stat_queueManage_reset + * Description: + * Reset queue manage MIB counter. + * Input: + * None + * Output: + * None + * Return: + * RT_ERR_OK - OK + * RT_ERR_FAILED - Failed + * RT_ERR_SMI - SMI access error + * Note: + * + */ +extern rtk_api_ret_t rtk_stat_queueManage_reset(void); + +/* Function Name: + * rtk_stat_global_get + * Description: + * Get global MIB counter + * Input: + * cntr_idx - global counter index. + * Output: + * pCntr - global counter value. + * Return: + * RT_ERR_OK - OK + * RT_ERR_FAILED - Failed + * RT_ERR_SMI - SMI access error + * RT_ERR_INPUT - Invalid input parameters. + * Note: + * Get global MIB counter by index definition. + */ +extern rtk_api_ret_t rtk_stat_global_get(rtk_stat_global_type_t cntr_idx, rtk_stat_counter_t *pCntr); + +/* Function Name: + * rtk_stat_global_getAll + * Description: + * Get all global MIB counter + * Input: + * None + * Output: + * pGlobal_cntrs - global counter structure. + * Return: + * RT_ERR_OK - OK + * RT_ERR_FAILED - Failed + * RT_ERR_SMI - SMI access error + * RT_ERR_INPUT - Invalid input parameters. + * Note: + * Get all global MIB counter by index definition. + */ +extern rtk_api_ret_t rtk_stat_global_getAll(rtk_stat_global_cntr_t *pGlobal_cntrs); + +/* Function Name: + * rtk_stat_port_get + * Description: + * Get per port MIB counter by index + * Input: + * port - port id. + * cntr_idx - port counter index. + * Output: + * pCntr - MIB retrived counter. + * Return: + * RT_ERR_OK - OK + * RT_ERR_FAILED - Failed + * RT_ERR_SMI - SMI access error + * Note: + * Get per port MIB counter by index definition. + */ +extern rtk_api_ret_t rtk_stat_port_get(rtk_port_t port, rtk_stat_port_type_t cntr_idx, rtk_stat_counter_t *pCntr); + +/* Function Name: + * rtk_stat_port_getAll + * Description: + * Get all counters of one specified port in the specified device. + * Input: + * port - port id. + * Output: + * pPort_cntrs - buffer pointer of counter value. + * Return: + * RT_ERR_OK - OK + * RT_ERR_FAILED - Failed + * RT_ERR_SMI - SMI access error + * RT_ERR_INPUT - Invalid input parameters. + * Note: + * Get all MIB counters of one port. + */ +extern rtk_api_ret_t rtk_stat_port_getAll(rtk_port_t port, rtk_stat_port_cntr_t *pPort_cntrs); + +/* Function Name: + * rtk_stat_logging_counterCfg_set + * Description: + * Set the type and mode of Logging Counter + * Input: + * idx - The index of Logging Counter. Should be even number only.(0,2,4,6,8.....30) + * mode - 32 bits or 64 bits mode + * type - Packet counter or byte counter + * Output: + * None. + * Return: + * RT_ERR_OK - OK + * RT_ERR_OUT_OF_RANGE - Out of range. + * RT_ERR_FAILED - Failed + * RT_ERR_SMI - SMI access error + * RT_ERR_INPUT - Invalid input parameters. + * Note: + * Set the type and mode of Logging Counter. + */ +extern rtk_api_ret_t rtk_stat_logging_counterCfg_set(rtk_uint32 idx, rtk_logging_counter_mode_t mode, rtk_logging_counter_type_t type); + +/* Function Name: + * rtk_stat_logging_counterCfg_get + * Description: + * Get the type and mode of Logging Counter + * Input: + * idx - The index of Logging Counter. Should be even number only.(0,2,4,6,8.....30) + * Output: + * pMode - 32 bits or 64 bits mode + * pType - Packet counter or byte counter + * Return: + * RT_ERR_OK - OK + * RT_ERR_OUT_OF_RANGE - Out of range. + * RT_ERR_FAILED - Failed + * RT_ERR_NULL_POINTER - NULL Pointer + * RT_ERR_SMI - SMI access error + * RT_ERR_INPUT - Invalid input parameters. + * Note: + * Get the type and mode of Logging Counter. + */ +extern rtk_api_ret_t rtk_stat_logging_counterCfg_get(rtk_uint32 idx, rtk_logging_counter_mode_t *pMode, rtk_logging_counter_type_t *pType); + +/* Function Name: + * rtk_stat_logging_counter_reset + * Description: + * Reset Logging Counter + * Input: + * idx - The index of Logging Counter. (0~31) + * Output: + * None. + * Return: + * RT_ERR_OK - OK + * RT_ERR_OUT_OF_RANGE - Out of range. + * RT_ERR_FAILED - Failed + * RT_ERR_SMI - SMI access error + * Note: + * Reset Logging Counter. + */ +extern rtk_api_ret_t rtk_stat_logging_counter_reset(rtk_uint32 idx); + +/* Function Name: + * rtk_stat_logging_counter_get + * Description: + * Get Logging Counter + * Input: + * idx - The index of Logging Counter. (0~31) + * Output: + * pCnt - Logging counter value + * Return: + * RT_ERR_OK - OK + * RT_ERR_OUT_OF_RANGE - Out of range. + * RT_ERR_FAILED - Failed + * RT_ERR_SMI - SMI access error + * Note: + * Get Logging Counter. + */ +extern rtk_api_ret_t rtk_stat_logging_counter_get(rtk_uint32 idx, rtk_uint32 *pCnt); + +/* Function Name: + * rtk_stat_lengthMode_set + * Description: + * Set Legnth mode. + * Input: + * txMode - The length counting mode + * rxMode - The length counting mode + * Output: + * None. + * Return: + * RT_ERR_OK - OK + * RT_ERR_INPUT - Out of range. + * RT_ERR_FAILED - Failed + * RT_ERR_SMI - SMI access error + * Note: + * + */ +extern rtk_api_ret_t rtk_stat_lengthMode_set(rtk_stat_lengthMode_t txMode, rtk_stat_lengthMode_t rxMode); + +/* Function Name: + * rtk_stat_lengthMode_get + * Description: + * Get Legnth mode. + * Input: + * None. + * Output: + * pTxMode - The length counting mode + * pRxMode - The length counting mode + * Return: + * RT_ERR_OK - OK + * RT_ERR_INPUT - Out of range. + * RT_ERR_FAILED - Failed + * RT_ERR_SMI - SMI access error + * Note: + */ +extern rtk_api_ret_t rtk_stat_lengthMode_get(rtk_stat_lengthMode_t *pTxMode, rtk_stat_lengthMode_t *pRxMode); + +#endif /* __RTK_API_STAT_H__ */ + -- cgit v1.2.3