[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202410051418.lLY7SXXp-lkp@intel.com>
Date: Sat, 5 Oct 2024 14:54:09 +0800
From: kernel test robot <lkp@...el.com>
To: Karol Kolacinski <karol.kolacinski@...el.com>,
intel-wired-lan@...ts.osuosl.org
Cc: oe-kbuild-all@...ts.linux.dev, netdev@...r.kernel.org,
anthony.l.nguyen@...el.com, przemyslaw.kitszel@...el.com,
Karol Kolacinski <karol.kolacinski@...el.com>
Subject: Re: [PATCH iwl-next] ice: Add in/out PTP pin delays
Hi Karol,
kernel test robot noticed the following build errors:
[auto build test ERROR on f2589ad16e14b7102f1411e3385a2abf07076406]
url: https://github.com/intel-lab-lkp/linux/commits/Karol-Kolacinski/ice-Add-in-out-PTP-pin-delays/20241004-144802
base: f2589ad16e14b7102f1411e3385a2abf07076406
patch link: https://lore.kernel.org/r/20241004064733.1362850-2-karol.kolacinski%40intel.com
patch subject: [PATCH iwl-next] ice: Add in/out PTP pin delays
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20241005/202410051418.lLY7SXXp-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 13.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241005/202410051418.lLY7SXXp-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410051418.lLY7SXXp-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/net/ethernet/intel/ice/ice_ptp.c: In function 'ice_ptp_cfg_perout':
>> drivers/net/ethernet/intel/ice/ice_ptp.c:1784:22: error: redeclaration of 'gpio_pin' with no linkage
1784 | unsigned int gpio_pin;
| ^~~~~~~~
drivers/net/ethernet/intel/ice/ice_ptp.c:1781:22: note: previous declaration of 'gpio_pin' with type 'unsigned int'
1781 | unsigned int gpio_pin, prop_delay;
| ^~~~~~~~
--
drivers/net/ethernet/intel/ice/ice_ptp_hw.c: In function 'ice_ptp_init_phc_e810':
>> drivers/net/ethernet/intel/ice/ice_ptp_hw.c:5033:36: error: 'ICE_E810_E830_SYNC_DELAY' undeclared (first use in this function)
5033 | ice_ptp_cfg_sync_delay(hw, ICE_E810_E830_SYNC_DELAY);
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/ice/ice_ptp_hw.c:5033:36: note: each undeclared identifier is reported only once for each function it appears in
drivers/net/ethernet/intel/ice/ice_ptp_hw.c: In function 'ice_ptp_init_phc_e830':
drivers/net/ethernet/intel/ice/ice_ptp_hw.c:5341:36: error: 'ICE_E810_E830_SYNC_DELAY' undeclared (first use in this function)
5341 | ice_ptp_cfg_sync_delay(hw, ICE_E810_E830_SYNC_DELAY);
| ^~~~~~~~~~~~~~~~~~~~~~~~
vim +/gpio_pin +1784 drivers/net/ethernet/intel/ice/ice_ptp.c
172db5f91d5f7b Maciej Machnikowski 2021-06-16 1766
5a078a58ade86d Karol Kolacinski 2024-08-30 1767 /**
5a078a58ade86d Karol Kolacinski 2024-08-30 1768 * ice_ptp_cfg_perout - Configure clock to generate periodic wave
5a078a58ade86d Karol Kolacinski 2024-08-30 1769 * @pf: Board private structure
5a078a58ade86d Karol Kolacinski 2024-08-30 1770 * @rq: Periodic output request
5a078a58ade86d Karol Kolacinski 2024-08-30 1771 * @on: Enable/disable flag
5a078a58ade86d Karol Kolacinski 2024-08-30 1772 *
5a078a58ade86d Karol Kolacinski 2024-08-30 1773 * Configure the internal clock generator modules to generate the clock wave of
5a078a58ade86d Karol Kolacinski 2024-08-30 1774 * specified period.
5a078a58ade86d Karol Kolacinski 2024-08-30 1775 *
5a078a58ade86d Karol Kolacinski 2024-08-30 1776 * Return: 0 on success, negative error code otherwise
5a078a58ade86d Karol Kolacinski 2024-08-30 1777 */
5a078a58ade86d Karol Kolacinski 2024-08-30 1778 static int ice_ptp_cfg_perout(struct ice_pf *pf, struct ptp_perout_request *rq,
5a078a58ade86d Karol Kolacinski 2024-08-30 1779 int on)
5a078a58ade86d Karol Kolacinski 2024-08-30 1780 {
718647161517f7 Karol Kolacinski 2024-10-04 1781 unsigned int gpio_pin, prop_delay;
5a078a58ade86d Karol Kolacinski 2024-08-30 1782 u64 clk, period, start, phase;
5a078a58ade86d Karol Kolacinski 2024-08-30 1783 struct ice_hw *hw = &pf->hw;
5a078a58ade86d Karol Kolacinski 2024-08-30 @1784 unsigned int gpio_pin;
5a078a58ade86d Karol Kolacinski 2024-08-30 1785 int pin_desc_idx;
5a078a58ade86d Karol Kolacinski 2024-08-30 1786
5a078a58ade86d Karol Kolacinski 2024-08-30 1787 if (rq->flags & ~PTP_PEROUT_PHASE)
5a078a58ade86d Karol Kolacinski 2024-08-30 1788 return -EOPNOTSUPP;
5a078a58ade86d Karol Kolacinski 2024-08-30 1789
5a078a58ade86d Karol Kolacinski 2024-08-30 1790 pin_desc_idx = ice_ptp_find_pin_idx(pf, PTP_PF_PEROUT, rq->index);
5a078a58ade86d Karol Kolacinski 2024-08-30 1791 if (pin_desc_idx < 0)
5a078a58ade86d Karol Kolacinski 2024-08-30 1792 return -EIO;
5a078a58ade86d Karol Kolacinski 2024-08-30 1793
5a078a58ade86d Karol Kolacinski 2024-08-30 1794 gpio_pin = pf->ptp.ice_pin_desc[pin_desc_idx].gpio[1];
718647161517f7 Karol Kolacinski 2024-10-04 1795 prop_delay = pf->ptp.ice_pin_desc[pin_desc_idx].delay[1];
5a078a58ade86d Karol Kolacinski 2024-08-30 1796 period = rq->period.sec * NSEC_PER_SEC + rq->period.nsec;
5a078a58ade86d Karol Kolacinski 2024-08-30 1797
5a078a58ade86d Karol Kolacinski 2024-08-30 1798 /* If we're disabling the output or period is 0, clear out CLKO and TGT
5a078a58ade86d Karol Kolacinski 2024-08-30 1799 * and keep output level low.
5a078a58ade86d Karol Kolacinski 2024-08-30 1800 */
5a078a58ade86d Karol Kolacinski 2024-08-30 1801 if (!on || !period)
5a078a58ade86d Karol Kolacinski 2024-08-30 1802 return ice_ptp_write_perout(hw, rq->index, gpio_pin, 0, 0);
5a078a58ade86d Karol Kolacinski 2024-08-30 1803
5a078a58ade86d Karol Kolacinski 2024-08-30 1804 if (strncmp(pf->ptp.pin_desc[pin_desc_idx].name, "1PPS", 64) == 0 &&
001459cacff09e Karol Kolacinski 2024-09-30 1805 period != NSEC_PER_SEC && hw->mac_type == ICE_MAC_GENERIC) {
5a078a58ade86d Karol Kolacinski 2024-08-30 1806 dev_err(ice_pf_to_dev(pf), "1PPS pin supports only 1 s period\n");
5a078a58ade86d Karol Kolacinski 2024-08-30 1807 return -EOPNOTSUPP;
5a078a58ade86d Karol Kolacinski 2024-08-30 1808 }
5a078a58ade86d Karol Kolacinski 2024-08-30 1809
5a078a58ade86d Karol Kolacinski 2024-08-30 1810 if (period & 0x1) {
5a078a58ade86d Karol Kolacinski 2024-08-30 1811 dev_err(ice_pf_to_dev(pf), "CLK Period must be an even value\n");
5a078a58ade86d Karol Kolacinski 2024-08-30 1812 return -EIO;
5a078a58ade86d Karol Kolacinski 2024-08-30 1813 }
5a078a58ade86d Karol Kolacinski 2024-08-30 1814
5a078a58ade86d Karol Kolacinski 2024-08-30 1815 start = rq->start.sec * NSEC_PER_SEC + rq->start.nsec;
5a078a58ade86d Karol Kolacinski 2024-08-30 1816
5a078a58ade86d Karol Kolacinski 2024-08-30 1817 /* If PTP_PEROUT_PHASE is set, rq has phase instead of start time */
5a078a58ade86d Karol Kolacinski 2024-08-30 1818 if (rq->flags & PTP_PEROUT_PHASE)
5a078a58ade86d Karol Kolacinski 2024-08-30 1819 phase = start;
5a078a58ade86d Karol Kolacinski 2024-08-30 1820 else
5a078a58ade86d Karol Kolacinski 2024-08-30 1821 div64_u64_rem(start, period, &phase);
5a078a58ade86d Karol Kolacinski 2024-08-30 1822
5a078a58ade86d Karol Kolacinski 2024-08-30 1823 /* If we have only phase or start time is in the past, start the timer
5a078a58ade86d Karol Kolacinski 2024-08-30 1824 * at the next multiple of period, maintaining phase.
5a078a58ade86d Karol Kolacinski 2024-08-30 1825 */
5a078a58ade86d Karol Kolacinski 2024-08-30 1826 clk = ice_ptp_read_src_clk_reg(pf, NULL);
718647161517f7 Karol Kolacinski 2024-10-04 1827 if (rq->flags & PTP_PEROUT_PHASE || start <= clk - prop_delay)
5a078a58ade86d Karol Kolacinski 2024-08-30 1828 start = div64_u64(clk + period - 1, period) * period + phase;
5a078a58ade86d Karol Kolacinski 2024-08-30 1829
5a078a58ade86d Karol Kolacinski 2024-08-30 1830 /* Compensate for propagation delay from the generator to the pin. */
718647161517f7 Karol Kolacinski 2024-10-04 1831 start -= prop_delay;
5a078a58ade86d Karol Kolacinski 2024-08-30 1832
5a078a58ade86d Karol Kolacinski 2024-08-30 1833 return ice_ptp_write_perout(hw, rq->index, gpio_pin, start, period);
172db5f91d5f7b Maciej Machnikowski 2021-06-16 1834 }
172db5f91d5f7b Maciej Machnikowski 2021-06-16 1835
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists