summaryrefslogtreecommitdiffstats
path: root/security/commoncap.c
diff options
context:
space:
mode:
authorSugar Zhang <sugar.zhang@rock-chips.com>2020-06-29 22:05:45 +0800
committerVinod Koul <vkoul@kernel.org>2020-07-15 11:25:11 +0530
commit5fb9e3a3423313fe6169d5069e471bfdab6e0b79 (patch)
tree382abe72e4b6c4827604da254022fdfa8c3fe15e /security/commoncap.c
parent211138e680dc7597b79c10f8ff6c6a1e73d3408d (diff)
downloadlinux-stable-5fb9e3a3423313fe6169d5069e471bfdab6e0b79.tar.gz
linux-stable-5fb9e3a3423313fe6169d5069e471bfdab6e0b79.tar.bz2
linux-stable-5fb9e3a3423313fe6169d5069e471bfdab6e0b79.zip
dmaengine: pl330: Add quirk 'arm,pl330-periph-burst'
This patch adds the qurik to use burst transfers only for pl330 controller, even for request with a length of 1. Although, the correct way should be: if the peripheral request length is 1, the peripheral should use SINGLE request, and then notify the dmac using SINGLE mode by src/dst_maxburst with 1. For example, on the Rockchip SoCs, all the peripherals can use SINGLE or BURST request by setting GRF registers. it is possible that if these peripheral drivers are used only for Rockchip SoCs. Unfortunately, it's not, such as dw uart, which is used so widely, and we can't set src/dst_maxburst according to the SoCs' specific to compatible with all the other SoCs. So, for convenience, all the peripherals are set as BURST request by default on the Rockchip SoCs. even for request with a length of 1. the current pl330 driver will perform SINGLE transfer if the client's maxburst is 1, which still should be working according to chapter 2.6.6 of datasheet which describe how DMAC performs SINGLE transfers for a BURST request. Unfortunately, it's broken on the Rockchip SoCs, which support only matching transfers, such as BURST transfer for BURST request, SINGLE transfer for SINGLE request. Finally, we add the quirk to specify pl330 to use burst transfers only. Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com> Link: https://lore.kernel.org/r/1593439555-68130-5-git-send-email-sugar.zhang@rock-chips.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'security/commoncap.c')
0 files changed, 0 insertions, 0 deletions