aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorBryan O'Donoghue <bryan.odonoghue@linaro.org>2021-04-02 12:06:34 +0200
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2021-04-06 15:45:39 +0200
commit3f9acde81d6ed87399d4ac5a4f2e6174b17b82be (patch)
treeffc0a85c651d02b6ff539d7f49ed665e965608b2 /drivers/media
parentmedia: venus: core: Add an io base for AON regs (diff)
downloadlinux-dev-3f9acde81d6ed87399d4ac5a4f2e6174b17b82be.tar.xz
linux-dev-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')
-rw-r--r--drivers/media/platform/qcom/venus/core.c24
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)