Re: [PATCH] bus: mhi: ep: Add support for interrupt moderation timer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Manivannan,

kernel test robot noticed the following build errors:

[auto build test ERROR on mani-mhi/mhi-next]
[also build test ERROR on linus/master v6.6-rc6 next-20231020]
[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/Manivannan-Sadhasivam/bus-mhi-ep-Add-support-for-interrupt-moderation-timer/20231019-161023
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mani/mhi.git mhi-next
patch link:    https://lore.kernel.org/r/20231019080911.57938-1-manivannan.sadhasivam%40linaro.org
patch subject: [PATCH] bus: mhi: ep: Add support for interrupt moderation timer
config: x86_64-buildonly-randconfig-003-20231021 (https://download.01.org/0day-ci/archive/20231021/202310211125.dCDfH087-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231021/202310211125.dCDfH087-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/202310211125.dCDfH087-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

   drivers/bus/mhi/ep/main.c: In function 'mhi_ep_send_event':
>> drivers/bus/mhi/ep/main.c:71:52: error: 'struct mhi_ep_ring' has no member named 'intmod_work'; did you mean 'intmodt_work'?
      71 |                         cancel_delayed_work(&ring->intmod_work);
         |                                                    ^~~~~~~~~~~
         |                                                    intmodt_work
   drivers/bus/mhi/ep/main.c:76:46: error: 'struct mhi_ep_ring' has no member named 'intmod_work'; did you mean 'intmodt_work'?
      76 |                 schedule_delayed_work(&ring->intmod_work, msecs_to_jiffies(ring->intmodt));
         |                                              ^~~~~~~~~~~
         |                                              intmodt_work

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for VIDEO_OV7670
   Depends on [n]: MEDIA_SUPPORT [=y] && VIDEO_DEV [=y] && VIDEO_CAMERA_SENSOR [=n]
   Selected by [y]:
   - VIDEO_CAFE_CCIC [=y] && MEDIA_SUPPORT [=y] && MEDIA_PLATFORM_SUPPORT [=y] && MEDIA_PLATFORM_DRIVERS [=y] && V4L_PLATFORM_DRIVERS [=y] && PCI [=y] && I2C [=y] && VIDEO_DEV [=y] && COMMON_CLK [=y]


vim +71 drivers/bus/mhi/ep/main.c

    27	
    28	static int mhi_ep_send_event(struct mhi_ep_cntrl *mhi_cntrl, u32 ring_idx,
    29				     struct mhi_ring_element *el, bool bei)
    30	{
    31		struct device *dev = &mhi_cntrl->mhi_dev->dev;
    32		union mhi_ep_ring_ctx *ctx;
    33		struct mhi_ep_ring *ring;
    34		int ret;
    35	
    36		mutex_lock(&mhi_cntrl->event_lock);
    37		ring = &mhi_cntrl->mhi_event[ring_idx].ring;
    38		ctx = (union mhi_ep_ring_ctx *)&mhi_cntrl->ev_ctx_cache[ring_idx];
    39		if (!ring->started) {
    40			ret = mhi_ep_ring_start(mhi_cntrl, ring, ctx);
    41			if (ret) {
    42				dev_err(dev, "Error starting event ring (%u)\n", ring_idx);
    43				goto err_unlock;
    44			}
    45		}
    46	
    47		/* Add element to the event ring */
    48		ret = mhi_ep_ring_add_element(ring, el);
    49		if (ret) {
    50			dev_err(dev, "Error adding element to event ring (%u)\n", ring_idx);
    51			goto err_unlock;
    52		}
    53	
    54		mutex_unlock(&mhi_cntrl->event_lock);
    55	
    56		/*
    57		 * As per the MHI specification, section 4.3, Interrupt moderation:
    58		 *
    59		 * 1. If BEI flag is not set, cancel any pending intmodt work if started
    60		 * for the event ring and raise IRQ immediately.
    61		 *
    62		 * 2. If both BEI and intmodt are set, and if no IRQ is pending for the
    63		 * same event ring, start the IRQ delayed work as per the value of
    64		 * intmodt. If previous IRQ is pending, then do nothing as the pending
    65		 * IRQ is enough for the host to process the current event ring element.
    66		 *
    67		 * 3. If BEI is set and intmodt is not set, no need to raise IRQ.
    68		 */
    69		if (!bei) {
    70			if (READ_ONCE(ring->irq_pending))
  > 71				cancel_delayed_work(&ring->intmod_work);
    72	
    73			mhi_cntrl->raise_irq(mhi_cntrl, ring->irq_vector);
    74		} else if (ring->intmodt && !READ_ONCE(ring->irq_pending)) {
    75			WRITE_ONCE(ring->irq_pending, true);
    76			schedule_delayed_work(&ring->intmod_work, msecs_to_jiffies(ring->intmodt));
    77		}
    78	
    79		return 0;
    80	
    81	err_unlock:
    82		mutex_unlock(&mhi_cntrl->event_lock);
    83	
    84		return ret;
    85	}
    86	

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



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux