Restrict printing of kernel virtual addresses in SPS driver.
In debug code, %p is used to print virtual addresses of
kernel objects, which can be exploited by attackers. It is
replaced with %pK, which hides these values if kptr_restrict
is set (default on Android).
Change-Id: I57585fa655abc01b2e8d694c8f31b7617bbf4ec7
Signed-off-by: Jishnu Prakash <jprakash@codeaurora.org>
Add the IPC logging for SPS driver, which helps monitoring the
interactions between BAM clients and SPS driver and helps
tracking the BAM status.
Change-Id: Ic713acf8052da2725b5d0d870073dc0787acd0fb
Signed-off-by: Yan He <yanhe@codeaurora.org>
BAM uses pipe memory for BAM-to-BAM connnections. OCIMEM is one of
memory types for pipe memory. Add the support for OCIMEM in this
change.
Change-Id: Ifc6fe537060d2c4120a03222cb419f463c7b4ab0
Signed-off-by: Yan He <yanhe@codeaurora.org>
Add the support for new BAM HW features and LPAE.
1. Replace data types of physical addresses of descriptor
and data with phys_addr_t.
2. Replace sps_transfer_one() function u32 addr argument
to phys_addr_t addr.
3. Add new MSB registers address support for LPAE.
4. Add support for two new PIPE level ERROR IRQs which
can be enable or disable by client.
5. Add support to read the BAM PIPEs attributed to
specific EE.
6. Add the option for BAM Clients to specify whether
enable or disable some HW features of their BAMs.
Change-Id: If41e3d5e7e8333d7076d924dbae06caa126a1694
Signed-off-by: Dipen Parmar <dipenp@codeaurora.org>
Enable SPS functionalities (including BAM, BAM DMA and pipe memory)
on MDM 9x25.
Change-Id: Id5295922dd87ebad5e87efa27eff0dc4b2b837ae
Signed-off-by: Yan He <yanhe@codeaurora.org>
The driver controls the SPS hardware DMA to move data in the following
modes:
1. Peripheral-to-Peripheral
2. Peripheral-to-Memory
3. Memory-to-Memory
This driver complies to BAM hardware version#2.
Change-Id: I1b2b503893cf6891b47201da0f44a47ce7511ece
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
Signed-off-by: Kenneth Heitke <kheitke@codeaurora.org>