summaryrefslogtreecommitdiff
path: root/drivers/soc (follow)
Commit message (Collapse)AuthorAge
...
* | | | | soc: hab: fix uninitialized variable and relocate vchan refcntYajun Li2018-10-30
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Init hab msg pointer to avoid accessing an uninitialized pointer. The format specifier "%p" can leak kernel addresses. Use "%pK" instead. Check the status of the pfn_table, because of wrong pagetable coming from the corresponding hab client unexpectedly. Change-Id: Ic8c6ba0243d27007d014165f2869a5775a96c09d Signed-off-by: Yajun Li <yajunl@codeaurora.org>
* | | | icnss: NULL terminate the fw build timestamp stringYuanyuan Liu2018-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If fw build timestamp passed by QMI is a non-NULL terminated string, it might result in a out-of-bounds read in icnss_get_soc_info. Hence, manually NULL terminate the string. Change-Id: I252196cd12784d841b29303c42591efc59da64f1 CRs-Fixed: 2322317 Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
* | | | Merge "soc: qcom: Remove smp2p test support"Linux Build Service Account2018-10-24
|\ \ \ \
| * | | | soc: qcom: Remove smp2p test supportHardik Arya2018-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Smp2p test code is used internally to test the functionality of drivers and has no real use case in end product. Change-Id: I7a50c077bb71068188b5411424c5782b3d0edbb7 Signed-off-by: Hardik Arya <harya@codeaurora.org>
* | | | | Merge "soc: qcom: hab: add rx queue empty check after getting the lock"Linux Build Service Account2018-10-23
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | soc: qcom: hab: add rx queue empty check after getting the lockYong Ding2018-10-23
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Need to do empty check again when we have the lock of the rx queue of a given virtual channel. Without this check, it is possible that the list head of the queue will be wrongly taken as a valid message node if the valid message has already been fetched by some other thread. Change-Id: I65f73acd86fe2fb709e2af2ffeaa42581b4168ca Signed-off-by: Yong Ding <yongding@codeaurora.org>
* | | | Merge "soc: qcom: audio: use global lock for single hab socket"Linux Build Service Account2018-10-22
|\ \ \ \ | |/ / / |/| | |
| * | | soc: qcom: audio: use global lock for single hab socketErin Yan2018-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Need use one global lock to prevent multiple threads visit single hab socket at same time, as hab can't guarantee that the coming message is received by the right thread. Change-Id: I43eca3c1f7010c651612fff949b867e2269a2977 Signed-off-by: Erin Yan <xinyey@codeaurora.org>
* | | | soc: hab: add size checking when hab import bufferYajun Li2018-10-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the input size of import buffer isn't equal to the real size of this buffer, hab should reject this import function. Change-Id: I184a0752d37e9f1bf6a8705ccf8f2fdfd6796d5e Signed-off-by: Yajun Li <yajunl@codeaurora.org>
* | | | soc: hab: recycle mmid from qcpe to videoShiju Mathew2018-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new mmid for video and other minor logging and efficiency fixes. Change-Id: I0ebbfadff76e7efb7f9afff9896dadf1bd8df9a1 Signed-off-by: Shiju Mathew <shijum@codeaurora.org>
* | | | Merge "soc: msm: add sensor dsp dynamic calibration support for anc"Linux Build Service Account2018-10-09
|\ \ \ \
| * | | | soc: msm: add sensor dsp dynamic calibration support for ancTimothy Sham2018-09-25
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Add Sensor DSP dynamic calibration support for Active Engine Noise Cancellation (ANC). Change-Id: Ibca0b039a80fde890f43116aaa646104e8ab9b6e Signed-off-by: Timothy Sham <tsham@codeaurora.org>
* | | | Merge "soc: qcom: subsystem_notif_virt: Add a NULL check and fix a data type"Linux Build Service Account2018-10-09
|\ \ \ \
| * | | | soc: qcom: subsystem_notif_virt: Add a NULL check and fix a data typeAnant Goel2018-10-08
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A NULL pointer check is added to prevent a NULL pointer exception. A data type is fixed to prevent a type conversion before an error check. Change-Id: If4f6f70c8770ad48432e466e1b6a7e9bf4b62258 Signed-off-by: Anant Goel <anantg@codeaurora.org>
* | | | Merge "soc: hab: refine codes to support multi import"Linux Build Service Account2018-10-09
|\ \ \ \
| * | | | soc: hab: refine codes to support multi importYajun Li2018-10-07
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make HAB clients have chance to import the same export id to fd and uva before unimport happens. Change-Id: I59fdc701dcdc086e58865fa216b10f9fe6a45e29 Signed-off-by: Yajun Li <yajunl@codeaurora.org>
* | | | soc: qcom: hab: fix the leak risk in hab_vchan_getYao Jiang2018-10-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When getting a vchan after receiving a message, it has probability that this vchan is closed concurrently. So when refcount is increased by kref_get_unless_zero, but flag vchan->otherend_closed or vchan->closed is true at this time, it will return vchan as NULL, and the hab_vchan_put will not be called in hab_msg_rev. So adjust the timing here can avoid the leak risk. Change-Id: If78c1c41bc4fd05b3288c0324bb9e0aed8493c5f Signed-off-by: Yao Jiang <yaojia@codeaurora.org>
* | | | soc: qcom: hab: replace kref_get with kref_get_unless_zeroYao Jiang2018-10-07
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | If refcount was 0 before increment, it maybe has a race condition that this kref is freeing by some other thread right now. In this case we should not increments refcount, so replace with kref_get_unless_zero. Change-Id: Ic15eaefc111770a966094d05b19eca2a04d52fc2 Signed-off-by: Yao Jiang <yaojia@codeaurora.org>
* | | Merge "soc: qcom: hab: fix the soft lockup in vchan free schedule"Linux Build Service Account2018-10-03
|\ \ \
| * | | soc: qcom: hab: fix the soft lockup in vchan free scheduleYao Jiang2018-10-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With a certain probability soft lockup when do hab vchan free schedule. one vchan do the local hab close while another vchan in the same context through softirq also try to acquire write lock in the free schedule at the same time, it will cause watchdog bite. Disable local softirq could avoid race condition handling between tasklet and process context. Change-Id: I4ee9b980dab7ecb1986af1d61f70157fc30d1048 Signed-off-by: Yao Jiang <yaojia@codeaurora.org>
* | | | Merge "soc: hab: change lifecycle of exp_id from vchan to ctx"Linux Build Service Account2018-10-03
|\ \ \ \
| * | | | soc: hab: change lifecycle of exp_id from vchan to ctxYajun Li2018-09-26
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To make sure unexport/unimport the same buffer successfully in different threads from export/import function, only check pchan's validation, instead of vchan id. Change-Id: I3203f198c37e8b169090d8f93d92e87bbd4cdb6e Signed-off-by: Yajun Li <yajunl@codeaurora.org>
* / / / soc: hab: fix mmap failure issue when hab importYajun Li2018-09-27
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | If hab client import the same buffer with different size, only checking pages_list->index is not enough, so add the buffer size checking. Change-Id: I92d16d124e69131cee9b81a49dc9fa02075a96b6 Signed-off-by: Yajun Li <yajunl@codeaurora.org>
* | | Merge "soc: qcom: fix race condition while freeing private data"Linux Build Service Account2018-09-26
|\ \ \
| * | | soc: qcom: fix race condition while freeing private dataAshish Jain2018-09-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WDSP private data structure is freed in wdsp_glink_release() but some of the member variables like work_queue pointer is accessed even after free. Fix this issue by making sure that glink callback functions are finished execution before freeing up wdsp private data structure. Change-Id: Ia4dd9d667109168874dc9188d70741cb9541b0c6 Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org> Signed-off-by: Ashish Jain <ashishj@codeaurora.org>
* | | | Merge "soc: hab: add more return error checking"Linux Build Service Account2018-09-25
|\ \ \ \ | |_|/ / |/| | |
| * | | soc: hab: add more return error checkingYajun Li2018-09-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the exported buffer has been freed in other threads, dma_buf_get maybe return error, therefore need error checking here. Change-Id: Ic1674cada8dc6e0d6b09d75abf695a68896b8bff Signed-off-by: Yajun Li <yajunl@codeaurora.org>
* | | | Merge "msm: gvmq: avoid uninitialized access for data member"Linux Build Service Account2018-09-21
|\ \ \ \
| * | | | msm: gvmq: avoid uninitialized access for data memberVenkata Rao Kakani2018-09-21
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolve Uninitalized access of data member with initialization of same. Change-Id: Ie2ba7ac47e55e55daf6e1dc3b8c8ce73a20320de Signed-off-by: Venkata Rao Kakani <vkakani@codeaurora.org>
* | | | Merge "icnss: Add check for rejuvenate in fw_down"Linux Build Service Account2018-09-21
|\ \ \ \
| * | | | icnss: Add check for rejuvenate in fw_downAnurag Chouhan2018-09-19
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, fw_down is not getting set in case of rejuvenate since the qmi server never exit or arrive in case of rejuvenate. Add ICNSS_REJUVENATE flag to take care of rejuvenate. Change-Id: If85e8048cbad9a15e1c94af1c8d0012e004e6150 Signed-off-by: Anurag Chouhan <achouhan@codeaurora.org>
* / / / soc: hab: add bootmarker for hab driverYajun Li2018-09-19
|/ / / | | | | | | | | | | | | | | | | | | | | | To measure the boot kpi of hab driver,so add bootmarker in hab_init function Change-Id: Ib755e77e7a6768d028279331c4bf3e92c10141a4 Signed-off-by: Yajun Li <yajunl@codeaurora.org>
* | | Merge "drivers: soc: qcom: qcpe: Fix return values"Linux Build Service Account2018-09-18
|\ \ \
| * | | drivers: soc: qcom: qcpe: Fix return valuesAmit Blay2018-09-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some of the SCM APIs implememnted by the QCPE front end, some return values were not propagated correctly. Change-Id: I2b0aa7f5511eac384db82a65b380a5d964514e57 Signed-off-by: Amit Blay <ablay@codeaurora.org>
* | | | soc: qcom: glink: Fix not sending READ_NOTIF command issueArun Kumar Neelakantam2018-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "tx_blocked_signal_sent" flag is not reset correctly after receiving the interrupt from the remote side. Hence further READ_NOTIF commands are not written into FIFO in FIFO full case. Reset the "tx_blocked_signal_sent" correctly after write space available in FIFO. CRs-Fixed: 2175526 Change-Id: I236da2a2b984b3f3cce8400b50f72ce1016d7e40 Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
* | | | Merge "soc: qcom: hab: add IRQF_NO_SUSPEND to irq flags."Linux Build Service Account2018-09-17
|\ \ \ \ | |_|/ / |/| | |
| * | | soc: qcom: hab: add IRQF_NO_SUSPEND to irq flags.Yimin Peng2018-09-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The virtclk can disable clocks by hab in suspend flow. If hab irq is disabled then, the power manage task will stick in uninterruptable hab receive function. Change-Id: I780ecede7494346953f5f77d665dd77c2cc6d28a Signed-off-by: Yimin Peng <yiminp@codeaurora.org>
* | | | Merge "soc: qcom: socinfo: Add support for SDM455 soc-id"Linux Build Service Account2018-09-14
|\ \ \ \ | |_|/ / |/| | |
| * | | soc: qcom: socinfo: Add support for SDM455 soc-idTeng Fei Fan2018-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add socinfo support for SDM455 Soc and update the bindings fot the same. Change-Id: I9b30795e202d84ae06020983b2d656772fb4f313 Signed-off-by: Teng Fei Fan <tengfei@codeaurora.org>
* | | | soc: qcom: secure_buffer: Fix the parameter passing to dmac_flush_rangeZhenhua Huang2018-09-13
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For "chunk_list + chunk_list_len", if the chunk_list is type of u32*, the chunk_list_len will be 4 * of original size. So we flushed a wrong area size. In some condition like we enabled CONFIG_DEBUG_PAGEALLOC, it may flush out of page bound of the invalid pte page. Fix it by manually convert it as void* when doing the addition. CRs-Fixed: 2309993 Change-Id: I2b88d78ba73d9904fa2bf6106937001715b6037f Signed-off-by: Zhenhua Huang <zhenhuah@codeaurora.org>
* | | soc: qcom: glink_spi_xprt: Validate fifo read index of remote sideHardik Arya2018-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since message received from spi cannot be trusted there is possibility of out-of-bound read if received read_id is not in range of fifo. The patch validate rx_fifo_read index of edge info for remote side. Change-Id: I3d3fa749935f477e5f98f986adc24e6e6a682d4d Signed-off-by: Hardik Arya <harya@codeaurora.org>
* | | Merge "audio: qdsp6v2: check EINTR when retry for habmm_socket_recv"Linux Build Service Account2018-09-06
|\ \ \
| * | | audio: qdsp6v2: check EINTR when retry for habmm_socket_recvTony Han2018-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HAB returns -EINTR instead of -EAGAIN to request a retry from the habmm_socket_recv() call. Change-Id: I61bcef5c11048a3947b8079d1591937d7b83602a Signed-off-by: Tony Han <xiahan@codeaurora.org>
* | | | soc: qcom: subsystem_notif_virt: Fix error condition checkAnant Goel2018-09-05
| |/ / |/| | | | | | | | | | | | | | | | | | | | An error check casts an integer to a pointer. Fix the error check so that the integer is not casted to a pointer. Change-Id: Ib15634745cc2243e4fe54557d6670956d8349e93 Signed-off-by: Anant Goel <anantg@codeaurora.org>
* | | icnss: Add a flag to indicare FW rejuvenateAnurag Chouhan2018-08-30
|/ / | | | | | | | | | | | | | | | | | | Add a flag to maintain fw rejuvenate state, set if fw rejuvenate happens and reset at fw ready. export an API to the wlan host driver to distinguish the case of ssr or pdr with the FW rejuventae. Change-Id: I7a01cc4996f68f78aa13eacf36648331a701882a Signed-off-by: Anurag Chouhan <achouhan@codeaurora.org>
* | Merge "soc: qcom: subsystem_notif_virt: Added support for virtual subsystems"Linux Build Service Account2018-08-28
|\ \
| * | soc: qcom: subsystem_notif_virt: Added support for virtual subsystemsAnant Goel2018-08-27
| | | | | | | | | | | | | | | | | | | | | | | | The driver is modified to allow communication between a virtual subsystem, and its native clients. Change-Id: I40854327431f3691f76df9d781dbd0a24090594e Signed-off-by: Anant Goel <anantg@codeaurora.org>
* | | Merge "icnss: Clear ICNSS_MSA0_ASSIGNED flag in cap failure case"Linux Build Service Account2018-08-27
|\ \ \ | |/ / |/| |
| * | icnss: Clear ICNSS_MSA0_ASSIGNED flag in cap failure caseHardik Kantilal Patel2018-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During capability qmi message failure ICNSS_MSA0_ASSIGNED flag is not getting clear. Due to this after PDR/SSR next time it is not configuring the MSA0 permission to q6 which result into NOC error as q6 is not having access permission. To address above issue clear ICNSS_MSA0_ASSIGNED bit in failure case. CRs-Fixed: 2300877 Change-Id: I6aeaedb5a394b843c4f1c8ef1e0be47a6947b331 Signed-off-by: Hardik Kantilal Patel <hkpatel@codeaurora.org>
* | | soc: qcom: hab: fix the incompatible pointer initialization warningYong Ding2018-08-23
|/ / | | | | | | | | | | | | | | Such warning of "initialization from incompatible pointer type" is found in the build time, and it's good to fix it. Change-Id: Iaf820ae7ec4a7851185febbdebaaab3706fb2402 Signed-off-by: Yong Ding <yongding@codeaurora.org>