dma_zalloc_coherent() is no longer needed and get deprecated as it has
no users because dma_alloc_coherent() already zeroes out memory for us.
Change-Id: Ibd49d7afce8caaa7b2b6aed61884b307674f9a59
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
When checking if a domain is a atomic or not, the driver code
will take the bitwise AND of the 64-bit domain attributes field
and a bitmask with bit 32 set. This value is then implicitly cast
to an int, which truncates the upper 32 bits--losing the bit
that indicates if the domain is atomic or not--and based on
that int, we determine if the domain is atomic, which will
vacuously be false.
Instead, check if the bitwise AND operation yields a non-zero
value when determining if a domain is atomic or not to prevent
any truncation errors.
Change-Id: I96753035b47b848bc4d1e8029c8f3f46e03f8c67
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Signed-off-by: George Shen <sqiao@codeaurora.org>
In the LAN rx data path the status packet was parsed twice
but in the second time it parsed not all the info was needed.
So we added a function that is tailored for that scenario
to improve performance.
Acked-by: Tal Gelbard <tgelbard@qti.qualcomm.com>
Change-Id: I8a1755ba62cee4147941b5949c2b223fe76415b2
Signed-off-by: Amir Levy <alevy@codeaurora.org>
Added a flag in the 11ad driver to indicate if NAPI is
enabled in the LAN RX Datapath. In case the flag is true
the 11ad driver will now use napi_gro_receive instead of
netif_rx_ni, meaning the GRO feature is also enabled
with this change.
Acked-by: Tal Gelbard <tgelbard@qti.qualcomm.com>
Change-Id: I5c6cb3e08c29c4b79cdcbc9e4d3acb485156a607
Signed-off-by: Amir Levy <alevy@codeaurora.org>
Add debug log to show which CPU dai is not registered
during bootup.
Change-Id: Ia6324edec64ff6e7ee08a0b292259c8ffb70d20e
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Because of not updated mask and shift value, IPA HW not able to
process the forcce close command and asserting with invalid command
offset. Add changes to update mask and shift values for aggregation
force close register.
Change-Id: I19164a32c6a5d49fb005c4a09eb95a23a5d4b6ec
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
During IPA shutdown the allocation for memory request fails.
Add changes in IPA to not sleep while memory allocation.
Change-Id: I0adb09e32970ff1d67c3249bb9d3c9dbdc970a8a
Signed-off-by: Praveen Kurapati <pkurapat@codeaurora.org>
Add a missing dma_unmap_single() that was accidentally deleted when adding
tracepoints in the secure_buffer driver.
Change-Id: I8159bee354b4debffb2a55165d2e543d5979daff
Signed-off-by: Chris Goldsworthy <cgoldswo@codeaurora.org>
Lazily initialize qcom_smc_convention with a wrapper. Required for
SCM calls that occur before qcom_scm probe time.
Change-Id: I408b7ac6efc62b7e88846bc4769d66fccf2e7c0a
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Enable legacy calling convention in qcom_scm-64. Add enum to represent
current calling convention being used. Update is_call_available to use
legacy function numbers when using legacy convention.
Change-Id: I4aa1364f219d4db68c03023e63009a53326ecca5
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Copy/paste legacy SCM driver into qcom_scm-64 with the following notes:
- Renamed qcom_scm_call in qcom_scm-32 to qcom_scm_call_legacy in the
copy.
- Renamed qcom_scm_call_atomic in qcom_scm 32 to
qcom_scm_call_atomic_legacy in the copy.
- Rename __qcom_scm_call_smccc to qcom_scm_call_smccc.
- Filled in implementations set_cold_boot_addr, set_warm_boot_addr, and
cpu_power_down from qcom_scm-32.c.
- set_dload_mode, io_writel, io_readl now use atomic variants as in
qcom_scm-32.
Change-Id: Ifa72ded7d6150bef08c6a0451d422b0782e8320a
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Add this unused parameter to reduce merge friction between SMCCC and
legacy based conventions.
Change-Id: Ie31b220d751ae08430b3e89d41de0217e5213435
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Downstream SCM driver legacy atomic calling convention supports up to 5
arguments and 3 return values. Create one function to support this
combination.
Change-Id: I516d920e00d6da99a1f8290c2ed8654c75f268f9
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
- Move SMCCC register filling to qcom_scm_call so that qcom_scm_call_do
only needs to concern itself with retry mechanism.
- Use arm_smccc_args struct in atomic variants as well.
Change-Id: I435d974724118943084f618f63fffb1109d1cfe0
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Use qcom_scm_desc in non-atomic calls to remove legacy convention
details from every SCM wrapper function.
Change-Id: I6962d86b0a8edcedf0d7fe7700794aa8bfdac430
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Improve the calling convention detection to use qcom_scm_call_atomic
and not blindly assume 32-bit mode if the checks fails.
__qcom_scm_is_call_available() cannot be used directly here as we want
an atomic variant of is_call_available(). This is also a necessary
requirement later when merging in legacy convention.
Change-Id: I66beec550d05afde6c680d256183e8ad207d7268
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
qcom_scm_call_smccc should be responsible for converting qcom_scm_desc
into arguments for smc call. Consolidate the dispersed logic to convert
qcom_scm_desc into smc arguments inside qcom_scm_call_smccc.
Change-Id: Ieae23c5fc6c77dbd76ef28dc4040b0f64de872c0
Signed-off-by: Elliot Berman <eberman@codeaurora.org>