diff options
author | Bryan O'Donoghue <bryan.odonoghue@linaro.org> | 2021-04-02 12:06:34 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab+huawei@kernel.org> | 2021-04-06 15:45:39 +0200 |
commit | 3f9acde81d6ed87399d4ac5a4f2e6174b17b82be (patch) | |
tree | ffc0a85c651d02b6ff539d7f49ed665e965608b2 /drivers/media/platform/qcom | |
parent | e6dd8c3adf433a5ba4911d06c94e30324150283d (diff) | |
download | linux-stable-3f9acde81d6ed87399d4ac5a4f2e6174b17b82be.tar.gz linux-stable-3f9acde81d6ed87399d4ac5a4f2e6174b17b82be.tar.bz2 linux-stable-3f9acde81d6ed87399d4ac5a4f2e6174b17b82be.zip |
media: venus: core: Hook to V6 base registers when appropriate
This commit points the IO base registers 6xx offsets when probing for 6xx
hardware.
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers/media/platform/qcom')
-rw-r--r-- | drivers/media/platform/qcom/venus/core.c | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c index 58d04a2c2ba7..f5b88b96f5f7 100644 --- a/drivers/media/platform/qcom/venus/core.c +++ b/drivers/media/platform/qcom/venus/core.c @@ -210,13 +210,23 @@ err: static void venus_assign_register_offsets(struct venus_core *core) { - core->vbif_base = core->base + VBIF_BASE; - core->cpu_base = core->base + CPU_BASE; - core->cpu_cs_base = core->base + CPU_CS_BASE; - core->cpu_ic_base = core->base + CPU_IC_BASE; - core->wrapper_base = core->base + WRAPPER_BASE; - core->wrapper_tz_base = 0; - core->aon_base = 0; + if (IS_V6(core)) { + core->vbif_base = core->base + VBIF_BASE; + core->cpu_base = core->base + CPU_BASE_V6; + core->cpu_cs_base = core->base + CPU_CS_BASE_V6; + core->cpu_ic_base = core->base + CPU_IC_BASE_V6; + core->wrapper_base = core->base + WRAPPER_BASE_V6; + core->wrapper_tz_base = core->base + WRAPPER_TZ_BASE_V6; + core->aon_base = core->base + AON_BASE_V6; + } else { + core->vbif_base = core->base + VBIF_BASE; + core->cpu_base = core->base + CPU_BASE; + core->cpu_cs_base = core->base + CPU_CS_BASE; + core->cpu_ic_base = core->base + CPU_IC_BASE; + core->wrapper_base = core->base + WRAPPER_BASE; + core->wrapper_tz_base = 0; + core->aon_base = 0; + } } static int venus_probe(struct platform_device *pdev) |