Thanks for the report!

This patch has dependency on https://lkml.org/lkml/2018/5/17/251

I should have mentioned this in cover letter!

thanks,
srini

On 18/05/18 22:39, kbuild test robot wrote:
Hi Srinivas,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.17-rc5 next-20180517]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Srinivas-Kandagatla/slimbus-ngd-dt-bindings-Add-slim-ngd-dt-bindings/20180518-193916
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
         wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
         chmod +x ~/bin/make.cross
         # save the attached .config to linux build tree
         make.cross ARCH=arm

All error/warnings (new ones prefixed by >>):

    drivers/slimbus/qcom-ngd-ctrl.c: In function 'qcom_slim_ngd_get_laddr':
drivers/slimbus/qcom-ngd-ctrl.c:862:8: error: implicit declaration of function 
'slim_prepare_txn'; did you mean 'slab_prepare_cpu'? 
[-Werror=implicit-function-declaration]
      ret = slim_prepare_txn(sctrl, &txn, &done, true);
            ^~~~~~~~~~~~~~~~
            slab_prepare_cpu
    drivers/slimbus/qcom-ngd-ctrl.c: In function 'qcom_slim_ngd_notify_slaves':
drivers/slimbus/qcom-ngd-ctrl.c:969:11: error: implicit declaration of function 
'of_slim_get_device'; did you mean 'slim_get_device'? 
[-Werror=implicit-function-declaration]
       sbdev = of_slim_get_device(&ctrl->ctrl, node);
               ^~~~~~~~~~~~~~~~~~
               slim_get_device
drivers/slimbus/qcom-ngd-ctrl.c:969:9: warning: assignment makes pointer from 
integer without a cast [-Wint-conversion]
       sbdev = of_slim_get_device(&ctrl->ctrl, node);
             ^
    cc1: some warnings being treated as errors

vim +862 drivers/slimbus/qcom-ngd-ctrl.c

    839 
    840 static int qcom_slim_ngd_get_laddr(struct slim_controller *sctrl,
    841                                    struct slim_eaddr *ea, u8 *laddr)
    842 {
    843         DECLARE_COMPLETION_ONSTACK(done);
    844         struct slim_val_inf msg =  {0};
    845         struct slim_msg_txn txn;
    846         u8 wbuf[10] = {0};
    847         u8 rbuf[10] = {0};
    848         int ret;
    849 
    850         txn.mt = SLIM_MSG_MT_DEST_REFERRED_USER;
    851         txn.dt = SLIM_MSG_DEST_LOGICALADDR;
    852         txn.la = SLIM_LA_MGR;
    853         txn.ec = 0;
    854 
    855         txn.mc = SLIM_USR_MC_ADDR_QUERY;
    856         txn.rl = 11;
    857         txn.msg = &msg;
    858         txn.msg->num_bytes = 7;
    859         txn.msg->wbuf = wbuf;
    860         txn.msg->rbuf = rbuf;
    861 
  > 862              ret = slim_prepare_txn(sctrl, &txn, &done, true);
    863         if (ret)
    864                 return ret;
    865 
    866         wbuf[0] = (u8)txn.tid;
    867         memcpy(&wbuf[1], ea, sizeof(*ea));
    868         ret = slim_do_transfer(sctrl, &txn);
    869 
    870         *laddr = rbuf[6];
    871 
    872         return ret;
    873 }
    874 
    875 static int qcom_slim_ngd_exit_dma(struct qcom_slim_ngd_ctrl *ctrl)
    876 {
    877         if (ctrl->dma_rx_channel)
    878                 dma_release_channel(ctrl->dma_rx_channel);
    879 
    880         if (ctrl->dma_tx_channel)
    881                 dma_release_channel(ctrl->dma_tx_channel);
    882 
    883         ctrl->dma_tx_channel = ctrl->dma_rx_channel = NULL;
    884 
    885         return 0;
    886 }
    887 
    888 static void qcom_slim_ngd_setup(struct qcom_slim_ngd_ctrl *ctrl)
    889 {
    890         u32 cfg = readl_relaxed(ctrl->base +
    891                                  NGD_BASE(ctrl->id, ctrl->ver));
    892 
    893         if (ctrl->state == QCOM_SLIM_NGD_CTRL_DOWN)
    894                 qcom_slim_ngd_init_dma(ctrl);
    895 
    896         /* By default enable message queues */
    897         cfg |= NGD_CFG_RX_MSGQ_EN;
    898         cfg |= NGD_CFG_TX_MSGQ_EN;
    899 
    900         /* Enable NGD if it's not already enabled*/
    901         if (!(cfg & NGD_CFG_ENABLE))
    902                 cfg |= NGD_CFG_ENABLE;
    903 
    904         writel_relaxed(cfg, ctrl->base + NGD_BASE(ctrl->id, ctrl->ver));
    905 }
    906 
    907 static int qcom_slim_ngd_power_up(struct qcom_slim_ngd_ctrl *ctrl)
    908 {
    909         enum qcom_slim_ngd_state cur_state = ctrl->state;
    910         void __iomem *ngd;
    911         u32 laddr, rx_msgq;
    912         int timeout, ret = 0;
    913 
    914         if (ctrl->state == QCOM_SLIM_NGD_CTRL_DOWN) {
    915                 timeout = 
wait_for_completion_timeout(&ctrl->qmi.qmi_comp, HZ);
    916                 if (!timeout)
    917                         return -EREMOTEIO;
    918         }
    919 
    920         if (ctrl->state == QCOM_SLIM_NGD_CTRL_ASLEEP ||
    921                 ctrl->state == QCOM_SLIM_NGD_CTRL_DOWN) {
    922                 ret = qcom_slim_qmi_power_request(ctrl, true);
    923                 if (ret) {
    924                         dev_err(ctrl->dev, "SLIM QMI power request 
failed:%d\n",
    925                                         ret);
    926                         return ret;
    927                 }
    928         }
    929 
    930         ctrl->ver = readl_relaxed(ctrl->base);
    931         /* Version info in 16 MSbits */
    932         ctrl->ver >>= 16;
    933         ngd = ctrl->base + NGD_BASE(ctrl->id, ctrl->ver);
    934         laddr = readl_relaxed(ngd + NGD_STATUS);
    935         if (laddr & NGD_LADDR) {
    936                 /*
    937                  * external MDM restart case where ADSP itself was 
active framer
    938                  * For example, modem restarted when playback was active
    939                  */
    940                 if (cur_state == QCOM_SLIM_NGD_CTRL_AWAKE) {
    941                         dev_info(ctrl->dev, "Subsys restart: ADSP active 
framer\n");
    942                         return 0;
    943                 }
    944                 return 0;
    945         }
    946 
    947         writel_relaxed(DEF_NGD_INT_MASK, ctrl->base + NGD_INT_EN +
    948                                 NGD_BASE(ctrl->id, ctrl->ver));
    949         rx_msgq = readl_relaxed(ngd + NGD_RX_MSGQ_CFG);
    950 
    951         writel_relaxed(rx_msgq|SLIM_RX_MSGQ_TIMEOUT_VAL, ngd + 
NGD_RX_MSGQ_CFG);
    952         qcom_slim_ngd_setup(ctrl);
    953 
    954         timeout = wait_for_completion_timeout(&ctrl->reconf, HZ);
    955         if (!timeout) {
    956                 dev_err(ctrl->dev, "capability exchange timed-out\n");
    957                 return -ETIMEDOUT;
    958         }
    959 
    960         return 0;
    961 }
    962 
    963 static void qcom_slim_ngd_notify_slaves(struct qcom_slim_ngd_ctrl *ctrl)
    964 {
    965         struct slim_device *sbdev;
    966         struct device_node *node;
    967 
    968         for_each_child_of_node(ctrl->dev->of_node, node) {
  > 969                      sbdev = of_slim_get_device(&ctrl->ctrl, node);
    970                 if (!sbdev)
    971                         continue;
    972 
    973                 if (slim_get_logical_addr(sbdev))
    974                         dev_err(ctrl->dev, "Failed to get logical 
address\n");
    975         }
    976 }
    977 

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Reply via email to