summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-02-17Merge branch 'LA.UM.9.1.R1.10.00.00.604.021' via branch 'qcom-msm-4.14' into ↵android-r-preview-4_r0.7android-msm-coral-4.14-r-preview-4Wilson Sung
android-msm-floral-4.14 Bug: 149660093 Change-Id: Ibc0260e3160dd1a4b421b2559312bc16a5c0c7d8 Signed-off-by: Wilson Sung <wilsonsung@google.com>
2020-01-26Merge bdc07671ca3f0f6e5d37f667ce028fe128636679 on remote branchLinux Build Service Account
Change-Id: I4963fd1150ba6ba5f2c21a2a28f35413c3c6fa6f
2020-01-16Merge c7a5aef3cb6d95bd0b307dce66df341be8a91a3d on remote branchLinux Build Service Account
Change-Id: I5fedc1f2bd670421ae29ca49b554005ce8efb05e
2020-01-10drivers: shs: Clear out pending core switch timers on cleanupSubash Abhinov Kasiviswanathan
In case there is a burst of data beyond a threshold, the core switch timer will try to schedule a worker once the timer expires. While the pending work is cleaned up on timer expiry, the pending timers itself are not cleared up. As part of this change, the core switch module parameter is reset on start of cleanup to ensure no more timers are configured during the cleanup. Fixes the following- 399.705316: <6> Modules linked in: rmnet_perf(O) [last unloaded: rmnet_shs] 399.734305: <2> pstate: 20400085 (nzCv daIf +PAN -UAO) 399.739251: <2> pc : rb_insert_color+0x10/0x168 399.743555: <2> lr : timerqueue_add+0x88/0xc0 400.413555: <2> Call trace: 400.416084: <2> rb_insert_color+0x10/0x168 400.420042: <2> enqueue_hrtimer+0x198/0x1c0 400.424081: <2> __hrtimer_run_queues+0x4e8/0x5b0 400.428568: <2> hrtimer_interrupt+0x108/0x350 400.432793: <2> arch_timer_handler_virt+0x40/0x50 400.437373: <2> handle_percpu_devid_irq+0x1dc/0x428 400.442122: <2> __handle_domain_irq+0xa0/0xf8 400.446345: <2> gic_handle_irq+0x154/0x1d4 400.450298: <2> el1_irq+0xb4/0x130 CRs-fixed: 2594249 Change-Id: I6e4a1982ce4665340cb1a75d0ec17d1db3f286fc Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2019-12-23Merge branch 'LA.UM.8.1.C9.09.00.00.518.343' via branch 'qcom-msm-4.14' into ↵android-r-preview-3_r0.7android-r-preview-2_r0.7android-msm-coral-4.14-r-preview-3android-msm-coral-4.14-r-preview-2Wilson Sung
android-msm-floral-4.14 Bug: 146759211 Change-Id: I594bc7e2ab1c248a53a1aa2f49604bc37bdab434 Signed-off-by: Wilson Sung <wilsonsung@google.com>
2019-12-18Merge 4eeda91ff12a1b561a65fa7d0d1a28d0b92d624b on remote branchLinux Build Service Account
Change-Id: I6feb6a89d841735476ea9e7cac86874bc0b55978
2019-12-10data-kernel: EMAC: Check NAPI before calling netif_rx_skbSunil Paidimarri
Changes to check if NAPI is enabled and then call netif_rx_skb, else follow the legacy way of calling netif_rx_ni. Acked-by: Abhishek Chauhan <abchauha@qti.qualcomm.com> Signed-off-by: Sunil Paidimarri <hisunil@codeaurora.org>
2019-12-05Fastforwarding data-kernel CRT:data.lnx.5.1-191205 to data.lnx.6.0Arnav Sharma
2019-12-04Merge "data-kernel: EMAC: emac cleanp"qctecmdr
2019-12-04data-kernel: EMAC: emac cleanpSuraj Jaiswal
THis change add support for proper cleanup for Ethernet on shutdown/reboot. Change-Id: I3545905ad8ad0e139cf49f489868c738fd699445
2019-11-29drivers: shs: Fix potential null dereference on page alloc failureSubash Abhinov Kasiviswanathan
Check before using page allocated for capabilities, gold flows and slow start flows. CRs-fixed: 2576578 Change-Id: I8f062004466447703c84912506af5963035c163c Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2019-11-29drivers: shs: Protect all file system operations using shs ep lockSubash Abhinov Kasiviswanathan
This add synchronization between the file system operations and the updates which occur within the shs workqueue. Fixes the following when there are two instances of userspace handlers running and are killed together- <6> Unable to handle kernel paging request at virtual address ffffffbfadadadb4 <2> pc : __free_pages+0x24/0xc0 <2> lr : free_pages+0x38/0x48 <2> Call trace: <2> __free_pages+0x24/0xc0 <2> free_pages+0x38/0x48 <2> rmnet_shs_release_caps+0x9c/0xb0 [rmnet_shs] <2> close_pdeo+0x94/0x120 <2> proc_reg_release+0x64/0x88 <2> __fput+0xdc/0x1d8 <2> ____fput+0x1c/0x28 <2> task_work_run+0x48/0xd0 <2> do_notify_resume+0x950/0x1160 <2> work_pending+0x8/0x14 CRs-fixed: 2576578 Change-Id: I67d1fc4d1f3c93d4497e988c2118c410091f0dd2 Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2019-11-28Merge "drivers: perf: Register/unregister on perf"qctecmdr
2019-11-27drivers: perf: Register/unregister on perfConner Huff
Before registering perf structures make sure it has not yet been registered before. Conversely, if deregistering perf, make sure that it was registered in the first place. Signed-off-by: Conner Huff <chuff@codeaurora.org> Change-Id: I00b89f45780161615b25faebfa70e79dde530c2f
2019-11-27data-kernel: rmnet: shs: Fix Errors Reported during Static Analysis.Chinmay Agarwal
Set the weights to be used in calculating "avg_pps", when the flow is executing on the Perf CPU's in function "rmnet_shs_wq_get_flow_avg_pps". Change-Id: Ia50db34a348c068a9b1bf3171fced858ce0a62de Signed-off-by: Chinmay Agarwal <chinagar@codeaurora.org>
2019-11-26data-kernel: Add io macro settings for emac core version 2.1.1Sunil Paidimarri
Change-Id: I7d661f7bb23e812783d61c63061e19f8e743efff Acked-by: Nisha Menon <nmenon@qti.qualcomm.com> Signed-off-by: Sunil Paidimarri <hisunil@codeaurora.org>
2019-11-25Merge "emac: Perf setting"qctecmdr
2019-11-22drivers: shs: limit size copied to cached flows array to avoid globar var ↵Subash Abhinov Kasiviswanathan
corruption Add limit to the number of flows copied into the gold flow and slow start flow arrays before memcpy to shared memory. Going out of bounds on the array write corrupted the global variables for the shared memory pointers. Fixes the following: [ 846.803490] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000081 [ 846.909206] Process kworker/4:1 (pid: 80, stack limit = 0xffffff800b670000) [ 846.916377] CPU: 4 PID: 80 Comm: kworker/4:1 Tainted: G S O 4.19.81+ #1 [ 846.930899] Workqueue: rmnet_shs_wq rmnet_shs_wq_process_wq [rmnet_shs] [ 846.942612] pc : rmnet_shs_wq_mem_update_cached_sorted_ss_flows+0x9c/0xf0 [rmnet_shs] [ 846.950657] lr : rmnet_shs_wq_eval_cpus_caps_and_flows+0x74/0x218 [rmnet_shs] Change-Id: Ifeee71e48fc61c4dd750eb061573beb88fcd2b7d Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2019-11-22drivers: shs: fix deadlock caused between generic netlink and rtnl locksSubash Abhinov Kasiviswanathan
Fix for a deadlock seen when trying to register the shs generic netlink family inside of the callback context of rtnl_netlink. Instead of running in the notifier's context, the generic netlink registration is moved to initialization of the kernel module. Fixes the following lock contention scenario: [ 3302.102281] Call trace: [ 3302.102332] __switch_to+0x108/0x118 [ 3302.102357] __schedule+0x8fc/0xcd8 [ 3302.102368] schedule_preempt_disabled+0x7c/0xa8 [ 3302.102384] __mutex_lock+0x444/0x660 [ 3302.102392] __mutex_lock_slowpath+0x10/0x18 [ 3302.102399] mutex_lock+0x30/0x38 mutex_lock(&rtnl_mutex); [ 3302.102422] rtnl_lock+0x14/0x20 rtnl_lock [ 3302.102448] nl80211_pre_doit+0x28/0x1a0 [ 3302.102465] genl_rcv_msg+0x3a4/0x408 [ 3302.102473] netlink_rcv_skb+0xa8/0x120 [ 3302.102481] genl_rcv+0x30/0x48 down_read(&cb_lock); [ 3302.102487] netlink_unicast+0x1ec/0x290 [ 3302.102496] netlink_sendmsg+0x2ec/0x348 [ 3302.102609] Call trace: [ 3302.102615] __switch_to+0x108/0x118 [ 3302.102624] __schedule+0x8fc/0xcd8 [ 3302.102630] schedule+0x70/0x90 [ 3302.102638] rwsem_down_write_failed+0x2bc/0x3c8 [ 3302.102644] down_write+0x4c/0x50 [ 3302.102652] genl_register_family+0xb4/0x650 down_write(&cb_lock); [ 3302.102818] rmnet_shs_wq_genl_init+0x1c/0x38 [rmnet_shs] [ 3302.102847] rmnet_shs_wq_init+0x218/0x328 [rmnet_shs] [ 3302.102873] rmnet_shs_dev_notify_cb+0x378/0x3e0 [rmnet_shs] [ 3302.102892] raw_notifier_call_chain+0x3c/0x68 [ 3302.102909] register_netdevice+0x374/0x560 [ 3302.102934] rmnet_vnd_newlink+0x6c/0xe8 [ 3302.102942] rmnet_newlink+0x9c/0x198 [ 3302.102950] rtnl_newlink+0x648/0x7b0 [ 3302.102960] rtnetlink_rcv_msg+0x270/0x388 mutex_lock(&rtnl_mutex); Change-Id: Ib71de0cb4617477cab40a7f42154584765e30c2b Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2019-11-22drivers: shs: fix null check before freeing slow start listSubash Abhinov Kasiviswanathan
Checks the correct pointer for null before freeing the associated page for slow start shared memory. Fixes the following: [ 2982.239281] Unable to handle kernel paging request at virtual address ffffffbfadadadb4 [ 2982.239512] pc : __free_pages+0x24/0xc0 [ 2982.239515] lr : free_pages+0x38/0x48 [ 2982.240605] Call trace: [ 2982.240609] __free_pages+0x24/0xc0 [ 2982.240613] free_pages+0x38/0x48 [ 2982.240632] rmnet_shs_release_ss_flows+0x38/0x58 [rmnet_shs] Change-Id: I1c61b8c9c89905e94c24f6836eaf1d7f56566162 Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2019-11-22Merge "drivers: rmnet_perf: Check for over pulling"qctecmdr
2019-11-21data-kernel: Micrel WOL & phy intrSuraj Jaiswal
Due to recent propogation ACK interrupt was removed. This can affect WOL & PHY intr. Added support. Change-Id: I0accb5b754971e9d9e2d58bbe3de15e71be73fe9
2019-11-20drivers: shs: Change allocation context of shs allocations within spin_lockSubash Abhinov Kasiviswanathan
The allocation of the shs memory for cpu and flow level stats is done is done in the atomic context due to the invocation of the spin_lock_irqsave which disables preemption. Fixes the following- 230.251419: <6> sleeping function called from invalid context at mm/slab.h:422 230.277265: <6> in_atomic(): 1, irqs_disabled(): 128, pid: 62, name: kworker/6:0 230.277267: <2> INFO: lockdep is turned off. 230.284504: <2> irq event stamp: 90 230.284514: <2> hardirqs last enabled at (89): [<ffffff9ddee82594>] _raw_spin_unlock_irq+0x34/0x68 230.284517: <2> hardirqs last disabled at (90): [<ffffff9ddee7b5a8>] __schedule+0x138/0x1128 230.284524: <2> softirqs last enabled at (0): [<ffffff9ddd8b7f24>] copy_process+0x60c/0x1c28 230.284525: <2> softirqs last disabled at (0): [<0000000000000000>] (null) 230.284526: <4> Preemption disabled at: 230.284535: <2> [<ffffff9d7fa2b63c>] rmnet_shs_wq_process_wq+0x18c/0x350 [rmnet_shs] 230.288129: <6> ------------[ cut here ]------------ 230.292958: <6> at kernel/sched/core.c:6786! 230.305980: <6> Internal error: Oops - BUG: 0 [#1] PREEMPT SMP 230.358297: <6> Process kworker/6:0 (pid: 62, stack limit = 0xffffff80083c0000) 230.365454: <6> CPU: 6 PID: 62 Comm: kworker/6:0 Tainted: G S O 4.19.81+ #1 230.379937: <6> Workqueue: rmnet_shs_wq rmnet_shs_wq_process_wq [rmnet_shs] 230.386741: <2> pc : ___might_sleep+0x204/0x208 230.401745: <2> lr : ___might_sleep+0x204/0x208 230.598414: <2> Call trace: 230.598419: <2> ___might_sleep+0x204/0x208 230.598420: <2> __might_sleep+0x50/0x88 230.598423: <2> kmem_cache_alloc_trace+0x74/0x420 230.598430: <2> rmnet_shs_wq_cpu_caps_list_add+0x64/0x118 [rmnet_shs] 230.598433: <2> rmnet_shs_wq_update_stats+0x4dc/0xea0 [rmnet_shs] 230.598435: <2> rmnet_shs_wq_process_wq+0x194/0x350 [rmnet_shs] 230.598438: <2> process_one_work+0x328/0x6b0 230.598439: <2> worker_thread+0x330/0x4d0 230.598441: <2> kthread+0x128/0x138 230.598443: <2> ret_from_fork+0x10/0x1c Also fixes structure padding of shared mem structs, which was causing memcpy overrun. CRs-Fixed: 2570479 Change-Id: Ia58b0bee544afb030353ad1d3cd45d8c16a94f75 Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2019-11-20drivers: rmnet_perf: Check for over pullingSean Tranchetti
Much like the core driver, we must check for the return value of rmnet_frag_pull() to ensure the descriptor is still valid before continuing to process it. Call Trace: __memcpy+0x68/0x180 rmnet_perf_core_send_desc+0x48/0x58 [rmnet_perf] rmnet_perf_opt_flush_single_flow_node+0x244/0x458 [rmnet_perf] rmnet_perf_tcp_opt_ingress+0x228/0x270 [rmnet_perf] rmnet_perf_opt_ingress+0x34c/0x3a0 [rmnet_perf] rmnet_perf_core_desc_entry+0x114/0x168 [rmnet_perf] Change-Id: I6665d7410bcdb6880af1ca20822328f81a2cc0ec Signed-off-by: Sean Tranchetti <stranche@codeaurora.org>
2019-11-19emac: Perf settingSuraj Jaiswal
This change add support in emac driver for required performance setting on Talos. Change-Id: I8facf4b72c624484cc4a75d34cd2cfcd5f95f42c
2019-11-14Merge "rmnet_shs: add userspace flow movement and slow start support"qctecmdr
2019-11-12Merge "drivers: rmnet_shs: Disable RPS for ICMP packets"qctecmdr
2019-11-12drivers: rmnet_shs: Disable RPS for ICMP packetsSubash Abhinov Kasiviswanathan
Previously ICMP packet would be ignored by SHS causing RPS to send them randomly to a CPU in the configured RPS mask. This would lead ICMP packets to being sent to gold cluster in some cases. This results in worse power performance and higher latency as gold cluster might have to be woken up from power collapse in order to process a single packet. This change causes SHS to instead mark the ICMP packet as having a valid hash but actually leaves the hash as null. This is interpreted by RPS as an invalid CPU and causes the packet to be processed on the current CPU. From various experiments rmnet to NW stack latency start seems to take on avg about ~.8ms longer for inter-cluster ping processing so queing to gold cluster is not advised. Additionally queueing to a separate silver core in the silver cluster only increased avg latency by about ~.01ms. Change-Id: I631061890b1edb03d2e680b7f6d19f310d838ed1 Acked-by: Raul Martinez <mraul@qti.qualcomm.com> Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2019-11-08Merge "data-kernel : EMAC: Fixing KW errors"qctecmdr
2019-11-07Merge "data-kernel: EMAC: Fix CRC error on bootup"qctecmdr
2019-11-06Merge "data-kernel: EMAC: ETH KW Errors solved"qctecmdr
2019-11-06data-kernel: EMAC: Fix CRC error on bootupSunil Paidimarri
Change-Id: Ifd30e9d98dd43e31a4c7e3fd804c5fe4426cfbb9 Acked-by: Rahul Kawadgave <rahulak@qti.qualcomm.com> Signed-off-by: Sunil Paidimarri <hisunil@codeaurora.org>
2019-11-06data-kernel: EMAC: ETH KW Errors solvedLakshit Tyagi
- Added check for NULL pointer access and initialized uninitalized variables. Change-Id: I84dfee37664407fd5a7d1303b0457ea241130cea Acked-by : Sneh Shah <snehshah@qti.qualcomm.com> Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
2019-11-06data-kernel: EMAc: add support for different phy chipsSuraj Jaiswal
This change add the phy check for the phy specific code. Change-Id: I28334df4cf16b6108afc7c44bf8e9623b22add98
2019-11-05data-kernel : EMAC: Fixing KW errorsSneh Shah
- Checking for null pointer dereference Change-Id: I163fa32cedbad9f9a6ab19e8371b2a043d7a8884 Signed-off-by: sneh shah <snehshah@codeaurora.org>
2019-11-04data-kernel: emac: Resolving EMAC crashLakshit Tyagi
- resolve EMAC crash caused due improper ip header handling Change-Id: Ia9d4249592a2a0dcfa492cd07dcf25fdf62f70e7 Signed-off-by: Lakshit Tyagi <ltyagi@codeaurora.org>
2019-11-04Merge "data-kernel: EMAC: suspend resume fix."qctecmdr
2019-11-04Merge "data-kernel: EMAC: Add hibernation mode support."qctecmdr
2019-10-31Merge e38653cf268b4e0d2d8f9d4235fa5f4c641399ff on remote branchLinux Build Service Account
Change-Id: I3bb37457557092e1e3007fd07cffed92834400c1
2019-10-30data-kernel: EMAC: Disable IPA for sa8155 autoLakshit Tyagi
IPA offload was getting enabled in Sa8155 for early ethernet. Disabling it while checking the correct config Change-Id: I4d165aea9dcbf6115218f21f99ff0968664aa2f7 Signed-off-by: Lakshit Tyagi <ltyagi@codeaurora.org>
2019-10-29data-kernel: EMAC: suspend resume fix.Suraj Jaiswal
This change help for suspend resume.With dev_pm_ops enabled legacy suspend/resume will never happend. Added support to provide the suspend/resume in dev_pm_ops. Change-Id: Ibc74407a90cc12605795222bc31586828caf3278
2019-10-29data-kernel: EMAC: Add hibernation mode support.Sunil Paidimarri
Update EMAC driver to support hibernation mode support. Bring down interface on hibernation mode and up on exi Change-Id: I20591969a56fb30c0a13be617f519bb43119f27d Acked-by: Rahul Kawadgave <rahulak@qti.qualcomm.com> Signed-off-by: Sunil Paidimarri <hisunil@codeaurora.org>
2019-10-28data-kernel: EMAC: Enable PPS configSunil Paidimarri
Enable PPS config. Change-Id: I1f89c965b0c6234211a059249c4ee1575fa4a3ce Acked-by: Rahul Kawadgave <rahulak@qti.qualcomm.com> Signed-off-by: Sunil Paidimarri <hisunil@codeaurora.org>
2019-10-25data-kernel: EMAC: PPS Timestamp methodSuraj Jaiswal
This change add support to changed the timestamp update method to Fine timestamp update method instead of Coarse Timestamp Update method since on driver we are using Fine method as default. Also , we are chaniging default PTP clock to 96Mhz to generate 19.2Mhz PPS frequency. Change-Id: Id5c4a22c0163b64762422df0cb3f1e0154515f60
2019-10-25data-kernel: EMAC: Enable PPS-LPASS connectivitySunil Paidimarri
Add new flag to the enable PPS-LPASS connectivity initialziation. Fix the ptp clock frequency initiazation too the. Change-Id: I8296306e9223a846a7c57d94231d05488121bcf4 CRs-Fixed: 2374673 Signed-off-by: Sunil Paidimarri <hisunil@codeaurora.org>
2019-10-25data-kernel: EMAC: Fix required PTP clock for accuracySunil Paidimarri
Fix the required PTP clock for accuracy.the Fix sub_second_increment and addend configuration. Change-Id: Ib2b68529d689c1d8c84aadf6a456df0abc77af8b Acked-by: Rahul Kawadgave <rahulak@qti.qualcomm.com> Signed-off-by: Sunil Paidimarri <hisunil@codeaurora.org>
2019-10-24emac: Enable sleep support for EMAC RXC clockChaitanya Pratapa
EMAC RXC clock is always sourced from PHY. If the GPIO used for RXC clock is multiplexed, there will be interrupt line routed towards GIC and it will be always enabled. As a result, device will never go to low power state. Make a change to disable GPIO pin used for RXC clock when defice goes to suspend and enable it back on resume. Change-Id: I83cab3f77ee05b12004a28f68529566de5fd1faa Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
2019-10-23rmnet_shs: add userspace flow movement and slow start supportSubash Abhinov Kasiviswanathan
Adds shared memory and generic netlink communication channels for userspace to access cpu and flow related stats so that shsusr can manage how flows are balanced and how TCP flows ramp up. Change-Id: Ie565141149fd5fa58cb1d2b982907681f5c7fd7d Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2019-10-21Fastforwarding data-kernel CRT:data.lnx.5.1-191021.3 to data.lnx.6.0Arnav Sharma
Change-Id: I1688b69628360b4f51d0e1286ecf445b9654ab81
2019-10-21Merge "emac: Add route to Local table"qctecmdr