-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
net: qualcomm: rmnet: Move common struct definitions to include
Create if_rmnet.h and move the rmnet MAP packet structs to this common include file. To account for portablity, add little and big endian bitfield definitions similar to the ip & tcp headers. The definitions in the headers can now be re-used by the upcoming ipa driver series as well as qmi_wwan. Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org> Signed-off-by: David S. Miller <davem@davemloft.net>
- Loading branch information
Subash Abhinov Kasiviswanathan
authored and
David S. Miller
committed
May 23, 2019
1 parent
16fa1cf
commit 9395da4
Showing
2 changed files
with
56 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
/* SPDX-License-Identifier: GPL-2.0-only | ||
* Copyright (c) 2013-2019, The Linux Foundation. All rights reserved. | ||
*/ | ||
|
||
#ifndef _LINUX_IF_RMNET_H_ | ||
#define _LINUX_IF_RMNET_H_ | ||
|
||
struct rmnet_map_header { | ||
#if defined(__LITTLE_ENDIAN_BITFIELD) | ||
u8 pad_len:6; | ||
u8 reserved_bit:1; | ||
u8 cd_bit:1; | ||
#elif defined (__BIG_ENDIAN_BITFIELD) | ||
u8 cd_bit:1; | ||
u8 reserved_bit:1; | ||
u8 pad_len:6; | ||
#else | ||
#error "Please fix <asm/byteorder.h>" | ||
#endif | ||
u8 mux_id; | ||
__be16 pkt_len; | ||
} __aligned(1); | ||
|
||
struct rmnet_map_dl_csum_trailer { | ||
u8 reserved1; | ||
#if defined(__LITTLE_ENDIAN_BITFIELD) | ||
u8 valid:1; | ||
u8 reserved2:7; | ||
#elif defined (__BIG_ENDIAN_BITFIELD) | ||
u8 reserved2:7; | ||
u8 valid:1; | ||
#else | ||
#error "Please fix <asm/byteorder.h>" | ||
#endif | ||
u16 csum_start_offset; | ||
u16 csum_length; | ||
__be16 csum_value; | ||
} __aligned(1); | ||
|
||
struct rmnet_map_ul_csum_header { | ||
__be16 csum_start_offset; | ||
#if defined(__LITTLE_ENDIAN_BITFIELD) | ||
u16 csum_insert_offset:14; | ||
u16 udp_ip4_ind:1; | ||
u16 csum_enabled:1; | ||
#elif defined (__BIG_ENDIAN_BITFIELD) | ||
u16 csum_enabled:1; | ||
u16 udp_ip4_ind:1; | ||
u16 csum_insert_offset:14; | ||
#else | ||
#error "Please fix <asm/byteorder.h>" | ||
#endif | ||
} __aligned(1); | ||
|
||
#endif /* !(_LINUX_IF_RMNET_H_) */ |