Hi Kalle, First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git ath11k-qca6390-mhi head: dc3ad30e8022e5f833d4ae26935f03aff6d1f733 commit: dc3ad30e8022e5f833d4ae26935f03aff6d1f733 [48/48] Merge branch 'mhi-upstream-wip' of https://git.linaro.org/people/manivannan.sadhasivam/linux into ath11k-qca6390-mhi config: arm-allmodconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (GCC) 7.5.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout dc3ad30e8022e5f833d4ae26935f03aff6d1f733 # save the attached .config to linux build tree GCC_VERSION=7.5.0 make.cross ARCH=arm If you fix the issue, kindly add following tag Reported-by: kbuild test robot <[email protected]> All error/warnings (new ones prefixed by >>): drivers/net//wireless/ath/ath11k/mhi.c: In function 'ath11k_pci_get_mhi_msi': >> drivers/net//wireless/ath/ath11k/mhi.c:68:18: error: 'struct mhi_controller' >> has no member named 'msi_allocated' ar_pci->mhi_ctrl->msi_allocated = num_vectors; ^~ drivers/net//wireless/ath/ath11k/mhi.c: At top level: >> drivers/net//wireless/ath/ath11k/mhi.c:79:15: warning: 'enum MHI_CB' >> declared inside parameter list will not be visible outside of this >> definition or declaration enum MHI_CB reason) ^~~~~~ >> drivers/net//wireless/ath/ath11k/mhi.c:79:22: error: parameter 3 ('reason') >> has incomplete type enum MHI_CB reason) ^~~~~~ >> drivers/net//wireless/ath/ath11k/mhi.c:78:13: error: function declaration >> isn't a prototype [-Werror=strict-prototypes] static void ath11k_mhi_notify_status(struct mhi_controller *mhi_ctrl, void *priv, ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/net//wireless/ath/ath11k/mhi.c: In function 'ath11k_pci_register_mhi': >> drivers/net//wireless/ath/ath11k/mhi.c:100:13: error: too many arguments to >> function 'mhi_alloc_controller' mhi_ctrl = mhi_alloc_controller(0); ^~~~~~~~~~~~~~~~~~~~ In file included from drivers/net//wireless/ath/ath11k/pci.h:8:0, from drivers/net//wireless/ath/ath11k/mhi.h:8, from drivers/net//wireless/ath/ath11k/mhi.c:10: include/linux/mhi.h:555:24: note: declared here struct mhi_controller *mhi_alloc_controller(void); ^~~~~~~~~~~~~~~~~~~~ >> drivers/net//wireless/ath/ath11k/mhi.c:110:10: error: 'struct >> mhi_controller' has no member named 'of_node' mhi_ctrl->of_node = (ar_pci->dev)->of_node; ^~ >> drivers/net//wireless/ath/ath11k/mhi.c:112:10: error: 'struct >> mhi_controller' has no member named 'domain' mhi_ctrl->domain = pci_domain_nr(pci_dev->bus); ^~ >> drivers/net//wireless/ath/ath11k/mhi.c:113:10: error: 'struct >> mhi_controller' has no member named 'bus' mhi_ctrl->bus = pci_dev->bus->number; ^~ >> drivers/net//wireless/ath/ath11k/mhi.c:114:10: error: 'struct >> mhi_controller' has no member named 'slot' mhi_ctrl->slot = PCI_SLOT(pci_dev->devfn); ^~ >> drivers/net//wireless/ath/ath11k/mhi.c:138:8: error: implicit declaration of >> function 'of_register_mhi_controller'; did you mean >> 'mhi_register_controller'? [-Werror=implicit-function-declaration] ret = of_register_mhi_controller(mhi_ctrl); ^~~~~~~~~~~~~~~~~~~~~~~~~~ mhi_register_controller drivers/net//wireless/ath/ath11k/mhi.c: In function 'ath11k_pci_unregister_mhi': >> drivers/net//wireless/ath/ath11k/mhi.c:151:2: error: implicit declaration of >> function 'mhi_unregister_mhi_controller'; did you mean >> 'mhi_unregister_controller'? [-Werror=implicit-function-declaration] mhi_unregister_mhi_controller(mhi_ctrl); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mhi_unregister_controller cc1: some warnings being treated as errors -- drivers/net//wireless/ath/ath11k/pci.c: In function 'ath11k_pci_probe': >> drivers/net//wireless/ath/ath11k/pci.c:967:10: warning: this statement may >> fall through [-Wimplicit-fallthrough=] hw_rev = ATH11K_HW_QCA6290; ~~~~~~~^~~~~~~~~~~~~~~~~~~ drivers/net//wireless/ath/ath11k/pci.c:968:2: note: here case QCA6390_DEVICE_ID: ^~~~ vim +68 drivers/net//wireless/ath/ath11k/mhi.c fd40c4537aedaf Govind Singh 2019-12-12 8 fd40c4537aedaf Govind Singh 2019-12-12 9 #include "debug.h" fd40c4537aedaf Govind Singh 2019-12-12 @10 #include "mhi.h" fd40c4537aedaf Govind Singh 2019-12-12 11 fd40c4537aedaf Govind Singh 2019-12-12 12 #define MHI_TIMEOUT_DEFAULT_MS 90000 fd40c4537aedaf Govind Singh 2019-12-12 13 fd40c4537aedaf Govind Singh 2019-12-12 14 #ifdef MHI_COMPILE_TEST fd40c4537aedaf Govind Singh 2019-12-12 15 int mhi_prepare_for_power_up(struct mhi_controller *mhi_cntrl) fd40c4537aedaf Govind Singh 2019-12-12 16 { fd40c4537aedaf Govind Singh 2019-12-12 17 return 0; fd40c4537aedaf Govind Singh 2019-12-12 18 } fd40c4537aedaf Govind Singh 2019-12-12 19 fd40c4537aedaf Govind Singh 2019-12-12 20 void mhi_unprepare_after_power_down(struct mhi_controller *mhi_cntrl) fd40c4537aedaf Govind Singh 2019-12-12 21 { fd40c4537aedaf Govind Singh 2019-12-12 22 } fd40c4537aedaf Govind Singh 2019-12-12 23 fd40c4537aedaf Govind Singh 2019-12-12 24 int mhi_force_rddm_mode(struct mhi_controller *mhi_cntrl) fd40c4537aedaf Govind Singh 2019-12-12 25 { fd40c4537aedaf Govind Singh 2019-12-12 26 return 0; fd40c4537aedaf Govind Singh 2019-12-12 27 } fd40c4537aedaf Govind Singh 2019-12-12 28 fd40c4537aedaf Govind Singh 2019-12-12 29 void mhi_unregister_mhi_controller(struct mhi_controller *mhi_cntrl) fd40c4537aedaf Govind Singh 2019-12-12 30 { fd40c4537aedaf Govind Singh 2019-12-12 31 } fd40c4537aedaf Govind Singh 2019-12-12 32 fd40c4537aedaf Govind Singh 2019-12-12 33 void mhi_power_down(struct mhi_controller *mhi_cntrl, bool graceful) fd40c4537aedaf Govind Singh 2019-12-12 34 { fd40c4537aedaf Govind Singh 2019-12-12 35 } fd40c4537aedaf Govind Singh 2019-12-12 36 fd40c4537aedaf Govind Singh 2019-12-12 37 int mhi_sync_power_up(struct mhi_controller *mhi_cntrl) fd40c4537aedaf Govind Singh 2019-12-12 38 { fd40c4537aedaf Govind Singh 2019-12-12 39 return 0; fd40c4537aedaf Govind Singh 2019-12-12 40 } fd40c4537aedaf Govind Singh 2019-12-12 41 #endif fd40c4537aedaf Govind Singh 2019-12-12 42 fd40c4537aedaf Govind Singh 2019-12-12 43 static int ath11k_pci_get_mhi_msi(struct ath11k_pci *ar_pci) fd40c4537aedaf Govind Singh 2019-12-12 44 { fd40c4537aedaf Govind Singh 2019-12-12 45 struct ath11k_base *ab = ar_pci->ab; fd40c4537aedaf Govind Singh 2019-12-12 46 u32 user_base_data, base_vector; fd40c4537aedaf Govind Singh 2019-12-12 47 int ret, num_vectors, i; fd40c4537aedaf Govind Singh 2019-12-12 48 int *irq; fd40c4537aedaf Govind Singh 2019-12-12 49 fd40c4537aedaf Govind Singh 2019-12-12 50 ret = ath11k_pci_get_user_msi_assignment(ar_pci, fd40c4537aedaf Govind Singh 2019-12-12 51 "MHI", &num_vectors, fd40c4537aedaf Govind Singh 2019-12-12 52 &user_base_data, &base_vector); fd40c4537aedaf Govind Singh 2019-12-12 53 if (ret) fd40c4537aedaf Govind Singh 2019-12-12 54 return ret; fd40c4537aedaf Govind Singh 2019-12-12 55 fd40c4537aedaf Govind Singh 2019-12-12 56 ath11k_dbg(ab, ATH11K_DBG_PCI, "Number of assigned MSI for MHI is %d, base vector is %d\n", fd40c4537aedaf Govind Singh 2019-12-12 57 num_vectors, base_vector); fd40c4537aedaf Govind Singh 2019-12-12 58 fd40c4537aedaf Govind Singh 2019-12-12 59 irq = kcalloc(num_vectors, sizeof(int), GFP_KERNEL); fd40c4537aedaf Govind Singh 2019-12-12 60 if (!irq) fd40c4537aedaf Govind Singh 2019-12-12 61 return -ENOMEM; fd40c4537aedaf Govind Singh 2019-12-12 62 fd40c4537aedaf Govind Singh 2019-12-12 63 for (i = 0; i < num_vectors; i++) fd40c4537aedaf Govind Singh 2019-12-12 64 irq[i] = ath11k_pci_get_msi_irq(ar_pci->dev, fd40c4537aedaf Govind Singh 2019-12-12 65 base_vector + i); fd40c4537aedaf Govind Singh 2019-12-12 66 fd40c4537aedaf Govind Singh 2019-12-12 67 ar_pci->mhi_ctrl->irq = irq; fd40c4537aedaf Govind Singh 2019-12-12 @68 ar_pci->mhi_ctrl->msi_allocated = num_vectors; fd40c4537aedaf Govind Singh 2019-12-12 69 fd40c4537aedaf Govind Singh 2019-12-12 70 return 0; fd40c4537aedaf Govind Singh 2019-12-12 71 } fd40c4537aedaf Govind Singh 2019-12-12 72 fd40c4537aedaf Govind Singh 2019-12-12 73 static int ath11k_mhi_link_status(struct mhi_controller *mhi_ctrl, void *priv) fd40c4537aedaf Govind Singh 2019-12-12 74 { fd40c4537aedaf Govind Singh 2019-12-12 75 return 0; fd40c4537aedaf Govind Singh 2019-12-12 76 } fd40c4537aedaf Govind Singh 2019-12-12 77 fd40c4537aedaf Govind Singh 2019-12-12 @78 static void ath11k_mhi_notify_status(struct mhi_controller *mhi_ctrl, void *priv, fd40c4537aedaf Govind Singh 2019-12-12 @79 enum MHI_CB reason) fd40c4537aedaf Govind Singh 2019-12-12 80 { fd40c4537aedaf Govind Singh 2019-12-12 81 } fd40c4537aedaf Govind Singh 2019-12-12 82 fd40c4537aedaf Govind Singh 2019-12-12 83 static int ath11k_mhi_pm_runtime_get(struct mhi_controller *mhi_ctrl, void *priv) fd40c4537aedaf Govind Singh 2019-12-12 84 { fd40c4537aedaf Govind Singh 2019-12-12 85 return 0; fd40c4537aedaf Govind Singh 2019-12-12 86 } fd40c4537aedaf Govind Singh 2019-12-12 87 fd40c4537aedaf Govind Singh 2019-12-12 88 static void ath11k_mhi_pm_runtime_put_noidle(struct mhi_controller *mhi_ctrl, fd40c4537aedaf Govind Singh 2019-12-12 89 void *priv) fd40c4537aedaf Govind Singh 2019-12-12 90 { fd40c4537aedaf Govind Singh 2019-12-12 91 } fd40c4537aedaf Govind Singh 2019-12-12 92 fd40c4537aedaf Govind Singh 2019-12-12 93 int ath11k_pci_register_mhi(struct ath11k_pci *ar_pci) fd40c4537aedaf Govind Singh 2019-12-12 94 { fd40c4537aedaf Govind Singh 2019-12-12 95 struct pci_dev *pci_dev = ar_pci->pdev; fd40c4537aedaf Govind Singh 2019-12-12 96 struct ath11k_base *ab = ar_pci->ab; fd40c4537aedaf Govind Singh 2019-12-12 97 struct mhi_controller *mhi_ctrl; fd40c4537aedaf Govind Singh 2019-12-12 98 int ret; fd40c4537aedaf Govind Singh 2019-12-12 99 fd40c4537aedaf Govind Singh 2019-12-12 @100 mhi_ctrl = mhi_alloc_controller(0); fd40c4537aedaf Govind Singh 2019-12-12 101 if (!mhi_ctrl) { fd40c4537aedaf Govind Singh 2019-12-12 102 ath11k_err(ab, "invalid mhi controller context\n"); fd40c4537aedaf Govind Singh 2019-12-12 103 return -EINVAL; fd40c4537aedaf Govind Singh 2019-12-12 104 } fd40c4537aedaf Govind Singh 2019-12-12 105 fd40c4537aedaf Govind Singh 2019-12-12 106 ar_pci->mhi_ctrl = mhi_ctrl; fd40c4537aedaf Govind Singh 2019-12-12 107 fd40c4537aedaf Govind Singh 2019-12-12 108 mhi_ctrl->priv_data = ar_pci; fd40c4537aedaf Govind Singh 2019-12-12 109 mhi_ctrl->dev = &pci_dev->dev; fd40c4537aedaf Govind Singh 2019-12-12 @110 mhi_ctrl->of_node = (ar_pci->dev)->of_node; fd40c4537aedaf Govind Singh 2019-12-12 111 mhi_ctrl->dev_id = ar_pci->dev_id; fd40c4537aedaf Govind Singh 2019-12-12 @112 mhi_ctrl->domain = pci_domain_nr(pci_dev->bus); fd40c4537aedaf Govind Singh 2019-12-12 @113 mhi_ctrl->bus = pci_dev->bus->number; fd40c4537aedaf Govind Singh 2019-12-12 @114 mhi_ctrl->slot = PCI_SLOT(pci_dev->devfn); fd40c4537aedaf Govind Singh 2019-12-12 115 fd40c4537aedaf Govind Singh 2019-12-12 116 mhi_ctrl->fw_image = ATH11K_PCI_FW_FILE_NAME; fd40c4537aedaf Govind Singh 2019-12-12 117 fd40c4537aedaf Govind Singh 2019-12-12 118 mhi_ctrl->regs = ar_pci->mem; fd40c4537aedaf Govind Singh 2019-12-12 119 fd40c4537aedaf Govind Singh 2019-12-12 120 ret = ath11k_pci_get_mhi_msi(ar_pci); fd40c4537aedaf Govind Singh 2019-12-12 121 if (ret) { fd40c4537aedaf Govind Singh 2019-12-12 122 ath11k_err(ab, "failed to get msi for mhi\n"); fd40c4537aedaf Govind Singh 2019-12-12 123 return ret; fd40c4537aedaf Govind Singh 2019-12-12 124 } fd40c4537aedaf Govind Singh 2019-12-12 125 a1cf6ea6afa534 Carl Huang 2019-12-12 126 mhi_ctrl->iova_start = 0x0; a1cf6ea6afa534 Carl Huang 2019-12-12 127 mhi_ctrl->iova_stop = 0xffffffff; fd40c4537aedaf Govind Singh 2019-12-12 128 fd40c4537aedaf Govind Singh 2019-12-12 129 mhi_ctrl->link_status = ath11k_mhi_link_status; fd40c4537aedaf Govind Singh 2019-12-12 130 mhi_ctrl->status_cb = ath11k_mhi_notify_status; fd40c4537aedaf Govind Singh 2019-12-12 131 mhi_ctrl->runtime_get = ath11k_mhi_pm_runtime_get; fd40c4537aedaf Govind Singh 2019-12-12 132 mhi_ctrl->runtime_put = ath11k_mhi_pm_runtime_put_noidle; fd40c4537aedaf Govind Singh 2019-12-12 133 fd40c4537aedaf Govind Singh 2019-12-12 134 mhi_ctrl->sbl_size = SZ_512K; fd40c4537aedaf Govind Singh 2019-12-12 135 mhi_ctrl->seg_len = SZ_512K; fd40c4537aedaf Govind Singh 2019-12-12 136 mhi_ctrl->fbc_download = true; fd40c4537aedaf Govind Singh 2019-12-12 137 fd40c4537aedaf Govind Singh 2019-12-12 @138 ret = of_register_mhi_controller(mhi_ctrl); fd40c4537aedaf Govind Singh 2019-12-12 139 if (ret) { fd40c4537aedaf Govind Singh 2019-12-12 140 ath11k_err(ab, "failed to register to mhi bus, err = %d\n", ret); fd40c4537aedaf Govind Singh 2019-12-12 141 return ret; fd40c4537aedaf Govind Singh 2019-12-12 142 } fd40c4537aedaf Govind Singh 2019-12-12 143 fd40c4537aedaf Govind Singh 2019-12-12 144 return 0; fd40c4537aedaf Govind Singh 2019-12-12 145 } fd40c4537aedaf Govind Singh 2019-12-12 146 fd40c4537aedaf Govind Singh 2019-12-12 147 void ath11k_pci_unregister_mhi(struct ath11k_pci *ar_pci) fd40c4537aedaf Govind Singh 2019-12-12 148 { fd40c4537aedaf Govind Singh 2019-12-12 149 struct mhi_controller *mhi_ctrl = ar_pci->mhi_ctrl; fd40c4537aedaf Govind Singh 2019-12-12 150 fd40c4537aedaf Govind Singh 2019-12-12 @151 mhi_unregister_mhi_controller(mhi_ctrl); fd40c4537aedaf Govind Singh 2019-12-12 152 kfree(mhi_ctrl->irq); fd40c4537aedaf Govind Singh 2019-12-12 153 } fd40c4537aedaf Govind Singh 2019-12-12 154 :::::: The code at line 68 was first introduced by commit :::::: fd40c4537aedaf6a0faebcafe047523c09ce3024 ath11k: Register mhi controller device for qca69x0 :::::: TO: Govind Singh <[email protected]> :::::: CC: Kalle Valo <[email protected]> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/[email protected] Intel Corporation
.config.gz
Description: application/gzip
_______________________________________________ ath10k mailing list [email protected] http://lists.infradead.org/mailman/listinfo/ath10k
