tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: d5eeab8d7e269e8cfc53b915bccd7bd30485bcbf commit: def2fbffe62c00c330c7f41584a356001179c59c kconfig: allow symbols implied by y to become m date: 8 weeks ago config: arm64-randconfig-r024-20200509 (attached as .config) compiler: aarch64-linux-gcc (GCC) 9.3.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 def2fbffe62c00c330c7f41584a356001179c59c # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=arm64 If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot All errors (new ones prefixed by >>): aarch64-linux-ld: drivers/gpu/drm/rcar-du/rcar_du_crtc.o: in function `rcar_du_crtc_atomic_enable': >> drivers/gpu/drm/rcar-du/rcar_du_crtc.c:737: undefined reference to `rcar_lvds_clk_enable' drivers/gpu/drm/rcar-du/rcar_du_crtc.c:737:(.text+0x1408): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `rcar_lvds_clk_enable' aarch64-linux-ld: drivers/gpu/drm/rcar-du/rcar_du_crtc.o: in function `rcar_du_crtc_atomic_disable': >> drivers/gpu/drm/rcar-du/rcar_du_crtc.c:771: undefined reference to `rcar_lvds_clk_disable' drivers/gpu/drm/rcar-du/rcar_du_crtc.c:771:(.text+0x19bc): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `rcar_lvds_clk_disable' aarch64-linux-ld: drivers/gpu/drm/rcar-du/rcar_du_drv.o: in function `rcar_du_init': >> drivers/gpu/drm/rcar-du/rcar_du_drv.c:613: undefined reference to `rcar_du_of_init' drivers/gpu/drm/rcar-du/rcar_du_drv.c:613:(.init.text+0x18): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `rcar_du_of_init' aarch64-linux-ld: drivers/gpu/drm/rcar-du/rcar_du_encoder.o: in function `rcar_du_encoder_init': >> drivers/gpu/drm/rcar-du/rcar_du_encoder.c:107: undefined reference to `rcar_lvds_dual_link' drivers/gpu/drm/rcar-du/rcar_du_encoder.c:107:(.text+0x1e8): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `rcar_lvds_dual_link' vim +737 drivers/gpu/drm/rcar-du/rcar_du_crtc.c b8a43032a7b8d7 Laurent Pinchart 2018-11-24 711 0b20a0f8c3cb6f Laurent Pinchart 2017-06-30 712 static void rcar_du_crtc_atomic_enable(struct drm_crtc *crtc, 0b20a0f8c3cb6f Laurent Pinchart 2017-06-30 713 struct drm_crtc_state *old_state) 4bf8e1962f91ee Laurent Pinchart 2013-06-19 714 { 4bf8e1962f91ee Laurent Pinchart 2013-06-19 715 struct rcar_du_crtc *rcrtc = to_rcar_crtc(crtc); a6cc417d3eee4a Laurent Pinchart 2019-01-17 716 struct rcar_du_crtc_state *rstate = to_rcar_crtc_state(crtc->state); b764f2f66ed48c Kieran Bingham 2019-03-15 717 struct rcar_du_device *rcdu = rcrtc->dev; 4bf8e1962f91ee Laurent Pinchart 2013-06-19 718 78b6bb1d24dbf0 Jacopo Mondi 2019-10-17 719 if (rcrtc->cmm) 78b6bb1d24dbf0 Jacopo Mondi 2019-10-17 720 rcar_cmm_enable(rcrtc->cmm); f66ee304ae8990 Laurent Pinchart 2013-06-14 721 rcar_du_crtc_get(rcrtc); a6cc417d3eee4a Laurent Pinchart 2019-01-17 722 a6cc417d3eee4a Laurent Pinchart 2019-01-17 723 /* a6cc417d3eee4a Laurent Pinchart 2019-01-17 724 * On D3/E3 the dot clock is provided by the LVDS encoder attached to a6cc417d3eee4a Laurent Pinchart 2019-01-17 725 * the DU channel. We need to enable its clock output explicitly if a6cc417d3eee4a Laurent Pinchart 2019-01-17 726 * the LVDS output is disabled. a6cc417d3eee4a Laurent Pinchart 2019-01-17 727 */ a6cc417d3eee4a Laurent Pinchart 2019-01-17 728 if (rcdu->info->lvds_clk_mask & BIT(rcrtc->index) && a6cc417d3eee4a Laurent Pinchart 2019-01-17 729 rstate->outputs == BIT(RCAR_DU_OUTPUT_DPAD0)) { a6cc417d3eee4a Laurent Pinchart 2019-01-17 730 struct rcar_du_encoder *encoder = a6cc417d3eee4a Laurent Pinchart 2019-01-17 731 rcdu->encoders[RCAR_DU_OUTPUT_LVDS0 + rcrtc->index]; a6cc417d3eee4a Laurent Pinchart 2019-01-17 732 const struct drm_display_mode *mode = a6cc417d3eee4a Laurent Pinchart 2019-01-17 733 &crtc->state->adjusted_mode; 35a61fe9218a9d Boris Brezillon 2019-12-03 734 struct drm_bridge *bridge; a6cc417d3eee4a Laurent Pinchart 2019-01-17 735 35a61fe9218a9d Boris Brezillon 2019-12-03 736 bridge = drm_bridge_chain_get_first_bridge(&encoder->base); 35a61fe9218a9d Boris Brezillon 2019-12-03 @737 rcar_lvds_clk_enable(bridge, mode->clock * 1000); a6cc417d3eee4a Laurent Pinchart 2019-01-17 738 } a6cc417d3eee4a Laurent Pinchart 2019-01-17 739 4bf8e1962f91ee Laurent Pinchart 2013-06-19 740 rcar_du_crtc_start(rcrtc); 78b6bb1d24dbf0 Jacopo Mondi 2019-10-17 741 78b6bb1d24dbf0 Jacopo Mondi 2019-10-17 742 /* 78b6bb1d24dbf0 Jacopo Mondi 2019-10-17 743 * TODO: The chip manual indicates that CMM tables should be written 78b6bb1d24dbf0 Jacopo Mondi 2019-10-17 744 * after the DU channel has been activated. Investigate the impact 78b6bb1d24dbf0 Jacopo Mondi 2019-10-17 745 * of this restriction on the first displayed frame. 78b6bb1d24dbf0 Jacopo Mondi 2019-10-17 746 */ 78b6bb1d24dbf0 Jacopo Mondi 2019-10-17 747 rcar_du_cmm_setup(crtc); beff155a7eae6d Laurent Pinchart 2015-02-20 748 } beff155a7eae6d Laurent Pinchart 2015-02-20 749 64581714b58bc3 Laurent Pinchart 2017-06-30 750 static void rcar_du_crtc_atomic_disable(struct drm_crtc *crtc, 64581714b58bc3 Laurent Pinchart 2017-06-30 751 struct drm_crtc_state *old_state) beff155a7eae6d Laurent Pinchart 2015-02-20 752 { beff155a7eae6d Laurent Pinchart 2015-02-20 753 struct rcar_du_crtc *rcrtc = to_rcar_crtc(crtc); a6cc417d3eee4a Laurent Pinchart 2019-01-17 754 struct rcar_du_crtc_state *rstate = to_rcar_crtc_state(old_state); b764f2f66ed48c Kieran Bingham 2019-03-15 755 struct rcar_du_device *rcdu = rcrtc->dev; beff155a7eae6d Laurent Pinchart 2015-02-20 756 4bf8e1962f91ee Laurent Pinchart 2013-06-19 757 rcar_du_crtc_stop(rcrtc); f66ee304ae8990 Laurent Pinchart 2013-06-14 758 rcar_du_crtc_put(rcrtc); beff155a7eae6d Laurent Pinchart 2015-02-20 759 a6cc417d3eee4a Laurent Pinchart 2019-01-17 760 if (rcdu->info->lvds_clk_mask & BIT(rcrtc->index) && a6cc417d3eee4a Laurent Pinchart 2019-01-17 761 rstate->outputs == BIT(RCAR_DU_OUTPUT_DPAD0)) { a6cc417d3eee4a Laurent Pinchart 2019-01-17 762 struct rcar_du_encoder *encoder = a6cc417d3eee4a Laurent Pinchart 2019-01-17 763 rcdu->encoders[RCAR_DU_OUTPUT_LVDS0 + rcrtc->index]; 35a61fe9218a9d Boris Brezillon 2019-12-03 764 struct drm_bridge *bridge; a6cc417d3eee4a Laurent Pinchart 2019-01-17 765 a6cc417d3eee4a Laurent Pinchart 2019-01-17 766 /* a6cc417d3eee4a Laurent Pinchart 2019-01-17 767 * Disable the LVDS clock output, see a6cc417d3eee4a Laurent Pinchart 2019-01-17 768 * rcar_du_crtc_atomic_enable(). a6cc417d3eee4a Laurent Pinchart 2019-01-17 769 */ 35a61fe9218a9d Boris Brezillon 2019-12-03 770 bridge = drm_bridge_chain_get_first_bridge(&encoder->base); 35a61fe9218a9d Boris Brezillon 2019-12-03 @771 rcar_lvds_clk_disable(bridge); a6cc417d3eee4a Laurent Pinchart 2019-01-17 772 } a6cc417d3eee4a Laurent Pinchart 2019-01-17 773 6dd47cfd03a058 Laurent Pinchart 2017-02-10 774 spin_lock_irq(&crtc->dev->event_lock); 6dd47cfd03a058 Laurent Pinchart 2017-02-10 775 if (crtc->state->event) { 6dd47cfd03a058 Laurent Pinchart 2017-02-10 776 drm_crtc_send_vblank_event(crtc, crtc->state->event); 6dd47cfd03a058 Laurent Pinchart 2017-02-10 777 crtc->state->event = NULL; 6dd47cfd03a058 Laurent Pinchart 2017-02-10 778 } 6dd47cfd03a058 Laurent Pinchart 2017-02-10 779 spin_unlock_irq(&crtc->dev->event_lock); 4bf8e1962f91ee Laurent Pinchart 2013-06-19 780 } 4bf8e1962f91ee Laurent Pinchart 2013-06-19 781 :::::: The code at line 737 was first introduced by commit :::::: 35a61fe9218a9d32a93447bdcca1d0f167cd0433 drm: Stop accessing encoder->bridge directly :::::: TO: Boris Brezillon :::::: CC: Boris Brezillon --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org