[xilinx-xlnx:xlnx_rebase_v5.15_LTS 470/1197] drivers/misc/jesd204b/jesd_phy.c:97:13: warning: variable 'pll' set but not used

kernel test robot lkp at intel.com
Sat Jun 25 20:56:10 PDT 2022


Hi Shubhrajyoti,

FYI, the error/warning still remains.

tree:   https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.15_LTS
head:   1e67f149fb5eb4f5eb4e0d4f69194eac6d2497d7
commit: 4cf40e565c55a749ca7a7bbc7bc998fd3f3a2486 [470/1197] misc: jesd204b: Add driver for Xilinx jesd204b
config: mips-allmodconfig
compiler: mips-linux-gcc (GCC) 11.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/Xilinx/linux-xlnx/commit/4cf40e565c55a749ca7a7bbc7bc998fd3f3a2486
        git remote add xilinx-xlnx https://github.com/Xilinx/linux-xlnx
        git fetch --no-tags xilinx-xlnx xlnx_rebase_v5.15_LTS
        git checkout 4cf40e565c55a749ca7a7bbc7bc998fd3f3a2486
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash drivers/clk/ drivers/gpu/drm/xlnx/ drivers/media/platform/xilinx/ drivers/misc/jesd204b/ drivers/phy/xilinx/ drivers/ptp/ drivers/staging/ drivers/uio/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp at intel.com>

All warnings (new ones prefixed by >>):

   drivers/misc/jesd204b/jesd_phy.c: In function 'read_plls':
>> drivers/misc/jesd204b/jesd_phy.c:97:13: warning: variable 'pll' set but not used [-Wunused-but-set-variable]
      97 |         int pll = st->pll;
         |             ^~~
   drivers/misc/jesd204b/jesd_phy.c: At top level:
>> drivers/misc/jesd204b/jesd_phy.c:172:6: warning: no previous prototype for 'jesd204_phy_set_speed' [-Wmissing-prototypes]
     172 | void jesd204_phy_set_speed(struct jesd204b_phy_state *st, u32 band)
         |      ^~~~~~~~~~~~~~~~~~~~~


vim +/pll +97 drivers/misc/jesd204b/jesd_phy.c

    93	
    94	static void read_plls(struct jesd204b_phy_state *st)
    95	{
    96		int i;
  > 97		int pll = st->pll;
    98		u32 no_of_common_drp_interfaces = 1;
    99	
   100		if (st->pll == CPLL)
   101			no_of_common_drp_interfaces = jesd204b_phy_read(
   102							st, NR_TRANS_DRP_INTERFACES);
   103		else
   104			no_of_common_drp_interfaces = jesd204b_phy_read(
   105							st, NR_COMMON_DRP_INTERFACES);
   106	
   107		for (i = 0; i < no_of_common_drp_interfaces; i++) {
   108			jesd204b_phy_write(st, CHANNEL_XCVR_SEL, i);
   109			pll = jesd204b_phy_read(st, CHANNEL_XCVR_TXPLL);
   110			pll = jesd204b_phy_read(st, CHANNEL_XCVR_RXPLL);
   111		}
   112	}
   113	
   114	static void configure_plls(struct jesd204b_phy_state *st, u32 pll)
   115	{
   116		int i;
   117		u32 no_of_common_drp_interfaces;
   118	
   119		if (pll == CPLL)
   120			no_of_common_drp_interfaces = jesd204b_phy_read(
   121							st, NR_TRANS_DRP_INTERFACES);
   122		else
   123			no_of_common_drp_interfaces = jesd204b_phy_read(
   124							st, NR_COMMON_DRP_INTERFACES);
   125	
   126		for (i = 0; i < no_of_common_drp_interfaces; i++) {
   127			jesd204b_phy_write(st, CHANNEL_XCVR_SEL, i);
   128			jesd204b_phy_write(st, CHANNEL_XCVR_TXPLL, pll);
   129			jesd204b_phy_write(st, CHANNEL_XCVR_RXPLL, pll);
   130		}
   131	}
   132	
   133	static void configure_channel_drp(struct jesd204b_phy_state *st, u32 setting)
   134	{
   135		u32 i, j, addr, temp, no_of_common_drp_interfaces;
   136		u32 no_channel_drp_reg = GTX7S_QPLL_NUM_CHANNEL_DRP_REGS;
   137	
   138		no_of_common_drp_interfaces = jesd204b_phy_read(
   139						st, NR_TRANS_DRP_INTERFACES);
   140	
   141		if (st->pll == CPLL)
   142			no_channel_drp_reg = GTX7S_CPLL_NUM_CHANNEL_DRP_REGS;
   143		for (i = 0; i < no_of_common_drp_interfaces; i++) {
   144			jesd204b_phy_write(st, CHANNEL_DRP_BASE, i);
   145			for (j = 0; j < no_channel_drp_reg; j++) {
   146				/* Get the register address */
   147				if (st->pll == QPLL) {
   148					addr = get_gtx7s_qpll_address_lut(j);
   149	
   150					/* Read the register */
   151					temp = read_channel_drp_reg(st, addr);
   152	
   153					temp &= (0xFFFF ^ (get_gtx7s_qpll_mask_lut(j)));
   154					temp |= ((get_gtx7s_qpll_param_lut(j, setting)
   155							<< get_gtx7s_qpll_offset_lut(j))
   156							& get_gtx7s_qpll_mask_lut(j));
   157				} else {
   158					addr = get_gtx7s_cpll_address_lut(j);
   159	
   160					temp = read_channel_drp_reg(st, addr);
   161	
   162					temp &= (0xFFFF ^ (get_gtx7s_cpll_mask_lut(j)));
   163					temp |= ((get_gtx7s_cpll_param_lut(j, setting)
   164							<< get_gtx7s_cpll_offset_lut(j))
   165							& get_gtx7s_cpll_mask_lut(j));
   166				}
   167				write_channel_drp_reg(st, addr, temp);
   168			}
   169		}
   170	}
   171	
 > 172	void jesd204_phy_set_speed(struct jesd204b_phy_state *st, u32 band)
   173	{
   174		/* make sure we have the correct PLL's selected. */
   175		configure_channel_drp(st, band);
   176	}
   177	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp



More information about the linux-arm-kernel mailing list