123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- /* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 and
- * only version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
- #include <linux/skbuff.h>
- #include <linux/in.h>
- #include <linux/ip.h>
- #include <linux/ipv6.h>
- #include <linux/tcp.h>
- #include <linux/udp.h>
- #include "rmnet_shs_wq.h"
- #ifndef DATARMNETbd5709177a
- #define DATARMNETbd5709177a
- #include "rmnet_shs_freq.h"
- #include "rmnet_config.h"
- #include "rmnet_map.h"
- #include "rmnet_shs_wq_genl.h"
- #include "rmnet_private.h"
- #include "rmnet_handlers.h"
- #include "rmnet_trace.h"
- #include "qmi_rmnet.h"
- #define DATARMNETe603c3a4b3 DATARMNETbfe1afe595
- #define DATARMNET25437d35fd 9
- #define DATARMNET4899358462 (0xeb7+1101-0x12f5)
- #define DATARMNET401583e606 DATARMNETecc0627c70.DATARMNET2f954f58f8
- #define DATARMNETc6782fed88 (0xd35+210-0xdff)
- #define DATARMNETbc3c416b77 DATARMNETecc0627c70.DATARMNETf510b48c29
- #define DATARMNET9273f84bf1 DATARMNETecc0627c70.DATARMNET637025ccc1
- #define DATARMNET12f3a261a0 ((0xc07+4861-0x1e3c))
- #define DATARMNETb91aee91fd -(0xd26+209-0xdf6)
- #define DATARMNET2edff26954 (0xd2d+202-0xdf7)
- #define DATARMNET752465942a (0xbf7+4364-0x1c04)
- #define DATARMNETbfe31ef643 (0xc07+1233-0xe1c)
- #define DATARMNET2d0941aa7c (0xd11+230-0xdf3)
- #define DATARMNETaa0602144b 11184810
- #define DATARMNET7a815512d3 (0xef7+1100-0x12fd)
- #define DATARMNET270b564b55 (0xd35+210-0xdff)
- #define DATARMNET1c2d76f636 (0xf07+658-0x110d)
- #define DATARMNET2922c89d50 (0xd1f+216-0xdf5)
- #define DATARMNET015fb2ba0e(...) \
- do { if (DATARMNET756bdd424a) trace_rmnet_shs_err(__VA_ARGS__); } while (\
- (0xd2d+202-0xdf7))
- #define DATARMNET52de1f3dc0(...) \
- do { if (DATARMNET756bdd424a) trace_rmnet_shs_high(__VA_ARGS__); } while (\
- (0xd2d+202-0xdf7))
- #define DATARMNETda96251102(...) \
- do { if (DATARMNET756bdd424a) trace_rmnet_shs_low(__VA_ARGS__); } while (\
- (0xd2d+202-0xdf7))
- #define DATARMNETd82a2ed45e 204800
- #define DATARMNETc668d192f2 (0xec7+1093-0x12f5)
- #define DATARMNETb38cb72105 100000
- #define DATARMNETfbee9e182e 100000
- #define DATARMNETac6d632788 (80000*DATARMNETc668d192f2)
- #define DATARMNET243c638e7d 210000
- #define DATARMNET03fd42433e (210000*DATARMNETc668d192f2)
- #define DATARMNET9bc9e0cac3 (0xd2d+202-0xdf7)
- #define DATARMNET22feab5726 40000
- #define DATARMNET4298ee0d38 (40000*DATARMNETc668d192f2)
- #define DATARMNET3a9bca9cba 20000
- #define DATARMNETcdee526004 (DATARMNET243c638e7d / (0xd1f+216-0xdf5))
- struct DATARMNETa6f2d499b2{struct hrtimer DATARMNET758a55f103;struct work_struct
- DATARMNET33110a3ff5;struct timespec64 DATARMNET251b97a380;int
- DATARMNETe61d62310f;u8 DATARMNET42c3ecbd5e;};struct DATARMNETa6b20d7e8b{struct
- hrtimer DATARMNET6fd692fc7a;struct hrtimer DATARMNET645fb3b468;struct hrtimer
- hrtimer_wake;struct hrtimer DATARMNET533dba0f29;struct rmnet_map_dl_ind
- DATARMNET08dbb5ab35;struct rmnet_map_pb_ind DATARMNET6b783c98fe;struct
- qmi_rmnet_ps_ind rmnet_idl_ind_cb;struct rmnet_port*port;struct
- DATARMNETa6f2d499b2 DATARMNET132b9c7dc4[DATARMNETc6782fed88];u64
- DATARMNETbd3a0ee74e[DATARMNETc6782fed88];long DATARMNETc252a1f55d;long
- DATARMNETa2e32cdd3a;atomic_long_t DATARMNET64bb8a8f57;u8 DATARMNET110549da6f;u8
- DATARMNET9c869c1ec2;u8 DATARMNETd9cfd2812b;u8 DATARMNETf5ab31b9b0;u8
- DATARMNET34097703c8;u8 DATARMNETfc89d842ae;u8 DATARMNET6fe0db3a49;u8
- DATARMNETba3f7a11ef;u8 map_mask;u8 map_len;u8 DATARMNET5c24e1df05;u8
- DATARMNET6625085b71;u16 DATARMNETfeee6933fc;u8 DATARMNET7d667e828e;u8
- DATARMNETe250463eef;ktime_t DATARMNETdd3caf9200;struct wakeup_source*ws;u8
- DATARMNET2f954f58f8;u8 DATARMNETf510b48c29;u8 DATARMNET637025ccc1;u8
- DATARMNET75af9f3c31;};struct DATARMNETa034b2e60c{struct sk_buff*head;struct
- sk_buff*tail;u64 DATARMNETbaa5765693;u32 DATARMNET6215127f48;u32
- DATARMNET35234676d4;};struct DATARMNET63d7680df2{union{struct iphdr
- DATARMNETac9bbaad7c;struct ipv6hdr DATARMNET1688a97aa4;}ip_hdr;union{struct
- tcphdr tp;struct udphdr up;}DATARMNETe33b41dad9;struct list_head
- DATARMNET04c88b8191;struct net_device*dev;struct DATARMNET6c78e47d24*
- DATARMNET341ea38662;struct DATARMNETa034b2e60c DATARMNETae4b27456e;struct
- hlist_node list;u64 DATARMNET11930c5df8;u64 DATARMNETa8940e4a7b;u64
- DATARMNET2594c418db;u64 DATARMNET3ecedac168;u64 DATARMNETce5f56eab9;u32
- DATARMNET1743c92e66;u32 queue_head;u32 hash;u32 bif;u32 ack_thresh;u16 map_index
- ;u16 map_cpu;u16 DATARMNETfbbec4c537;u16 DATARMNETa59ce1fd2d;u8
- DATARMNET85c698ec34;u16 DATARMNET0371465875;u16 DATARMNET1e9d25d9ff;u8
- DATARMNET6250e93187;u8 DATARMNET80eb31d7b8;u8 DATARMNETd986107d55;u8 mux_id;};
- enum DATARMNETa40e71cf32{DATARMNET39a19f2e82,DATARMNETbb52958049,
- DATARMNET46a17e3ec5,DATARMNETfeb864b93d,DATARMNET3503c562cb};enum
- DATARMNET055bc2777b{DATARMNETf8fcf5a1db,DATARMNET6a801720f2,DATARMNET64165df74d,
- DATARMNETfb9ca677b8};enum DATARMNET156842d55e{DATARMNET7bc926fdbe,
- DATARMNETb3e3b2a799,DATARMNET8dcf06727b};enum DATARMNET8463cba7c7{
- DATARMNETc3bce05be2,DATARMNET14067f0be4,DATARMNET28bb261646,DATARMNET67b67dc88f,
- DATARMNET0efbbe2821,DATARMNETa4267dfd8a,DATARMNETf13db5ace8,DATARMNETb6eae1e097,
- DATARMNET0e398136dc,DATARMNET975060d6b5,DATARMNET7f401828b3,DATARMNET6ea8a58f4e,
- DATARMNETcf84373518,DATARMNET6bf40b86f6,DATARMNET9f8bd72ee5,DATARMNET5eefd5051a,
- DATARMNET6d1e5ff045,DATARMNETf6458f40e6,DATARMNET438fb7f8f3,DATARMNET6fed39da20,
- DATARMNET706cd2d052,DATARMNETaac8ed4c2d,DATARMNETeccb61ebc3};enum
- DATARMNETf355367410{DATARMNET557ff68d74,DATARMNET1c55e5fdb1,DATARMNET4ab5a31d0c,
- DATARMNETde2dd86539};enum DATARMNET6c7f7f22c7{DATARMNETe35e238437,
- DATARMNET465c0e5e6d,DATARMNET0d61981934};enum DATARMNET3f3bc61c03{
- DATARMNETf5157a9b85,DATARMNET709b59b0e6,DATARMNET99db6e7d86,DATARMNETe3c02ddaeb,
- DATARMNET394acaf558,DATARMNETef8cbfa62f,DATARMNETe6e77f9f03,DATARMNETecdf13872c,
- DATARMNETd1687e0776,DATARMNET1828d69e96,DATARMNET40ceff078e,DATARMNET42b73d0f3f,
- DATARMNETb8fe2c0e64,DATARMNET72db8b9bac,DATARMNET33a9d4759f,DATARMNET46966e7828,
- DATARMNETa1f9420686,DATARMNET54b67b8a75,DATARMNETac729c3d29,DATARMNET6533f70c87,
- DATARMNET6f6efeaf61,DATARMNETcc0ef52ccb,DATARMNETf8de7cb644,DATARMNETdd6bf3de6b,
- DATARMNETfeaf903a28,DATARMNET767c76ca08,DATARMNET048727d1d9,DATARMNET43405942ed,
- DATARMNET2e68f4bd9f,DATARMNET0fa3506473,DATARMNETbb641cd339,DATARMNETf352684b06,
- DATARMNET62807647a4,DATARMNET3b5329031b,DATARMNETdfffcec2c8,DATARMNETf3110711cb}
- ;enum DATARMNET269385986c{DATARMNET5c4c7e20f2,DATARMNET95c85e6fe1,
- DATARMNET27fb9a225d,DATARMNETbbf8fe40aa,DATARMNETa7d45fb6d4,DATARMNET0acd775aa8,
- DATARMNET2217440c2e,DATARMNET6aecae7be2,DATARMNETf3dfa53867,DATARMNET0492ddb5d5}
- ;enum DATARMNETd751e3ec84{DATARMNETcc3c294f38,DATARMNET802083239a,
- DATARMNETed69052342,DATARMNETcfb1764a91,DATARMNET84a9e136b8,DATARMNET01bf75e27c,
- DATARMNETd45c383019,DATARMNETbb5757569c,DATARMNETc8058e2cff,DATARMNET04dac3a62b,
- DATARMNETdf6ecde77a,DATARMNET94658618fc,DATARMNET0d07041c32,DATARMNET3cef75f6cd}
- ;struct DATARMNETfd554c7eac{struct sk_buff*skb;struct DATARMNETfd554c7eac*next;}
- ;struct DATARMNET37ef896af8{struct work_struct DATARMNET33110a3ff5;struct
- rmnet_port*port;};struct DATARMNETe600c5b727{struct list_head
- DATARMNET3dc4262f53;u32 DATARMNETae196235f2;u32 qtail;u32 DATARMNET96571b28de;
- u32 DATARMNET4133fc9428;u32 seg;u8 DATARMNETef866573e0;u8 DATARMNET1e1f197118;u8
- DATARMNET72067bf727;};enum DATARMNETf0a06dc55a{DATARMNET1790979ccf,
- DATARMNETd5eb6398da,DATARMNETcd24fca747,DATARMNETe50d824af7,DATARMNET6b317c4c73,
- DATARMNET75d955c408,DATARMNETf3aaad06eb,DATARMNET720469c0a9,DATARMNET4510abc30d,
- DATARMNET23f8730007,DATARMNETb77d87790d,DATARMNETf783febe14,};enum
- DATARMNETc1d9e38720{DATARMNET0b15fd8b54,DATARMNET5b5927fd7e,DATARMNETba3049005f}
- ;enum DATARMNET4f392b0182{DATARMNET72cb00fdc0,DATARMNET443dab7031,
- DATARMNET96db46917c,DATARMNET89958f9b63,DATARMNET6d7a3a033a,DATARMNET16a68afc17,
- DATARMNET916f444e0a,DATARMNETe9a79499ac,DATARMNET89f4779456,DATARMNETa94c7e31a0,
- DATARMNET116c96c236,DATARMNET9da2ea4f74,DATARMNETe55953a107,DATARMNET43225b7a7c,
- DATARMNET4dbb6812b5,DATARMNETbf80eada88,DATARMNET26438cb654,DATARMNETa6d85c8497,
- DATARMNET650a0ef6e1,DATARMNET3e031f1532,DATARMNET9f467b9ce4,DATARMNETc154fd2d48,
- DATARMNET5874e1ecd7,DATARMNET4f09dc5794,DATARMNET11a1fd3964,DATARMNETf2fc7954d4,
- DATARMNET4e91ddb48a,DATARMNET16befe9635,DATARMNET856c53293b,DATARMNET7e63a08ad4,
- DATARMNETf7c8c7aa3f,DATARMNET08b6defcff,DATARMNETf5c836f9ae,DATARMNETdd870ee64c,
- DATARMNETf730f80f06,DATARMNET998c6de143,DATARMNETe7afce2292,DATARMNETe0fee0991a,
- DATARMNETbc2a6aea12,DATARMNETde91850c28,DATARMNET237e7bd5f6,DATARMNETf16e78412b,
- DATARMNET83147a2e7d,DATARMNET816bb1e327,DATARMNETf311f20c00,DATARMNETa2bd301af7,
- DATARMNET99640d60f7,DATARMNET562b7d32a8,DATARMNET0808844559,DATARMNET5410705c1c,
- DATARMNET022082b219,DATARMNETe4ee0d2636,DATARMNET23b8465daf,DATARMNET052f49b190,
- DATARMNETfb753e521e,DATARMNET64b02f64c6,DATARMNET576793621a,DATARMNETc262b24b02,
- DATARMNET4ebbc01257,DATARMNET595eed6ea2,DATARMNETde090e8314,DATARMNETa593d87b38,
- DATARMNET8a2898988b,DATARMNET0709c9f764,DATARMNETae009376be,DATARMNET5994bb1411,
- DATARMNET623224aa0a,DATARMNET94906cea05,};struct DATARMNETe2f668ccb4{u8
- DATARMNET42c3ecbd5e;u8 DATARMNET24fec1b9ad;u8 DATARMNETf58377e952;unsigned long
- DATARMNET5c98629e14;};extern struct DATARMNET37ef896af8 DATARMNET1731db288b;
- extern spinlock_t DATARMNETd83ee17944;extern spinlock_t DATARMNET3764d083f0;
- extern spinlock_t DATARMNETec2a4f5211;extern spinlock_t DATARMNETfbdbab2ef6;
- extern struct hlist_head DATARMNETe603c3a4b3[(0xd26+209-0xdf6)<<(
- DATARMNET25437d35fd)];extern int(*rmnet_shs_skb_entry)(struct sk_buff*skb,struct
- rmnet_shs_clnt_s*DATARMNET9e820fbfe3);extern int(*rmnet_shs_ll_skb_entry)(
- struct sk_buff*skb,struct rmnet_shs_clnt_s*DATARMNET9e820fbfe3);extern int(*
- rmnet_shs_switch)(struct sk_buff*skb,struct rmnet_shs_clnt_s*DATARMNET9e820fbfe3
- );void DATARMNET203752febd(void);void DATARMNET7520667b38(void);void
- DATARMNETa871eeb7e7(void);void DATARMNET8f9da46b14(void);int DATARMNET362b15f941
- (u16 cpu);void DATARMNETeacad8334e(void);void DATARMNETe1f95274f1(void);void
- DATARMNETaeb508acb0(void);unsigned int DATARMNET02cdd9b125(void);int
- DATARMNET310c3eb16e(u8 mask);int DATARMNETe02152c351(struct DATARMNET63d7680df2*
- DATARMNET63b1a086d5,u8 DATARMNETd87669e323,u8 DATARMNET5447204733,struct sk_buff
- **DATARMNETc88d0a6cdd);void DATARMNET4684d6c911(struct rmnet_map_pb_ind_hdr*
- DATARMNET4e61dda775);void DATARMNET78bb6be330(struct rmnet_map_dl_ind_hdr*dlhdr,
- struct rmnet_map_control_command_header*qcmd);void DATARMNETf61cd23b90(struct
- rmnet_map_dl_ind_trl*dltrl,struct rmnet_map_control_command_header*qcmd);void
- DATARMNET7ed4cef8a3(struct rmnet_map_dl_ind_hdr*dlhdr);void DATARMNET613a81eca8(
- struct rmnet_map_dl_ind_trl*dltrl);int DATARMNET756778f14f(struct sk_buff*skb,
- struct rmnet_shs_clnt_s*DATARMNET9e820fbfe3);void DATARMNETa4bf9fbf64(u8
- DATARMNET665469cfb6,u8 DATARMNET5447204733);void DATARMNETde8ee16f92(struct
- DATARMNET63d7680df2*DATARMNET63b1a086d5);void DATARMNET45d8cdb224(struct
- net_device*dev,struct net_device*vnd);void DATARMNET9297340f58(unsigned int
- DATARMNET9f4bc49c6f);void DATARMNET7f1d9480cb(void*port);void
- DATARMNETa4bd2ef52c(void*port);void DATARMNETe074a09496(void);void
- DATARMNET23c7ddd780(struct DATARMNET63d7680df2*DATARMNET63b1a086d5,u8
- DATARMNET5447204733);void DATARMNET349c3a0cab(u16 map_cpu,bool
- DATARMNETb639f6e1b1);void DATARMNETe767554e6e(struct sk_buff*skb);u32
- DATARMNETadb0248bd4(u8 DATARMNET42a992465f);
- #endif
|