diff options
author | Liu Ying <victor.liu@nxp.com> | 2019-11-01 13:07:35 +0800 |
---|---|---|
committer | Dong Aisheng <aisheng.dong@nxp.com> | 2019-11-25 15:58:02 +0800 |
commit | c33e9faa20ed9dd310c221edbbd86c5699f651a8 (patch) | |
tree | e27a0117d1549680cd8534ef842527646099236f | |
parent | 3f00d5aa73fdd2257b3d3a9ac782d54625c5446d (diff) |
gpu: imx: dpu: fetchunit: Add helper for TKT343664 to fixup burst size
This patch adds helper fetchunit_burst_size_fixup_tkt343664() for
TKT343664 to fixup burst size.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
-rw-r--r-- | drivers/gpu/imx/dpu/dpu-fetchunit.c | 13 | ||||
-rw-r--r-- | include/video/dpu.h | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/imx/dpu/dpu-fetchunit.c b/drivers/gpu/imx/dpu/dpu-fetchunit.c index 66aa75bd6bd6..a002c603836d 100644 --- a/drivers/gpu/imx/dpu/dpu-fetchunit.c +++ b/drivers/gpu/imx/dpu/dpu-fetchunit.c @@ -26,6 +26,19 @@ #define CONSTANTCOLOR(n) (0x30 + (n) * 0x28) #define LAYERPROPERTY(n) (0x34 + (n) * 0x28) +/* base address has to align to burst size */ +unsigned int fetchunit_burst_size_fixup_tkt343664(dma_addr_t baddr) +{ + unsigned int burst_size; + + burst_size = 1 << (ffs(baddr) - 1); + burst_size = round_up(burst_size, 8); + burst_size = min(burst_size, 128U); + + return burst_size; +} +EXPORT_SYMBOL_GPL(fetchunit_burst_size_fixup_tkt343664); + void fetchunit_shden(struct dpu_fetchunit *fu, bool enable) { u32 val; diff --git a/include/video/dpu.h b/include/video/dpu.h index ad9d30453a89..83b3ca63b058 100644 --- a/include/video/dpu.h +++ b/include/video/dpu.h @@ -567,6 +567,7 @@ u32 dpu_vproc_get_fetcheco_cap(u32 cap_mask); u32 dpu_vproc_get_hscale_cap(u32 cap_mask); u32 dpu_vproc_get_vscale_cap(u32 cap_mask); +unsigned int fetchunit_burst_size_fixup_tkt343664(dma_addr_t baddr); void fetchunit_shden(struct dpu_fetchunit *fu, bool enable); void fetchunit_baddr_autoupdate(struct dpu_fetchunit *fu, u8 layer_mask); void fetchunit_shdldreq_sticky(struct dpu_fetchunit *fu, u8 layer_mask); |