lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202103271556.seXsrYve-lkp@intel.com>
Date:   Sat, 27 Mar 2021 15:58:59 +0800
From:   kernel test robot <lkp@...el.com>
To:     min.li.xe@...esas.com, derek.kiernan@...inx.com,
        dragan.cvetic@...inx.com, arnd@...db.de, gregkh@...uxfoundation.org
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        Min Li <min.li.xe@...esas.com>
Subject: Re: [PATCH next 2/2] misc: Add Renesas Synchronization Management
 Unit (SMU) support

Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on next-20210326]

url:    https://github.com/0day-ci/linux/commits/min-li-xe-renesas-com/mfd-Add-Renesas-Synchronization-Management-Unit-SMU-support/20210327-150316
base:    931294922e65a23e1aad6398b9ae02df74044679
config: x86_64-randconfig-r036-20210327 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/0719d3e2c97f4073f3b495311f260c6c3e0dda28
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review min-li-xe-renesas-com/mfd-Add-Renesas-Synchronization-Management-Unit-SMU-support/20210327-150316
        git checkout 0719d3e2c97f4073f3b495311f260c6c3e0dda28
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

   ld: drivers/misc/rsmu_cm.o: in function `rsmu_cm_get_dpll_ffo':
>> drivers/misc/rsmu_cm.c:148: undefined reference to `rsmu_read'
   ld: drivers/misc/rsmu_cm.o: in function `rsmu_cm_get_dpll_state':
   drivers/misc/rsmu_cm.c:80: undefined reference to `rsmu_read'
   ld: drivers/misc/rsmu_cm.o: in function `rsmu_cm_set_combomode':
   drivers/misc/rsmu_cm.c:56: undefined reference to `rsmu_read'
>> ld: drivers/misc/rsmu_cm.c:67: undefined reference to `rsmu_write'
   ld: drivers/misc/rsmu_sabre.o: in function `rsmu_sabre_get_dpll_ffo':
>> drivers/misc/rsmu_sabre.c:110: undefined reference to `rsmu_read'
   ld: drivers/misc/rsmu_sabre.o: in function `rsmu_sabre_get_dpll_state':
   drivers/misc/rsmu_sabre.c:65: undefined reference to `rsmu_read'
   ld: drivers/misc/rsmu_sabre.o: in function `rsmu_sabre_set_combomode':
   drivers/misc/rsmu_sabre.c:38: undefined reference to `rsmu_read'
>> ld: drivers/misc/rsmu_sabre.c:45: undefined reference to `rsmu_write'


vim +148 drivers/misc/rsmu_cm.c

    17	
    18	static int rsmu_cm_set_combomode(struct rsmu_cdev *rsmu, u8 dpll, u8 mode)
    19	{
    20		u16 dpll_ctrl_n;
    21		u8 cfg;
    22		int err;
    23	
    24		switch (dpll) {
    25		case 0:
    26			dpll_ctrl_n = DPLL_CTRL_0;
    27			break;
    28		case 1:
    29			dpll_ctrl_n = DPLL_CTRL_1;
    30			break;
    31		case 2:
    32			dpll_ctrl_n = DPLL_CTRL_2;
    33			break;
    34		case 3:
    35			dpll_ctrl_n = DPLL_CTRL_3;
    36			break;
    37		case 4:
    38			dpll_ctrl_n = DPLL_CTRL_4;
    39			break;
    40		case 5:
    41			dpll_ctrl_n = DPLL_CTRL_5;
    42			break;
    43		case 6:
    44			dpll_ctrl_n = DPLL_CTRL_6;
    45			break;
    46		case 7:
    47			dpll_ctrl_n = DPLL_CTRL_7;
    48			break;
    49		default:
    50			return -EINVAL;
    51		}
    52	
    53		if (mode >= E_COMBOMODE_MAX)
    54			return -EINVAL;
    55	
    56		err = rsmu_read(rsmu->mfd, dpll_ctrl_n + DPLL_CTRL_COMBO_MASTER_CFG,
    57				&cfg, sizeof(cfg));
    58		if (err)
    59			return err;
    60	
    61		/* Only need to enable/disable COMBO_MODE_HOLD. */
    62		if (mode)
    63			cfg |= COMBO_MASTER_HOLD;
    64		else
    65			cfg &= ~COMBO_MASTER_HOLD;
    66	
  > 67		return rsmu_write(rsmu->mfd, dpll_ctrl_n + DPLL_CTRL_COMBO_MASTER_CFG,
    68				  &cfg, sizeof(cfg));
    69	}
    70	
    71	static int rsmu_cm_get_dpll_state(struct rsmu_cdev *rsmu, u8 dpll, u8 *state)
    72	{
    73		u8 cfg;
    74		int err;
    75	
    76		/* 8 is sys dpll */
    77		if (dpll > 8)
    78			return -EINVAL;
    79	
    80		err = rsmu_read(rsmu->mfd,
    81				  STATUS + DPLL0_STATUS + dpll,
    82				  &cfg, sizeof(cfg));
    83		if (err)
    84			return err;
    85	
    86		switch (cfg & DPLL_STATE_MASK) {
    87		case DPLL_STATE_FREERUN:
    88			*state = E_SRVLOUNQUALIFIEDSTATE;
    89			break;
    90		case DPLL_STATE_LOCKACQ:
    91		case DPLL_STATE_LOCKREC:
    92			*state = E_SRVLOLOCKACQSTATE;
    93			break;
    94		case DPLL_STATE_LOCKED:
    95			*state = E_SRVLOTIMELOCKEDSTATE;
    96			break;
    97		case DPLL_STATE_HOLDOVER:
    98			*state = E_SRVLOHOLDOVERINSPECSTATE;
    99			break;
   100		default:
   101			*state = E_SRVLOSTATEINVALID;
   102			break;
   103		}
   104	
   105		return 0;
   106	}
   107	
   108	static int rsmu_cm_get_dpll_ffo(struct rsmu_cdev *rsmu, u8 dpll,
   109					struct rsmu_get_ffo *ffo)
   110	{
   111		u8 buf[8] = {0};
   112		s64 fcw = 0;
   113		u16 dpll_filter_status;
   114		int err;
   115	
   116		switch (dpll) {
   117		case 0:
   118			dpll_filter_status = DPLL0_FILTER_STATUS;
   119			break;
   120		case 1:
   121			dpll_filter_status = DPLL1_FILTER_STATUS;
   122			break;
   123		case 2:
   124			dpll_filter_status = DPLL2_FILTER_STATUS;
   125			break;
   126		case 3:
   127			dpll_filter_status = DPLL3_FILTER_STATUS;
   128			break;
   129		case 4:
   130			dpll_filter_status = DPLL4_FILTER_STATUS;
   131			break;
   132		case 5:
   133			dpll_filter_status = DPLL5_FILTER_STATUS;
   134			break;
   135		case 6:
   136			dpll_filter_status = DPLL6_FILTER_STATUS;
   137			break;
   138		case 7:
   139			dpll_filter_status = DPLL7_FILTER_STATUS;
   140			break;
   141		case 8:
   142			dpll_filter_status = DPLLSYS_FILTER_STATUS;
   143			break;
   144		default:
   145			return -EINVAL;
   146		}
   147	
 > 148		err = rsmu_read(rsmu->mfd, STATUS + dpll_filter_status, buf, 6);
   149		if (err)
   150			return err;
   151	
   152		/* Convert to frequency control word */
   153		fcw = sign_extend64(get_unaligned_le64(buf), 47);
   154	
   155		/* FCW unit is 2 ^ -53 = 1.1102230246251565404236316680908e-16 */
   156		ffo->ffo = fcw * 111;
   157	
   158		return 0;
   159	}
   160	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (29323 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ