| Commit message (Collapse) | Author | Age |
| ... | |
| | |/ / / / / / / / / /
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Enable Hardware based auto resonance calibration for LRA
mode for PM660.
Change-Id: Ic7902ba4b8665eda2623286dd0b1c3fdeb3895e5
Signed-off-by: Ankit Sharma <ansharma@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ \ \ |
|
| | |/ / / / / / / / / /
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
spcom_handle_lock_ion_buf_command() should decrement ref count,
that is incremented by ion_import_dma_buf().
Change-Id: Ic7f814bd2791b4dbcf6356f64ad32ee85c6cb103
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ \ \
| |_|_|/ / / / / / / /
|/| | | | | | | | | | |
|
| | | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Audio_notifier_late_init registers clients dependent on PDR to
correct service if registration to PDR on init fails.
There is a possible race condition when audio_notifier_late_init
and audio_notifier_register is called at same time. This may
cause manipulation of the same lists and critical data at the
same time. Add mutex lock to protect critical data.
CRs-Fixed: 2016927
Change-Id: Iec5190a93b390d46f47fd67fd79b1b83d7fe4b29
Signed-off-by: Rohit Kumar <rohitkr@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ \ \ |
|
| | | |_|/ / / / / / / /
| |/| | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
There is a chance that glink channel memory can be allocated multiple
times if wdsp_glink_ch_info_init() is called from multiple threads.
Avoid this scenario by protecting the private data structure.
Change-Id: I04fc19232b0f128b36a00dc1e73a3bed03664a93
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ \ \ |
|
| | | |_|_|_|/ / / / / /
| |/| | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
The variable cb_data is accessed from parallel threads where one thread
can free it anytime, this creates use after free scenerio.
To avoid use after free cases cb_data is freed only when kref count
goes to zero.
CRs-Fixed: 2023620
Change-Id: I74225fc61f8ede03a40ff35d2b963d90c0d4689f
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ \ \ |
|
| | | |_|_|/ / / / / / /
| |/| | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Explicitly clear the subsystem loading address in case of any
memory failure. It will help to avoid any platform dependency.
Change-Id: I3be8f6318d68f02c02e637fc34f4a868e9fafa45
Signed-off-by: Gaurav Kohli <gkohli@codeaurora.org>
|
| |/ / / / / / / / / /
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
This patch move qmi handle destruction in a new function which is
executed in a worker thread and PD notification is issued in
blocking call. This avoid issue of late PD notification due to
delay in qmi handle destruction.
Change-Id: I0c7efa336f7849ffde95143e3a0134ebb9e33022
Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ \ |
|
| | | |/ / / / / / / /
| |/| | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Initialize the local variable 'ret' which is returned
from the function.
Change-Id: Ie82e74ce55b622db924e353a6ea98323c7642fa6
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ \ |
|
| | |/ / / / / / / / /
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Client name allocated dynamically during the registration
is not freed at the time of unregistration. This is
leading to memory leak issue. This patch fixes the issue
by freeing up the client name during unregistartion time.
Change-Id: I0fe75ce71fdf0ee9a1268d52ac244047cc3413d7
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
|
| |/ / / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Free previously allocated memory in case of error to avoid
memory leak.
CRs-Fixed: 2022322
Change-Id: I297bd6ee1d75c039cacf8409b324c119f1b86875
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
The system runs into a "undefined instruction" error when first core waking
out of power collapse tries to wakeup a core by writing to a GIC register.
When waking out of reset, the GIC SRE bit is reset, and any accesses to the
GIC ICC registers would result in a "undefined instructions". When a first
waking out of reset writes to a console, the console task is now marked as
unnable by the scheduler. If the console task is running on a different
CPU, this would trigger a IRQ_WORK IPI to the target CPU. Since the core is
waking out of reset, its SRE bit is cleared and any access to the GIC ICC
registers results in an undefined instruction abort.
Fix by removing logging from the idle path.
Change-Id: I476d4a4d082bb115128e1f54c931558e79fec567
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
PIL boot failure if happened due to memory allocation failure then skip
clearing segments as there is nothing loaded in fw region.
Change-Id: If0c09dd47941be0d9fe42496db43365ece32f3e9
Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
|
| | | |_|_|_|_|/ / / /
| |/| | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
In existing implementation, we are clearing fw region when loading fails
midway. This is not in consonance with MBA design so differentiate
between modem and other PIL modules. While at it, rectify the data type
of subsys_state in qmi_client_info as well.
Change-Id: I985456fca42346947eac24df5bf66599dcbf4c53
Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ \
| |_|_|_|/ / / / / /
|/| | | | | | | | | |
|
| | |/ / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
spcom_device_read() should check that filp->private_data is not NULL
before using it.
CRs-Fixed: 2016948
Change-Id: I663d31e69b1f170c4a125705f1e1a1fde4ed098b
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Remove use_play_irq and use_sc_irq flags as they are not really
needed. Interrupts can be obtained and registered always. Keep
the play interrupt enabled only for buffer mode.
Change-Id: Ie530819ed18b048d43d59dd7a0dc5f73cc3a9b70
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Currently, the driver does read-modify-write to registers in so
many places. It would be better to have a masked_write API to do
this. This also needs a change in the mask definitions used in
all places where these writes are made. Also, create separate
functions that deals with a particular configuration so that they
can be reused later.
Change-Id: Ice07297b1542640e82c7adc12d323258440edb77
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Fix the order of parameters passed into read/write APIs to make
it more readable. While at it, add a pr_fmt() to the driver to
get better log information. Also, change all dev_* APIs to pr_*
APIs for better logging.
Change-Id: Ib19f48ddbaeeb3af483ac472dabb44558a6b9e43
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
| | | |_|/ / / / / /
| |/| | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Currently MISC_TRIM_ERROR_RC19P2_CLK register is hardcoded to
read the trim error in 19.2 MHz RC clock. However, this can be
located differently in some PMICs. Add support to read it from
misc device as this register cannot be directly accessed from
haptics driver.
Specify the MISC peripheral and the clock trim error register in
haptics for pmi8998 and pm660 so that haptics initial drive code
can be adjusted based on error code properly.
Change-Id: I04d8dbac0f943c65272531647c54d3c1495331e7
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ |
|
| | |/ / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
As pd_locator_work failed to locate Pd service, icnss is
unable to receive the PD events so shutdown never gets scheduled
and hence PD_RESTART bit is not set, with the FW_READY event if
PD_RESTART bit is not set icnss proceed to probe the wlan driver
Add a check to validate the wlan driver status before
calling wlan driver probe.
Change-Id: I15b09063154e87fb1574d2d2f1492da2ba84da3a
CRs-fixed: 2019254
Signed-off-by: Anurag Chouhan <achouhan@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ |
|
| | |/ / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
With the change 'commit 443b19badd47 ("icnss: Trigger recovery
only if PDR enabled")', wrong condition used to check if
PD restart not enabled. Correct the condition before
sending PD restart request.
Change-Id: I0729cebeb42d2c2b8e68f210ee9065f71a30cfad
CRs-fixed: 2018631
Signed-off-by: Anurag Chouhan <achouhan@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ |
|
| | |/ / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Using devm_ioremap instead of devm_ioremap_resource to map cx ipeak
register.
Change-Id: Ifbcab6112eef5b296040423c9d3590e7318ff9fd
Signed-off-by: Gaurav Kohli <gkohli@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ |
|
| | |/ / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Wakeup of tx thread is done in rx_worker non atomic context. Additionally,
rx_worker also process commands in non atomic context which require tx in
same context. This leads to deadlock situation, if the tx issued from
rx_worker non atomic context result in fifo full and go to sleep.
To avoid this deadlock situation now wakeup is called from a deferred
function.
CRs-Fixed: 2018003
Change-Id: Ibfd12f65340c7ac9a00956a014bc013401223c98
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
WLAN firmware responds with number of memory regions and starting
address of each as part of MSA info response. These memory
regions needs to be assigned with different hypervisor permission
based on secure_flag. Current code assumes that there will always
be 2 regions passed by WLAN FW but WLAN FW may pass only one
region to be mapped. Map the memory region based on number of
memory region passed by WLAN FW.
Change-Id: Ib62570a0851adb858b0f11959265ea9c0b42429e
CRs-fixed: 2021566
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
|
| | |_|/ / / / / / /
|/| | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Fix the symbol linking error for loadable kernel modules
which is using secure buffer hypervisor api for smmu configuration.
CRs-Fixed: 2019262
Change-Id: I3d83fd4b1854298c1283e03f220de8c673195492
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ |
|
| | | |/ / / / / / /
| |/| | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
QMI timeout bound to happen when a request sent over QMI and at
the same time WLAN PD down happens. Add logic to detect PD down
event and do not ASSERT in case WLAN PD down is detected.
Change-Id: I73916ac9040250cdae16fb9c1a2c67df9ef940d3
CRs-fixed: 2017507
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \
| |_|/ / / / / / /
|/| | | | | | | | |
|
| | |/ / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
In order to support multiple MHI devices connected
to same host we have, re-organize struct mhi_device_ctxt
such that all information related to device is included inside
struct mhi_device_ctxt. Created an abstract power management
layer to operate MHI in bus master, and slave mode. PCIe bus,
device, slot are extracted from DT to identify physical device.
CRs-Fixed: 1086301
Change-Id: I27a12b7412db75e4843794d80146ca7475b02fdc
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ |
|
| | |/ / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Fix the symbol linking error for loadable kernel modules
which is using qmi service to communicate with the Q6 processor.
CRs-Fixed: 2017892
Change-Id: Ie5a6bba7387567dbfef0cefdde14b8e0ee6b08e6
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
|
| |\ \ \ \ \ \ \ \
| |/ / / / / / /
|/| | | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Fix possible buffer overflow by reading 'resp->total_domains' from the
qmi response message since 'resp->total_domains' indicate total number
of matching domains found by servreg.
'resp->domain_list_len' indicates the domains that could be sent in one
response which should not be greater than 'resp->total_domains'.
CRs-Fixed: 2009016
Change-Id: I614561c5f9bc996689129bc098baaffc9b59c377
Signed-off-by: Puja Gupta <pujag@codeaurora.org>
|
| |\ \ \ \ \ \ \ \
| |/ / / / / / /
|/| | | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Update the driver to support PM660. PM660 add dedicated
register for auto-resonance control and a few other changes
to haptics configuration.
CRs-Fixed: 2016588
Change-Id: Ia9d65bc0a1169b5cba1c122d50d49c8102ac79f5
Signed-off-by: Ankit Sharma <ansharma@codeaurora.org>
|