public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Siddharth Vadapalli <s-vadapalli@ti.com>,
	lpieralisi@kernel.org, kwilczynski@kernel.org, mani@kernel.org,
	robh@kernel.org, bhelgaas@google.com, unicorn_wang@outlook.com,
	kishon@kernel.org, 18255117159@163.com
Cc: oe-kbuild-all@lists.linux.dev, linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, srk@ti.com,
	s-vadapalli@ti.com
Subject: Re: [PATCH] PCI: cadence: Enable support for applying lane equalization presets
Date: Tue, 28 Oct 2025 13:16:53 +0800	[thread overview]
Message-ID: <202510281329.racaZPSI-lkp@intel.com> (raw)
In-Reply-To: <20251027133013.2589119-1-s-vadapalli@ti.com>

Hi Siddharth,

kernel test robot noticed the following build warnings:

[auto build test WARNING on pci/next]
[also build test WARNING on pci/for-linus linus/master v6.18-rc3 next-20251027]
[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/Siddharth-Vadapalli/PCI-cadence-Enable-support-for-applying-lane-equalization-presets/20251027-213657
base:   https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link:    https://lore.kernel.org/r/20251027133013.2589119-1-s-vadapalli%40ti.com
patch subject: [PATCH] PCI: cadence: Enable support for applying lane equalization presets
config: x86_64-buildonly-randconfig-002-20251028 (https://download.01.org/0day-ci/archive/20251028/202510281329.racaZPSI-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251028/202510281329.racaZPSI-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/202510281329.racaZPSI-lkp@intel.com/

All warnings (new ones prefixed by >>):

   drivers/pci/controller/cadence/pcie-cadence-host.c: In function 'cdns_pcie_setup_lane_equalization_presets':
>> drivers/pci/controller/cadence/pcie-cadence-host.c:205:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
     205 |                 if (presets_ngts[0] != PCI_EQ_RESV) {
         |                    ^
   drivers/pci/controller/cadence/pcie-cadence-host.c:225:9: note: here
     225 |         case PCIE_SPEED_8_0GT:
         |         ^~~~


vim +205 drivers/pci/controller/cadence/pcie-cadence-host.c

   170	
   171	static void cdns_pcie_setup_lane_equalization_presets(struct cdns_pcie_rc *rc)
   172	{
   173		struct cdns_pcie *pcie = &rc->pcie;
   174		struct device *dev = pcie->dev;
   175		struct device_node *np = dev->of_node;
   176		int max_link_speed, max_lanes, ret;
   177		u32 lane_eq_ctrl_reg;
   178		u16 cap;
   179		u16 *presets_8gts;
   180		u8 *presets_ngts;
   181		u8 i, j;
   182	
   183		ret = of_property_read_u32(np, "num-lanes", &max_lanes);
   184		if (ret)
   185			return;
   186	
   187		/* Lane Equalization presets are optional, so error message is not necessary */
   188		ret = of_pci_get_equalization_presets(dev, &rc->eq_presets, max_lanes);
   189		if (ret)
   190			return;
   191	
   192		max_link_speed = of_pci_get_max_link_speed(np);
   193		if (max_link_speed < 0) {
   194			dev_err(dev, "%s: link-speed unknown, skipping preset setup\n", __func__);
   195			return;
   196		}
   197	
   198		/*
   199		 * Setup presets for data rates including and upward of 8.0 GT/s until the
   200		 * maximum supported data rate.
   201		 */
   202		switch (pcie_link_speed[max_link_speed]) {
   203		case PCIE_SPEED_16_0GT:
   204			presets_ngts = (u8 *)rc->eq_presets.eq_presets_Ngts[EQ_PRESET_TYPE_16GTS - 1];
 > 205			if (presets_ngts[0] != PCI_EQ_RESV) {
   206				cap = cdns_pcie_find_ext_capability(pcie, PCI_EXT_CAP_ID_PL_16GT);
   207				if (!cap)
   208					break;
   209				lane_eq_ctrl_reg = cap + PCI_PL_16GT_LE_CTRL;
   210				/*
   211				 * For Link Speeds including and upward of 16.0 GT/s, the Lane Equalization
   212				 * Control register has the following layout per Lane:
   213				 * Bits 0-3: Downstream Port Transmitter Preset
   214				 * Bits 4-7: Upstream Port Transmitter Preset
   215				 *
   216				 * 'eq_presets_Ngts' is an array of u8 (byte).
   217				 * Therefore, we need to write to the Lane Equalization Control
   218				 * register in units of bytes per-Lane.
   219				 */
   220				for (i = 0; i < max_lanes; i++)
   221					cdns_pcie_rp_writeb(pcie, lane_eq_ctrl_reg + i, presets_ngts[i]);
   222	
   223				dev_info(dev, "Link Equalization presets applied for 16.0 GT/s\n");
   224			}
   225		case PCIE_SPEED_8_0GT:
   226			presets_8gts = (u16 *)rc->eq_presets.eq_presets_8gts;
   227			if ((presets_8gts[0] & PCI_EQ_RESV) != PCI_EQ_RESV) {
   228				cap = cdns_pcie_find_ext_capability(pcie, PCI_EXT_CAP_ID_SECPCI);
   229				if (!cap)
   230					break;
   231				lane_eq_ctrl_reg = cap + PCI_SECPCI_LE_CTRL;
   232				/*
   233				 * For a Link Speed of 8.0 GT/s, the Lane Equalization Control register has
   234				 * the following layout per Lane:
   235				 * Bits   0-3:  Downstream Port Transmitter Preset
   236				 * Bits   4-6:  Downstream Port Receiver Preset Hint
   237				 * Bit      7:  Reserved
   238				 * Bits  8-11:  Upstream Port Transmitter Preset
   239				 * Bits 12-14:  Upstream Port Receiver Preset Hint
   240				 * Bit     15:  Reserved
   241				 *
   242				 * 'eq_presets_8gts' is an array of u16 (word).
   243				 * Therefore, we need to write to the Lane Equalization Control
   244				 * register in units of words per-Lane.
   245				 */
   246				for (i = 0, j = 0; i < max_lanes; i++, j += 2)
   247					cdns_pcie_rp_writew(pcie, lane_eq_ctrl_reg + j, presets_8gts[i]);
   248	
   249				dev_info(dev, "Link Equalization presets applied for 8.0 GT/s\n");
   250			}
   251		}
   252	}
   253	

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


  reply	other threads:[~2025-10-28  5:17 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-27 13:29 [PATCH] PCI: cadence: Enable support for applying lane equalization presets Siddharth Vadapalli
2025-10-28  5:16 ` kernel test robot [this message]
2025-10-28  5:26   ` Siddharth Vadapalli
2025-10-28 11:47     ` Bjorn Helgaas
2025-10-28 12:43       ` Siddharth Vadapalli
2025-10-29  8:38         ` Siddharth Vadapalli

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=202510281329.racaZPSI-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=18255117159@163.com \
    --cc=bhelgaas@google.com \
    --cc=kishon@kernel.org \
    --cc=kwilczynski@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lpieralisi@kernel.org \
    --cc=mani@kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=robh@kernel.org \
    --cc=s-vadapalli@ti.com \
    --cc=srk@ti.com \
    --cc=unicorn_wang@outlook.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