summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/tegra/host/pva/pva_ioctl.c4
-rw-r--r--drivers/video/tegra/host/pva/pva_queue.c59
-rw-r--r--drivers/video/tegra/host/pva/pva_queue.h12
-rw-r--r--include/uapi/linux/nvhost_pva_ioctl.h12
4 files changed, 12 insertions, 75 deletions
diff --git a/drivers/video/tegra/host/pva/pva_ioctl.c b/drivers/video/tegra/host/pva/pva_ioctl.c
index f6af57ea0..f1297bfca 100644
--- a/drivers/video/tegra/host/pva/pva_ioctl.c
+++ b/drivers/video/tegra/host/pva/pva_ioctl.c
@@ -87,11 +87,7 @@ static int pva_copy_task(struct pva_ioctl_submit_task *ioctl_task,
87 task->num_output_surfaces = ioctl_task->num_output_surfaces; 87 task->num_output_surfaces = ioctl_task->num_output_surfaces;
88 task->num_pointers = ioctl_task->num_pointers; 88 task->num_pointers = ioctl_task->num_pointers;
89 task->input_scalars = ioctl_task->input_scalars; 89 task->input_scalars = ioctl_task->input_scalars;
90 task->input_2dpoint = ioctl_task->input_2dpoint;
91 task->input_rois = ioctl_task->input_rois;
92 task->output_scalars = ioctl_task->output_scalars; 90 task->output_scalars = ioctl_task->output_scalars;
93 task->output_2dpoint = ioctl_task->output_2dpoint;
94 task->output_rois = ioctl_task->output_rois;
95 task->timeout = ioctl_task->timeout; 91 task->timeout = ioctl_task->timeout;
96 92
97#define COPY_FIELD(dst, src, num, type) \ 93#define COPY_FIELD(dst, src, num, type) \
diff --git a/drivers/video/tegra/host/pva/pva_queue.c b/drivers/video/tegra/host/pva/pva_queue.c
index dac041faa..7c53ee7f8 100644
--- a/drivers/video/tegra/host/pva/pva_queue.c
+++ b/drivers/video/tegra/host/pva/pva_queue.c
@@ -64,23 +64,16 @@ static void pva_task_dump(struct pva_submit_task *task)
64{ 64{
65 int i; 65 int i;
66 66
67 nvhost_dbg_info("task=%p, input_scalars=(handle=%u, offset=%x), " 67 nvhost_dbg_info("task=%p, "
68 "input_surfaces=%p, input_points=(handle=%u, offset=%u), " 68 "input_scalars=(handle=%u, offset=%x), "
69 "input_rois=(handle=%u, offset=%u), " 69 "input_surfaces=%p, "
70 "output_scalars=(handle=%u, offset=%u), " 70 "output_scalars=(handle=%u, offset=%u), "
71 "output_surfaces=%p, output_points=(handle=%u, offset=%u), " 71 "output_surfaces=%p",
72 "output_rois=(handle=%u, offset=%u)", 72 task,
73 task, task->input_scalars.handle, 73 task->input_scalars.handle, task->input_scalars.offset,
74 task->input_scalars.offset, task->input_surfaces, 74 task->input_surfaces,
75 task->input_2dpoint.handle, 75 task->output_scalars.handle, task->output_scalars.offset,
76 task->input_2dpoint.offset, 76 task->output_surfaces);
77 task->input_rois.handle, task->input_rois.offset,
78 task->output_scalars.handle,
79 task->output_scalars.offset,
80 task->output_surfaces,
81 task->output_2dpoint.handle,
82 task->output_2dpoint.offset,
83 task->output_rois.handle, task->output_rois.offset);
84 77
85 for (i = 0; i < task->num_prefences; i++) 78 for (i = 0; i < task->num_prefences; i++)
86 nvhost_dbg_info("prefence %d: type=%u, " 79 nvhost_dbg_info("prefence %d: type=%u, "
@@ -223,11 +216,7 @@ static void pva_task_unpin_mem(struct pva_submit_task *task)
223 } 216 }
224 217
225 UNPIN_MEMORY(task->input_scalars_ext); 218 UNPIN_MEMORY(task->input_scalars_ext);
226 UNPIN_MEMORY(task->input_rois_ext);
227 UNPIN_MEMORY(task->input_2dpoint_ext);
228 UNPIN_MEMORY(task->output_scalars_ext); 219 UNPIN_MEMORY(task->output_scalars_ext);
229 UNPIN_MEMORY(task->output_rois_ext);
230 UNPIN_MEMORY(task->output_2dpoint_ext);
231 220
232#undef UNPIN_MEMORY 221#undef UNPIN_MEMORY
233} 222}
@@ -357,24 +346,10 @@ static int pva_task_pin_mem(struct pva_submit_task *task)
357 PIN_MEMORY(task->input_scalars_ext, 346 PIN_MEMORY(task->input_scalars_ext,
358 task->input_scalars.handle); 347 task->input_scalars.handle);
359 348
360 if (task->input_rois.handle)
361 PIN_MEMORY(task->input_rois_ext, task->input_rois.handle);
362
363 if (task->input_2dpoint.handle)
364 PIN_MEMORY(task->input_2dpoint_ext,
365 task->input_2dpoint.handle);
366
367 if (task->output_scalars.handle) 349 if (task->output_scalars.handle)
368 PIN_MEMORY(task->output_scalars_ext, 350 PIN_MEMORY(task->output_scalars_ext,
369 task->output_scalars.handle); 351 task->output_scalars.handle);
370 352
371 if (task->output_rois.handle)
372 PIN_MEMORY(task->output_rois_ext, task->output_rois.handle);
373
374 if (task->output_2dpoint.handle)
375 PIN_MEMORY(task->output_2dpoint_ext,
376 task->output_2dpoint.handle);
377
378#undef PIN_MEMORY 353#undef PIN_MEMORY
379 354
380 return 0; 355 return 0;
@@ -753,26 +728,10 @@ static void pva_task_write_non_surfaces(struct pva_submit_task *task,
753 task->input_scalars_ext, 728 task->input_scalars_ext,
754 PVA_PARAM_SCALAR_LIST, 729 PVA_PARAM_SCALAR_LIST,
755 hw_task->task.num_input_parameters); 730 hw_task->task.num_input_parameters);
756 COPY_PARAMETER(hw_input_parameters, task->input_rois,
757 task->input_rois_ext,
758 PVA_PARAM_ROI_LIST,
759 hw_task->task.num_input_parameters);
760 COPY_PARAMETER(hw_input_parameters, task->input_2dpoint,
761 task->input_2dpoint_ext,
762 PVA_PARAM_2DPOINTS_LIST,
763 hw_task->task.num_input_parameters);
764 COPY_PARAMETER(hw_output_parameters, task->output_scalars, 731 COPY_PARAMETER(hw_output_parameters, task->output_scalars,
765 task->output_scalars_ext, 732 task->output_scalars_ext,
766 PVA_PARAM_SCALAR_LIST, 733 PVA_PARAM_SCALAR_LIST,
767 hw_task->task.num_output_parameters); 734 hw_task->task.num_output_parameters);
768 COPY_PARAMETER(hw_output_parameters, task->output_rois,
769 task->output_rois_ext,
770 PVA_PARAM_ROI_LIST,
771 hw_task->task.num_output_parameters);
772 COPY_PARAMETER(hw_output_parameters, task->output_2dpoint,
773 task->output_2dpoint_ext,
774 PVA_PARAM_2DPOINTS_LIST,
775 hw_task->task.num_output_parameters);
776#undef COPY_PARAMETER 735#undef COPY_PARAMETER
777} 736}
778 737
diff --git a/drivers/video/tegra/host/pva/pva_queue.h b/drivers/video/tegra/host/pva/pva_queue.h
index 0b34b7842..ce8ba3d46 100644
--- a/drivers/video/tegra/host/pva/pva_queue.h
+++ b/drivers/video/tegra/host/pva/pva_queue.h
@@ -63,12 +63,8 @@ struct pva_parameter_ext {
63 * postfences Post-fence structures 63 * postfences Post-fence structures
64 * input_surfaces Input surfaces structures 64 * input_surfaces Input surfaces structures
65 * input_scalars Information for input scalars 65 * input_scalars Information for input scalars
66 * input_2dpoint Information for input 2d points
67 * input_rois Input ROIs
68 * output_surfaces Output surfaces 66 * output_surfaces Output surfaces
69 * output_scalars Information for output scalars 67 * output_scalars Information for output scalars
70 * output_2dpoint Information for output 2d points
71 * output_rois Output ROIs
72 * input_task_status Input status structure 68 * input_task_status Input status structure
73 * output_task_status Output status structure 69 * output_task_status Output status structure
74 * 70 *
@@ -101,12 +97,8 @@ struct pva_submit_task {
101 struct pva_fence postfences[PVA_MAX_POSTFENCES]; 97 struct pva_fence postfences[PVA_MAX_POSTFENCES];
102 struct pva_surface input_surfaces[PVA_MAX_INPUT_SURFACES]; 98 struct pva_surface input_surfaces[PVA_MAX_INPUT_SURFACES];
103 struct pva_task_parameter input_scalars; 99 struct pva_task_parameter input_scalars;
104 struct pva_task_parameter input_2dpoint;
105 struct pva_task_parameter input_rois;
106 struct pva_surface output_surfaces[PVA_MAX_OUTPUT_SURFACES]; 100 struct pva_surface output_surfaces[PVA_MAX_OUTPUT_SURFACES];
107 struct pva_task_parameter output_scalars; 101 struct pva_task_parameter output_scalars;
108 struct pva_task_parameter output_2dpoint;
109 struct pva_task_parameter output_rois;
110 struct pva_status_handle input_task_status[PVA_MAX_INPUT_STATUS]; 102 struct pva_status_handle input_task_status[PVA_MAX_INPUT_STATUS];
111 struct pva_status_handle output_task_status[PVA_MAX_OUTPUT_STATUS]; 103 struct pva_status_handle output_task_status[PVA_MAX_OUTPUT_STATUS];
112 struct pva_memory_handle pointers[PVA_MAX_POINTERS]; 104 struct pva_memory_handle pointers[PVA_MAX_POINTERS];
@@ -118,12 +110,8 @@ struct pva_submit_task {
118 struct pva_parameter_ext postfences_sema_ext[PVA_MAX_POSTFENCES]; 110 struct pva_parameter_ext postfences_sema_ext[PVA_MAX_POSTFENCES];
119 struct pva_parameter_ext input_surfaces_ext[PVA_MAX_INPUT_SURFACES]; 111 struct pva_parameter_ext input_surfaces_ext[PVA_MAX_INPUT_SURFACES];
120 struct pva_parameter_ext input_scalars_ext; 112 struct pva_parameter_ext input_scalars_ext;
121 struct pva_parameter_ext input_2dpoint_ext;
122 struct pva_parameter_ext input_rois_ext;
123 struct pva_parameter_ext output_surfaces_ext[PVA_MAX_OUTPUT_SURFACES]; 113 struct pva_parameter_ext output_surfaces_ext[PVA_MAX_OUTPUT_SURFACES];
124 struct pva_parameter_ext output_scalars_ext; 114 struct pva_parameter_ext output_scalars_ext;
125 struct pva_parameter_ext output_2dpoint_ext;
126 struct pva_parameter_ext output_rois_ext;
127 struct pva_parameter_ext input_task_status_ext[PVA_MAX_INPUT_STATUS]; 115 struct pva_parameter_ext input_task_status_ext[PVA_MAX_INPUT_STATUS];
128 struct pva_parameter_ext output_task_status_ext[PVA_MAX_OUTPUT_STATUS]; 116 struct pva_parameter_ext output_task_status_ext[PVA_MAX_OUTPUT_STATUS];
129 struct pva_parameter_ext 117 struct pva_parameter_ext
diff --git a/include/uapi/linux/nvhost_pva_ioctl.h b/include/uapi/linux/nvhost_pva_ioctl.h
index 6088f91d5..a8aa21c87 100644
--- a/include/uapi/linux/nvhost_pva_ioctl.h
+++ b/include/uapi/linux/nvhost_pva_ioctl.h
@@ -205,12 +205,8 @@ stru