summaryrefslogtreecommitdiffstats
path: root/target/linux/realtek/files/drivers/net/rtl819x/AsicDriver/rtl865x_asicCom.h
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/realtek/files/drivers/net/rtl819x/AsicDriver/rtl865x_asicCom.h')
-rw-r--r--target/linux/realtek/files/drivers/net/rtl819x/AsicDriver/rtl865x_asicCom.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/target/linux/realtek/files/drivers/net/rtl819x/AsicDriver/rtl865x_asicCom.h b/target/linux/realtek/files/drivers/net/rtl819x/AsicDriver/rtl865x_asicCom.h
index 083ae249e..545f2311a 100644
--- a/target/linux/realtek/files/drivers/net/rtl819x/AsicDriver/rtl865x_asicCom.h
+++ b/target/linux/realtek/files/drivers/net/rtl819x/AsicDriver/rtl865x_asicCom.h
@@ -10,6 +10,12 @@
#ifndef RTL865X_ASICCOM_H
#define RTL865X_ASICCOM_H
+#if defined(CONFIG_RTL_819XD) || defined(CONFIG_RTL_8196E)
+#define RTL865XC_VLANTBL_SIZE 16
+#else
+#define RTL865XC_VLANTBL_SIZE 4096
+#endif
+
#define RTL865XC_NETIFTBL_SIZE 8
#define RTL8651_ACLTBL_SIZE 125
#define RTL8651_ACLHWTBL_SIZE 128
@@ -224,7 +230,11 @@ typedef struct {
typedef struct {
#ifndef _LITTLE_ENDIAN
/* word 0 */
+#if defined(CONFIG_RTL_819XD) || defined(CONFIG_RTL_8196E)
+ uint32 vid:12;
+#else
uint32 reserved1:12;
+#endif
uint32 fid:2;
uint32 extEgressUntag : 3;
uint32 egressUntag : 6;
@@ -608,6 +618,9 @@ typedef struct rtl865x_tblAsicDrv_vlanParam_s {
uint32 memberPortMask; /*extension ports [rtl8651_totalExtPortNum-1:0] are located at bits [RTL8651_PORT_NUMBER+rtl8651_totalExtPortNum-1:RTL8651_PORT_NUMBER]*/
uint32 untagPortMask; /*extension ports [rtl8651_totalExtPortNum-1:0] are located at bits [RTL8651_PORT_NUMBER+rtl8651_totalExtPortNum-1:RTL8651_PORT_NUMBER]*/
uint32 fid:2;
+#if defined(CONFIG_RTL_819XD) || defined(CONFIG_RTL_8196E)
+ uint32 vid:12;
+#endif
} rtl865x_tblAsicDrv_vlanParam_t;
typedef struct rtl865x_tblAsicDrv_intfParam_s {
@@ -700,6 +713,9 @@ extern rtl8651_tblAsic_InitPara_t rtl8651_tblAsicDrvPara;
int32 rtl8651_clearAsicCommTable(void);
/*vlan*/
+#if defined(CONFIG_RTL_819XD) || defined(CONFIG_RTL_8196E)
+int rtl8651_findAsicVlanIndexByVid(uint16 *vid);
+#endif
int32 rtl8651_setAsicVlan(uint16 vid, rtl865x_tblAsicDrv_vlanParam_t *vlanp);
int32 rtl8651_getAsicVlan(uint16 vid, rtl865x_tblAsicDrv_vlanParam_t *vlanp);
int32 rtl8651_delAsicVlan(uint16 vid);
@@ -744,7 +760,7 @@ void rtl865x_start(void);
void rtl865x_down(void);
/*counter*/
-int32 rtl8651_returnAsicCounter(uint32 offset);
+uint32 rtl8651_returnAsicCounter(uint32 offset);
int32 rtl8651_clearAsicCounter(void);
int32 rtl865xC_dumpAsicDiagCounter(void);
int32 rtl865xC_dumpAsicCounter(void);