Commit Graph

63 Commits

Author SHA1 Message Date
Rajeev Kumar
62d6736a1c qcacmn: Rename vStatus to linux style variable name
In scheduler core message processor rename camel case variable name
vStatus to qdf_status.

Change-Id: I2b22915269aad9583ab4a360b92938df3d976c66
CRs-Fixed: 2037960
2017-05-02 20:06:38 -07:00
Rajeev Kumar
7fb1969017 qcacmn: Rename pMsgWrapper to linux style variable name
In scheduler core message processor rename camel case variable name
pMsgWrapper to msg_wrapper.

Change-Id: Ica6715d9b14a807fdabc2da302de6ead4509aef8
CRs-Fixed: 2037958
2017-05-02 20:06:36 -07:00
Dustin Brown
e226cebdd2 qcacmn: Add Scheduler Watchdog Timer
In order to catch long running scheduler messages, start a watchdog
timer before processing each message, and stop the timer after each
message is processed. When the watchdog timer expires, immediately
crash the device in debug builds for easier debugging.

Change-Id: I4b43a9e12fc1f5b8a795fec790fe7548a100d9db
CRs-Fixed: 2037094
2017-04-26 17:01:52 -07:00
Rajeev Kumar
928e3ecad0 qcacmn: Add provision for flush callback in scheduler message
Add provision for flush callback in scheduler message such that
during driver unload scheduler can invoke the flush callback and
components can release the common object ref count which is taken
before posting the message.

Change-Id: I28490e18247239af27feef3a4b53e5080ab012fc
CRs-Fixed: 2034772
2017-04-18 17:13:14 -07:00
Rajeev Kumar
afc63bc8af qcacmn: Initialize scheduler_msg on stack before posting message
Initialize scheduler_msg on stack before posting using scheduler API
such that un-used fields in message structure are initialized to 0.

Change-Id: Ib3183b2c65eb9affd6610f4572c751c39a25fff7
CRs-Fixed: 2034772
2017-04-17 23:18:18 -07:00
Krunal Soni
c8039e3fa4 qcacmn: Validate existence of sch thread before posting a message
If scheduler thread thread doesn't exist or has been shutdown then
don't post a message otherwise it will cause a memory leak.

validate the existence of scheduler thread before posting a message.

Change-Id: Id0e75bdebc7db8c00d9efb8a6e8678491b21a20f
CRs-Fixed: 2031651
2017-04-17 20:47:26 -07:00
Rajeev Kumar
99a10d078d qcacmn: Do not allocate scheduler context dynamically
Scheduler context size is more than 400KB so run time memory
allocation may fail when system memory is fragmented. Do not
allocate scheduler context memory dynamcially instead allocate
it from .bss section.

Change-Id: I19ebd0689f81b971bde271e1a540952cf41a6cba
CRs-Fixed: 2020711
2017-03-16 19:14:46 -07:00
Krunal Soni
dce49ecf59 qcacmn: Deregister legacy & target queue callbacks upon scheduler down
Driver is missing couple of deregister handler while bringing down the
scheduler.

Change-Id: I99fe6e9a5d3cac800154945e41e707ebb7ee6396
CRs-Fixed: 2001133
2017-02-07 15:02:27 -08:00
Krunal Soni
ba5d80ca81 qcacmn: Initialize qid to qidx mapping to max value
By default qid to qidx mapping gets value zero as default
initialization which creates issue to identify whether zero
is valid or invalid index.

Initializing to maximum value will eliminate above mentioned
issue.

Change-Id: I4c0e2ba45e67fe6e167bd965bdb7ab901c3828a8
CRs-Fixed: 2001133
2017-02-07 15:02:26 -08:00
Vivek
315fe40bee qcacmn: Enable the scheduler based timer
Exporting the QDF timer API's required for enabling scheduler based timers.
Fixed the compilation issues when scheduler code is enabled.

Change-Id: I148bb17c361fdff101fab3711af3c0a6c4158963
CRs-Fixed: 1117366
2017-02-05 02:12:31 -08:00
Yuanyuan Liu
58cac671f3 qcacmn: decrement scheduler qidx count during deregister
Decrement scheduler qidx count during deregister.

Change-Id: Idabb59628aa9f493f17cfdc72aca1699e1b71e4d
CRs-Fixed: 1111374
2017-01-16 18:36:40 -08:00
Rajeev Kumar
73c05a8087 qcacmn: Add changes to detect if scheduler thread is stuck
Scheduler thread can get stuck because of many reasons like
mutex deadlock, resource starvation etc. Add changes to detect
if scheduler thread is stuck.

Change-Id: Ib9d4e3b240077464b3a51ab6be6af728cb845bfe
CRs-Fixed: 1107636
2017-01-10 18:20:24 -08:00
Rajeev Kumar
cd39549564 qcacmn: Rename control path scheduler from sch to scheduler
Legacy protocol engine already has a module name 'sch' rename
control path scheduler from sch to scheduler to avoid naming
conflict with protocol sch.

Change-Id: I94ce9aa5037aa75319aaad2287116462444c03f4
CRs-Fixed: 1105115
2016-12-27 16:37:34 -08:00