SPI data transfer can happen during suspend due to race
conditions leading to NOC issues. Synchronize data transfer
and suspend to fix this issue.
Change-Id: Ia5b4d0d16d9bf4fa4a4b73e3509a7d04b45d843f
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
On some platforms, WCD SPI bus can be shared with other processors
(ex: sensor processor). In such cases, there is need for software
to arbitrate the bus control. Add functionality to perform SPI bus
arbitration.
Change-Id: I7df933f55ac5035a55173a04e74b74f7af1f7ece
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
In wcd-spi driver, the kzalloc is used to allocate memory for TX and
RX buffer. Those allocations are order4 or order5, which could fail
on some kernels. To avoid potential memory allocation failure, the CMA
region is used for those allocations by dma_alloc_coherent API.
Change-Id: I0a4d6c6b5e0e47f96187563272e63c3a006e469f
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
Switch audio drivers to SPDX identifier on msm-4.19.
Change-Id: Ic3f0230a516db251b8d81e8a7e73dbc04d66fe1b
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Currently, for some small (1/4/8 bytes) transfers, the driver uses
on-stack memory to perform the transfer. This is not safe as the
underlying master/dma driver could try to map/dma this memory.
Change makes sure to never use on-stack memory for any transfers.
Change-Id: I6b157e26ea7ca9f865004a87153c658756f6c368
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
It is possible that the spi transfer that clears the clock request
on the slave may fail. In such case, it is not safe to assume that
the clock request is still enabled as it can cause failures for
further spi transfers if the clock request is cleared. Fix such
issues by resetting the clock state in the driver even the clock
request clearing fails.
CRs-Fixed: 2169087
Change-Id: I699e72b59b4cb049dfacaa190823796a545f2dbb
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
Variable 'status' is used without initialization.
Initialize it to the right value.
Change-Id: I7f43d8905d8192e5f308e9fd00a52eb531f2f698
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
Propagate the changes based on latest snapshot
for audio kernel source tree at below cutoff of
kernel msm-4.9 -
(040750bfa78 -
"Revert "ARM: dts: msm: Add DT node for aop-qmp
clock controller on SDM845 v2"")
CRs-Fixed: 2104096
Change-Id: I0927c40b3a188dbf892e7ec4c1c7810953724929
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>