summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale/fman/src/wrapper
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/freescale/fman/src/wrapper')
-rw-r--r--drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm.c4
-rw-r--r--drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.c6
-rw-r--r--drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.h13
3 files changed, 16 insertions, 7 deletions
diff --git a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm.c b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm.c
index b25ff3d..fcc0198 100644
--- a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm.c
+++ b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm.c
@@ -126,10 +126,6 @@
#error Error: please synchronize IOC_ defines!
#endif
-#if CMP_IOC_DEFINE(FM_PCD_PRS_SW_OFFSET)
-#error Error: please synchronize IOC_ defines!
-#endif
-
#if CMP_IOC_DEFINE(FM_PCD_MAX_MANIP_INSRT_TEMPLATE_SIZE)
#error Error: please synchronize IOC_ defines!
#endif
diff --git a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.c b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.c
index 5d2d306..ee98d88 100644
--- a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.c
+++ b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.c
@@ -1076,8 +1076,10 @@ void compat_fm_pcd_manip_set_node(
memcpy(&param->u.frag, &compat_param->u.frag, sizeof(param->u.frag));
break;
case e_IOC_FM_PCD_MANIP_SPECIAL_OFFLOAD:
- param->u.special_offload = compat_param->u.special_offload;
- break;
+ memcpy(&param->u.special_offload,
+ &compat_param->u.special_offload,
+ sizeof(param->u.special_offload));
+ break;
}
param->p_next_manip = compat_pcd_id2ptr(compat_param->p_next_manip);
diff --git a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.h b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.h
index af158e9..2f0fdd4 100644
--- a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.h
+++ b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.h
@@ -475,13 +475,24 @@ typedef struct ioc_compat_fm_pcd_manip_hdr_params_t {
bool dont_parse_after_manip;
} ioc_compat_fm_pcd_manip_hdr_params_t;
+typedef struct ioc_compat_fm_pcd_manip_special_offload_params_t {
+ bool decryption;
+ bool ecn_copy;
+ bool dscp_copy;
+ bool variable_ip_hdr_len;
+ bool variable_ip_version;
+ uint8_t outer_ip_hdr_len;
+ uint16_t arw_size;
+ compat_uptr_t arw_addr;
+} ioc_compat_fm_pcd_manip_special_offload_params_t;
+
typedef struct ioc_compat_fm_pcd_manip_params_t {
ioc_fm_pcd_manip_type type;
union {
ioc_compat_fm_pcd_manip_hdr_params_t hdr;
ioc_fm_pcd_manip_reassem_params_t reassem;
ioc_fm_pcd_manip_frag_params_t frag;
- ioc_fm_pcd_manip_special_offload_params_t special_offload;
+ ioc_compat_fm_pcd_manip_special_offload_params_t special_offload;
} u;
compat_uptr_t p_next_manip;
#if (defined(FM_CAPWAP_SUPPORT) && (DPAA_VERSION == 10))