CC: [email protected] CC: [email protected] TO: Thomas Zimmermann <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: b8a98b6bf66ae35361e987333233d07241642909 commit: 5226711e6c413ed069788f1e3f71def9d8d839d6 drm/vc4: Convert to Linux IRQ interfaces date: 4 months ago :::::: branch date: 6 hours ago :::::: commit date: 4 months ago config: microblaze-randconfig-m031-20211210 (https://download.01.org/0day-ci/archive/20211211/[email protected]/config) compiler: microblaze-linux-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> smatch warnings: drivers/gpu/drm/vc4/vc4_v3d.c:468 vc4_v3d_bind() warn: 'v3d->clk' not released on lines: 451. vim +468 drivers/gpu/drm/vc4/vc4_v3d.c 001bdb55d9eb72 Eric Anholt 2016-02-05 388 d3f5168a081000 Eric Anholt 2015-03-02 389 static int vc4_v3d_bind(struct device *dev, struct device *master, void *data) d3f5168a081000 Eric Anholt 2015-03-02 390 { d3f5168a081000 Eric Anholt 2015-03-02 391 struct platform_device *pdev = to_platform_device(dev); d3f5168a081000 Eric Anholt 2015-03-02 392 struct drm_device *drm = dev_get_drvdata(master); d3f5168a081000 Eric Anholt 2015-03-02 393 struct vc4_dev *vc4 = to_vc4_dev(drm); d3f5168a081000 Eric Anholt 2015-03-02 394 struct vc4_v3d *v3d = NULL; d5b1a78a772f1e Eric Anholt 2015-11-30 395 int ret; d3f5168a081000 Eric Anholt 2015-03-02 396 d3f5168a081000 Eric Anholt 2015-03-02 397 v3d = devm_kzalloc(&pdev->dev, sizeof(*v3d), GFP_KERNEL); d3f5168a081000 Eric Anholt 2015-03-02 398 if (!v3d) d3f5168a081000 Eric Anholt 2015-03-02 399 return -ENOMEM; d3f5168a081000 Eric Anholt 2015-03-02 400 001bdb55d9eb72 Eric Anholt 2016-02-05 401 dev_set_drvdata(dev, v3d); 001bdb55d9eb72 Eric Anholt 2016-02-05 402 d3f5168a081000 Eric Anholt 2015-03-02 403 v3d->pdev = pdev; d3f5168a081000 Eric Anholt 2015-03-02 404 d3f5168a081000 Eric Anholt 2015-03-02 405 v3d->regs = vc4_ioremap_regs(pdev, 0); d3f5168a081000 Eric Anholt 2015-03-02 406 if (IS_ERR(v3d->regs)) d3f5168a081000 Eric Anholt 2015-03-02 407 return PTR_ERR(v3d->regs); 3051719af11eb4 Eric Anholt 2019-02-20 408 v3d->regset.base = v3d->regs; 3051719af11eb4 Eric Anholt 2019-02-20 409 v3d->regset.regs = v3d_regs; 3051719af11eb4 Eric Anholt 2019-02-20 410 v3d->regset.nregs = ARRAY_SIZE(v3d_regs); d3f5168a081000 Eric Anholt 2015-03-02 411 d3f5168a081000 Eric Anholt 2015-03-02 412 vc4->v3d = v3d; 001bdb55d9eb72 Eric Anholt 2016-02-05 413 v3d->vc4 = vc4; d3f5168a081000 Eric Anholt 2015-03-02 414 b72a2816e37114 Eric Anholt 2017-04-28 415 v3d->clk = devm_clk_get(dev, NULL); b72a2816e37114 Eric Anholt 2017-04-28 416 if (IS_ERR(v3d->clk)) { b72a2816e37114 Eric Anholt 2017-04-28 417 int ret = PTR_ERR(v3d->clk); b72a2816e37114 Eric Anholt 2017-04-28 418 b72a2816e37114 Eric Anholt 2017-04-28 419 if (ret == -ENOENT) { b72a2816e37114 Eric Anholt 2017-04-28 420 /* bcm2835 didn't have a clock reference in the DT. */ b72a2816e37114 Eric Anholt 2017-04-28 421 ret = 0; b72a2816e37114 Eric Anholt 2017-04-28 422 v3d->clk = NULL; b72a2816e37114 Eric Anholt 2017-04-28 423 } else { b72a2816e37114 Eric Anholt 2017-04-28 424 if (ret != -EPROBE_DEFER) b72a2816e37114 Eric Anholt 2017-04-28 425 dev_err(dev, "Failed to get V3D clock: %d\n", b72a2816e37114 Eric Anholt 2017-04-28 426 ret); b72a2816e37114 Eric Anholt 2017-04-28 427 return ret; b72a2816e37114 Eric Anholt 2017-04-28 428 } b72a2816e37114 Eric Anholt 2017-04-28 429 } b72a2816e37114 Eric Anholt 2017-04-28 430 d3f5168a081000 Eric Anholt 2015-03-02 431 if (V3D_READ(V3D_IDENT0) != V3D_EXPECTED_IDENT0) { d3f5168a081000 Eric Anholt 2015-03-02 432 DRM_ERROR("V3D_IDENT0 read 0x%08x instead of 0x%08x\n", d3f5168a081000 Eric Anholt 2015-03-02 433 V3D_READ(V3D_IDENT0), V3D_EXPECTED_IDENT0); d3f5168a081000 Eric Anholt 2015-03-02 434 return -EINVAL; d3f5168a081000 Eric Anholt 2015-03-02 435 } d3f5168a081000 Eric Anholt 2015-03-02 436 b72a2816e37114 Eric Anholt 2017-04-28 437 ret = clk_prepare_enable(v3d->clk); b72a2816e37114 Eric Anholt 2017-04-28 438 if (ret != 0) b72a2816e37114 Eric Anholt 2017-04-28 439 return ret; b72a2816e37114 Eric Anholt 2017-04-28 440 d5b1a78a772f1e Eric Anholt 2015-11-30 441 /* Reset the binner overflow address/size at setup, to be sure d5b1a78a772f1e Eric Anholt 2015-11-30 442 * we don't reuse an old one. d5b1a78a772f1e Eric Anholt 2015-11-30 443 */ d5b1a78a772f1e Eric Anholt 2015-11-30 444 V3D_WRITE(V3D_BPOA, 0); d5b1a78a772f1e Eric Anholt 2015-11-30 445 V3D_WRITE(V3D_BPOS, 0); d5b1a78a772f1e Eric Anholt 2015-11-30 446 d3f5168a081000 Eric Anholt 2015-03-02 447 vc4_v3d_init_hw(drm); d3f5168a081000 Eric Anholt 2015-03-02 448 5226711e6c413e Thomas Zimmermann 2021-08-03 449 ret = platform_get_irq(pdev, 0); 5226711e6c413e Thomas Zimmermann 2021-08-03 450 if (ret < 0) 5226711e6c413e Thomas Zimmermann 2021-08-03 451 return ret; 5226711e6c413e Thomas Zimmermann 2021-08-03 452 vc4->irq = ret; 5226711e6c413e Thomas Zimmermann 2021-08-03 453 5226711e6c413e Thomas Zimmermann 2021-08-03 454 ret = vc4_irq_install(drm, vc4->irq); d5b1a78a772f1e Eric Anholt 2015-11-30 455 if (ret) { d5b1a78a772f1e Eric Anholt 2015-11-30 456 DRM_ERROR("Failed to install IRQ handler\n"); d5b1a78a772f1e Eric Anholt 2015-11-30 457 return ret; d5b1a78a772f1e Eric Anholt 2015-11-30 458 } d5b1a78a772f1e Eric Anholt 2015-11-30 459 7f696942a7e52d Eric Anholt 2017-05-15 460 pm_runtime_set_active(dev); 3a62234680d86e Eric Anholt 2016-11-04 461 pm_runtime_use_autosuspend(dev); 3a62234680d86e Eric Anholt 2016-11-04 462 pm_runtime_set_autosuspend_delay(dev, 40); /* a little over 2 frames. */ 001bdb55d9eb72 Eric Anholt 2016-02-05 463 pm_runtime_enable(dev); 001bdb55d9eb72 Eric Anholt 2016-02-05 464 c9be804c8c7a2d Eric Anholt 2019-04-01 465 vc4_debugfs_add_file(drm, "v3d_ident", vc4_v3d_debugfs_ident, NULL); c9be804c8c7a2d Eric Anholt 2019-04-01 466 vc4_debugfs_add_regset32(drm, "v3d_regs", &v3d->regset); c9be804c8c7a2d Eric Anholt 2019-04-01 467 d3f5168a081000 Eric Anholt 2015-03-02 @468 return 0; d3f5168a081000 Eric Anholt 2015-03-02 469 } d3f5168a081000 Eric Anholt 2015-03-02 470 :::::: The code at line 468 was first introduced by commit :::::: d3f5168a0810005920e7a3d5ba83e249bd9a750c drm/vc4: Bind and initialize the V3D engine. :::::: TO: Eric Anholt <[email protected]> :::::: CC: Eric Anholt <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
