Hi Aakarsh, kernel test robot noticed the following build errors: [auto build test ERROR on soc/for-next] [also build test ERROR on linuxtv-media-pending/master linus/master sailus-media-tree/streams sailus-media-tree/master v6.14-rc4 next-20250228] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Aakarsh-Jain/media-s5p-mfc-Support-for-handling-RET_ENC_BUFFER_FULL-interrupt/20250228-175738 base: https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git for-next patch link: https://lore.kernel.org/r/20250228065952.14375-1-aakarsh.jain%40samsung.com patch subject: [PATCH] media: s5p-mfc: Support for handling RET_ENC_BUFFER_FULL interrupt config: loongarch-allyesconfig (https://download.01.org/0day-ci/archive/20250303/202503030529.ccd21udL-lkp@xxxxxxxxx/config) compiler: loongarch64-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250303/202503030529.ccd21udL-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202503030529.ccd21udL-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c: In function 's5p_mfc_irq': >> drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c:742:14: error: 'S5P_MFC_R2H_CMD_ENC_BUFFER_FULL_RET' undeclared (first use in this function); did you mean 'S5P_MFC_R2H_CMD_ENC_BUFFER_FUL_RET'? 742 | case S5P_MFC_R2H_CMD_ENC_BUFFER_FULL_RET: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | S5P_MFC_R2H_CMD_ENC_BUFFER_FUL_RET drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c:742:14: note: each undeclared identifier is reported only once for each function it appears in vim +742 drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c 645 646 /* Interrupt processing */ 647 static irqreturn_t s5p_mfc_irq(int irq, void *priv) 648 { 649 struct s5p_mfc_dev *dev = priv; 650 struct s5p_mfc_ctx *ctx; 651 unsigned int reason; 652 unsigned int err; 653 654 mfc_debug_enter(); 655 /* Reset the timeout watchdog */ 656 atomic_set(&dev->watchdog_cnt, 0); 657 spin_lock(&dev->irqlock); 658 ctx = dev->ctx[dev->curr_ctx]; 659 /* Get the reason of interrupt and the error code */ 660 reason = s5p_mfc_hw_call(dev->mfc_ops, get_int_reason, dev); 661 err = s5p_mfc_hw_call(dev->mfc_ops, get_int_err, dev); 662 mfc_debug(1, "Int reason: %d (err: %08x)\n", reason, err); 663 switch (reason) { 664 case S5P_MFC_R2H_CMD_ERR_RET: 665 /* An error has occurred */ 666 if (ctx->state == MFCINST_RUNNING && 667 (s5p_mfc_hw_call(dev->mfc_ops, err_dec, err) >= 668 dev->warn_start || 669 err == S5P_FIMV_ERR_NO_VALID_SEQ_HDR || 670 err == S5P_FIMV_ERR_INCOMPLETE_FRAME || 671 err == S5P_FIMV_ERR_TIMEOUT)) 672 s5p_mfc_handle_frame(ctx, reason, err); 673 else 674 s5p_mfc_handle_error(dev, ctx, reason, err); 675 clear_bit(0, &dev->enter_suspend); 676 break; 677 678 case S5P_MFC_R2H_CMD_SLICE_DONE_RET: 679 case S5P_MFC_R2H_CMD_FIELD_DONE_RET: 680 case S5P_MFC_R2H_CMD_FRAME_DONE_RET: 681 if (ctx->c_ops->post_frame_start) { 682 if (ctx->c_ops->post_frame_start(ctx)) 683 mfc_err("post_frame_start() failed\n"); 684 685 if (ctx->state == MFCINST_FINISHING && 686 list_empty(&ctx->ref_queue)) { 687 s5p_mfc_hw_call(dev->mfc_ops, clear_int_flags, dev); 688 s5p_mfc_handle_stream_complete(ctx); 689 break; 690 } 691 s5p_mfc_hw_call(dev->mfc_ops, clear_int_flags, dev); 692 WARN_ON(test_and_clear_bit(0, &dev->hw_lock) == 0); 693 s5p_mfc_clock_off(dev); 694 wake_up_ctx(ctx, reason, err); 695 s5p_mfc_hw_call(dev->mfc_ops, try_run, dev); 696 } else { 697 s5p_mfc_handle_frame(ctx, reason, err); 698 } 699 break; 700 701 case S5P_MFC_R2H_CMD_SEQ_DONE_RET: 702 s5p_mfc_handle_seq_done(ctx, reason, err); 703 break; 704 705 case S5P_MFC_R2H_CMD_OPEN_INSTANCE_RET: 706 ctx->inst_no = s5p_mfc_hw_call(dev->mfc_ops, get_inst_no, dev); 707 ctx->state = MFCINST_GOT_INST; 708 goto irq_cleanup_hw; 709 710 case S5P_MFC_R2H_CMD_CLOSE_INSTANCE_RET: 711 ctx->inst_no = MFC_NO_INSTANCE_SET; 712 ctx->state = MFCINST_FREE; 713 goto irq_cleanup_hw; 714 715 case S5P_MFC_R2H_CMD_SYS_INIT_RET: 716 case S5P_MFC_R2H_CMD_FW_STATUS_RET: 717 case S5P_MFC_R2H_CMD_SLEEP_RET: 718 case S5P_MFC_R2H_CMD_WAKEUP_RET: 719 if (ctx) 720 clear_work_bit(ctx); 721 s5p_mfc_hw_call(dev->mfc_ops, clear_int_flags, dev); 722 clear_bit(0, &dev->hw_lock); 723 clear_bit(0, &dev->enter_suspend); 724 wake_up_dev(dev, reason, err); 725 break; 726 727 case S5P_MFC_R2H_CMD_INIT_BUFFERS_RET: 728 s5p_mfc_handle_init_buffers(ctx, reason, err); 729 break; 730 731 case S5P_MFC_R2H_CMD_COMPLETE_SEQ_RET: 732 s5p_mfc_hw_call(dev->mfc_ops, clear_int_flags, dev); 733 ctx->int_type = reason; 734 ctx->int_err = err; 735 s5p_mfc_handle_stream_complete(ctx); 736 break; 737 738 case S5P_MFC_R2H_CMD_DPB_FLUSH_RET: 739 ctx->state = MFCINST_RUNNING; 740 goto irq_cleanup_hw; 741 > 742 case S5P_MFC_R2H_CMD_ENC_BUFFER_FULL_RET: 743 ctx->state = MFCINST_NAL_ABORT; 744 s5p_mfc_hw_call(dev->mfc_ops, clear_int_flags, dev); 745 set_work_bit(ctx); 746 WARN_ON(test_and_clear_bit(0, &dev->hw_lock) == 0); 747 s5p_mfc_hw_call(dev->mfc_ops, try_run, dev); 748 break; 749 750 case S5P_MFC_R2H_CMD_NAL_ABORT_RET: 751 ctx->state = MFCINST_ERROR; 752 s5p_mfc_cleanup_queue(&ctx->dst_queue, &ctx->vq_dst); 753 s5p_mfc_cleanup_queue(&ctx->src_queue, &ctx->vq_src); 754 goto irq_cleanup_hw; 755 756 default: 757 mfc_debug(2, "Unknown int reason\n"); 758 s5p_mfc_hw_call(dev->mfc_ops, clear_int_flags, dev); 759 } 760 spin_unlock(&dev->irqlock); 761 mfc_debug_leave(); 762 return IRQ_HANDLED; 763 irq_cleanup_hw: 764 s5p_mfc_hw_call(dev->mfc_ops, clear_int_flags, dev); 765 ctx->int_type = reason; 766 ctx->int_err = err; 767 ctx->int_cond = 1; 768 if (test_and_clear_bit(0, &dev->hw_lock) == 0) 769 mfc_err("Failed to unlock hw\n"); 770 771 s5p_mfc_clock_off(dev); 772 clear_work_bit(ctx); 773 wake_up(&ctx->queue); 774 775 s5p_mfc_hw_call(dev->mfc_ops, try_run, dev); 776 spin_unlock(&dev->irqlock); 777 mfc_debug(2, "Exit via irq_cleanup_hw\n"); 778 return IRQ_HANDLED; 779 } 780 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki