Re: [Intel-gfx] [PATCH 20/20] drm: Remove obsolete GEM and PRIME callbacks from struct drm_driver
by kernel test robot
Hi Thomas,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on next-20200813]
[cannot apply to drm-intel/for-linux-next linux-arm/drm-armada-devel linux-arm/drm-armada-fixes anholt/for-next v5.8]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Thomas-Zimmermann/Convert-all-re...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git dc06fe51d26efc100ac74121607c01a454867c91
config: i386-randconfig-m021-20200811 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
New smatch warnings:
drivers/gpu/drm/drm_prime.c:389 export_and_register_object() error: uninitialized symbol 'dmabuf'.
Old smatch warnings:
drivers/gpu/drm/drm_prime.c:359 drm_gem_prime_fd_to_handle() warn: inconsistent returns 'dev->object_name_lock'.
vim +/dmabuf +389 drivers/gpu/drm/drm_prime.c
89177644a7b6306 Aaron Plattner 2013-01-15 374
319c933c71f3dbd Daniel Vetter 2013-08-15 375 static struct dma_buf *export_and_register_object(struct drm_device *dev,
319c933c71f3dbd Daniel Vetter 2013-08-15 376 struct drm_gem_object *obj,
319c933c71f3dbd Daniel Vetter 2013-08-15 377 uint32_t flags)
319c933c71f3dbd Daniel Vetter 2013-08-15 378 {
319c933c71f3dbd Daniel Vetter 2013-08-15 379 struct dma_buf *dmabuf;
319c933c71f3dbd Daniel Vetter 2013-08-15 380
319c933c71f3dbd Daniel Vetter 2013-08-15 381 /* prevent races with concurrent gem_close. */
319c933c71f3dbd Daniel Vetter 2013-08-15 382 if (obj->handle_count == 0) {
319c933c71f3dbd Daniel Vetter 2013-08-15 383 dmabuf = ERR_PTR(-ENOENT);
319c933c71f3dbd Daniel Vetter 2013-08-15 384 return dmabuf;
319c933c71f3dbd Daniel Vetter 2013-08-15 385 }
319c933c71f3dbd Daniel Vetter 2013-08-15 386
b39b5394fabc79a Noralf Trønnes 2018-11-10 387 if (obj->funcs && obj->funcs->export)
b39b5394fabc79a Noralf Trønnes 2018-11-10 388 dmabuf = obj->funcs->export(obj, flags);
319c933c71f3dbd Daniel Vetter 2013-08-15 @389 if (IS_ERR(dmabuf)) {
319c933c71f3dbd Daniel Vetter 2013-08-15 390 /* normally the created dma-buf takes ownership of the ref,
319c933c71f3dbd Daniel Vetter 2013-08-15 391 * but if that fails then drop the ref
319c933c71f3dbd Daniel Vetter 2013-08-15 392 */
319c933c71f3dbd Daniel Vetter 2013-08-15 393 return dmabuf;
319c933c71f3dbd Daniel Vetter 2013-08-15 394 }
319c933c71f3dbd Daniel Vetter 2013-08-15 395
319c933c71f3dbd Daniel Vetter 2013-08-15 396 /*
319c933c71f3dbd Daniel Vetter 2013-08-15 397 * Note that callers do not need to clean up the export cache
319c933c71f3dbd Daniel Vetter 2013-08-15 398 * since the check for obj->handle_count guarantees that someone
319c933c71f3dbd Daniel Vetter 2013-08-15 399 * will clean it up.
319c933c71f3dbd Daniel Vetter 2013-08-15 400 */
319c933c71f3dbd Daniel Vetter 2013-08-15 401 obj->dma_buf = dmabuf;
319c933c71f3dbd Daniel Vetter 2013-08-15 402 get_dma_buf(obj->dma_buf);
319c933c71f3dbd Daniel Vetter 2013-08-15 403
319c933c71f3dbd Daniel Vetter 2013-08-15 404 return dmabuf;
319c933c71f3dbd Daniel Vetter 2013-08-15 405 }
319c933c71f3dbd Daniel Vetter 2013-08-15 406
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[intel-linux-intel-lts:5.4/yocto 9239/9293] drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:2420:57: sparse: sparse: context imbalance in 'stmmac_tx_clean' - unexpected unlock
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 5.4/yocto
head: 19c99348fd624a151932ed1f9c51390f08d1e293
commit: 64c67d53637d9b20d9501908ed9c8b7edfdbef7b [9239/9293] net: stmmac: refactor get_tx_queue and company
config: i386-randconfig-s001-20200813 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-168-g9554805c-dirty
git checkout 64c67d53637d9b20d9501908ed9c8b7edfdbef7b
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:1460:6: sparse: sparse: symbol 'stmmac_alloc_rx_buffers' was not declared. Should it be static?
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:2846:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] etdes4 @@ got unsigned long @@
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:2846:27: sparse: expected restricted __le32 [usertype] etdes4
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:2846:27: sparse: got unsigned long
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:2847:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] etdes5 @@ got unsigned long @@
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:2847:27: sparse: expected restricted __le32 [usertype] etdes5
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:2847:27: sparse: got unsigned long
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:2848:27: sparse: sparse: invalid assignment: |=
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:2848:27: sparse: left side has type restricted __le32
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:2848:27: sparse: right side has type unsigned long
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:5787:5: sparse: sparse: symbol 'stmmac_xdp_xmit' was not declared. Should it be static?
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:6502:6: sparse: sparse: symbol 'stmmac_clean_all_tx_rings' was not declared. Should it be static?
>> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:2420:57: sparse: sparse: context imbalance in 'stmmac_tx_clean' - unexpected unlock
vim +/stmmac_tx_clean +2420 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2254
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2255 /**
732fdf0e5253e9d drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Giuseppe CAVALLARO 2014-11-18 2256 * stmmac_tx_clean - to manage the transmission completion
32ceabcad3c8abd drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Giuseppe CAVALLARO 2013-04-08 2257 * @priv: driver private structure
ce736788e8a92c1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2258 * @queue: TX queue index
732fdf0e5253e9d drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Giuseppe CAVALLARO 2014-11-18 2259 * Description: it reclaims the transmit resources after transmission completes.
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2260 */
8fce3331702316d drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2018-09-17 2261 static int stmmac_tx_clean(struct stmmac_priv *priv, int budget, u32 queue)
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2262 {
56a2ef6888738a6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-09-23 2263 struct stmmac_tx_queue *tx_q = get_tx_queue(priv, queue);
3897957494d979a drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Beniamino Galvani 2015-01-21 2264 unsigned int bytes_compl = 0, pkts_compl = 0;
8fce3331702316d drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2018-09-17 2265 unsigned int entry, count = 0;
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2266
56a2ef6888738a6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-09-23 2267 if (!queue_is_xdp(priv, queue))
8fce3331702316d drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2018-09-17 2268 __netif_tx_lock_bh(netdev_get_tx_queue(priv->dev, queue));
a9097a9666fd7b0 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Giuseppe CAVALLARO 2011-10-18 2269
9125cdd1be11995 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Giuseppe CAVALLARO 2012-11-25 2270 priv->xstats.tx_clean++;
9125cdd1be11995 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Giuseppe CAVALLARO 2012-11-25 2271
8d5f4b07174976c drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Bernd Edlinger 2017-10-21 2272 entry = tx_q->dirty_tx;
8fce3331702316d drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2018-09-17 2273 while ((entry != tx_q->cur_tx) && (count < budget)) {
ce736788e8a92c1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2274 struct sk_buff *skb = tx_q->tx_skbuff[entry];
c24602ef8664937 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Giuseppe CAVALLARO 2013-03-26 2275 struct dma_desc *p;
c363b6586cd4244 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Fabrice Gasnier 2016-02-29 2276 int status;
c24602ef8664937 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Giuseppe CAVALLARO 2013-03-26 2277
c24602ef8664937 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Giuseppe CAVALLARO 2013-03-26 2278 if (priv->extend_desc)
ce736788e8a92c1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2279 p = (struct dma_desc *)(tx_q->dma_etx + entry);
bc8a9a82fe6adc4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Song, Yoong Siang 2020-04-30 2280 else if (tx_q->tbs & STMMAC_TBS_AVAIL)
1df51f6ffc148f2 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Kweh Hock Leong 2019-08-09 2281 p = &(tx_q->dma_enhtx + entry)->basic;
c24602ef8664937 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Giuseppe CAVALLARO 2013-03-26 2282 else
ce736788e8a92c1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2283 p = tx_q->dma_tx + entry;
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2284
42de047d60bc5d8 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2018-04-16 2285 status = stmmac_tx_status(priv, &priv->dev->stats,
42de047d60bc5d8 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2018-04-16 2286 &priv->xstats, p, priv->ioaddr);
c363b6586cd4244 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Fabrice Gasnier 2016-02-29 2287 /* Check if the descriptor is owned by the DMA */
c363b6586cd4244 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Fabrice Gasnier 2016-02-29 2288 if (unlikely(status & tx_dma_own))
c363b6586cd4244 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Fabrice Gasnier 2016-02-29 2289 break;
c363b6586cd4244 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Fabrice Gasnier 2016-02-29 2290
8fce3331702316d drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2018-09-17 2291 count++;
8fce3331702316d drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2018-09-17 2292
a6b25da5e7ba212 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Niklas Cassel 2018-02-26 2293 /* Make sure descriptor fields are read after reading
a6b25da5e7ba212 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Niklas Cassel 2018-02-26 2294 * the own bit.
a6b25da5e7ba212 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Niklas Cassel 2018-02-26 2295 */
a6b25da5e7ba212 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Niklas Cassel 2018-02-26 2296 dma_rmb();
a6b25da5e7ba212 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Niklas Cassel 2018-02-26 2297
c363b6586cd4244 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Fabrice Gasnier 2016-02-29 2298 /* Just consider the last segment and ...*/
c363b6586cd4244 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Fabrice Gasnier 2016-02-29 2299 if (likely(!(status & tx_not_ls))) {
c363b6586cd4244 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Fabrice Gasnier 2016-02-29 2300 /* ... verify the status error condition */
c363b6586cd4244 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Fabrice Gasnier 2016-02-29 2301 if (unlikely(status & tx_err)) {
c363b6586cd4244 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Fabrice Gasnier 2016-02-29 2302 priv->dev->stats.tx_errors++;
c363b6586cd4244 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Fabrice Gasnier 2016-02-29 2303 } else {
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2304 priv->dev->stats.tx_packets++;
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2305 priv->xstats.tx_pkt_n++;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2306
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2307 switch (queue) {
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2308 case 0x0:
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2309 priv->xstats.q0_tx_pkt_n++;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2310 break;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2311 case 0x1:
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2312 priv->xstats.q1_tx_pkt_n++;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2313 break;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2314 case 0x2:
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2315 priv->xstats.q2_tx_pkt_n++;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2316 break;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2317 case 0x3:
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2318 priv->xstats.q3_tx_pkt_n++;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2319 break;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2320 case 0x4:
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2321 priv->xstats.q4_tx_pkt_n++;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2322 break;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2323 case 0x5:
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2324 priv->xstats.q5_tx_pkt_n++;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2325 break;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2326 case 0x6:
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2327 priv->xstats.q6_tx_pkt_n++;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2328 break;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2329 case 0x7:
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2330 priv->xstats.q7_tx_pkt_n++;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2331 break;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2332 default:
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2333 break;
1669fca61b324c6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Tan, Tee Min 2019-08-15 2334 }
c363b6586cd4244 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Fabrice Gasnier 2016-02-29 2335 }
21bd120d3bd39c4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-11-28 2336 if (!queue_is_xdp(priv, queue) &&
21bd120d3bd39c4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-11-28 2337 skb_shinfo(skb)->tx_flags & SKBTX_IN_PROGRESS) {
21bd120d3bd39c4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-11-28 2338 struct skb_shared_hwtstamps shhwtstamp;
21bd120d3bd39c4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-11-28 2339
21bd120d3bd39c4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-11-28 2340 memset(&shhwtstamp, 0,
21bd120d3bd39c4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-11-28 2341 sizeof(struct skb_shared_hwtstamps));
21bd120d3bd39c4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-11-28 2342 stmmac_get_tx_hwtstamp(priv, p,
21bd120d3bd39c4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-11-28 2343 &shhwtstamp.hwtstamp);
21bd120d3bd39c4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-11-28 2344 skb_tstamp_tx(skb, &shhwtstamp);
21bd120d3bd39c4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-11-28 2345
21bd120d3bd39c4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-11-28 2346 }
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2347 }
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2348
ce736788e8a92c1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2349 if (likely(tx_q->tx_skbuff_dma[entry].buf)) {
ce736788e8a92c1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2350 if (tx_q->tx_skbuff_dma[entry].map_as_page)
362b37be01edc74 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Giuseppe CAVALLARO 2014-08-27 2351 dma_unmap_page(priv->device,
ce736788e8a92c1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2352 tx_q->tx_skbuff_dma[entry].buf,
ce736788e8a92c1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2353 tx_q->tx_skbuff_dma[entry].len,
362b37be01edc74 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Giuseppe CAVALLARO 2014-08-27 2354 DMA_TO_DEVICE);
362b37be01edc74 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Giuseppe CAVALLARO 2014-08-27 2355 else
cf32deec16e4e8d drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Rayagond Kokatanur 2013-03-26 2356 dma_unmap_single(priv->device,
ce736788e8a92c1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2357 tx_q->tx_skbuff_dma[entry].buf,
ce736788e8a92c1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2358 tx_q->tx_skbuff_dma[entry].len,
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2359 DMA_TO_DEVICE);
ce736788e8a92c1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2360 tx_q->tx_skbuff_dma[entry].buf = 0;
ce736788e8a92c1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2361 tx_q->tx_skbuff_dma[entry].len = 0;
ce736788e8a92c1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2362 tx_q->tx_skbuff_dma[entry].map_as_page = false;
cf32deec16e4e8d drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Rayagond Kokatanur 2013-03-26 2363 }
f748be531d7012c drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Alexandre TORGUE 2016-04-01 2364
2c520b1c9cfa7d4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2018-04-16 2365 stmmac_clean_desc3(priv, tx_q, p);
f748be531d7012c drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Alexandre TORGUE 2016-04-01 2366
ce736788e8a92c1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2367 tx_q->tx_skbuff_dma[entry].last_segment = false;
ce736788e8a92c1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2368 tx_q->tx_skbuff_dma[entry].is_jumbo = false;
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2369
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2370 if (likely(skb != NULL)) {
3897957494d979a drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Beniamino Galvani 2015-01-21 2371 pkts_compl++;
3897957494d979a drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Beniamino Galvani 2015-01-21 2372 bytes_compl += skb->len;
7c565c33464798b drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Eric W. Biederman 2014-03-15 2373 dev_consume_skb_any(skb);
ce736788e8a92c1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2374 tx_q->tx_skbuff[entry] = NULL;
56a2ef6888738a6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-09-23 2375 } else if (queue_is_xdp(priv, queue)) {
56a2ef6888738a6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-09-23 2376 pkts_compl++;
56a2ef6888738a6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-09-23 2377 bytes_compl += tx_q->xdpf[entry]->len;
56a2ef6888738a6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-09-23 2378 xdp_return_frame(tx_q->xdpf[entry]);
56a2ef6888738a6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-09-23 2379 tx_q->xdpf[entry] = NULL;
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2380 }
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2381
bc8a9a82fe6adc4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Song, Yoong Siang 2020-04-30 2382 if (tx_q->tbs & STMMAC_TBS_AVAIL)
bc8a9a82fe6adc4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Song, Yoong Siang 2020-04-30 2383 stmmac_release_tx_desc(priv, p,
bc8a9a82fe6adc4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Song, Yoong Siang 2020-04-30 2384 STMMAC_ENHANCED_TX_MODE);
bc8a9a82fe6adc4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Song, Yoong Siang 2020-04-30 2385 else
42de047d60bc5d8 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2018-04-16 2386 stmmac_release_tx_desc(priv, p, priv->mode);
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2387
b8a723a68f15af5 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Song, Yoong Siang 2018-07-19 2388 entry = STMMAC_GET_ENTRY(entry, priv->dma_tx_size);
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2389 }
ce736788e8a92c1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2390 tx_q->dirty_tx = entry;
3897957494d979a drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Beniamino Galvani 2015-01-21 2391
56a2ef6888738a6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-09-23 2392 if (queue_is_xdp(priv, queue))
56a2ef6888738a6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-09-23 2393 goto xdp_tx_done;
56a2ef6888738a6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-09-23 2394
c22a3f48ef99ea4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2395 netdev_tx_completed_queue(netdev_get_tx_queue(priv->dev, queue),
c22a3f48ef99ea4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2396 pkts_compl, bytes_compl);
c22a3f48ef99ea4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2397
c22a3f48ef99ea4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2398 if (unlikely(netif_tx_queue_stopped(netdev_get_tx_queue(priv->dev,
c22a3f48ef99ea4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2399 queue))) &&
b8a723a68f15af5 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Song, Yoong Siang 2018-07-19 2400 stmmac_tx_avail(priv, queue) > STMMAC_TX_THRESH(priv)) {
3897957494d979a drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Beniamino Galvani 2015-01-21 2401
b3e51069627e2b9 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c LABBE Corentin 2016-11-16 2402 netif_dbg(priv, tx_done, priv->dev,
b3e51069627e2b9 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c LABBE Corentin 2016-11-16 2403 "%s: restart transmit\n", __func__);
c22a3f48ef99ea4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Joao Pinto 2017-04-06 2404 netif_tx_wake_queue(netdev_get_tx_queue(priv->dev, queue));
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2405 }
d765955d2ae0b88 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Giuseppe CAVALLARO 2012-06-27 2406
56a2ef6888738a6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-09-23 2407 xdp_tx_done:
d69567157edfe3a drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Vineetha G. Jaya Kumaran 2020-04-16 2408 if (priv->eee_enabled && !priv->tx_path_in_lpi_mode &&
d69567157edfe3a drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Vineetha G. Jaya Kumaran 2020-04-16 2409 priv->plat->eee_timer) {
d765955d2ae0b88 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Giuseppe CAVALLARO 2012-06-27 2410 stmmac_enable_eee_mode(priv);
fd1494af34cb437 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Vineetha G. Jaya Kumaran 2020-04-13 2411 mod_timer(&priv->eee_ctrl_timer,
fd1494af34cb437 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Vineetha G. Jaya Kumaran 2020-04-13 2412 STMMAC_LPI_T(priv->tx_lpi_timer));
d765955d2ae0b88 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Giuseppe CAVALLARO 2012-06-27 2413 }
8fce3331702316d drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2018-09-17 2414
4ccb45857c2c077 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2019-02-19 2415 /* We still have pending packets, let's call for a new scheduling */
4ccb45857c2c077 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2019-02-19 2416 if (tx_q->dirty_tx != tx_q->cur_tx)
f968e197cb30be6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2019-12-18 2417 mod_timer(&tx_q->txtimer, STMMAC_COAL_TIMER(priv->tx_coal_timer));
4ccb45857c2c077 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2019-02-19 2418
56a2ef6888738a6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Ong Boon Leong 2019-09-23 2419 if (!queue_is_xdp(priv, queue))
8fce3331702316d drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2018-09-17 @2420 __netif_tx_unlock_bh(netdev_get_tx_queue(priv->dev, queue));
8fce3331702316d drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2018-09-17 2421
8fce3331702316d drivers/net/ethernet/stmicro/stmmac/stmmac_main.c Jose Abreu 2018-09-17 2422 return count;
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2423 }
47dd7a540b8a0cd drivers/net/stmmac/stmmac_main.c Giuseppe Cavallaro 2009-10-14 2424
:::::: The code at line 2420 was first introduced by commit
:::::: 8fce3331702316d4bcfeb0771c09ac75d2192bbc net: stmmac: Rework coalesce timer and fix multi-queue races
:::::: TO: Jose Abreu <Jose.Abreu(a)synopsys.com>
:::::: CC: David S. Miller <davem(a)davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c:416 stmmac_probe_config_dt() warn: unsigned 'plat->phy_interface' is never less than zero.
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: dc06fe51d26efc100ac74121607c01a454867c91
commit: b9f0b2f634c0765999bec5547bc7a4ac08fda3ff net: stmmac: platform: fix probe for ACPI devices
date: 7 months ago
config: ia64-randconfig-m031-20200811 (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
smatch warnings:
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c:416 stmmac_probe_config_dt() warn: unsigned 'plat->phy_interface' is never less than zero.
vim +416 drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
386
387 /**
388 * stmmac_probe_config_dt - parse device-tree driver parameters
389 * @pdev: platform_device structure
390 * @mac: MAC address to use
391 * Description:
392 * this function is to read the driver parameters from device-tree and
393 * set some private fields that will be used by the main at runtime.
394 */
395 struct plat_stmmacenet_data *
396 stmmac_probe_config_dt(struct platform_device *pdev, const char **mac)
397 {
398 struct device_node *np = pdev->dev.of_node;
399 struct plat_stmmacenet_data *plat;
400 struct stmmac_dma_cfg *dma_cfg;
401 int rc;
402
403 plat = devm_kzalloc(&pdev->dev, sizeof(*plat), GFP_KERNEL);
404 if (!plat)
405 return ERR_PTR(-ENOMEM);
406
407 *mac = of_get_mac_address(np);
408 if (IS_ERR(*mac)) {
409 if (PTR_ERR(*mac) == -EPROBE_DEFER)
410 return ERR_CAST(*mac);
411
412 *mac = NULL;
413 }
414
415 plat->phy_interface = device_get_phy_mode(&pdev->dev);
> 416 if (plat->phy_interface < 0)
417 return ERR_PTR(plat->phy_interface);
418
419 plat->interface = stmmac_of_get_mac_mode(np);
420 if (plat->interface < 0)
421 plat->interface = plat->phy_interface;
422
423 /* Some wrapper drivers still rely on phy_node. Let's save it while
424 * they are not converted to phylink. */
425 plat->phy_node = of_parse_phandle(np, "phy-handle", 0);
426
427 /* PHYLINK automatically parses the phy-handle property */
428 plat->phylink_node = np;
429
430 /* Get max speed of operation from device tree */
431 if (of_property_read_u32(np, "max-speed", &plat->max_speed))
432 plat->max_speed = -1;
433
434 plat->bus_id = of_alias_get_id(np, "ethernet");
435 if (plat->bus_id < 0)
436 plat->bus_id = 0;
437
438 /* Default to phy auto-detection */
439 plat->phy_addr = -1;
440
441 /* Default to get clk_csr from stmmac_clk_crs_set(),
442 * or get clk_csr from device tree.
443 */
444 plat->clk_csr = -1;
445 of_property_read_u32(np, "clk_csr", &plat->clk_csr);
446
447 /* "snps,phy-addr" is not a standard property. Mark it as deprecated
448 * and warn of its use. Remove this when phy node support is added.
449 */
450 if (of_property_read_u32(np, "snps,phy-addr", &plat->phy_addr) == 0)
451 dev_warn(&pdev->dev, "snps,phy-addr property is deprecated\n");
452
453 /* To Configure PHY by using all device-tree supported properties */
454 rc = stmmac_dt_phy(plat, np, &pdev->dev);
455 if (rc)
456 return ERR_PTR(rc);
457
458 of_property_read_u32(np, "tx-fifo-depth", &plat->tx_fifo_size);
459
460 of_property_read_u32(np, "rx-fifo-depth", &plat->rx_fifo_size);
461
462 plat->force_sf_dma_mode =
463 of_property_read_bool(np, "snps,force_sf_dma_mode");
464
465 plat->en_tx_lpi_clockgating =
466 of_property_read_bool(np, "snps,en-tx-lpi-clockgating");
467
468 /* Set the maxmtu to a default of JUMBO_LEN in case the
469 * parameter is not present in the device tree.
470 */
471 plat->maxmtu = JUMBO_LEN;
472
473 /* Set default value for multicast hash bins */
474 plat->multicast_filter_bins = HASH_TABLE_SIZE;
475
476 /* Set default value for unicast filter entries */
477 plat->unicast_filter_entries = 1;
478
479 /*
480 * Currently only the properties needed on SPEAr600
481 * are provided. All other properties should be added
482 * once needed on other platforms.
483 */
484 if (of_device_is_compatible(np, "st,spear600-gmac") ||
485 of_device_is_compatible(np, "snps,dwmac-3.50a") ||
486 of_device_is_compatible(np, "snps,dwmac-3.70a") ||
487 of_device_is_compatible(np, "snps,dwmac")) {
488 /* Note that the max-frame-size parameter as defined in the
489 * ePAPR v1.1 spec is defined as max-frame-size, it's
490 * actually used as the IEEE definition of MAC Client
491 * data, or MTU. The ePAPR specification is confusing as
492 * the definition is max-frame-size, but usage examples
493 * are clearly MTUs
494 */
495 of_property_read_u32(np, "max-frame-size", &plat->maxmtu);
496 of_property_read_u32(np, "snps,multicast-filter-bins",
497 &plat->multicast_filter_bins);
498 of_property_read_u32(np, "snps,perfect-filter-entries",
499 &plat->unicast_filter_entries);
500 plat->unicast_filter_entries = dwmac1000_validate_ucast_entries(
501 &pdev->dev, plat->unicast_filter_entries);
502 plat->multicast_filter_bins = dwmac1000_validate_mcast_bins(
503 &pdev->dev, plat->multicast_filter_bins);
504 plat->has_gmac = 1;
505 plat->pmt = 1;
506 }
507
508 if (of_device_is_compatible(np, "snps,dwmac-4.00") ||
509 of_device_is_compatible(np, "snps,dwmac-4.10a") ||
510 of_device_is_compatible(np, "snps,dwmac-4.20a")) {
511 plat->has_gmac4 = 1;
512 plat->has_gmac = 0;
513 plat->pmt = 1;
514 plat->tso_en = of_property_read_bool(np, "snps,tso");
515 }
516
517 if (of_device_is_compatible(np, "snps,dwmac-3.610") ||
518 of_device_is_compatible(np, "snps,dwmac-3.710")) {
519 plat->enh_desc = 1;
520 plat->bugged_jumbo = 1;
521 plat->force_sf_dma_mode = 1;
522 }
523
524 if (of_device_is_compatible(np, "snps,dwxgmac")) {
525 plat->has_xgmac = 1;
526 plat->pmt = 1;
527 plat->tso_en = of_property_read_bool(np, "snps,tso");
528 }
529
530 dma_cfg = devm_kzalloc(&pdev->dev, sizeof(*dma_cfg),
531 GFP_KERNEL);
532 if (!dma_cfg) {
533 stmmac_remove_config_dt(pdev, plat);
534 return ERR_PTR(-ENOMEM);
535 }
536 plat->dma_cfg = dma_cfg;
537
538 of_property_read_u32(np, "snps,pbl", &dma_cfg->pbl);
539 if (!dma_cfg->pbl)
540 dma_cfg->pbl = DEFAULT_DMA_PBL;
541 of_property_read_u32(np, "snps,txpbl", &dma_cfg->txpbl);
542 of_property_read_u32(np, "snps,rxpbl", &dma_cfg->rxpbl);
543 dma_cfg->pblx8 = !of_property_read_bool(np, "snps,no-pbl-x8");
544
545 dma_cfg->aal = of_property_read_bool(np, "snps,aal");
546 dma_cfg->fixed_burst = of_property_read_bool(np, "snps,fixed-burst");
547 dma_cfg->mixed_burst = of_property_read_bool(np, "snps,mixed-burst");
548
549 plat->force_thresh_dma_mode = of_property_read_bool(np, "snps,force_thresh_dma_mode");
550 if (plat->force_thresh_dma_mode) {
551 plat->force_sf_dma_mode = 0;
552 dev_warn(&pdev->dev,
553 "force_sf_dma_mode is ignored if force_thresh_dma_mode is set.\n");
554 }
555
556 of_property_read_u32(np, "snps,ps-speed", &plat->mac_port_sel_speed);
557
558 plat->axi = stmmac_axi_setup(pdev);
559
560 rc = stmmac_mtl_setup(pdev, plat);
561 if (rc) {
562 stmmac_remove_config_dt(pdev, plat);
563 return ERR_PTR(rc);
564 }
565
566 /* clock setup */
567 if (!of_device_is_compatible(np, "snps,dwc-qos-ethernet-4.10")) {
568 plat->stmmac_clk = devm_clk_get(&pdev->dev,
569 STMMAC_RESOURCE_NAME);
570 if (IS_ERR(plat->stmmac_clk)) {
571 dev_warn(&pdev->dev, "Cannot get CSR clock\n");
572 plat->stmmac_clk = NULL;
573 }
574 clk_prepare_enable(plat->stmmac_clk);
575 }
576
577 plat->pclk = devm_clk_get(&pdev->dev, "pclk");
578 if (IS_ERR(plat->pclk)) {
579 if (PTR_ERR(plat->pclk) == -EPROBE_DEFER)
580 goto error_pclk_get;
581
582 plat->pclk = NULL;
583 }
584 clk_prepare_enable(plat->pclk);
585
586 /* Fall-back to main clock in case of no PTP ref is passed */
587 plat->clk_ptp_ref = devm_clk_get(&pdev->dev, "ptp_ref");
588 if (IS_ERR(plat->clk_ptp_ref)) {
589 plat->clk_ptp_rate = clk_get_rate(plat->stmmac_clk);
590 plat->clk_ptp_ref = NULL;
591 dev_warn(&pdev->dev, "PTP uses main clock\n");
592 } else {
593 plat->clk_ptp_rate = clk_get_rate(plat->clk_ptp_ref);
594 dev_dbg(&pdev->dev, "PTP rate %d\n", plat->clk_ptp_rate);
595 }
596
597 plat->stmmac_rst = devm_reset_control_get(&pdev->dev,
598 STMMAC_RESOURCE_NAME);
599 if (IS_ERR(plat->stmmac_rst)) {
600 if (PTR_ERR(plat->stmmac_rst) == -EPROBE_DEFER)
601 goto error_hw_init;
602
603 dev_info(&pdev->dev, "no reset control found\n");
604 plat->stmmac_rst = NULL;
605 }
606
607 return plat;
608
609 error_hw_init:
610 clk_disable_unprepare(plat->pclk);
611 error_pclk_get:
612 clk_disable_unprepare(plat->stmmac_clk);
613
614 return ERR_PTR(-EPROBE_DEFER);
615 }
616
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
Re: [PATCH v5 06/17] sched/debug: Output SD flag names rather than their values
by kernel test robot
Hi Valentin,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on tip/sched/core]
[also build test WARNING on tip/auto-latest linux/master linus/master v5.8 next-20200812]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Valentin-Schneider/sched-Instrum...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 949bcb8135a96a6923e676646bd29cbe69e8350f
config: i386-randconfig-s001-20200811 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-168-g9554805c-dirty
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
kernel/sched/debug.c:327:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/debug.c:327:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/debug.c:327:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/debug.c:334:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/debug.c:334:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/debug.c:334:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/debug.c:486:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/debug.c:486:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/debug.c:486:22: sparse: struct task_struct *
kernel/sched/debug.c:694:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/debug.c:694:9: sparse: expected struct task_struct *tsk
kernel/sched/debug.c:694:9: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/debug.c:694:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/debug.c:694:9: sparse: expected struct task_struct *tsk
kernel/sched/debug.c:694:9: sparse: got struct task_struct [noderef] __rcu *curr
>> kernel/sched/debug.c:279:17: sparse: sparse: non size-preserving pointer to integer cast
>> kernel/sched/debug.c:279:17: sparse: sparse: non size-preserving integer to pointer cast
vim +279 kernel/sched/debug.c
247
248 static int sd_ctl_doflags(struct ctl_table *table, int write,
249 void *buffer, size_t *lenp, loff_t *ppos)
250 {
251 unsigned long flags = *(unsigned long *)table->data;
252 size_t data_size = 0;
253 size_t len = 0;
254 char *tmp;
255 int idx;
256
257 if (write)
258 return 0;
259
260 for_each_set_bit(idx, &flags, __SD_FLAG_CNT) {
261 char *name = sd_flag_debug[idx].name;
262
263 /* Name plus whitespace */
264 data_size += strlen(name) + 1;
265 }
266
267 if (*ppos > data_size) {
268 *lenp = 0;
269 return 0;
270 }
271
272 tmp = kcalloc(data_size + 1, sizeof(tmp), GFP_KERNEL);
273 for_each_set_bit(idx, &flags, __SD_FLAG_CNT) {
274 char *name = sd_flag_debug[idx].name;
275
276 len += snprintf(tmp + len, strlen(name) + 2, "%s ", name);
277 }
278
> 279 tmp += *ppos;
280 len -= *ppos;
281
282 if (len > *lenp)
283 len = *lenp;
284 if (len)
285 memcpy(buffer, tmp, len);
286 if (len < *lenp) {
287 ((char *)buffer)[len] = '\n';
288 len++;
289 }
290
291 *lenp = len;
292 *ppos += len;
293
294 kfree(tmp);
295
296 return 0;
297 }
298
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[PATCH] drm/nouveau/gem: fix err_cast.cocci warnings
by kernel test robot
From: kernel test robot <lkp(a)intel.com>
drivers/gpu/drm/nouveau/nouveau_gem.c:589:9-16: WARNING: ERR_CAST can be used with mem
Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...))
Generated by: scripts/coccinelle/api/err_cast.cocci
CC: Markus Elfring <elfring(a)users.sourceforge.net>
Signed-off-by: kernel test robot <lkp(a)intel.com>
---
url: https://github.com/0day-ci/linux/commits/Markus-Elfring/drm-nouveau-gem-U...
base: git://anongit.freedesktop.org/drm-intel for-linux-next
nouveau_gem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/gpu/drm/nouveau/nouveau_gem.c
+++ b/drivers/gpu/drm/nouveau/nouveau_gem.c
@@ -586,7 +586,7 @@ u_memcpya(uint64_t user, unsigned nmemb,
size *= nmemb;
mem = vmemdup_user(userptr, size);
if (IS_ERR(mem))
- return ERR_PTR(PTR_ERR(mem));
+ return ERR_CAST(mem);
return mem;
}
2 years, 1 month
Re: [Intel-gfx] [PATCH 20/20] drm: Remove obsolete GEM and PRIME callbacks from struct drm_driver
by kernel test robot
Hi Thomas,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on next-20200813]
[cannot apply to drm-intel/for-linux-next linux-arm/drm-armada-devel linux-arm/drm-armada-fixes v5.8]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Thomas-Zimmermann/Convert-all-re...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git dc06fe51d26efc100ac74121607c01a454867c91
config: arc-allmodconfig (attached as .config)
compiler: arc-elf-gcc (GCC) 9.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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/gpu/drm/arm/malidp_planes.c: In function 'malidp_check_pages_threshold':
>> drivers/gpu/drm/arm/malidp_planes.c:349:28: error: 'struct drm_driver' has no member named 'gem_prime_get_sg_table'; did you mean 'gem_prime_import_sg_table'?
349 | sgt = obj->dev->driver->gem_prime_get_sg_table(obj);
| ^~~~~~~~~~~~~~~~~~~~~~
| gem_prime_import_sg_table
vim +349 drivers/gpu/drm/arm/malidp_planes.c
1f23a56a46b81d Jamie Fox 2018-10-01 325
1f23a56a46b81d Jamie Fox 2018-10-01 326 /*
1f23a56a46b81d Jamie Fox 2018-10-01 327 * Check if the framebuffer is entirely made up of pages at least pgsize in
1f23a56a46b81d Jamie Fox 2018-10-01 328 * size. Only a heuristic: assumes that each scatterlist entry has been aligned
1f23a56a46b81d Jamie Fox 2018-10-01 329 * to the largest page size smaller than its length and that the MMU maps to
1f23a56a46b81d Jamie Fox 2018-10-01 330 * the largest page size possible.
1f23a56a46b81d Jamie Fox 2018-10-01 331 */
1f23a56a46b81d Jamie Fox 2018-10-01 332 static bool malidp_check_pages_threshold(struct malidp_plane_state *ms,
1f23a56a46b81d Jamie Fox 2018-10-01 333 u32 pgsize)
1f23a56a46b81d Jamie Fox 2018-10-01 334 {
1f23a56a46b81d Jamie Fox 2018-10-01 335 int i;
1f23a56a46b81d Jamie Fox 2018-10-01 336
1f23a56a46b81d Jamie Fox 2018-10-01 337 for (i = 0; i < ms->n_planes; i++) {
1f23a56a46b81d Jamie Fox 2018-10-01 338 struct drm_gem_object *obj;
1f23a56a46b81d Jamie Fox 2018-10-01 339 struct drm_gem_cma_object *cma_obj;
1f23a56a46b81d Jamie Fox 2018-10-01 340 struct sg_table *sgt;
1f23a56a46b81d Jamie Fox 2018-10-01 341 struct scatterlist *sgl;
1f23a56a46b81d Jamie Fox 2018-10-01 342
1f23a56a46b81d Jamie Fox 2018-10-01 343 obj = drm_gem_fb_get_obj(ms->base.fb, i);
1f23a56a46b81d Jamie Fox 2018-10-01 344 cma_obj = to_drm_gem_cma_obj(obj);
1f23a56a46b81d Jamie Fox 2018-10-01 345
1f23a56a46b81d Jamie Fox 2018-10-01 346 if (cma_obj->sgt)
1f23a56a46b81d Jamie Fox 2018-10-01 347 sgt = cma_obj->sgt;
1f23a56a46b81d Jamie Fox 2018-10-01 348 else
1f23a56a46b81d Jamie Fox 2018-10-01 @349 sgt = obj->dev->driver->gem_prime_get_sg_table(obj);
1f23a56a46b81d Jamie Fox 2018-10-01 350
1f23a56a46b81d Jamie Fox 2018-10-01 351 if (!sgt)
1f23a56a46b81d Jamie Fox 2018-10-01 352 return false;
1f23a56a46b81d Jamie Fox 2018-10-01 353
1f23a56a46b81d Jamie Fox 2018-10-01 354 sgl = sgt->sgl;
1f23a56a46b81d Jamie Fox 2018-10-01 355
1f23a56a46b81d Jamie Fox 2018-10-01 356 while (sgl) {
1f23a56a46b81d Jamie Fox 2018-10-01 357 if (sgl->length < pgsize) {
1f23a56a46b81d Jamie Fox 2018-10-01 358 if (!cma_obj->sgt)
1f23a56a46b81d Jamie Fox 2018-10-01 359 kfree(sgt);
1f23a56a46b81d Jamie Fox 2018-10-01 360 return false;
1f23a56a46b81d Jamie Fox 2018-10-01 361 }
1f23a56a46b81d Jamie Fox 2018-10-01 362
1f23a56a46b81d Jamie Fox 2018-10-01 363 sgl = sg_next(sgl);
1f23a56a46b81d Jamie Fox 2018-10-01 364 }
1f23a56a46b81d Jamie Fox 2018-10-01 365 if (!cma_obj->sgt)
1f23a56a46b81d Jamie Fox 2018-10-01 366 kfree(sgt);
1f23a56a46b81d Jamie Fox 2018-10-01 367 }
1f23a56a46b81d Jamie Fox 2018-10-01 368
1f23a56a46b81d Jamie Fox 2018-10-01 369 return true;
1f23a56a46b81d Jamie Fox 2018-10-01 370 }
1f23a56a46b81d Jamie Fox 2018-10-01 371
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
Re: [PATCH] media: gpio-ir-tx: spinlock is not needed to disable interrupts
by kernel test robot
Hi Sean,
I love your patch! Yet something to improve:
[auto build test ERROR on linuxtv-media/master]
[also build test ERROR on v5.8 next-20200813]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Sean-Young/media-gpio-ir-tx-spin...
base: git://linuxtv.org/media_tree.git master
config: h8300-randconfig-r011-20200813 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=h8300
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/kernel.h:11,
from drivers/media/rc/gpio-ir-tx.c:6:
include/linux/scatterlist.h: In function 'sg_set_buf':
include/asm-generic/page.h:93:50: warning: ordered comparison of pointer with null pointer [-Wextra]
93 | #define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET) && \
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
In file included from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/linux/stat.h:19,
from include/linux/module.h:13,
from drivers/media/rc/gpio-ir-tx.c:7:
drivers/media/rc/gpio-ir-tx.c: In function 'gpio_ir_tx_probe':
>> drivers/media/rc/gpio-ir-tx.c:174:25: error: 'struct gpio_ir' has no member named 'lock'
174 | spin_lock_init(&gpio_ir->lock);
| ^~
include/linux/spinlock.h:345:17: note: in definition of macro 'spin_lock_init'
345 | spinlock_check(_lock); \
| ^~~~~
>> drivers/media/rc/gpio-ir-tx.c:174:25: error: 'struct gpio_ir' has no member named 'lock'
174 | spin_lock_init(&gpio_ir->lock);
| ^~
include/linux/spinlock.h:346:4: note: in definition of macro 'spin_lock_init'
346 | *(_lock) = __SPIN_LOCK_UNLOCKED(_lock); \
| ^~~~~
vim +174 drivers/media/rc/gpio-ir-tx.c
24d79ebc6ccec55 Sean Young 2017-07-07 142
24d79ebc6ccec55 Sean Young 2017-07-07 143 static int gpio_ir_tx_probe(struct platform_device *pdev)
24d79ebc6ccec55 Sean Young 2017-07-07 144 {
24d79ebc6ccec55 Sean Young 2017-07-07 145 struct gpio_ir *gpio_ir;
24d79ebc6ccec55 Sean Young 2017-07-07 146 struct rc_dev *rcdev;
24d79ebc6ccec55 Sean Young 2017-07-07 147 int rc;
24d79ebc6ccec55 Sean Young 2017-07-07 148
24d79ebc6ccec55 Sean Young 2017-07-07 149 gpio_ir = devm_kmalloc(&pdev->dev, sizeof(*gpio_ir), GFP_KERNEL);
24d79ebc6ccec55 Sean Young 2017-07-07 150 if (!gpio_ir)
24d79ebc6ccec55 Sean Young 2017-07-07 151 return -ENOMEM;
24d79ebc6ccec55 Sean Young 2017-07-07 152
24d79ebc6ccec55 Sean Young 2017-07-07 153 rcdev = devm_rc_allocate_device(&pdev->dev, RC_DRIVER_IR_RAW_TX);
24d79ebc6ccec55 Sean Young 2017-07-07 154 if (!rcdev)
24d79ebc6ccec55 Sean Young 2017-07-07 155 return -ENOMEM;
24d79ebc6ccec55 Sean Young 2017-07-07 156
24d79ebc6ccec55 Sean Young 2017-07-07 157 gpio_ir->gpio = devm_gpiod_get(&pdev->dev, NULL, GPIOD_OUT_LOW);
24d79ebc6ccec55 Sean Young 2017-07-07 158 if (IS_ERR(gpio_ir->gpio)) {
24d79ebc6ccec55 Sean Young 2017-07-07 159 if (PTR_ERR(gpio_ir->gpio) != -EPROBE_DEFER)
24d79ebc6ccec55 Sean Young 2017-07-07 160 dev_err(&pdev->dev, "Failed to get gpio (%ld)\n",
24d79ebc6ccec55 Sean Young 2017-07-07 161 PTR_ERR(gpio_ir->gpio));
24d79ebc6ccec55 Sean Young 2017-07-07 162 return PTR_ERR(gpio_ir->gpio);
24d79ebc6ccec55 Sean Young 2017-07-07 163 }
24d79ebc6ccec55 Sean Young 2017-07-07 164
24d79ebc6ccec55 Sean Young 2017-07-07 165 rcdev->priv = gpio_ir;
24d79ebc6ccec55 Sean Young 2017-07-07 166 rcdev->driver_name = DRIVER_NAME;
24d79ebc6ccec55 Sean Young 2017-07-07 167 rcdev->device_name = DEVICE_NAME;
24d79ebc6ccec55 Sean Young 2017-07-07 168 rcdev->tx_ir = gpio_ir_tx;
24d79ebc6ccec55 Sean Young 2017-07-07 169 rcdev->s_tx_duty_cycle = gpio_ir_tx_set_duty_cycle;
24d79ebc6ccec55 Sean Young 2017-07-07 170 rcdev->s_tx_carrier = gpio_ir_tx_set_carrier;
24d79ebc6ccec55 Sean Young 2017-07-07 171
24d79ebc6ccec55 Sean Young 2017-07-07 172 gpio_ir->carrier = 38000;
24d79ebc6ccec55 Sean Young 2017-07-07 173 gpio_ir->duty_cycle = 50;
24d79ebc6ccec55 Sean Young 2017-07-07 @174 spin_lock_init(&gpio_ir->lock);
24d79ebc6ccec55 Sean Young 2017-07-07 175
24d79ebc6ccec55 Sean Young 2017-07-07 176 rc = devm_rc_register_device(&pdev->dev, rcdev);
24d79ebc6ccec55 Sean Young 2017-07-07 177 if (rc < 0)
24d79ebc6ccec55 Sean Young 2017-07-07 178 dev_err(&pdev->dev, "failed to register rc device\n");
24d79ebc6ccec55 Sean Young 2017-07-07 179
24d79ebc6ccec55 Sean Young 2017-07-07 180 return rc;
24d79ebc6ccec55 Sean Young 2017-07-07 181 }
24d79ebc6ccec55 Sean Young 2017-07-07 182
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[linux-next:master 14213/14656] arch/s390/include/asm/atomic_ops.h:56:45: error: invalid operand for inline asm constraint 'i'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: e6d113aca646fb6a92b237340109237fd7a9c770
commit: f0cbd3b83ed47803df941865f720934c69abb803 [14213/14656] s390/atomic: circumvent gcc 10 build regression
config: s390-randconfig-r012-20200813 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 62ef1cb2079123b86878e4bfed3c14db448f1373)
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
# install s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
git checkout f0cbd3b83ed47803df941865f720934c69abb803
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from drivers/tty/tty_buffer.c:8:
In file included from include/linux/tty.h:5:
In file included from include/linux/fs.h:6:
In file included from include/linux/wait_bit.h:8:
In file included from include/linux/wait.h:7:
In file included from include/linux/list.h:9:
In file included from include/linux/kernel.h:12:
In file included from include/linux/bitops.h:29:
In file included from arch/s390/include/asm/bitops.h:39:
>> arch/s390/include/asm/atomic_ops.h:56:45: error: invalid operand for inline asm constraint 'i'
__ATOMIC_CONST_OPS(__atomic_add_const, int, "asi")
^
1 error generated.
vim +/i +56 arch/s390/include/asm/atomic_ops.h
126b30c3cb476ce Martin Schwidefsky 2016-11-11 51
eb3b7b848fb3dd0 Martin Schwidefsky 2017-03-24 52 #define __ATOMIC_CONST_OPS(op_name, op_type, op_string) \
eb3b7b848fb3dd0 Martin Schwidefsky 2017-03-24 53 __ATOMIC_CONST_OP(op_name, op_type, op_string, "\n") \
eb3b7b848fb3dd0 Martin Schwidefsky 2017-03-24 54 __ATOMIC_CONST_OP(op_name##_barrier, op_type, op_string, "bcr 14,0\n")
eb3b7b848fb3dd0 Martin Schwidefsky 2017-03-24 55
eb3b7b848fb3dd0 Martin Schwidefsky 2017-03-24 @56 __ATOMIC_CONST_OPS(__atomic_add_const, int, "asi")
eb3b7b848fb3dd0 Martin Schwidefsky 2017-03-24 57 __ATOMIC_CONST_OPS(__atomic64_add_const, long, "agsi")
eb3b7b848fb3dd0 Martin Schwidefsky 2017-03-24 58
:::::: The code at line 56 was first introduced by commit
:::::: eb3b7b848fb3dd00f7a57d633d4ae4d194aa7865 s390/rwlock: introduce rwlock wait queueing
:::::: TO: Martin Schwidefsky <schwidefsky(a)de.ibm.com>
:::::: CC: Martin Schwidefsky <schwidefsky(a)de.ibm.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
Re: [Intel-gfx] [PATCH 13/20] drm/rockchip: Convert to drm_gem_object_funcs
by kernel test robot
Hi Thomas,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on next-20200813]
[cannot apply to drm-intel/for-linux-next linux-arm/drm-armada-devel linux-arm/drm-armada-fixes v5.8]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Thomas-Zimmermann/Convert-all-re...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git dc06fe51d26efc100ac74121607c01a454867c91
config: arc-allmodconfig (attached as .config)
compiler: arc-elf-gcc (GCC) 9.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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/rockchip/rockchip_drm_gem.c:303:13: error: 'drm_gem_cma_vm_ops' undeclared here (not in a function); did you mean 'drm_gem_mmap_obj'?
303 | .vm_ops = &drm_gem_cma_vm_ops,
| ^~~~~~~~~~~~~~~~~~
| drm_gem_mmap_obj
vim +303 drivers/gpu/drm/rockchip/rockchip_drm_gem.c
297
298 static const struct drm_gem_object_funcs rockchip_gem_object_funcs = {
299 .free = rockchip_gem_free_object,
300 .get_sg_table = rockchip_gem_prime_get_sg_table,
301 .vmap = rockchip_gem_prime_vmap,
302 .vunmap = rockchip_gem_prime_vunmap,
> 303 .vm_ops = &drm_gem_cma_vm_ops,
304 };
305
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month