diff --git a/drivers/video/tegra/host/nvdla/dla_os_interface.h b/drivers/video/tegra/host/nvdla/dla_os_interface.h index 7903a016..5112f586 100644 --- a/drivers/video/tegra/host/nvdla/dla_os_interface.h +++ b/drivers/video/tegra/host/nvdla/dla_os_interface.h @@ -1,7 +1,7 @@ /* * NVDLA OS Interface * - * Copyright (c) 2016-2019, NVIDIA Corporation. All rights reserved. + * Copyright (c) 2016-2021, NVIDIA Corporation. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -138,6 +138,11 @@ #define DLA_MSG_UNUSED 6U #define DLA_MSG_DEBUG_PRINT 7U #define DLA_MSG_TASK_TIMEOUT 8U +/** + * Magic number expected to be written to mailbox0 after + * interuppt handling is complete + */ +#define DLA_MSG_INTERRUPT_HANDLING_COMPLETE 0xD1A0CAFE /** * Task descriptor for DLA_CMD_SUBMIT_TASK diff --git a/drivers/video/tegra/host/nvdla/nvdla.c b/drivers/video/tegra/host/nvdla/nvdla.c index e53152b9..749f0f4c 100644 --- a/drivers/video/tegra/host/nvdla/nvdla.c +++ b/drivers/video/tegra/host/nvdla/nvdla.c @@ -1,7 +1,7 @@ /* * NVDLA driver for T194 * - * Copyright (c) 2016-2020, NVIDIA Corporation. All rights reserved. + * Copyright (c) 2016-2021, NVIDIA Corporation. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -113,6 +113,8 @@ clear_interrupt: host1x_writel(pdev, flcn_thi_int_stat_r(), flcn_thi_int_stat_clr_f()); host1x_readl(pdev, flcn_thi_int_stat_r()); host1x_writel(pdev, flcn_irqsclr_r(), flcn_irqsclr_swgen1_set_f()); + /* Notify FW that interuppt handling is complete */ + host1x_writel(pdev, flcn_mailbox0_r(), DLA_MSG_INTERRUPT_HANDLING_COMPLETE); return 0; }