Lines Matching refs:regs

242     if (ctx->regs == NULL) {  in hal_jpegd_rkv_init()
243 ctx->regs = mpp_calloc_size(void, sizeof(JpegRegSet)); in hal_jpegd_rkv_init()
244 if (ctx->regs == NULL) { in hal_jpegd_rkv_init()
277 JpegRegSet *regs = (JpegRegSet *)ctx->regs; in setup_output_fmt() local
285 regs->reg2_sys.scaledown_mode = SCALEDOWN_HALF; in setup_output_fmt()
287 regs->reg2_sys.scaledown_mode = SCALEDOWN_QUARTER; in setup_output_fmt()
289 regs->reg2_sys.scaledown_mode = SCALEDOWN_ONE_EIGHTS; in setup_output_fmt()
291 regs->reg2_sys.scaledown_mode = SCALEDOWN_DISABLE; in setup_output_fmt()
299 regs->reg2_sys.yuv_out_format = YUV_OUT_FMT_2_NV12; in setup_output_fmt()
305 regs->reg2_sys.yuv_out_format = YUV_OUT_FMT_2_YUYV; in setup_output_fmt()
307 regs->reg2_sys.out_cbcr_swap = 1; in setup_output_fmt()
308 regs->reg2_sys.yuv_out_format = YUV_OUT_FMT_2_YUYV; in setup_output_fmt()
310 regs->reg2_sys.yuv_out_format = YUV_OUT_FMT_2_NV12; in setup_output_fmt()
311 regs->reg2_sys.out_cbcr_swap = 1; in setup_output_fmt()
315 regs->reg2_sys.yuv_out_format = YUV_OUT_FMT_2_RGB888; in setup_output_fmt()
319 regs->reg2_sys.yuv_out_format = YUV_OUT_FMT_2_RGB565; in setup_output_fmt()
328 regs->reg2_sys.yuv2rgb_range = YUV_TO_RGB_FULL_RANGE; in setup_output_fmt()
330 regs->reg2_sys.yuv2rgb_range = YUV_TO_RGB_LIMIT_RANGE; in setup_output_fmt()
333 regs->reg2_sys.yuv_out_format = YUV_OUT_FMT_NO_TRANS; in setup_output_fmt()
338 regs->reg2_sys.dec_out_sequence = OUTPUT_TILE; in setup_output_fmt()
340 regs->reg2_sys.dec_out_sequence = OUTPUT_RASTER; in setup_output_fmt()
344 if ((s->yuv_mode == YUV_MODE_420 && regs->reg2_sys.yuv_out_format == YUV_OUT_FMT_NO_TRANS) || in setup_output_fmt()
345 (regs->reg2_sys.yuv_out_format == YUV_OUT_FMT_2_NV12)) in setup_output_fmt()
346 regs->reg2_sys.fill_down_e = 1; in setup_output_fmt()
348 regs->reg2_sys.fill_down_e = s->fill_bottom; in setup_output_fmt()
349 regs->reg2_sys.fill_right_e = s->fill_right; in setup_output_fmt()
362 JpegRegSet *regs = (JpegRegSet *)ctx->regs; in jpegd_gen_regs() local
364 regs->reg1_int.dec_e = 1; in jpegd_gen_regs()
365 regs->reg1_int.dec_timeout_e = 1; in jpegd_gen_regs()
366 regs->reg1_int.buf_empty_e = 1; in jpegd_gen_regs()
368 regs->reg3_pic_size.pic_width_m1 = s->width - 1; in jpegd_gen_regs()
369 regs->reg3_pic_size.pic_height_m1 = s->height - 1; in jpegd_gen_regs()
374 regs->reg4_pic_fmt.pixel_depth = BIT_DEPTH_8; in jpegd_gen_regs()
376 regs->reg4_pic_fmt.htables_sel = TBL_ENTRY_1; in jpegd_gen_regs()
380 regs->reg4_pic_fmt.qtables_sel = (s->qtbl_entry > 1) ? TBL_ENTRY_3 : TBL_ENTRY_2; in jpegd_gen_regs()
381 regs->reg4_pic_fmt.htables_sel = (s->htbl_entry > 0x0f) ? TBL_ENTRY_3 : TBL_ENTRY_2; in jpegd_gen_regs()
383 regs->reg4_pic_fmt.qtables_sel = TBL_ENTRY_1; in jpegd_gen_regs()
384 regs->reg4_pic_fmt.htables_sel = TBL_ENTRY_1; in jpegd_gen_regs()
388 regs->reg4_pic_fmt.dri_e = RST_ENABLE; in jpegd_gen_regs()
389 regs->reg4_pic_fmt.dri_mcu_num_m1 = s->restart_interval - 1; in jpegd_gen_regs()
396 regs->reg4_pic_fmt.jpeg_mode = s->yuv_mode; in jpegd_gen_regs()
399 regs->reg4_pic_fmt.jpeg_mode = YUV_MODE_411; in jpegd_gen_regs()
402 regs->reg4_pic_fmt.jpeg_mode = YUV_MODE_440; in jpegd_gen_regs()
405 regs->reg4_pic_fmt.jpeg_mode = YUV_MODE_444; in jpegd_gen_regs()
414 out_width = out_width >> regs->reg2_sys.scaledown_mode; in jpegd_gen_regs()
416 out_height = regs->reg2_sys.fill_down_e ? MPP_ALIGN(out_height, 16) : MPP_ALIGN(out_height, 8); in jpegd_gen_regs()
417 out_height = out_height >> regs->reg2_sys.scaledown_mode; in jpegd_gen_regs()
418 …jpegd_dbg_hal("output scale %d, width %d, height %d\n", regs->reg2_sys.scaledown_mode, out_width, … in jpegd_gen_regs()
424 switch (regs->reg2_sys.yuv_out_format) { in jpegd_gen_regs()
433 switch (regs->reg4_pic_fmt.jpeg_mode) { in jpegd_gen_regs()
455 if (regs->reg2_sys.dec_out_sequence == OUTPUT_TILE) { in jpegd_gen_regs()
458 switch (regs->reg2_sys.yuv_out_format) { in jpegd_gen_regs()
463 switch (regs->reg4_pic_fmt.jpeg_mode) { in jpegd_gen_regs()
495 regs->reg5_hor_virstride.y_hor_virstride = y_hor_stride & 0xffff; in jpegd_gen_regs()
496 regs->reg5_hor_virstride.uv_hor_virstride = uv_hor_virstride & 0xffff; in jpegd_gen_regs()
497 regs->reg6_y_virstride.y_virstride = y_virstride; in jpegd_gen_regs()
499 regs->reg7_tbl_len.y_hor_virstride_h = (y_hor_stride >> 16) & 1; in jpegd_gen_regs()
502 regs->reg7_tbl_len.qtbl_len = regs->reg4_pic_fmt.qtables_sel * 8 - 1; in jpegd_gen_regs()
504 regs->reg7_tbl_len.qtbl_len = 0; in jpegd_gen_regs()
507regs->reg7_tbl_len.htbl_value_len = regs->reg4_pic_fmt.htables_sel * (regs->reg4_pic_fmt.pixel_dep… in jpegd_gen_regs()
509 switch (regs->reg4_pic_fmt.htables_sel) { in jpegd_gen_regs()
511 regs->reg7_tbl_len.htbl_mincode_len = 0; in jpegd_gen_regs()
512 regs->reg7_tbl_len.htbl_value_len = 0; in jpegd_gen_regs()
515 regs->reg7_tbl_len.htbl_mincode_len = (s->nb_components - 1) * 6 - 1; in jpegd_gen_regs()
519 regs->reg7_tbl_len.htbl_mincode_len = s->nb_components * 6 - 1; in jpegd_gen_regs()
522 mpp_err_f("unsupported htable_sel %d\n", regs->reg4_pic_fmt.htables_sel); in jpegd_gen_regs()
540 regs->reg8_strm_len.stream_len = (MPP_ALIGN((s->pkt_len - hw_strm_offset), 16) - 1) >> 4; in jpegd_gen_regs()
541 regs->reg8_strm_len.strm_start_byte = start_byte; in jpegd_gen_regs()
543 regs->reg9_qtbl_base = table_fd; in jpegd_gen_regs()
544 regs->reg10_htbl_mincode_base = table_fd; in jpegd_gen_regs()
545 regs->reg11_htbl_value_base = table_fd; in jpegd_gen_regs()
546 regs->reg13_dec_out_base = ctx->frame_fd; in jpegd_gen_regs()
547 regs->reg12_strm_base = ctx->pkt_fd; in jpegd_gen_regs()
553 regs->reg14_strm_error.error_prc_mode = 1; in jpegd_gen_regs()
554 regs->reg14_strm_error.strm_ffff_err_mode = 2; in jpegd_gen_regs()
555 regs->reg14_strm_error.strm_other_mark_mode = 2; in jpegd_gen_regs()
556 regs->reg14_strm_error.strm_dri_seq_err_mode = 0; in jpegd_gen_regs()
558 regs->reg16_clk_gate.val = 0xff; in jpegd_gen_regs()
560 regs->reg30_perf_latency_ctrl0.axi_per_work_e = 1; in jpegd_gen_regs()
561 regs->reg30_perf_latency_ctrl0.axi_per_clr_e = 1; in jpegd_gen_regs()
562 regs->reg30_perf_latency_ctrl0.axi_cnt_type = 1; in jpegd_gen_regs()
563 regs->reg30_perf_latency_ctrl0.rd_latency_id = 0xa; in jpegd_gen_regs()
601 if (ctx->regs) { in hal_jpegd_rkv_deinit()
602 mpp_free(ctx->regs); in hal_jpegd_rkv_deinit()
603 ctx->regs = NULL; in hal_jpegd_rkv_deinit()
644 memset(ctx->regs, 0, sizeof(JpegRegSet)); in hal_jpegd_rkv_gen_regs()
671 RK_U32 *regs = (RK_U32 *)ctx->regs; in hal_jpegd_rkv_start() local
682 wr_cfg.reg = regs; in hal_jpegd_rkv_start()
688 mpp_log_f("send reg[%d]=0x%08x\n", i, regs[i]); in hal_jpegd_rkv_start()
699 rd_cfg.reg = regs; in hal_jpegd_rkv_start()
730 JpegRegSet *reg_out = ctx->regs; in hal_jpegd_rkv_wait()
750 param.regs = (RK_U32 *)reg_out; in hal_jpegd_rkv_wait()