Lines Matching refs:dev

436 static uint8_t read_bits(struct cedrus_dev *dev, unsigned int bits_count,  in read_bits()  argument
439 cedrus_write(dev, VE_H264_TRIGGER_TYPE, in read_bits()
444 cedrus_wait_for(dev, VE_H264_STATUS, VE_H264_STATUS_VLD_BUSY); in read_bits()
446 return cedrus_read(dev, VE_H264_BASIC_BITS); in read_bits()
449 static void get_delta_q(struct cedrus_dev *dev) in get_delta_q() argument
451 if (read_bits(dev, 1, VP8_PROB_HALF)) { in get_delta_q()
452 read_bits(dev, 4, VP8_PROB_HALF); in get_delta_q()
453 read_bits(dev, 1, VP8_PROB_HALF); in get_delta_q()
457 static void process_segmentation_info(struct cedrus_dev *dev) in process_segmentation_info() argument
461 update = read_bits(dev, 1, VP8_PROB_HALF); in process_segmentation_info()
463 if (read_bits(dev, 1, VP8_PROB_HALF)) { in process_segmentation_info()
464 read_bits(dev, 1, VP8_PROB_HALF); in process_segmentation_info()
467 if (read_bits(dev, 1, VP8_PROB_HALF)) { in process_segmentation_info()
468 read_bits(dev, 7, VP8_PROB_HALF); in process_segmentation_info()
469 read_bits(dev, 1, VP8_PROB_HALF); in process_segmentation_info()
473 if (read_bits(dev, 1, VP8_PROB_HALF)) { in process_segmentation_info()
474 read_bits(dev, 6, VP8_PROB_HALF); in process_segmentation_info()
475 read_bits(dev, 1, VP8_PROB_HALF); in process_segmentation_info()
481 if (read_bits(dev, 1, VP8_PROB_HALF)) in process_segmentation_info()
482 read_bits(dev, 8, VP8_PROB_HALF); in process_segmentation_info()
485 static void process_ref_lf_delta_info(struct cedrus_dev *dev) in process_ref_lf_delta_info() argument
487 if (read_bits(dev, 1, VP8_PROB_HALF)) { in process_ref_lf_delta_info()
491 if (read_bits(dev, 1, VP8_PROB_HALF)) { in process_ref_lf_delta_info()
492 read_bits(dev, 6, VP8_PROB_HALF); in process_ref_lf_delta_info()
493 read_bits(dev, 1, VP8_PROB_HALF); in process_ref_lf_delta_info()
497 if (read_bits(dev, 1, VP8_PROB_HALF)) { in process_ref_lf_delta_info()
498 read_bits(dev, 6, VP8_PROB_HALF); in process_ref_lf_delta_info()
499 read_bits(dev, 1, VP8_PROB_HALF); in process_ref_lf_delta_info()
504 static void process_ref_frame_info(struct cedrus_dev *dev) in process_ref_frame_info() argument
506 u8 refresh_golden_frame = read_bits(dev, 1, VP8_PROB_HALF); in process_ref_frame_info()
507 u8 refresh_alt_ref_frame = read_bits(dev, 1, VP8_PROB_HALF); in process_ref_frame_info()
510 read_bits(dev, 2, VP8_PROB_HALF); in process_ref_frame_info()
513 read_bits(dev, 2, VP8_PROB_HALF); in process_ref_frame_info()
515 read_bits(dev, 1, VP8_PROB_HALF); in process_ref_frame_info()
516 read_bits(dev, 1, VP8_PROB_HALF); in process_ref_frame_info()
519 static void cedrus_irq_clear(struct cedrus_dev *dev) in cedrus_irq_clear() argument
521 cedrus_write(dev, VE_H264_STATUS, in cedrus_irq_clear()
525 static void cedrus_read_header(struct cedrus_dev *dev, in cedrus_read_header() argument
531 read_bits(dev, 1, VP8_PROB_HALF); in cedrus_read_header()
532 read_bits(dev, 1, VP8_PROB_HALF); in cedrus_read_header()
535 if (read_bits(dev, 1, VP8_PROB_HALF)) in cedrus_read_header()
536 process_segmentation_info(dev); in cedrus_read_header()
538 read_bits(dev, 1, VP8_PROB_HALF); in cedrus_read_header()
539 read_bits(dev, 6, VP8_PROB_HALF); in cedrus_read_header()
540 read_bits(dev, 3, VP8_PROB_HALF); in cedrus_read_header()
542 if (read_bits(dev, 1, VP8_PROB_HALF)) in cedrus_read_header()
543 process_ref_lf_delta_info(dev); in cedrus_read_header()
545 read_bits(dev, 2, VP8_PROB_HALF); in cedrus_read_header()
548 read_bits(dev, 7, VP8_PROB_HALF); in cedrus_read_header()
552 get_delta_q(dev); in cedrus_read_header()
555 process_ref_frame_info(dev); in cedrus_read_header()
557 read_bits(dev, 1, VP8_PROB_HALF); in cedrus_read_header()
560 read_bits(dev, 1, VP8_PROB_HALF); in cedrus_read_header()
562 cedrus_write(dev, VE_H264_TRIGGER_TYPE, VE_H264_TRIGGER_TYPE_VP8_UPDATE_COEF); in cedrus_read_header()
563 cedrus_wait_for(dev, VE_H264_STATUS, VE_H264_STATUS_VP8_UPPROB_BUSY); in cedrus_read_header()
564 cedrus_irq_clear(dev); in cedrus_read_header()
566 if (read_bits(dev, 1, VP8_PROB_HALF)) in cedrus_read_header()
567 read_bits(dev, 8, VP8_PROB_HALF); in cedrus_read_header()
570 read_bits(dev, 8, VP8_PROB_HALF); in cedrus_read_header()
571 read_bits(dev, 8, VP8_PROB_HALF); in cedrus_read_header()
572 read_bits(dev, 8, VP8_PROB_HALF); in cedrus_read_header()
574 if (read_bits(dev, 1, VP8_PROB_HALF)) { in cedrus_read_header()
575 read_bits(dev, 8, VP8_PROB_HALF); in cedrus_read_header()
576 read_bits(dev, 8, VP8_PROB_HALF); in cedrus_read_header()
577 read_bits(dev, 8, VP8_PROB_HALF); in cedrus_read_header()
578 read_bits(dev, 8, VP8_PROB_HALF); in cedrus_read_header()
581 if (read_bits(dev, 1, VP8_PROB_HALF)) { in cedrus_read_header()
582 read_bits(dev, 8, VP8_PROB_HALF); in cedrus_read_header()
583 read_bits(dev, 8, VP8_PROB_HALF); in cedrus_read_header()
584 read_bits(dev, 8, VP8_PROB_HALF); in cedrus_read_header()
589 if (read_bits(dev, 1, k_mv_entropy_update_probs[i][j])) in cedrus_read_header()
590 read_bits(dev, 7, VP8_PROB_HALF); in cedrus_read_header()
627 struct cedrus_dev *dev = ctx->dev; in cedrus_vp8_irq_status() local
628 u32 reg = cedrus_read(dev, VE_H264_STATUS); in cedrus_vp8_irq_status()
642 cedrus_irq_clear(ctx->dev); in cedrus_vp8_irq_clear()
647 struct cedrus_dev *dev = ctx->dev; in cedrus_vp8_irq_disable() local
648 u32 reg = cedrus_read(dev, VE_H264_CTRL); in cedrus_vp8_irq_disable()
650 cedrus_write(dev, VE_H264_CTRL, in cedrus_vp8_irq_disable()
659 struct cedrus_dev *dev = ctx->dev; in cedrus_vp8_setup() local
667 cedrus_write(dev, VE_H264_CTRL, VE_H264_CTRL_VP8); in cedrus_vp8_setup()
672 cedrus_write(dev, VE_VP8_FIRST_DATA_PART_LEN, reg); in cedrus_vp8_setup()
677 cedrus_write(dev, VE_VP8_PART_SIZE_OFFSET, reg); in cedrus_vp8_setup()
680 cedrus_write(dev, VE_H264_VLD_LEN, reg); in cedrus_vp8_setup()
690 cedrus_write(dev, VE_H264_VLD_OFFSET, reg); in cedrus_vp8_setup()
693 cedrus_write(dev, VE_H264_VLD_END, in cedrus_vp8_setup()
695 cedrus_write(dev, VE_H264_VLD_ADDR, in cedrus_vp8_setup()
700 cedrus_write(dev, VE_H264_TRIGGER_TYPE, in cedrus_vp8_setup()
703 cedrus_write(dev, VE_VP8_ENTROPY_PROBS_ADDR, in cedrus_vp8_setup()
750 cedrus_write(dev, VE_VP8_PPS, reg); in cedrus_vp8_setup()
752 cedrus_read_header(dev, slice); in cedrus_vp8_setup()
755 cedrus_write(dev, VE_H264_CUR_MB_NUM, 0); in cedrus_vp8_setup()
756 cedrus_write(dev, VE_H264_MB_ADDR, 0); in cedrus_vp8_setup()
757 cedrus_write(dev, VE_H264_ERROR_CASE, 0); in cedrus_vp8_setup()
766 cedrus_write(dev, VE_VP8_QP_INDEX_DELTA, reg); in cedrus_vp8_setup()
771 cedrus_write(dev, VE_VP8_FSIZE, reg); in cedrus_vp8_setup()
776 cedrus_write(dev, VE_VP8_PICSIZE, reg); in cedrus_vp8_setup()
783 cedrus_write(dev, VE_VP8_SEGMENT_FEAT_MB_LV0, reg); in cedrus_vp8_setup()
790 cedrus_write(dev, VE_VP8_SEGMENT_FEAT_MB_LV1, reg); in cedrus_vp8_setup()
797 cedrus_write(dev, VE_VP8_REF_LF_DELTA, reg); in cedrus_vp8_setup()
804 cedrus_write(dev, VE_VP8_MODE_LF_DELTA, reg); in cedrus_vp8_setup()
808 cedrus_write(dev, VE_VP8_REC_LUMA, luma_addr); in cedrus_vp8_setup()
809 cedrus_write(dev, VE_VP8_REC_CHROMA, chroma_addr); in cedrus_vp8_setup()
818 cedrus_write(dev, VE_H264_CTRL, VE_H264_CTRL_VP8 | in cedrus_vp8_setup()
836 struct cedrus_dev *dev = ctx->dev; in cedrus_vp8_start() local
839 dma_alloc_coherent(dev->dev, CEDRUS_ENTROPY_PROBS_SIZE, in cedrus_vp8_start()
857 struct cedrus_dev *dev = ctx->dev; in cedrus_vp8_stop() local
859 cedrus_engine_disable(dev); in cedrus_vp8_stop()
861 dma_free_coherent(dev->dev, CEDRUS_ENTROPY_PROBS_SIZE, in cedrus_vp8_stop()
868 struct cedrus_dev *dev = ctx->dev; in cedrus_vp8_trigger() local
870 cedrus_write(dev, VE_H264_TRIGGER_TYPE, in cedrus_vp8_trigger()