diff --git a/drivers/video/tegra/host/nvdla/dla_os_interface.h b/drivers/video/tegra/host/nvdla/dla_os_interface.h index 1dc1bc5e..b74c6d8b 100644 --- a/drivers/video/tegra/host/nvdla/dla_os_interface.h +++ b/drivers/video/tegra/host/nvdla/dla_os_interface.h @@ -174,6 +174,7 @@ struct dla_task_descriptor { uint64_t address_list; uint16_t num_addresses; uint16_t status; + uint64_t timeout; } __attribute__ ((packed, aligned(4))); struct dla_action_list { diff --git a/drivers/video/tegra/host/nvdla/nvdla_ioctl.c b/drivers/video/tegra/host/nvdla/nvdla_ioctl.c index 0c699664..6ba180f8 100644 --- a/drivers/video/tegra/host/nvdla/nvdla_ioctl.c +++ b/drivers/video/tegra/host/nvdla/nvdla_ioctl.c @@ -518,6 +518,7 @@ static int nvdla_fill_task(struct nvhost_queue *queue, task->num_in_task_status = local_task->num_input_task_status; task->num_out_task_status = local_task->num_output_task_status; task->num_addresses = local_task->num_addresses; + task->timeout = local_task->timeout; /* assign memory for local task action lists and buf handles */ mem = task; diff --git a/drivers/video/tegra/host/nvdla/nvdla_queue.c b/drivers/video/tegra/host/nvdla/nvdla_queue.c index 761f1d4b..f1680ed2 100644 --- a/drivers/video/tegra/host/nvdla/nvdla_queue.c +++ b/drivers/video/tegra/host/nvdla/nvdla_queue.c @@ -806,6 +806,7 @@ int nvdla_fill_task_desc(struct nvdla_task *task) task_desc->version = DLA_DESCRIPTOR_VERSION; task_desc->engine_id = DLA_ENGINE_ID; task_desc->size = nvdla_get_task_desc_size(); + task_desc->timeout = task->timeout; /* update current task sequeue, make sure wrap around condition */ queue->sequence = queue->sequence + 1;