The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Manikanta Guntupalli <manikanta.guntupalli@amd.com>,
	git@amd.com, michal.simek@amd.com, alexandre.belloni@bootlin.com,
	Frank.Li@nxp.com, robh@kernel.org, krzk+dt@kernel.org,
	conor+dt@kernel.org, kees@kernel.org, gustavoars@kernel.org,
	jarkko.nikula@linux.intel.com, linux-i3c@lists.infradead.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-hardening@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev, radhey.shyam.pandey@amd.com,
	srinivas.goud@amd.com, shubhrajyoti.datta@amd.com,
	manion05gk@gmail.com,
	Manikanta Guntupalli <manikanta.guntupalli@amd.com>
Subject: Re: [PATCH V5 2/2] i3c: master: Add AMD I3C bus controller driver
Date: Tue, 9 Sep 2025 22:55:38 +0800	[thread overview]
Message-ID: <202509092248.xJvRASTq-lkp@intel.com> (raw)
In-Reply-To: <20250908112117.205270-3-manikanta.guntupalli@amd.com>

Hi Manikanta,

kernel test robot noticed the following build warnings:

[auto build test WARNING on robh/for-next]
[also build test WARNING on linus/master v6.17-rc5 next-20250909]
[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/Manikanta-Guntupalli/dt-bindings-i3c-Add-AMD-I3C-master-controller-support/20250908-192455
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link:    https://lore.kernel.org/r/20250908112117.205270-3-manikanta.guntupalli%40amd.com
patch subject: [PATCH V5 2/2] i3c: master: Add AMD I3C bus controller driver
config: sh-randconfig-r113-20250909 (https://download.01.org/0day-ci/archive/20250909/202509092248.xJvRASTq-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 10.5.0
reproduce: (https://download.01.org/0day-ci/archive/20250909/202509092248.xJvRASTq-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/202509092248.xJvRASTq-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/i3c/master/amd-i3c-master.c:559:68: sparse: sparse: dubious: x | !y
   drivers/i3c/master/amd-i3c-master.c:427:13: sparse: sparse: context imbalance in 'xi3c_master_dequeue_xfer' - wrong count at exit
   drivers/i3c/master/amd-i3c-master.c:601:9: sparse: sparse: context imbalance in 'xi3c_master_do_daa' - different lock contexts for basic block
   drivers/i3c/master/amd-i3c-master.c:644:12: sparse: sparse: context imbalance in 'xi3c_master_send_bdcast_ccc_cmd' - wrong count at exit
   drivers/i3c/master/amd-i3c-master.c:680:12: sparse: sparse: context imbalance in 'xi3c_master_send_direct_ccc_cmd' - wrong count at exit
   drivers/i3c/master/amd-i3c-master.c:733:12: sparse: sparse: context imbalance in 'xi3c_master_priv_xfers' - wrong count at exit
   drivers/i3c/master/amd-i3c-master.c:773:12: sparse: sparse: context imbalance in 'xi3c_master_i2c_xfers' - wrong count at exit
   drivers/i3c/master/amd-i3c-master.c:926:65: sparse: sparse: shift too big (32) for type unsigned long

vim +559 drivers/i3c/master/amd-i3c-master.c

   499	
   500	static int xi3c_master_do_daa(struct i3c_master_controller *m)
   501	{
   502		struct xi3c_master *master = to_xi3c_master(m);
   503		struct xi3c_cmd *daa_cmd;
   504		struct xi3c_xfer *xfer;
   505		u8 pid_bufs[XI3C_MAX_DEVS][8];
   506		u8 data, last_addr = 0;
   507		int addr, ret, i;
   508		u8 *pid_buf;
   509	
   510		u64 *pid_bcr_dcr __free(kfree) = kcalloc(XI3C_MAX_DEVS, sizeof(u64),
   511							 GFP_KERNEL);
   512		if (!pid_bcr_dcr)
   513			return -ENOMEM;
   514	
   515		xfer = xi3c_master_alloc_xfer(master, 1);
   516		if (!xfer) {
   517			ret = -ENOMEM;
   518			goto err_daa_mem;
   519		}
   520	
   521		for (i = 0; i < XI3C_MAX_DEVS; i++) {
   522			addr = i3c_master_get_free_addr(m, last_addr + 1);
   523			if (addr < 0) {
   524				ret = -ENOSPC;
   525				goto err_daa;
   526			}
   527			master->daa.addrs[i] = (u8)addr;
   528			last_addr = (u8)addr;
   529		}
   530	
   531		/* Fill ENTDAA CCC */
   532		data = I3C_CCC_ENTDAA;
   533		daa_cmd = &xfer->cmds[0];
   534		daa_cmd->addr = I3C_BROADCAST_ADDR;
   535		daa_cmd->rnw = 0;
   536		daa_cmd->tx_buf = &data;
   537		daa_cmd->tx_len = 1;
   538		daa_cmd->type = XI3C_SDR_MODE;
   539		daa_cmd->tid = XI3C_SDR_TID;
   540		daa_cmd->continued = true;
   541	
   542		ret = xi3c_master_common_xfer(master, xfer);
   543		/* DAA always finishes with CE2_ERROR or NACK_RESP */
   544		if (ret && ret != I3C_ERROR_M2) {
   545			goto err_daa;
   546		} else {
   547			if (ret && ret == I3C_ERROR_M2) {
   548				ret = 0;
   549				goto err_daa;
   550			}
   551		}
   552	
   553		master->daa.index = 0;
   554	
   555		while (true) {
   556			struct xi3c_cmd *cmd = &xfer->cmds[0];
   557	
   558			pid_buf = pid_bufs[master->daa.index];
 > 559			addr = (master->daa.addrs[master->daa.index] << 1) |
   560			       (!parity8(master->daa.addrs[master->daa.index]));
   561	
   562			cmd->tx_buf = (u8 *)&addr;
   563			cmd->tx_len = 1;
   564			cmd->addr = I3C_BROADCAST_ADDR;
   565			cmd->rnw = 1;
   566			cmd->rx_buf = pid_buf;
   567			cmd->rx_len = XI3C_DAA_SLAVEINFO_READ_BYTECOUNT;
   568			cmd->is_daa = true;
   569			cmd->type = XI3C_SDR_MODE;
   570			cmd->tid = XI3C_SDR_TID;
   571			cmd->continued = true;
   572	
   573			ret = xi3c_master_common_xfer(master, xfer);
   574	
   575			/* DAA always finishes with CE2_ERROR or NACK_RESP */
   576			if (ret && ret != I3C_ERROR_M2) {
   577				goto err_daa;
   578			} else {
   579				if (ret && ret == I3C_ERROR_M2) {
   580					xi3c_master_resume(master);
   581					master->daa.index--;
   582					ret = 0;
   583					break;
   584				}
   585			}
   586		}
   587	
   588		kfree(xfer);
   589	
   590		for (i = 0; i < master->daa.index; i++) {
   591			i3c_master_add_i3c_dev_locked(m, master->daa.addrs[i]);
   592	
   593			pid_bcr_dcr[i] = FIELD_GET(XI3C_PID_MASK,
   594						   get_unaligned_be64(pid_bufs[i]));
   595			dev_info(master->dev, "Client %d: PID: 0x%llx\n", i, pid_bcr_dcr[i]);
   596		}
   597	
   598		return 0;
   599	
   600	err_daa:
   601		kfree(xfer);
   602	err_daa_mem:
   603		xi3c_master_reinit(master);
   604		return ret;
   605	}
   606	

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

      parent reply	other threads:[~2025-09-09 14:56 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-08 11:21 [PATCH V5 0/2] Add AMD I3C master controller driver and bindings Manikanta Guntupalli
2025-09-08 11:21 ` [PATCH V5 1/2] dt-bindings: i3c: Add AMD I3C master controller support Manikanta Guntupalli
2025-09-08 14:15   ` Rob Herring (Arm)
2025-09-08 11:21 ` [PATCH V5 2/2] i3c: master: Add AMD I3C bus controller driver Manikanta Guntupalli
2025-09-08 16:03   ` Frank Li
2025-09-09 10:50     ` Guntupalli, Manikanta
2025-09-09 14:55   ` kernel test robot [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202509092248.xJvRASTq-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=Frank.Li@nxp.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=git@amd.com \
    --cc=gustavoars@kernel.org \
    --cc=jarkko.nikula@linux.intel.com \
    --cc=kees@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-i3c@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=manikanta.guntupalli@amd.com \
    --cc=manion05gk@gmail.com \
    --cc=michal.simek@amd.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=radhey.shyam.pandey@amd.com \
    --cc=robh@kernel.org \
    --cc=shubhrajyoti.datta@amd.com \
    --cc=srinivas.goud@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox