Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
* Re: [PATCH v2 5/5] kthread: remove worker->task self assignment
       [not found] <c925e99c73bea9e0cdab656ba09453df7e81dcb2.1788513591.git.brads@mainlining.org>
@ 2026-09-05 14:37 ` kernel test robot
  2026-09-05 14:50   ` Bradley Morgan
  2026-09-05 15:11 ` kernel test robot
  1 sibling, 1 reply; 3+ messages in thread
From: kernel test robot @ 2026-09-05 14:37 UTC (permalink / raw)
  To: Bradley Morgan, linux-kernel
  Cc: llvm, oe-kbuild-all, Tejun Heo, Frederic Weisbecker,
	Peter Zijlstra, Waiman Long, Christian Brauner, Kees Cook,
	Andy Walls, Mauro Carvalho Chehab, linux-media, Andrew Lunn,
	David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Greg Kroah-Hartman, Jiri Slaby, Rafael J . Wysocki, Viresh Kumar,
	Ingo Molnar, Vincent Guittot, Dietmar Eggemann, Steven Rostedt,
	Bradley Morgan, netdev, linux-serial, linux-pm

Hi Bradley,

kernel test robot noticed the following build errors:

[auto build test ERROR on tty/tty-testing]
[also build test ERROR on tty/tty-next tty/tty-linus rafael-pm/linux-next rafael-pm/bleeding-edge brauner-vfs/vfs.all linus/master v7.3-rc1 next-20260904]
[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/Bradley-Morgan/media-ivtv-convert-to-kthread_run_worker/20260904-093753
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing
patch link:    https://lore.kernel.org/r/c925e99c73bea9e0cdab656ba09453df7e81dcb2.1788513591.git.brads%40mainlining.org
patch subject: [PATCH v2 5/5] kthread: remove worker->task self assignment
config: riscv-allmodconfig (https://download.01.org/0day-ci/archive/20260905/202609052214.xVrPcUI7-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 0edd1b088cc36b4faee80358c925a91e16006258)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260905/202609052214.xVrPcUI7-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609052214.xVrPcUI7-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/media/pci/ivtv/ivtv-irq.c:1053:22: error: incompatible pointer types passing 'struct kthread_worker **' to parameter of type 'struct kthread_worker *'; remove & [-Wincompatible-pointer-types]
    1053 |                 kthread_queue_work(&itv->irq_worker, &itv->irq_work);
         |                                    ^~~~~~~~~~~~~~~~
   include/linux/kthread.h:263:48: note: passing argument to parameter 'worker' here
     263 | bool kthread_queue_work(struct kthread_worker *worker,
         |                                                ^
   1 error generated.


vim +1053 drivers/media/pci/ivtv/ivtv-irq.c

1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   917  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   918  irqreturn_t ivtv_irq_handler(int irq, void *dev_id)
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   919  {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   920  	struct ivtv *itv = (struct ivtv *)dev_id;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   921  	u32 combo;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   922  	u32 stat;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   923  	int i;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   924  	u8 vsync_force = 0;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   925  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   926  	spin_lock(&itv->dma_reg_lock);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   927  	/* get contents of irq status register */
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   928  	stat = read_reg(IVTV_REG_IRQSTATUS);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   929  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   930  	combo = ~itv->irqmask & stat;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   931  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   932  	/* Clear out IRQ */
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   933  	if (combo) write_reg(combo, IVTV_REG_IRQSTATUS);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   934  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   935  	if (0 == combo) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   936  		/* The vsync interrupt is unusual and clears itself. If we
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   937  		 * took too long, we may have missed it. Do some checks
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   938  		 */
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   939  		if (~itv->irqmask & IVTV_IRQ_DEC_VSYNC) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   940  			/* vsync is enabled, see if we're in a new field */
4e1af31aaaa8cc drivers/media/video/ivtv/ivtv-irq.c Andy Walls    2010-03-13   941  			if ((itv->last_vsync_field & 1) !=
4e1af31aaaa8cc drivers/media/video/ivtv/ivtv-irq.c Andy Walls    2010-03-13   942  			    (read_reg(IVTV_REG_DEC_LINE_FIELD) & 1)) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   943  				/* New field, looks like we missed it */
4e1af31aaaa8cc drivers/media/video/ivtv/ivtv-irq.c Andy Walls    2010-03-13   944  				IVTV_DEBUG_YUV("VSync interrupt missed %d\n",
4e1af31aaaa8cc drivers/media/video/ivtv/ivtv-irq.c Andy Walls    2010-03-13   945  				       read_reg(IVTV_REG_DEC_LINE_FIELD) >> 16);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   946  				vsync_force = 1;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   947  			}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   948  		}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   949  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   950  		if (!vsync_force) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   951  			/* No Vsync expected, wasn't for us */
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   952  			spin_unlock(&itv->dma_reg_lock);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   953  			return IRQ_NONE;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   954  		}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   955  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   956  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   957  	/* Exclude interrupts noted below from the output, otherwise the log is flooded with
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   958  	   these messages */
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   959  	if (combo & ~0xff6d0400)
bd58df6d522d5a drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-07-10   960  		IVTV_DEBUG_HI_IRQ("======= valid IRQ bits: 0x%08x ======\n", combo);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   961  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   962  	if (combo & IVTV_IRQ_DEC_DMA_COMPLETE) {
bd58df6d522d5a drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-07-10   963  		IVTV_DEBUG_HI_IRQ("DEC DMA COMPLETE\n");
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   964  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   965  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   966  	if (combo & IVTV_IRQ_DMA_READ) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   967  		ivtv_irq_dma_read(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   968  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   969  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   970  	if (combo & IVTV_IRQ_ENC_DMA_COMPLETE) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   971  		ivtv_irq_enc_dma_complete(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   972  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   973  
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19   974  	if (combo & IVTV_IRQ_ENC_PIO_COMPLETE) {
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19   975  		ivtv_irq_enc_pio_complete(itv);
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19   976  	}
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19   977  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   978  	if (combo & IVTV_IRQ_DMA_ERR) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   979  		ivtv_irq_dma_err(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   980  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   981  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   982  	if (combo & IVTV_IRQ_ENC_START_CAP) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   983  		ivtv_irq_enc_start_cap(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   984  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   985  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   986  	if (combo & IVTV_IRQ_ENC_VBI_CAP) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   987  		ivtv_irq_enc_vbi_cap(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   988  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   989  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   990  	if (combo & IVTV_IRQ_DEC_VBI_RE_INSERT) {
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19   991  		ivtv_irq_dec_vbi_reinsert(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   992  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   993  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   994  	if (combo & IVTV_IRQ_ENC_EOS) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   995  		IVTV_DEBUG_IRQ("ENC EOS\n");
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   996  		set_bit(IVTV_F_I_EOS, &itv->i_flags);
fd8b281a2809d2 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-23   997  		wake_up(&itv->eos_waitq);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   998  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   999  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1000  	if (combo & IVTV_IRQ_DEC_DATA_REQ) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1001  		ivtv_irq_dec_data_req(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1002  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1003  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1004  	/* Decoder Vertical Sync - We can't rely on 'combo', so check if vsync enabled */
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1005  	if (~itv->irqmask & IVTV_IRQ_DEC_VSYNC) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1006  		ivtv_irq_vsync(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1007  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1008  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1009  	if (combo & IVTV_IRQ_ENC_VIM_RST) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1010  		IVTV_DEBUG_IRQ("VIM RST\n");
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1011  		/*ivtv_vapi(itv, CX2341X_ENC_REFRESH_INPUT, 0); */
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1012  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1013  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1014  	if (combo & IVTV_IRQ_DEC_AUD_MODE_CHG) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1015  		IVTV_DEBUG_INFO("Stereo mode changed\n");
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1016  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1017  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1018  	if ((combo & IVTV_IRQ_DMA) && !test_bit(IVTV_F_I_DMA, &itv->i_flags)) {
33bc4dea0ece37 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-18  1019  		itv->irq_rr_idx++;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1020  		for (i = 0; i < IVTV_MAX_STREAMS; i++) {
33bc4dea0ece37 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-18  1021  			int idx = (i + itv->irq_rr_idx) % IVTV_MAX_STREAMS;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1022  			struct ivtv_stream *s = &itv->streams[idx];
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1023  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1024  			if (!test_and_clear_bit(IVTV_F_S_DMA_PENDING, &s->s_flags))
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1025  				continue;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1026  			if (s->type >= IVTV_DEC_STREAM_TYPE_MPG)
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1027  				ivtv_dma_dec_start(s);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1028  			else
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1029  				ivtv_dma_enc_start(s);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1030  			break;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1031  		}
b6e436b263b354 drivers/media/video/ivtv/ivtv-irq.c Ian Armstrong 2009-12-21  1032  
b6e436b263b354 drivers/media/video/ivtv/ivtv-irq.c Ian Armstrong 2009-12-21  1033  		if (i == IVTV_MAX_STREAMS &&
b6e436b263b354 drivers/media/video/ivtv/ivtv-irq.c Ian Armstrong 2009-12-21  1034  		    test_bit(IVTV_F_I_UDMA_PENDING, &itv->i_flags))
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1035  			ivtv_udma_start(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1036  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1037  
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1038  	if ((combo & IVTV_IRQ_DMA) && !test_bit(IVTV_F_I_PIO, &itv->i_flags)) {
33bc4dea0ece37 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-18  1039  		itv->irq_rr_idx++;
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1040  		for (i = 0; i < IVTV_MAX_STREAMS; i++) {
33bc4dea0ece37 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-18  1041  			int idx = (i + itv->irq_rr_idx) % IVTV_MAX_STREAMS;
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1042  			struct ivtv_stream *s = &itv->streams[idx];
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1043  
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1044  			if (!test_and_clear_bit(IVTV_F_S_PIO_PENDING, &s->s_flags))
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1045  				continue;
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1046  			if (s->type == IVTV_DEC_STREAM_TYPE_VBI || s->type < IVTV_DEC_STREAM_TYPE_MPG)
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1047  				ivtv_dma_enc_start(s);
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1048  			break;
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1049  		}
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1050  	}
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1051  
2f3a98931f51be drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-25  1052  	if (test_and_clear_bit(IVTV_F_I_HAVE_WORK, &itv->i_flags)) {
3989144f863ac5 drivers/media/pci/ivtv/ivtv-irq.c   Petr Mladek   2016-10-11 @1053  		kthread_queue_work(&itv->irq_worker, &itv->irq_work);
2f3a98931f51be drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-25  1054  	}
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1055  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1056  	spin_unlock(&itv->dma_reg_lock);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1057  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1058  	/* If we've just handled a 'forced' vsync, it's safest to say it
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1059  	 * wasn't ours. Another device may have triggered it at just
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1060  	 * the right time.
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1061  	 */
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1062  	return vsync_force ? IRQ_NONE : IRQ_HANDLED;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1063  }
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1064  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2 5/5] kthread: remove worker->task self assignment
  2026-09-05 14:37 ` [PATCH v2 5/5] kthread: remove worker->task self assignment kernel test robot
@ 2026-09-05 14:50   ` Bradley Morgan
  0 siblings, 0 replies; 3+ messages in thread
From: Bradley Morgan @ 2026-09-05 14:50 UTC (permalink / raw)
  To: kernel test robot, linux-kernel
  Cc: llvm, oe-kbuild-all, Tejun Heo, Frederic Weisbecker,
	Peter Zijlstra, Waiman Long, Christian Brauner, Kees Cook,
	Andy Walls, Mauro Carvalho Chehab, linux-media, Andrew Lunn,
	David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Greg Kroah-Hartman, Jiri Slaby, Rafael J . Wysocki, Viresh Kumar,
	Ingo Molnar, Vincent Guittot, Dietmar Eggemann, Steven Rostedt,
	netdev, linux-serial, linux-pm

On 5 September 2026 15:37:16 BST, kernel test robot <lkp@intel.com> wrote:
>Hi Bradley,
>
>kernel test robot noticed the following build errors:
>
>[auto build test ERROR on tty/tty-testing]
>[also build test ERROR on tty/tty-next tty/tty-linus rafael-pm/linux-next
>rafael-pm/bleeding-edge brauner-vfs/vfs.all linus/master v7.3-rc1
>next-20260904]


Aware. Will fix.

>[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/Bradley-Morgan/media-ivtv-convert-to-kthread_run_worker/20260904-093753
>base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing
>patch link:   
>https://lore.kernel.org/r/c925e99c73bea9e0cdab656ba09453df7e81dcb2.1788513591.git.brads%40mainlining.org
>patch subject: [PATCH v2 5/5] kthread: remove worker->task self assignment
>config: riscv-allmodconfig (https://download.01.org/0day-ci/archive/20260905/202609052214.xVrPcUI7-lkp@intel.com/config)
>compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 0edd1b088cc36b4faee80358c925a91e16006258)
>reproduce (this is a W=1 build):
>(https://download.01.org/0day-ci/archive/20260905/202609052214.xVrPcUI7-lkp@intel.com/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@intel.com>
>| Closes:
>https://lore.kernel.org/oe-kbuild-all/202609052214.xVrPcUI7-lkp@intel.com/
>
>All errors (new ones prefixed by >>):
>
>>> drivers/media/pci/ivtv/ivtv-irq.c:1053:22: error: incompatible pointer
>types passing 'struct kthread_worker **' to parameter of type 'struct
>kthread_worker *'; remove & [-Wincompatible-pointer-types]
>    1053 |                 kthread_queue_work(&itv->irq_worker, &itv->irq_work);
>         |                                    ^~~~~~~~~~~~~~~~
>   include/linux/kthread.h:263:48: note: passing argument to parameter 'worker' here
>     263 | bool kthread_queue_work(struct kthread_worker *worker,
>         |                                                ^
>   1 error generated.
>
>
>vim +1053 drivers/media/pci/ivtv/ivtv-irq.c
>
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   917  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   918  irqreturn_t ivtv_irq_handler(int irq, void *dev_id)
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   919  {
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   920  	struct ivtv *itv = (struct ivtv *)dev_id;
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   921  	u32 combo;
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   922  	u32 stat;
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   923  	int i;
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   924  	u8 vsync_force = 0;
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   925  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   926  	spin_lock(&itv->dma_reg_lock);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   927  	/* get contents of irq status register */
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   928  	stat = read_reg(IVTV_REG_IRQSTATUS);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   929  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   930  	combo = ~itv->irqmask & stat;
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   931  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   932  	/* Clear out IRQ */
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   933  	if (combo) write_reg(combo, IVTV_REG_IRQSTATUS);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   934  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   935  	if (0 == combo) {
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   936  		/* The vsync interrupt is unusual and clears itself. If we
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   937  		 * took too long, we may have missed it. Do some checks
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   938  		 */
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   939  		if (~itv->irqmask & IVTV_IRQ_DEC_VSYNC) {
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   940  			/* vsync is enabled, see if we're in a new field */
>4e1af31aaaa8cc drivers/media/video/ivtv/ivtv-irq.c Andy Walls    2010-03-13   941  			if ((itv->last_vsync_field & 1) !=
>4e1af31aaaa8cc drivers/media/video/ivtv/ivtv-irq.c Andy Walls    2010-03-13   942  			    (read_reg(IVTV_REG_DEC_LINE_FIELD) & 1)) {
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   943  				/* New field, looks like we missed it */
>4e1af31aaaa8cc drivers/media/video/ivtv/ivtv-irq.c Andy Walls    2010-03-13   944  				IVTV_DEBUG_YUV("VSync interrupt missed %d\n",
>4e1af31aaaa8cc drivers/media/video/ivtv/ivtv-irq.c Andy Walls    2010-03-13   945  				       read_reg(IVTV_REG_DEC_LINE_FIELD) >> 16);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   946  				vsync_force = 1;
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   947  			}
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   948  		}
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   949  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   950  		if (!vsync_force) {
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   951  			/* No Vsync expected, wasn't for us */
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   952  			spin_unlock(&itv->dma_reg_lock);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   953  			return IRQ_NONE;
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   954  		}
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   955  	}
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   956  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   957  	/* Exclude interrupts noted below from the output, otherwise the log is flooded with
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   958  	   these messages */
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   959  	if (combo & ~0xff6d0400)
>bd58df6d522d5a drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-07-10   960  		IVTV_DEBUG_HI_IRQ("======= valid IRQ bits: 0x%08x ======\n", combo);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   961  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   962  	if (combo & IVTV_IRQ_DEC_DMA_COMPLETE) {
>bd58df6d522d5a drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-07-10   963  		IVTV_DEBUG_HI_IRQ("DEC DMA COMPLETE\n");
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   964  	}
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   965  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   966  	if (combo & IVTV_IRQ_DMA_READ) {
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   967  		ivtv_irq_dma_read(itv);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   968  	}
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   969  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   970  	if (combo & IVTV_IRQ_ENC_DMA_COMPLETE) {
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   971  		ivtv_irq_enc_dma_complete(itv);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   972  	}
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   973  
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19   974  	if (combo & IVTV_IRQ_ENC_PIO_COMPLETE) {
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19   975  		ivtv_irq_enc_pio_complete(itv);
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19   976  	}
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-05-19   977  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   978  	if (combo & IVTV_IRQ_DMA_ERR) {
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   979  		ivtv_irq_dma_err(itv);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   980  	}
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   981  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   982  	if (combo & IVTV_IRQ_ENC_START_CAP) {
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   983  		ivtv_irq_enc_start_cap(itv);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   984  	}
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   985  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   986  	if (combo & IVTV_IRQ_ENC_VBI_CAP) {
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   987  		ivtv_irq_enc_vbi_cap(itv);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   988  	}
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   989  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   990  	if (combo & IVTV_IRQ_DEC_VBI_RE_INSERT) {
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19   991  		ivtv_irq_dec_vbi_reinsert(itv);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   992  	}
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   993  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   994  	if (combo & IVTV_IRQ_ENC_EOS) {
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   995  		IVTV_DEBUG_IRQ("ENC EOS\n");
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   996  		set_bit(IVTV_F_I_EOS, &itv->i_flags);
>fd8b281a2809d2 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-23   997  		wake_up(&itv->eos_waitq);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   998  	}
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27   999  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1000  	if (combo & IVTV_IRQ_DEC_DATA_REQ) {
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1001  		ivtv_irq_dec_data_req(itv);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1002  	}
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27  1003  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1004  	/* Decoder Vertical Sync - We can't rely on 'combo', so check if vsync enabled */
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1005  	if (~itv->irqmask & IVTV_IRQ_DEC_VSYNC) {
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1006  		ivtv_irq_vsync(itv);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1007  	}
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27  1008  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1009  	if (combo & IVTV_IRQ_ENC_VIM_RST) {
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1010  		IVTV_DEBUG_IRQ("VIM RST\n");
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1011  		/*ivtv_vapi(itv, CX2341X_ENC_REFRESH_INPUT, 0); */
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1012  	}
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27  1013  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1014  	if (combo & IVTV_IRQ_DEC_AUD_MODE_CHG) {
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1015  		IVTV_DEBUG_INFO("Stereo mode changed\n");
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1016  	}
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27  1017  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1018  	if ((combo & IVTV_IRQ_DMA) && !test_bit(IVTV_F_I_DMA, &itv->i_flags)) {
>33bc4dea0ece37 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-18  1019  		itv->irq_rr_idx++;
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1020  		for (i = 0; i < IVTV_MAX_STREAMS; i++) {
>33bc4dea0ece37 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-18  1021  			int idx = (i + itv->irq_rr_idx) % IVTV_MAX_STREAMS;
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1022  			struct ivtv_stream *s = &itv->streams[idx];
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27  1023  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1024  			if (!test_and_clear_bit(IVTV_F_S_DMA_PENDING, &s->s_flags))
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1025  				continue;
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1026  			if (s->type >= IVTV_DEC_STREAM_TYPE_MPG)
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1027  				ivtv_dma_dec_start(s);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1028  			else
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1029  				ivtv_dma_enc_start(s);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1030  			break;
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1031  		}
>b6e436b263b354 drivers/media/video/ivtv/ivtv-irq.c Ian Armstrong
>2009-12-21  1032  
>b6e436b263b354 drivers/media/video/ivtv/ivtv-irq.c Ian Armstrong 2009-12-21  1033  		if (i == IVTV_MAX_STREAMS &&
>b6e436b263b354 drivers/media/video/ivtv/ivtv-irq.c Ian Armstrong 2009-12-21  1034  		    test_bit(IVTV_F_I_UDMA_PENDING, &itv->i_flags))
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1035  			ivtv_udma_start(itv);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1036  	}
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27  1037  
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1038  	if ((combo & IVTV_IRQ_DMA) && !test_bit(IVTV_F_I_PIO, &itv->i_flags)) {
>33bc4dea0ece37 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-18  1039  		itv->irq_rr_idx++;
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1040  		for (i = 0; i < IVTV_MAX_STREAMS; i++) {
>33bc4dea0ece37 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-18  1041  			int idx = (i + itv->irq_rr_idx) % IVTV_MAX_STREAMS;
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1042  			struct ivtv_stream *s = &itv->streams[idx];
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-05-19  1043  
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1044  			if (!test_and_clear_bit(IVTV_F_S_PIO_PENDING, &s->s_flags))
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1045  				continue;
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1046  			if (s->type == IVTV_DEC_STREAM_TYPE_VBI || s->type < IVTV_DEC_STREAM_TYPE_MPG)
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1047  				ivtv_dma_enc_start(s);
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1048  			break;
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1049  		}
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1050  	}
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-05-19  1051  
>2f3a98931f51be drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-25  1052  	if (test_and_clear_bit(IVTV_F_I_HAVE_WORK, &itv->i_flags)) {
>3989144f863ac5 drivers/media/pci/ivtv/ivtv-irq.c   Petr Mladek   2016-10-11 @1053  		kthread_queue_work(&itv->irq_worker, &itv->irq_work);
>2f3a98931f51be drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-25  1054  	}
>dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-05-19  1055  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1056  	spin_unlock(&itv->dma_reg_lock);
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27  1057  
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1058  	/* If we've just handled a 'forced' vsync, it's safest to say it
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1059  	 * wasn't ours. Another device may have triggered it at just
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1060  	 * the right time.
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1061  	 */
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1062  	return vsync_force ? IRQ_NONE : IRQ_HANDLED;
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27  1063  }
>1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil 
>2007-04-27  1064  
>
>--
>0-DAY CI Kernel Test Service
>https://github.com/intel/lkp-tests/wiki

--- Thanks!
https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2 5/5] kthread: remove worker->task self assignment
       [not found] <c925e99c73bea9e0cdab656ba09453df7e81dcb2.1788513591.git.brads@mainlining.org>
  2026-09-05 14:37 ` [PATCH v2 5/5] kthread: remove worker->task self assignment kernel test robot
@ 2026-09-05 15:11 ` kernel test robot
  1 sibling, 0 replies; 3+ messages in thread
From: kernel test robot @ 2026-09-05 15:11 UTC (permalink / raw)
  To: Bradley Morgan, linux-kernel
  Cc: llvm, oe-kbuild-all, Tejun Heo, Frederic Weisbecker,
	Peter Zijlstra, Waiman Long, Christian Brauner, Kees Cook,
	Andy Walls, Mauro Carvalho Chehab, linux-media, Andrew Lunn,
	David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Greg Kroah-Hartman, Jiri Slaby, Rafael J . Wysocki, Viresh Kumar,
	Ingo Molnar, Vincent Guittot, Dietmar Eggemann, Steven Rostedt,
	Bradley Morgan, netdev, linux-serial, linux-pm

Hi Bradley,

kernel test robot noticed the following build errors:

[auto build test ERROR on tty/tty-testing]
[also build test ERROR on tty/tty-next tty/tty-linus rafael-pm/linux-next rafael-pm/bleeding-edge brauner-vfs/vfs.all linus/master v7.3-rc1 next-20260904]
[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/Bradley-Morgan/media-ivtv-convert-to-kthread_run_worker/20260904-093753
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing
patch link:    https://lore.kernel.org/r/c925e99c73bea9e0cdab656ba09453df7e81dcb2.1788513591.git.brads%40mainlining.org
patch subject: [PATCH v2 5/5] kthread: remove worker->task self assignment
config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20260905/202609052224.lerj2Ie8-lkp@intel.com/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260905/202609052224.lerj2Ie8-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609052224.lerj2Ie8-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/media/pci/ivtv/ivtv-irq.c:1053:22: error: incompatible pointer types passing 'struct kthread_worker **' to parameter of type 'struct kthread_worker *'; remove & [-Werror,-Wincompatible-pointer-types]
    1053 |                 kthread_queue_work(&itv->irq_worker, &itv->irq_work);
         |                                    ^~~~~~~~~~~~~~~~
   include/linux/kthread.h:263:48: note: passing argument to parameter 'worker' here
     263 | bool kthread_queue_work(struct kthread_worker *worker,
         |                                                ^
   1 error generated.


vim +1053 drivers/media/pci/ivtv/ivtv-irq.c

1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   917  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   918  irqreturn_t ivtv_irq_handler(int irq, void *dev_id)
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   919  {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   920  	struct ivtv *itv = (struct ivtv *)dev_id;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   921  	u32 combo;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   922  	u32 stat;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   923  	int i;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   924  	u8 vsync_force = 0;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   925  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   926  	spin_lock(&itv->dma_reg_lock);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   927  	/* get contents of irq status register */
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   928  	stat = read_reg(IVTV_REG_IRQSTATUS);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   929  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   930  	combo = ~itv->irqmask & stat;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   931  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   932  	/* Clear out IRQ */
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   933  	if (combo) write_reg(combo, IVTV_REG_IRQSTATUS);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   934  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   935  	if (0 == combo) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   936  		/* The vsync interrupt is unusual and clears itself. If we
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   937  		 * took too long, we may have missed it. Do some checks
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   938  		 */
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   939  		if (~itv->irqmask & IVTV_IRQ_DEC_VSYNC) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   940  			/* vsync is enabled, see if we're in a new field */
4e1af31aaaa8cc drivers/media/video/ivtv/ivtv-irq.c Andy Walls    2010-03-13   941  			if ((itv->last_vsync_field & 1) !=
4e1af31aaaa8cc drivers/media/video/ivtv/ivtv-irq.c Andy Walls    2010-03-13   942  			    (read_reg(IVTV_REG_DEC_LINE_FIELD) & 1)) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   943  				/* New field, looks like we missed it */
4e1af31aaaa8cc drivers/media/video/ivtv/ivtv-irq.c Andy Walls    2010-03-13   944  				IVTV_DEBUG_YUV("VSync interrupt missed %d\n",
4e1af31aaaa8cc drivers/media/video/ivtv/ivtv-irq.c Andy Walls    2010-03-13   945  				       read_reg(IVTV_REG_DEC_LINE_FIELD) >> 16);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   946  				vsync_force = 1;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   947  			}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   948  		}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   949  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   950  		if (!vsync_force) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   951  			/* No Vsync expected, wasn't for us */
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   952  			spin_unlock(&itv->dma_reg_lock);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   953  			return IRQ_NONE;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   954  		}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   955  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   956  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   957  	/* Exclude interrupts noted below from the output, otherwise the log is flooded with
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   958  	   these messages */
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   959  	if (combo & ~0xff6d0400)
bd58df6d522d5a drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-07-10   960  		IVTV_DEBUG_HI_IRQ("======= valid IRQ bits: 0x%08x ======\n", combo);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   961  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   962  	if (combo & IVTV_IRQ_DEC_DMA_COMPLETE) {
bd58df6d522d5a drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-07-10   963  		IVTV_DEBUG_HI_IRQ("DEC DMA COMPLETE\n");
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   964  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   965  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   966  	if (combo & IVTV_IRQ_DMA_READ) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   967  		ivtv_irq_dma_read(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   968  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   969  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   970  	if (combo & IVTV_IRQ_ENC_DMA_COMPLETE) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   971  		ivtv_irq_enc_dma_complete(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   972  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   973  
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19   974  	if (combo & IVTV_IRQ_ENC_PIO_COMPLETE) {
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19   975  		ivtv_irq_enc_pio_complete(itv);
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19   976  	}
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19   977  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   978  	if (combo & IVTV_IRQ_DMA_ERR) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   979  		ivtv_irq_dma_err(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   980  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   981  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   982  	if (combo & IVTV_IRQ_ENC_START_CAP) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   983  		ivtv_irq_enc_start_cap(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   984  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   985  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   986  	if (combo & IVTV_IRQ_ENC_VBI_CAP) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   987  		ivtv_irq_enc_vbi_cap(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   988  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   989  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   990  	if (combo & IVTV_IRQ_DEC_VBI_RE_INSERT) {
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19   991  		ivtv_irq_dec_vbi_reinsert(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   992  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   993  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   994  	if (combo & IVTV_IRQ_ENC_EOS) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   995  		IVTV_DEBUG_IRQ("ENC EOS\n");
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   996  		set_bit(IVTV_F_I_EOS, &itv->i_flags);
fd8b281a2809d2 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-23   997  		wake_up(&itv->eos_waitq);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   998  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27   999  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1000  	if (combo & IVTV_IRQ_DEC_DATA_REQ) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1001  		ivtv_irq_dec_data_req(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1002  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1003  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1004  	/* Decoder Vertical Sync - We can't rely on 'combo', so check if vsync enabled */
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1005  	if (~itv->irqmask & IVTV_IRQ_DEC_VSYNC) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1006  		ivtv_irq_vsync(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1007  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1008  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1009  	if (combo & IVTV_IRQ_ENC_VIM_RST) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1010  		IVTV_DEBUG_IRQ("VIM RST\n");
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1011  		/*ivtv_vapi(itv, CX2341X_ENC_REFRESH_INPUT, 0); */
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1012  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1013  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1014  	if (combo & IVTV_IRQ_DEC_AUD_MODE_CHG) {
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1015  		IVTV_DEBUG_INFO("Stereo mode changed\n");
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1016  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1017  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1018  	if ((combo & IVTV_IRQ_DMA) && !test_bit(IVTV_F_I_DMA, &itv->i_flags)) {
33bc4dea0ece37 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-18  1019  		itv->irq_rr_idx++;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1020  		for (i = 0; i < IVTV_MAX_STREAMS; i++) {
33bc4dea0ece37 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-18  1021  			int idx = (i + itv->irq_rr_idx) % IVTV_MAX_STREAMS;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1022  			struct ivtv_stream *s = &itv->streams[idx];
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1023  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1024  			if (!test_and_clear_bit(IVTV_F_S_DMA_PENDING, &s->s_flags))
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1025  				continue;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1026  			if (s->type >= IVTV_DEC_STREAM_TYPE_MPG)
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1027  				ivtv_dma_dec_start(s);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1028  			else
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1029  				ivtv_dma_enc_start(s);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1030  			break;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1031  		}
b6e436b263b354 drivers/media/video/ivtv/ivtv-irq.c Ian Armstrong 2009-12-21  1032  
b6e436b263b354 drivers/media/video/ivtv/ivtv-irq.c Ian Armstrong 2009-12-21  1033  		if (i == IVTV_MAX_STREAMS &&
b6e436b263b354 drivers/media/video/ivtv/ivtv-irq.c Ian Armstrong 2009-12-21  1034  		    test_bit(IVTV_F_I_UDMA_PENDING, &itv->i_flags))
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1035  			ivtv_udma_start(itv);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1036  	}
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1037  
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1038  	if ((combo & IVTV_IRQ_DMA) && !test_bit(IVTV_F_I_PIO, &itv->i_flags)) {
33bc4dea0ece37 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-18  1039  		itv->irq_rr_idx++;
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1040  		for (i = 0; i < IVTV_MAX_STREAMS; i++) {
33bc4dea0ece37 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-18  1041  			int idx = (i + itv->irq_rr_idx) % IVTV_MAX_STREAMS;
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1042  			struct ivtv_stream *s = &itv->streams[idx];
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1043  
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1044  			if (!test_and_clear_bit(IVTV_F_S_PIO_PENDING, &s->s_flags))
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1045  				continue;
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1046  			if (s->type == IVTV_DEC_STREAM_TYPE_VBI || s->type < IVTV_DEC_STREAM_TYPE_MPG)
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1047  				ivtv_dma_enc_start(s);
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1048  			break;
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1049  		}
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1050  	}
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1051  
2f3a98931f51be drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-25  1052  	if (test_and_clear_bit(IVTV_F_I_HAVE_WORK, &itv->i_flags)) {
3989144f863ac5 drivers/media/pci/ivtv/ivtv-irq.c   Petr Mladek   2016-10-11 @1053  		kthread_queue_work(&itv->irq_worker, &itv->irq_work);
2f3a98931f51be drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-08-25  1054  	}
dc02d50a6d71cb drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-05-19  1055  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1056  	spin_unlock(&itv->dma_reg_lock);
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1057  
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1058  	/* If we've just handled a 'forced' vsync, it's safest to say it
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1059  	 * wasn't ours. Another device may have triggered it at just
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1060  	 * the right time.
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1061  	 */
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1062  	return vsync_force ? IRQ_NONE : IRQ_HANDLED;
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1063  }
1a0adaf37c30e8 drivers/media/video/ivtv/ivtv-irq.c Hans Verkuil  2007-04-27  1064  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-09-05 15:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <c925e99c73bea9e0cdab656ba09453df7e81dcb2.1788513591.git.brads@mainlining.org>
2026-09-05 14:37 ` [PATCH v2 5/5] kthread: remove worker->task self assignment kernel test robot
2026-09-05 14:50   ` Bradley Morgan
2026-09-05 15:11 ` kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox