Lines Matching refs:task

72 #define to_jpgdec_task(task)	\  argument
73 container_of(task, struct jpgdec_task, mpp_task)
128 struct jpgdec_task *task, in jpgdec_process_reg_fd() argument
133 ret = mpp_translate_reg_address(session, &task->mpp_task, in jpgdec_process_reg_fd()
134 JPEGDEC_FMT_DEFAULT, task->reg, &task->off_inf); in jpgdec_process_reg_fd()
138 mpp_translate_reg_offset_info(&task->mpp_task, in jpgdec_process_reg_fd()
139 &task->off_inf, task->reg); in jpgdec_process_reg_fd()
143 static int jpgdec_extract_task_msg(struct jpgdec_task *task, in jpgdec_extract_task_msg() argument
149 struct mpp_hw_info *hw_info = task->mpp_task.hw_info; in jpgdec_extract_task_msg()
162 ret = mpp_check_req(req, 0, sizeof(task->reg), in jpgdec_extract_task_msg()
166 if (copy_from_user((u8 *)task->reg + req->offset, in jpgdec_extract_task_msg()
171 memcpy(&task->w_reqs[task->w_req_cnt++], in jpgdec_extract_task_msg()
177 ret = mpp_check_req(req, 0, sizeof(task->reg), in jpgdec_extract_task_msg()
181 memcpy(&task->r_reqs[task->r_req_cnt++], in jpgdec_extract_task_msg()
185 mpp_extract_reg_offset_info(&task->off_inf, req); in jpgdec_extract_task_msg()
192 task->w_req_cnt, task->r_req_cnt); in jpgdec_extract_task_msg()
202 struct jpgdec_task *task = NULL; in jpgdec_alloc_task() local
207 task = kzalloc(sizeof(*task), GFP_KERNEL); in jpgdec_alloc_task()
208 if (!task) in jpgdec_alloc_task()
211 mpp_task = &task->mpp_task; in jpgdec_alloc_task()
214 mpp_task->reg = task->reg; in jpgdec_alloc_task()
216 ret = jpgdec_extract_task_msg(task, msgs); in jpgdec_alloc_task()
221 ret = jpgdec_process_reg_fd(session, task, msgs); in jpgdec_alloc_task()
225 task->strm_addr = task->reg[JPGDEC_REG_STREAM_RLC_BASE_INDEX]; in jpgdec_alloc_task()
226 task->clk_mode = CLK_MODE_NORMAL; in jpgdec_alloc_task()
236 kfree(task); in jpgdec_alloc_task()
253 struct jpgdec_task *task = to_jpgdec_task(mpp_task); in jpgdec_run() local
260 for (i = 0; i < task->w_req_cnt; i++) { in jpgdec_run()
261 struct mpp_request *req = &task->w_reqs[i]; in jpgdec_run()
265 mpp_write_req(mpp, task->reg, s, e, reg_en); in jpgdec_run()
278 task->reg[reg_en] | JPGDEC_START_EN); in jpgdec_run()
295 struct jpgdec_task *task = to_jpgdec_task(mpp_task); in jpgdec_finish() local
300 for (i = 0; i < task->r_req_cnt; i++) { in jpgdec_finish()
301 req = &task->r_reqs[i]; in jpgdec_finish()
304 mpp_read_req(mpp, task->reg, s, e); in jpgdec_finish()
307 task->reg[JPGDEC_REG_INT_EN_INDEX] = task->irq_status; in jpgdec_finish()
310 dec_length = dec_get - task->strm_addr; in jpgdec_finish()
311 task->reg[JPGDEC_REG_STREAM_RLC_BASE_INDEX] = dec_length << 10; in jpgdec_finish()
317 if (!(task->irq_status & JPGDEC_SOFT_RSET_READY) && in jpgdec_finish()
335 struct jpgdec_task *task = to_jpgdec_task(mpp_task); in jpgdec_result() local
338 for (i = 0; i < task->r_req_cnt; i++) { in jpgdec_result()
339 req = &task->r_reqs[i]; in jpgdec_result()
342 (u8 *)task->reg + req->offset, in jpgdec_result()
355 struct jpgdec_task *task = to_jpgdec_task(mpp_task); in jpgdec_free_task() local
358 kfree(task); in jpgdec_free_task()
461 struct jpgdec_task *task = to_jpgdec_task(mpp_task); in jpgdec_set_freq() local
463 mpp_clk_set_rate(&dec->aclk_info, task->clk_mode); in jpgdec_set_freq()
490 struct jpgdec_task *task = NULL; in jpgdec_isr() local
500 task = to_jpgdec_task(mpp_task); in jpgdec_isr()
501 task->irq_status = mpp->irq_status; in jpgdec_isr()
503 task->irq_status); in jpgdec_isr()
508 if (error_mask & task->irq_status) in jpgdec_isr()