sound/hda/controllers/cix-ipbloq.c:223:50: sparse: sparse: cast truncates bits from constant value (ffffffff70000000 becomes 70000000)

kernel test robot <[email protected]> Thu, 06 Aug 2026 15:51:15 +0800
Newsgroups dev.linux.lists.oe-kbuild-all,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   0d839570765118029aa8bf4a95444c6a11aacf85
commit: d91e9bd10125a9b0427420453b11f56228a6d6d0 ALSA: hda: add CIX IPBLOQ HDA controller support
date:   8 months ago
config: openrisc-randconfig-r112-20260806 (https://download.01.org/0day-ci/archive/20260806/[email protected]/config)
compiler: or1k-linux-gcc (GCC) 10.5.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260806/[email protected]/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
| Fixes: d91e9bd10125 ("ALSA: hda: add CIX IPBLOQ HDA controller support")
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

sparse warnings: (new ones prefixed by >>)
>> sound/hda/controllers/cix-ipbloq.c:223:50: sparse: sparse: cast truncates bits from constant value (ffffffff70000000 becomes 70000000)

vim +223 sound/hda/controllers/cix-ipbloq.c

   179	
   180	static int cix_ipbloq_hda_create(struct cix_ipbloq_hda *hda,
   181					 struct snd_card *card,
   182					 unsigned int driver_caps)
   183	{
   184		static const struct snd_device_ops ops = {
   185			.dev_disconnect = cix_ipbloq_hda_dev_disconnect,
   186			.dev_free = cix_ipbloq_hda_dev_free,
   187		};
   188		struct azx *chip;
   189		int err;
   190	
   191		chip = &hda->chip;
   192		chip->card = card;
   193		chip->ops = &cix_ipbloq_hda_ops;
   194		chip->driver_caps = driver_caps;
   195		chip->driver_type = driver_caps & 0xff;
   196		chip->dev_index = 0;
   197		chip->single_cmd = 0;
   198		chip->codec_probe_mask = -1;
   199		chip->align_buffer_size = 1;
   200		chip->jackpoll_interval = msecs_to_jiffies(CIX_IPBLOQ_JACKPOLL_DEFAULT_TIME_MS);
   201		mutex_init(&chip->open_mutex);
   202		INIT_LIST_HEAD(&chip->pcm_list);
   203	
   204		/*
   205		 * HD-audio controllers appear pretty inaccurate about the update-IRQ timing.
   206		 * The IRQ is issued before actually the data is processed. So use stream
   207		 * link position by default instead of dma position buffer.
   208		 */
   209		chip->get_position[0] = chip->get_position[1] = azx_get_pos_lpib;
   210	
   211		err = azx_bus_init(chip, NULL);
   212		if (err < 0) {
   213			dev_err(hda->dev, "failed to init bus, err = %d\n", err);
   214			return err;
   215		}
   216	
   217		/* RIRBSTS.RINTFL cannot be cleared, cause interrupt storm */
   218		chip->bus.core.polling_mode = 1;
   219		chip->bus.core.not_use_interrupts = 1;
   220	
   221		chip->bus.core.aligned_mmio = 1;
   222		chip->bus.core.dma_stop_delay = 100;
 > 223		chip->bus.core.addr_offset = (dma_addr_t)CIX_IPBLOQ_SKY1_ADDR_HOST_TO_HDAC_OFFSET;
   224	
   225		chip->bus.jackpoll_in_suspend = 1;
   226	
   227		err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops);
   228		if (err < 0) {
   229			dev_err(card->dev, "failed to create device, err = %d\n", err);
   230			return err;
   231		}
   232	
   233		return 0;
   234	}
   235	

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