media: venus: hfi_venus: Write to VIDC_CTRL_INIT after unmasking interrupts
commitd74e481609
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:d96d3f30c0
("[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:
Родитель
6e9632a01e
Коммит
bd188d1e38
|
@ -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) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче