[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202302161137.mfophRBY-lkp@intel.com>
Date: Thu, 16 Feb 2023 12:07:14 +0800
From: kernel test robot <lkp@...el.com>
To: Elliot Berman <quic_eberman@...cinc.com>,
Alex Elder <elder@...aro.org>,
Srinivas Kandagatla <srinivas.kandagatla@...aro.org>,
Prakruthi Deepak Heragu <quic_pheragu@...cinc.com>,
Jonathan Corbet <corbet@....net>,
Jassi Brar <jassisinghbrar@...il.com>
Cc: oe-kbuild-all@...ts.linux.dev,
Murali Nalajala <quic_mnalajal@...cinc.com>,
Trilok Soni <quic_tsoni@...cinc.com>,
Srivatsa Vaddagiri <quic_svaddagi@...cinc.com>,
Carl van Schaik <quic_cvanscha@...cinc.com>,
Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konrad.dybcio@...aro.org>,
Arnd Bergmann <arnd@...db.de>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzk@...nel.org>,
Bagas Sanjaya <bagasdotme@...il.com>,
Catalin Marinas <catalin.marinas@....com>,
linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-doc@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v10 07/26] mailbox: Add Gunyah message queue mailbox
Hi Elliot,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on 3ebb0ac55efaf1d0fb1b106f852c114e5021f7eb]
url: https://github.com/intel-lab-lkp/linux/commits/Elliot-Berman/docs-gunyah-Introduce-Gunyah-Hypervisor/20230215-055721
base: 3ebb0ac55efaf1d0fb1b106f852c114e5021f7eb
patch link: https://lore.kernel.org/r/20230214212316.3309053-1-quic_eberman%40quicinc.com
patch subject: [PATCH v10 07/26] mailbox: Add Gunyah message queue mailbox
config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20230216/202302161137.mfophRBY-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/b427188cd418632da7b26f283f5d2c668038186f
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Elliot-Berman/docs-gunyah-Introduce-Gunyah-Hypervisor/20230215-055721
git checkout b427188cd418632da7b26f283f5d2c668038186f
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202302161137.mfophRBY-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/mailbox/gunyah-msgq.c: In function 'gh_msgq_init':
>> drivers/mailbox/gunyah-msgq.c:180:15: error: implicit declaration of function 'mbox_bind_client' [-Werror=implicit-function-declaration]
180 | ret = mbox_bind_client(gh_msgq_chan(msgq), cl);
| ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/mbox_bind_client +180 drivers/mailbox/gunyah-msgq.c
110
111 /**
112 * gh_msgq_init() - Initialize a Gunyah message queue with an mbox_client
113 * @parent: optional, device parent used for the mailbox controller
114 * @msgq: Pointer to the gh_msgq to initialize
115 * @cl: A mailbox client to bind to the mailbox channel that the message queue creates
116 * @tx_ghrsc: optional, the transmission side of the message queue
117 * @rx_ghrsc: optional, the receiving side of the message queue
118 *
119 * At least one of tx_ghrsc and rx_ghrsc should be not NULL. Most message queue use cases come with
120 * a pair of message queues to facilitate bidirectional communication. When tx_ghrsc is set,
121 * the client can send messages with mbox_send_message(gh_msgq_chan(msgq), msg). When rx_ghrsc
122 * is set, the mbox_client should register an .rx_callback() and the message queue driver will
123 * push all available messages upon receiving the RX ready interrupt. The messages should be
124 * consumed or copied by the client right away as the gh_msgq_rx_data will be replaced/destroyed
125 * after the callback.
126 *
127 * Returns - 0 on success, negative otherwise
128 */
129 int gh_msgq_init(struct device *parent, struct gh_msgq *msgq, struct mbox_client *cl,
130 struct gunyah_resource *tx_ghrsc, struct gunyah_resource *rx_ghrsc)
131 {
132 int ret;
133
134 /* Must have at least a tx_ghrsc or rx_ghrsc and that they are the right device types */
135 if ((!tx_ghrsc && !rx_ghrsc) ||
136 (tx_ghrsc && tx_ghrsc->type != GUNYAH_RESOURCE_TYPE_MSGQ_TX) ||
137 (rx_ghrsc && rx_ghrsc->type != GUNYAH_RESOURCE_TYPE_MSGQ_RX))
138 return -EINVAL;
139
140 if (gh_api_version() != GUNYAH_API_V1) {
141 pr_err("Unrecognized gunyah version: %u. Currently supported: %d\n",
142 gh_api_version(), GUNYAH_API_V1);
143 return -EOPNOTSUPP;
144 }
145
146 if (!gh_api_has_feature(GH_API_FEATURE_MSGQUEUE))
147 return -EOPNOTSUPP;
148
149 msgq->tx_ghrsc = tx_ghrsc;
150 msgq->rx_ghrsc = rx_ghrsc;
151
152 msgq->mbox.dev = parent;
153 msgq->mbox.ops = &gh_msgq_ops;
154 msgq->mbox.num_chans = 1;
155 msgq->mbox.txdone_irq = true;
156 msgq->mbox.chans = kcalloc(msgq->mbox.num_chans, sizeof(*msgq->mbox.chans), GFP_KERNEL);
157 if (!msgq->mbox.chans)
158 return -ENOMEM;
159
160 if (msgq->tx_ghrsc) {
161 ret = request_irq(msgq->tx_ghrsc->irq, gh_msgq_tx_irq_handler, 0, "gh_msgq_tx",
162 msgq);
163 if (ret)
164 goto err_chans;
165 }
166
167 if (msgq->rx_ghrsc) {
168 ret = request_threaded_irq(msgq->rx_ghrsc->irq, NULL, gh_msgq_rx_irq_handler,
169 IRQF_ONESHOT, "gh_msgq_rx", msgq);
170 if (ret)
171 goto err_tx_irq;
172 }
173
174 tasklet_setup(&msgq->txdone_tasklet, gh_msgq_txdone_tasklet);
175
176 ret = mbox_controller_register(&msgq->mbox);
177 if (ret)
178 goto err_rx_irq;
179
> 180 ret = mbox_bind_client(gh_msgq_chan(msgq), cl);
181 if (ret)
182 goto err_mbox;
183
184 return 0;
185 err_mbox:
186 mbox_controller_unregister(&msgq->mbox);
187 err_rx_irq:
188 if (msgq->rx_ghrsc)
189 free_irq(msgq->rx_ghrsc->irq, msgq);
190 err_tx_irq:
191 if (msgq->tx_ghrsc)
192 free_irq(msgq->tx_ghrsc->irq, msgq);
193 err_chans:
194 kfree(msgq->mbox.chans);
195 return ret;
196 }
197 EXPORT_SYMBOL_GPL(gh_msgq_init);
198
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
Powered by blists - more mailing lists