Loading offload/rmnet_offload_main.c +14 −10 Original line number Diff line number Diff line Loading @@ -39,6 +39,8 @@ static const char*DATARMNET9be3ddbe97[]__always_unused={ "\x49\x63\x62\x64\x62\x30\x34\x62\x62\x62\x38\x31\x61\x32\x36\x62\x61\x32\x62\x37\x31\x64\x37\x64\x39\x34\x35\x66\x62\x30\x39\x34\x61\x65\x39\x63\x37\x63\x64\x35\x30" , "\x49\x39\x35\x33\x30\x37\x35\x62\x30\x62\x36\x66\x65\x62\x34\x39\x33\x61\x35\x32\x61\x33\x36\x64\x33\x33\x32\x65\x63\x65\x35\x62\x64\x66\x35\x37\x31\x65\x34\x65\x36" , "\x49\x65\x32\x33\x63\x62\x66\x36\x31\x35\x35\x39\x34\x32\x35\x30\x66\x34\x31\x31\x61\x34\x66\x32\x37\x37\x66\x30\x64\x32\x35\x30\x65\x61\x61\x36\x66\x65\x64\x37\x65" ,};static DEFINE_SPINLOCK(DATARMNET0b5e447f18);static u32 DATARMNETcb7325e02d( struct DATARMNETd812bcdbb5*DATARMNET458b70e7e5){struct DATARMNET4287f07234* DATARMNET8814564ab9=&DATARMNET458b70e7e5->DATARMNET144d119066;__be32 Loading Loading @@ -229,18 +231,20 @@ DATARMNET645e8912b8;DATARMNET58a244b2fe(DATARMNET9d1b321642,DATARMNET5affe290b8) void*DATARMNETf0d9de7e2f){}void DATARMNET95e1703026(struct rmnet_map_dl_ind_hdr* DATARMNET7c7748ef7a,struct rmnet_map_control_command_header*DATARMNET8b07ee3e82) {struct DATARMNET70f3b87b5d*DATARMNETe05748b000=DATARMNETc2a630b113();(void) DATARMNET8b07ee3e82;if(DATARMNETe05748b000->DATARMNETa9f2b2f677. DATARMNETb165d2c5c4&&DATARMNETae70636c90())DATARMNETa00cda79d0( DATARMNET372ef39ae4);DATARMNETe05748b000->DATARMNETa9f2b2f677. DATARMNETb165d2c5c4=true;DATARMNETe05748b000->DATARMNETa9f2b2f677. DATARMNETe2251ce433=DATARMNET7c7748ef7a->le.seq;DATARMNETe05748b000-> DATARMNETa9f2b2f677.DATARMNET7f59b108db=DATARMNET7c7748ef7a->le.pkts;}void DATARMNETc9dd320f49(struct rmnet_map_dl_ind_trl*DATARMNET2541770fea,struct rmnet_map_control_command_header*DATARMNET8b07ee3e82){struct DATARMNET70f3b87b5d *DATARMNETe05748b000=DATARMNETc2a630b113();(void)DATARMNET8b07ee3e82;if( DATARMNET8b07ee3e82;DATARMNET664568fcd0();if(DATARMNETe05748b000-> DATARMNETa9f2b2f677.DATARMNETb165d2c5c4&&DATARMNETae70636c90()) DATARMNETa00cda79d0(DATARMNET372ef39ae4);DATARMNETe05748b000-> DATARMNETa9f2b2f677.DATARMNETb165d2c5c4=true;DATARMNETe05748b000-> DATARMNETa9f2b2f677.DATARMNETe2251ce433=DATARMNET7c7748ef7a->le.seq; DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNET7f59b108db=DATARMNET7c7748ef7a ->le.pkts;DATARMNET6a76048590();}void DATARMNETc9dd320f49(struct rmnet_map_dl_ind_trl*DATARMNET2541770fea,struct rmnet_map_control_command_header *DATARMNET8b07ee3e82){struct DATARMNET70f3b87b5d*DATARMNETe05748b000= DATARMNETc2a630b113();(void)DATARMNET8b07ee3e82;DATARMNET664568fcd0();if( DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNETe2251ce433!= DATARMNET2541770fea->seq_le)DATARMNETa00cda79d0(DATARMNET30a4d88ea6);if( DATARMNETae70636c90())DATARMNETa00cda79d0(DATARMNETa03ed3629e); DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNETb165d2c5c4=false; DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNETe2251ce433=(0xd2d+202-0xdf7); DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNET7f59b108db=(0xd2d+202-0xdf7);} DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNET7f59b108db=(0xd2d+202-0xdf7); DATARMNET6a76048590();} shs/rmnet_shs_config.c +2 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,8 @@ DATARMNET5fc54f7a13 __read_mostly={.notifier_call=DATARMNETe9173bbe0e,.priority= "\x49\x35\x65\x30\x32\x34\x66\x38\x66\x30\x64\x31\x61\x66\x61\x38\x36\x33\x37\x33\x35\x33\x62\x31\x64\x62\x38\x62\x65\x37\x37\x34\x35\x30\x65\x32\x31\x36\x39\x36\x32" , "\x49\x36\x39\x37\x38\x32\x62\x61\x63\x34\x30\x64\x38\x64\x32\x62\x39\x62\x61\x63\x39\x64\x61\x64\x30\x30\x65\x64\x30\x63\x66\x62\x65\x64\x30\x63\x37\x35\x32\x30\x32" , "\x49\x65\x64\x36\x62\x63\x38\x64\x37\x35\x36\x61\x65\x62\x65\x39\x39\x39\x65\x66\x64\x62\x30\x35\x61\x37\x37\x38\x39\x64\x36\x34\x36\x31\x31\x35\x64\x66\x35\x31\x39" };static int DATARMNET2cb9ae589c;int __init DATARMNET163e93649e(void){pr_info( "\x25\x73\x28\x29\x3a\x20\x53\x74\x61\x72\x74\x69\x6e\x67\x20\x72\x6d\x6e\x65\x74\x20\x53\x48\x53\x20\x6d\x6f\x64\x75\x6c\x65\x20\x25\x73\x20" "\n" ,__func__,DATARMNETbc8418e817[(0xd2d+202-0xdf7)]);trace_rmnet_shs_high( Loading shs/rmnet_shs_freq.c +54 −40 Original line number Diff line number Diff line Loading @@ -16,51 +16,65 @@ #include "rmnet_shs_freq.h" #include <linux/cpufreq.h> #include <linux/cpu.h> #include <linux/pm_qos.h> #define DATARMNET81fe789d21 INT_MAX #define DATARMNET3e06a1e794 (0xd2d+202-0xdf7) #define MIN_FREQ (0xd2d+202-0xdf7) #define DATARMNET59b491fbc9 DATARMNET81fe789d21 struct DATARMNET66fa8c4c30{unsigned int DATARMNET103c8d34fe;unsigned int struct cpu_freq{unsigned int DATARMNET103c8d34fe;unsigned int DATARMNET1159aa2cb6;};unsigned int DATARMNET666c9ff35e __read_mostly= (0xd26+209-0xdf6);module_param(DATARMNET666c9ff35e,uint,(0xdb7+6665-0x261c)); MODULE_PARM_DESC(DATARMNET666c9ff35e, "\x45\x6e\x61\x62\x6c\x65\x2f\x64\x69\x73\x61\x62\x6c\x65\x20\x66\x72\x65\x71\x20\x62\x6f\x6f\x73\x74\x20\x66\x65\x61\x74\x75\x72\x65" );struct workqueue_struct*DATARMNETde8f350999;struct DATARMNET4e6b0cd2b8{struct DATARMNET66fa8c4c30 __percpu*DATARMNET9dd9bc4abb;};static struct DATARMNET4e6b0cd2b8 DATARMNETc4b1be7898;static struct work_struct DATARMNETbfcbb4b8ac;static int DATARMNETb1e8f00240(struct notifier_block* DATARMNET272c159b3c,unsigned long val,void*data){return NOTIFY_OK;}static struct notifier_block DATARMNET50781dba43={.notifier_call=DATARMNETb1e8f00240,};static void DATARMNET13c1a83eb3(struct work_struct*DATARMNET33110a3ff5){unsigned int i ;get_online_cpus();for_each_online_cpu(i){cpufreq_update_policy(i);} put_online_cpus();}void DATARMNET82d7f4ffa2(void){struct DATARMNET66fa8c4c30* DATARMNETe24d518157;int i;for_each_possible_cpu(i){DATARMNETe24d518157= per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);DATARMNETe24d518157-> DATARMNET103c8d34fe=DATARMNET3e06a1e794;DATARMNETe24d518157->DATARMNET1159aa2cb6 =DATARMNET81fe789d21;}}void DATARMNETfb7007f025(void){struct DATARMNET66fa8c4c30 *DATARMNETe24d518157;int i;for_each_possible_cpu(i){if(((0xd26+209-0xdf6)<<i)& DATARMNETbc3c416b77)continue;DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898 .DATARMNET9dd9bc4abb,i);DATARMNETe24d518157->DATARMNET103c8d34fe= DATARMNET59b491fbc9;DATARMNETe24d518157->DATARMNET1159aa2cb6=DATARMNET81fe789d21 ;trace_rmnet_freq_boost(i,DATARMNETe24d518157->DATARMNET103c8d34fe);}if( work_pending(&DATARMNETbfcbb4b8ac))return;if(DATARMNETde8f350999)queue_work( DATARMNETde8f350999,&DATARMNETbfcbb4b8ac);}void DATARMNET371703c28d(void){struct DATARMNET66fa8c4c30*DATARMNETe24d518157;int i;for_each_possible_cpu(i){if(( cpu_freq __percpu*DATARMNET9dd9bc4abb;};static struct DATARMNET4e6b0cd2b8 DATARMNETc4b1be7898;static struct work_struct DATARMNETbfcbb4b8ac;static DEFINE_PER_CPU(struct freq_qos_request,DATARMNET17d6a9530a);static void DATARMNETb90d2272b4(struct work_struct*DATARMNET33110a3ff5){struct cpu_freq* DATARMNETe24d518157;unsigned int i;int ret;struct freq_qos_request* DATARMNETddcafd8b91;get_online_cpus();for_each_online_cpu(i){if(( (0xd26+209-0xdf6)<<i)&DATARMNETbc3c416b77)continue;DATARMNETe24d518157= per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);DATARMNETe24d518157-> DATARMNET103c8d34fe=DATARMNET3e06a1e794;DATARMNETe24d518157->DATARMNET1159aa2cb6 =DATARMNET81fe789d21;trace_rmnet_freq_reset(i,DATARMNETe24d518157-> DATARMNET103c8d34fe);}if(work_pending(&DATARMNETbfcbb4b8ac))return;if( DATARMNETde8f350999)queue_work(DATARMNETde8f350999,&DATARMNETbfcbb4b8ac);}int DATARMNETe6e8431304(void){DATARMNETc4b1be7898.DATARMNET9dd9bc4abb=alloc_percpu( struct DATARMNET66fa8c4c30);if(!DATARMNETc4b1be7898.DATARMNET9dd9bc4abb)return- ENOMEM;if(!DATARMNETde8f350999)DATARMNETde8f350999=alloc_workqueue( "\x73\x68\x73\x5f\x62\x6f\x6f\x73\x74\x5f\x77\x71",WQ_HIGHPRI,(0xd2d+202-0xdf7)) ;if(!DATARMNETde8f350999){free_percpu(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb); return-EFAULT;}INIT_WORK(&DATARMNETbfcbb4b8ac,DATARMNET13c1a83eb3);if( DATARMNET666c9ff35e)cpufreq_register_notifier(&DATARMNET50781dba43, CPUFREQ_POLICY_NOTIFIER);DATARMNET82d7f4ffa2();return(0xd2d+202-0xdf7);}int DATARMNETdf74db7e38(void){DATARMNET82d7f4ffa2();cancel_work_sync(& DATARMNETbfcbb4b8ac);if(DATARMNETde8f350999){destroy_workqueue( DATARMNETde8f350999);DATARMNETde8f350999=NULL;}if(DATARMNET666c9ff35e) cpufreq_unregister_notifier(&DATARMNET50781dba43,CPUFREQ_POLICY_NOTIFIER); free_percpu(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb);return(0xd2d+202-0xdf7);} per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);DATARMNETddcafd8b91=& per_cpu(DATARMNET17d6a9530a,i);ret=freq_qos_update_request(DATARMNETddcafd8b91, DATARMNETe24d518157->DATARMNET103c8d34fe);}put_online_cpus();}void DATARMNET82d7f4ffa2(void){struct cpu_freq*DATARMNETe24d518157;int i; for_each_possible_cpu(i){DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898. DATARMNET9dd9bc4abb,i);DATARMNETe24d518157->DATARMNET103c8d34fe=MIN_FREQ; DATARMNETe24d518157->DATARMNET1159aa2cb6=DATARMNET81fe789d21;}}void DATARMNETfb7007f025(void){struct cpu_freq*DATARMNETe24d518157;int i; for_each_possible_cpu(i){if(((0xd26+209-0xdf6)<<i)&DATARMNETbc3c416b77)continue; DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i); DATARMNETe24d518157->DATARMNET103c8d34fe=DATARMNET59b491fbc9;DATARMNETe24d518157 ->DATARMNET1159aa2cb6=DATARMNET81fe789d21;trace_rmnet_freq_boost(i, DATARMNET59b491fbc9);}if(work_pending(&DATARMNETbfcbb4b8ac))return;if( DATARMNETde8f350999){queue_work(DATARMNETde8f350999,&DATARMNETbfcbb4b8ac);}}void DATARMNET371703c28d(void){struct cpu_freq*DATARMNETe24d518157;int i; for_each_possible_cpu(i){if(((0xd26+209-0xdf6)<<i)&DATARMNETbc3c416b77)continue; DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i); DATARMNETe24d518157->DATARMNET103c8d34fe=MIN_FREQ;DATARMNETe24d518157-> DATARMNET1159aa2cb6=DATARMNET81fe789d21;trace_rmnet_freq_reset(i,MIN_FREQ);}if( work_pending(&DATARMNETbfcbb4b8ac))return;if(DATARMNETde8f350999)queue_work( DATARMNETde8f350999,&DATARMNETbfcbb4b8ac);}static void DATARMNET009d37d173(void) {struct freq_qos_request*DATARMNETddcafd8b91;int i;for_each_possible_cpu(i){ DATARMNETddcafd8b91=&per_cpu(DATARMNET17d6a9530a,i);freq_qos_remove_request( DATARMNETddcafd8b91);}}int DATARMNETe6e8431304(void){struct cpu_freq* DATARMNETe24d518157;int i;int ret=(0xd2d+202-0xdf7);struct freq_qos_request* DATARMNETddcafd8b91;struct cpufreq_policy*policy;DATARMNETc4b1be7898. DATARMNET9dd9bc4abb=alloc_percpu(struct cpu_freq);if(!DATARMNETc4b1be7898. DATARMNET9dd9bc4abb)return-ENOMEM;if(!DATARMNETde8f350999)DATARMNETde8f350999= alloc_workqueue("\x73\x68\x73\x5f\x62\x6f\x6f\x73\x74\x5f\x77\x71",WQ_HIGHPRI, (0xd2d+202-0xdf7));if(!DATARMNETde8f350999){ret=-ENOMEM;goto err;} for_each_possible_cpu(i){DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898. DATARMNET9dd9bc4abb,i);DATARMNETddcafd8b91=&per_cpu(DATARMNET17d6a9530a,i); policy=cpufreq_cpu_get(i);if(!policy){pr_err( "\x25\x73\x3a\x20\x63\x70\x75\x66\x72\x65\x71\x20\x70\x6f\x6c\x69\x63\x79\x20\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64\x20\x66\x6f\x72\x20\x63\x70\x75\x25\x64" "\n" ,__func__,i);return-ESRCH;}ret=freq_qos_add_request(&policy->constraints, DATARMNETddcafd8b91,FREQ_QOS_MIN,MIN_FREQ);if(ret<(0xd2d+202-0xdf7)){pr_err( "\x25\x73\x3a\x20\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x61\x64\x64\x20\x66\x72\x65\x71\x20\x63\x6f\x6e\x73\x74\x72\x61\x69\x6e\x74\x20\x28\x25\x64\x29" "\n" ,__func__,ret);return ret;}}INIT_WORK(&DATARMNETbfcbb4b8ac,DATARMNETb90d2272b4); DATARMNET82d7f4ffa2();return(0xd2d+202-0xdf7);err:DATARMNET82d7f4ffa2(); free_percpu(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb);if(DATARMNETde8f350999){ destroy_workqueue(DATARMNETde8f350999);DATARMNETde8f350999=NULL;}return ret;}int DATARMNETdf74db7e38(void){DATARMNET009d37d173();DATARMNET82d7f4ffa2(); cancel_work_sync(&DATARMNETbfcbb4b8ac);if(DATARMNETde8f350999){destroy_workqueue (DATARMNETde8f350999);DATARMNETde8f350999=NULL;}free_percpu(DATARMNETc4b1be7898. DATARMNET9dd9bc4abb);return(0xd2d+202-0xdf7);} Loading
offload/rmnet_offload_main.c +14 −10 Original line number Diff line number Diff line Loading @@ -39,6 +39,8 @@ static const char*DATARMNET9be3ddbe97[]__always_unused={ "\x49\x63\x62\x64\x62\x30\x34\x62\x62\x62\x38\x31\x61\x32\x36\x62\x61\x32\x62\x37\x31\x64\x37\x64\x39\x34\x35\x66\x62\x30\x39\x34\x61\x65\x39\x63\x37\x63\x64\x35\x30" , "\x49\x39\x35\x33\x30\x37\x35\x62\x30\x62\x36\x66\x65\x62\x34\x39\x33\x61\x35\x32\x61\x33\x36\x64\x33\x33\x32\x65\x63\x65\x35\x62\x64\x66\x35\x37\x31\x65\x34\x65\x36" , "\x49\x65\x32\x33\x63\x62\x66\x36\x31\x35\x35\x39\x34\x32\x35\x30\x66\x34\x31\x31\x61\x34\x66\x32\x37\x37\x66\x30\x64\x32\x35\x30\x65\x61\x61\x36\x66\x65\x64\x37\x65" ,};static DEFINE_SPINLOCK(DATARMNET0b5e447f18);static u32 DATARMNETcb7325e02d( struct DATARMNETd812bcdbb5*DATARMNET458b70e7e5){struct DATARMNET4287f07234* DATARMNET8814564ab9=&DATARMNET458b70e7e5->DATARMNET144d119066;__be32 Loading Loading @@ -229,18 +231,20 @@ DATARMNET645e8912b8;DATARMNET58a244b2fe(DATARMNET9d1b321642,DATARMNET5affe290b8) void*DATARMNETf0d9de7e2f){}void DATARMNET95e1703026(struct rmnet_map_dl_ind_hdr* DATARMNET7c7748ef7a,struct rmnet_map_control_command_header*DATARMNET8b07ee3e82) {struct DATARMNET70f3b87b5d*DATARMNETe05748b000=DATARMNETc2a630b113();(void) DATARMNET8b07ee3e82;if(DATARMNETe05748b000->DATARMNETa9f2b2f677. DATARMNETb165d2c5c4&&DATARMNETae70636c90())DATARMNETa00cda79d0( DATARMNET372ef39ae4);DATARMNETe05748b000->DATARMNETa9f2b2f677. DATARMNETb165d2c5c4=true;DATARMNETe05748b000->DATARMNETa9f2b2f677. DATARMNETe2251ce433=DATARMNET7c7748ef7a->le.seq;DATARMNETe05748b000-> DATARMNETa9f2b2f677.DATARMNET7f59b108db=DATARMNET7c7748ef7a->le.pkts;}void DATARMNETc9dd320f49(struct rmnet_map_dl_ind_trl*DATARMNET2541770fea,struct rmnet_map_control_command_header*DATARMNET8b07ee3e82){struct DATARMNET70f3b87b5d *DATARMNETe05748b000=DATARMNETc2a630b113();(void)DATARMNET8b07ee3e82;if( DATARMNET8b07ee3e82;DATARMNET664568fcd0();if(DATARMNETe05748b000-> DATARMNETa9f2b2f677.DATARMNETb165d2c5c4&&DATARMNETae70636c90()) DATARMNETa00cda79d0(DATARMNET372ef39ae4);DATARMNETe05748b000-> DATARMNETa9f2b2f677.DATARMNETb165d2c5c4=true;DATARMNETe05748b000-> DATARMNETa9f2b2f677.DATARMNETe2251ce433=DATARMNET7c7748ef7a->le.seq; DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNET7f59b108db=DATARMNET7c7748ef7a ->le.pkts;DATARMNET6a76048590();}void DATARMNETc9dd320f49(struct rmnet_map_dl_ind_trl*DATARMNET2541770fea,struct rmnet_map_control_command_header *DATARMNET8b07ee3e82){struct DATARMNET70f3b87b5d*DATARMNETe05748b000= DATARMNETc2a630b113();(void)DATARMNET8b07ee3e82;DATARMNET664568fcd0();if( DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNETe2251ce433!= DATARMNET2541770fea->seq_le)DATARMNETa00cda79d0(DATARMNET30a4d88ea6);if( DATARMNETae70636c90())DATARMNETa00cda79d0(DATARMNETa03ed3629e); DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNETb165d2c5c4=false; DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNETe2251ce433=(0xd2d+202-0xdf7); DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNET7f59b108db=(0xd2d+202-0xdf7);} DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNET7f59b108db=(0xd2d+202-0xdf7); DATARMNET6a76048590();}
shs/rmnet_shs_config.c +2 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,8 @@ DATARMNET5fc54f7a13 __read_mostly={.notifier_call=DATARMNETe9173bbe0e,.priority= "\x49\x35\x65\x30\x32\x34\x66\x38\x66\x30\x64\x31\x61\x66\x61\x38\x36\x33\x37\x33\x35\x33\x62\x31\x64\x62\x38\x62\x65\x37\x37\x34\x35\x30\x65\x32\x31\x36\x39\x36\x32" , "\x49\x36\x39\x37\x38\x32\x62\x61\x63\x34\x30\x64\x38\x64\x32\x62\x39\x62\x61\x63\x39\x64\x61\x64\x30\x30\x65\x64\x30\x63\x66\x62\x65\x64\x30\x63\x37\x35\x32\x30\x32" , "\x49\x65\x64\x36\x62\x63\x38\x64\x37\x35\x36\x61\x65\x62\x65\x39\x39\x39\x65\x66\x64\x62\x30\x35\x61\x37\x37\x38\x39\x64\x36\x34\x36\x31\x31\x35\x64\x66\x35\x31\x39" };static int DATARMNET2cb9ae589c;int __init DATARMNET163e93649e(void){pr_info( "\x25\x73\x28\x29\x3a\x20\x53\x74\x61\x72\x74\x69\x6e\x67\x20\x72\x6d\x6e\x65\x74\x20\x53\x48\x53\x20\x6d\x6f\x64\x75\x6c\x65\x20\x25\x73\x20" "\n" ,__func__,DATARMNETbc8418e817[(0xd2d+202-0xdf7)]);trace_rmnet_shs_high( Loading
shs/rmnet_shs_freq.c +54 −40 Original line number Diff line number Diff line Loading @@ -16,51 +16,65 @@ #include "rmnet_shs_freq.h" #include <linux/cpufreq.h> #include <linux/cpu.h> #include <linux/pm_qos.h> #define DATARMNET81fe789d21 INT_MAX #define DATARMNET3e06a1e794 (0xd2d+202-0xdf7) #define MIN_FREQ (0xd2d+202-0xdf7) #define DATARMNET59b491fbc9 DATARMNET81fe789d21 struct DATARMNET66fa8c4c30{unsigned int DATARMNET103c8d34fe;unsigned int struct cpu_freq{unsigned int DATARMNET103c8d34fe;unsigned int DATARMNET1159aa2cb6;};unsigned int DATARMNET666c9ff35e __read_mostly= (0xd26+209-0xdf6);module_param(DATARMNET666c9ff35e,uint,(0xdb7+6665-0x261c)); MODULE_PARM_DESC(DATARMNET666c9ff35e, "\x45\x6e\x61\x62\x6c\x65\x2f\x64\x69\x73\x61\x62\x6c\x65\x20\x66\x72\x65\x71\x20\x62\x6f\x6f\x73\x74\x20\x66\x65\x61\x74\x75\x72\x65" );struct workqueue_struct*DATARMNETde8f350999;struct DATARMNET4e6b0cd2b8{struct DATARMNET66fa8c4c30 __percpu*DATARMNET9dd9bc4abb;};static struct DATARMNET4e6b0cd2b8 DATARMNETc4b1be7898;static struct work_struct DATARMNETbfcbb4b8ac;static int DATARMNETb1e8f00240(struct notifier_block* DATARMNET272c159b3c,unsigned long val,void*data){return NOTIFY_OK;}static struct notifier_block DATARMNET50781dba43={.notifier_call=DATARMNETb1e8f00240,};static void DATARMNET13c1a83eb3(struct work_struct*DATARMNET33110a3ff5){unsigned int i ;get_online_cpus();for_each_online_cpu(i){cpufreq_update_policy(i);} put_online_cpus();}void DATARMNET82d7f4ffa2(void){struct DATARMNET66fa8c4c30* DATARMNETe24d518157;int i;for_each_possible_cpu(i){DATARMNETe24d518157= per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);DATARMNETe24d518157-> DATARMNET103c8d34fe=DATARMNET3e06a1e794;DATARMNETe24d518157->DATARMNET1159aa2cb6 =DATARMNET81fe789d21;}}void DATARMNETfb7007f025(void){struct DATARMNET66fa8c4c30 *DATARMNETe24d518157;int i;for_each_possible_cpu(i){if(((0xd26+209-0xdf6)<<i)& DATARMNETbc3c416b77)continue;DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898 .DATARMNET9dd9bc4abb,i);DATARMNETe24d518157->DATARMNET103c8d34fe= DATARMNET59b491fbc9;DATARMNETe24d518157->DATARMNET1159aa2cb6=DATARMNET81fe789d21 ;trace_rmnet_freq_boost(i,DATARMNETe24d518157->DATARMNET103c8d34fe);}if( work_pending(&DATARMNETbfcbb4b8ac))return;if(DATARMNETde8f350999)queue_work( DATARMNETde8f350999,&DATARMNETbfcbb4b8ac);}void DATARMNET371703c28d(void){struct DATARMNET66fa8c4c30*DATARMNETe24d518157;int i;for_each_possible_cpu(i){if(( cpu_freq __percpu*DATARMNET9dd9bc4abb;};static struct DATARMNET4e6b0cd2b8 DATARMNETc4b1be7898;static struct work_struct DATARMNETbfcbb4b8ac;static DEFINE_PER_CPU(struct freq_qos_request,DATARMNET17d6a9530a);static void DATARMNETb90d2272b4(struct work_struct*DATARMNET33110a3ff5){struct cpu_freq* DATARMNETe24d518157;unsigned int i;int ret;struct freq_qos_request* DATARMNETddcafd8b91;get_online_cpus();for_each_online_cpu(i){if(( (0xd26+209-0xdf6)<<i)&DATARMNETbc3c416b77)continue;DATARMNETe24d518157= per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);DATARMNETe24d518157-> DATARMNET103c8d34fe=DATARMNET3e06a1e794;DATARMNETe24d518157->DATARMNET1159aa2cb6 =DATARMNET81fe789d21;trace_rmnet_freq_reset(i,DATARMNETe24d518157-> DATARMNET103c8d34fe);}if(work_pending(&DATARMNETbfcbb4b8ac))return;if( DATARMNETde8f350999)queue_work(DATARMNETde8f350999,&DATARMNETbfcbb4b8ac);}int DATARMNETe6e8431304(void){DATARMNETc4b1be7898.DATARMNET9dd9bc4abb=alloc_percpu( struct DATARMNET66fa8c4c30);if(!DATARMNETc4b1be7898.DATARMNET9dd9bc4abb)return- ENOMEM;if(!DATARMNETde8f350999)DATARMNETde8f350999=alloc_workqueue( "\x73\x68\x73\x5f\x62\x6f\x6f\x73\x74\x5f\x77\x71",WQ_HIGHPRI,(0xd2d+202-0xdf7)) ;if(!DATARMNETde8f350999){free_percpu(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb); return-EFAULT;}INIT_WORK(&DATARMNETbfcbb4b8ac,DATARMNET13c1a83eb3);if( DATARMNET666c9ff35e)cpufreq_register_notifier(&DATARMNET50781dba43, CPUFREQ_POLICY_NOTIFIER);DATARMNET82d7f4ffa2();return(0xd2d+202-0xdf7);}int DATARMNETdf74db7e38(void){DATARMNET82d7f4ffa2();cancel_work_sync(& DATARMNETbfcbb4b8ac);if(DATARMNETde8f350999){destroy_workqueue( DATARMNETde8f350999);DATARMNETde8f350999=NULL;}if(DATARMNET666c9ff35e) cpufreq_unregister_notifier(&DATARMNET50781dba43,CPUFREQ_POLICY_NOTIFIER); free_percpu(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb);return(0xd2d+202-0xdf7);} per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);DATARMNETddcafd8b91=& per_cpu(DATARMNET17d6a9530a,i);ret=freq_qos_update_request(DATARMNETddcafd8b91, DATARMNETe24d518157->DATARMNET103c8d34fe);}put_online_cpus();}void DATARMNET82d7f4ffa2(void){struct cpu_freq*DATARMNETe24d518157;int i; for_each_possible_cpu(i){DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898. DATARMNET9dd9bc4abb,i);DATARMNETe24d518157->DATARMNET103c8d34fe=MIN_FREQ; DATARMNETe24d518157->DATARMNET1159aa2cb6=DATARMNET81fe789d21;}}void DATARMNETfb7007f025(void){struct cpu_freq*DATARMNETe24d518157;int i; for_each_possible_cpu(i){if(((0xd26+209-0xdf6)<<i)&DATARMNETbc3c416b77)continue; DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i); DATARMNETe24d518157->DATARMNET103c8d34fe=DATARMNET59b491fbc9;DATARMNETe24d518157 ->DATARMNET1159aa2cb6=DATARMNET81fe789d21;trace_rmnet_freq_boost(i, DATARMNET59b491fbc9);}if(work_pending(&DATARMNETbfcbb4b8ac))return;if( DATARMNETde8f350999){queue_work(DATARMNETde8f350999,&DATARMNETbfcbb4b8ac);}}void DATARMNET371703c28d(void){struct cpu_freq*DATARMNETe24d518157;int i; for_each_possible_cpu(i){if(((0xd26+209-0xdf6)<<i)&DATARMNETbc3c416b77)continue; DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i); DATARMNETe24d518157->DATARMNET103c8d34fe=MIN_FREQ;DATARMNETe24d518157-> DATARMNET1159aa2cb6=DATARMNET81fe789d21;trace_rmnet_freq_reset(i,MIN_FREQ);}if( work_pending(&DATARMNETbfcbb4b8ac))return;if(DATARMNETde8f350999)queue_work( DATARMNETde8f350999,&DATARMNETbfcbb4b8ac);}static void DATARMNET009d37d173(void) {struct freq_qos_request*DATARMNETddcafd8b91;int i;for_each_possible_cpu(i){ DATARMNETddcafd8b91=&per_cpu(DATARMNET17d6a9530a,i);freq_qos_remove_request( DATARMNETddcafd8b91);}}int DATARMNETe6e8431304(void){struct cpu_freq* DATARMNETe24d518157;int i;int ret=(0xd2d+202-0xdf7);struct freq_qos_request* DATARMNETddcafd8b91;struct cpufreq_policy*policy;DATARMNETc4b1be7898. DATARMNET9dd9bc4abb=alloc_percpu(struct cpu_freq);if(!DATARMNETc4b1be7898. DATARMNET9dd9bc4abb)return-ENOMEM;if(!DATARMNETde8f350999)DATARMNETde8f350999= alloc_workqueue("\x73\x68\x73\x5f\x62\x6f\x6f\x73\x74\x5f\x77\x71",WQ_HIGHPRI, (0xd2d+202-0xdf7));if(!DATARMNETde8f350999){ret=-ENOMEM;goto err;} for_each_possible_cpu(i){DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898. DATARMNET9dd9bc4abb,i);DATARMNETddcafd8b91=&per_cpu(DATARMNET17d6a9530a,i); policy=cpufreq_cpu_get(i);if(!policy){pr_err( "\x25\x73\x3a\x20\x63\x70\x75\x66\x72\x65\x71\x20\x70\x6f\x6c\x69\x63\x79\x20\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64\x20\x66\x6f\x72\x20\x63\x70\x75\x25\x64" "\n" ,__func__,i);return-ESRCH;}ret=freq_qos_add_request(&policy->constraints, DATARMNETddcafd8b91,FREQ_QOS_MIN,MIN_FREQ);if(ret<(0xd2d+202-0xdf7)){pr_err( "\x25\x73\x3a\x20\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x61\x64\x64\x20\x66\x72\x65\x71\x20\x63\x6f\x6e\x73\x74\x72\x61\x69\x6e\x74\x20\x28\x25\x64\x29" "\n" ,__func__,ret);return ret;}}INIT_WORK(&DATARMNETbfcbb4b8ac,DATARMNETb90d2272b4); DATARMNET82d7f4ffa2();return(0xd2d+202-0xdf7);err:DATARMNET82d7f4ffa2(); free_percpu(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb);if(DATARMNETde8f350999){ destroy_workqueue(DATARMNETde8f350999);DATARMNETde8f350999=NULL;}return ret;}int DATARMNETdf74db7e38(void){DATARMNET009d37d173();DATARMNET82d7f4ffa2(); cancel_work_sync(&DATARMNETbfcbb4b8ac);if(DATARMNETde8f350999){destroy_workqueue (DATARMNETde8f350999);DATARMNETde8f350999=NULL;}free_percpu(DATARMNETc4b1be7898. DATARMNET9dd9bc4abb);return(0xd2d+202-0xdf7);}