media: venus: hfi_venus: Write to VIDC_CTRL_INIT after unmasking interrupts
commit d74e481609808330b4625b3691cf01e1f56e255e upstream. The startup procedure shouldn't be started with interrupts masked, as that may entail silent failures. Kick off initialization only after the interrupts are unmasked. Cc: stable@vger.kernel.org # v4.12+ Fixes: d96d3f30c0f2 ("[media] media: venus: hfi: add Venus HFI files") Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> Signed-off-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
25934d8f6e
commit
ab8c52977f
@ -453,7 +453,6 @@ static int venus_boot_core(struct venus_hfi_device *hdev)
|
||||
void __iomem *wrapper_base = hdev->core->wrapper_base;
|
||||
int ret = 0;
|
||||
|
||||
writel(BIT(VIDC_CTRL_INIT_CTRL_SHIFT), cpu_cs_base + VIDC_CTRL_INIT);
|
||||
if (IS_V6(hdev->core)) {
|
||||
mask_val = readl(wrapper_base + WRAPPER_INTR_MASK);
|
||||
mask_val &= ~(WRAPPER_INTR_MASK_A2HWD_BASK_V6 |
|
||||
@ -464,6 +463,7 @@ static int venus_boot_core(struct venus_hfi_device *hdev)
|
||||
writel(mask_val, wrapper_base + WRAPPER_INTR_MASK);
|
||||
writel(1, cpu_cs_base + CPU_CS_SCIACMDARG3);
|
||||
|
||||
writel(BIT(VIDC_CTRL_INIT_CTRL_SHIFT), cpu_cs_base + VIDC_CTRL_INIT);
|
||||
while (!ctrl_status && count < max_tries) {
|
||||
ctrl_status = readl(cpu_cs_base + CPU_CS_SCIACMDARG0);
|
||||
if ((ctrl_status & CPU_CS_SCIACMDARG0_ERROR_STATUS_MASK) == 4) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user