From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752903AbcIBAfl (ORCPT ); Thu, 1 Sep 2016 20:35:41 -0400 Received: from mga11.intel.com ([192.55.52.93]:25735 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751378AbcIBAfh (ORCPT ); Thu, 1 Sep 2016 20:35:37 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.30,269,1470726000"; d="gz'50?scan'50,208,50";a="163652793" Date: Fri, 2 Sep 2016 08:34:53 +0800 From: kbuild test robot To: Lin Huang Cc: kbuild-all@01.org, heiko@sntech.de, myungjoo.ham@samsung.com, mark.yao@rock-chips.com, cw00.choi@samsung.com, airlied@linux.ie, mturquette@baylibre.com, dbasehore@chromium.org, sboyd@codeaurora.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, dianders@chromium.org, linux-rockchip@lists.infradead.org, kyungmin.park@samsung.com, linux-arm-kernel@lists.infradead.org, tixy@linaro.org, typ@rock-chips.com, sudeep.holla@arm.com, mark.rutland@arm.com, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, Lin Huang Subject: Re: [PATCH 5/5] drm/rockchip: Add dmc notifier in vop driver Message-ID: <201609020840.6FaQa5pQ%fengguang.wu@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="C7zPtVaVf+AK4Oqc" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1472769085-20715-6-git-send-email-hl@rock-chips.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: fengguang.wu@intel.com X-SA-Exim-Scanned: No (on bee); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --C7zPtVaVf+AK4Oqc Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit Hi Lin, [auto build test ERROR on next-20160825] [cannot apply to rockchip/for-next devfreq/for-rafael linus/master v4.8-rc4 v4.8-rc3 v4.8-rc2 v4.8-rc4] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base= (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/Lin-Huang/rk3399-support-ddr-frequency-scaling/20160902-063701 config: arm-multi_v7_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 5.4.0-6) 5.4.0 20160609 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm All error/warnings (new ones prefixed by >>): In file included from drivers/gpu/drm/rockchip/rockchip_drm_vop.c:23:0: include/linux/devfreq-event.h:190:21: error: redefinition of 'devfreq_event_get_drvdata' static inline void *devfreq_event_get_drvdata(struct devfreq_event_dev *edev) ^ include/linux/devfreq-event.h:151:21: note: previous definition of 'devfreq_event_get_drvdata' was here static inline void *devfreq_event_get_drvdata(struct devfreq_event_dev *edev) ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c: In function 'vop_crtc_disable': >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:653:13: error: invalid storage class for function 'vop_plane_destroy' static void vop_plane_destroy(struct drm_plane *plane) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:653:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] static void vop_plane_destroy(struct drm_plane *plane) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:658:12: error: invalid storage class for function 'vop_plane_prepare_fb' static int vop_plane_prepare_fb(struct drm_plane *plane, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:667:13: error: invalid storage class for function 'vop_plane_cleanup_fb' static void vop_plane_cleanup_fb(struct drm_plane *plane, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:674:12: error: invalid storage class for function 'vop_plane_atomic_check' static int vop_plane_atomic_check(struct drm_plane *plane, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:731:13: error: invalid storage class for function 'vop_plane_atomic_disable' static void vop_plane_atomic_disable(struct drm_plane *plane, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:756:13: error: invalid storage class for function 'vop_plane_atomic_update' static void vop_plane_atomic_update(struct drm_plane *plane, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:866:16: error: initializer element is not constant .prepare_fb = vop_plane_prepare_fb, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:866:16: note: (near initialization for 'plane_helper_funcs.prepare_fb') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:867:16: error: initializer element is not constant .cleanup_fb = vop_plane_cleanup_fb, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:867:16: note: (near initialization for 'plane_helper_funcs.cleanup_fb') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:868:18: error: initializer element is not constant .atomic_check = vop_plane_atomic_check, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:868:18: note: (near initialization for 'plane_helper_funcs.atomic_check') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:869:19: error: initializer element is not constant .atomic_update = vop_plane_atomic_update, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:869:19: note: (near initialization for 'plane_helper_funcs.atomic_update') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:870:20: error: initializer element is not constant .atomic_disable = vop_plane_atomic_disable, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:870:20: note: (near initialization for 'plane_helper_funcs.atomic_disable') >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:873:13: error: invalid storage class for function 'vop_atomic_plane_reset' static void vop_atomic_plane_reset(struct drm_plane *plane) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:891:1: error: invalid storage class for function 'vop_atomic_plane_duplicate_state' vop_atomic_plane_duplicate_state(struct drm_plane *plane) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:911:13: error: invalid storage class for function 'vop_atomic_plane_destroy_state' static void vop_atomic_plane_destroy_state(struct drm_plane *plane, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:924:13: error: initializer element is not constant .destroy = vop_plane_destroy, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:924:13: note: (near initialization for 'vop_plane_funcs.destroy') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:925:11: error: initializer element is not constant .reset = vop_atomic_plane_reset, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:925:11: note: (near initialization for 'vop_plane_funcs.reset') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:926:28: error: initializer element is not constant .atomic_duplicate_state = vop_atomic_plane_duplicate_state, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:926:28: note: (near initialization for 'vop_plane_funcs.atomic_duplicate_state') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:927:26: error: initializer element is not constant .atomic_destroy_state = vop_atomic_plane_destroy_state, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:927:26: note: (near initialization for 'vop_plane_funcs.atomic_destroy_state') >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:930:12: error: invalid storage class for function 'vop_crtc_enable_vblank' static int vop_crtc_enable_vblank(struct drm_crtc *crtc) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:947:13: error: invalid storage class for function 'vop_crtc_disable_vblank' static void vop_crtc_disable_vblank(struct drm_crtc *crtc) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:962:13: error: invalid storage class for function 'vop_crtc_wait_for_update' static void vop_crtc_wait_for_update(struct drm_crtc *crtc) ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:971:19: error: initializer element is not constant .enable_vblank = vop_crtc_enable_vblank, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:971:19: note: (near initialization for 'private_crtc_funcs.enable_vblank') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:972:20: error: initializer element is not constant .disable_vblank = vop_crtc_disable_vblank, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:972:20: note: (near initialization for 'private_crtc_funcs.disable_vblank') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:973:21: error: initializer element is not constant .wait_for_update = vop_crtc_wait_for_update, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:973:21: note: (near initialization for 'private_crtc_funcs.wait_for_update') >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:976:13: error: invalid storage class for function 'vop_crtc_mode_fixup' static bool vop_crtc_mode_fixup(struct drm_crtc *crtc, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:988:13: error: invalid storage class for function 'vop_crtc_enable' static void vop_crtc_enable(struct drm_crtc *crtc) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1090:13: error: invalid storage class for function 'vop_crtc_atomic_flush' static void vop_crtc_atomic_flush(struct drm_crtc *crtc, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1105:13: error: invalid storage class for function 'vop_crtc_atomic_begin' static void vop_crtc_atomic_begin(struct drm_crtc *crtc, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1122:12: error: initializer element is not constant .enable = vop_crtc_enable, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1122:12: note: (near initialization for 'vop_crtc_helper_funcs.enable') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1124:16: error: initializer element is not constant .mode_fixup = vop_crtc_mode_fixup, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1124:16: note: (near initialization for 'vop_crtc_helper_funcs.mode_fixup') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1125:18: error: initializer element is not constant .atomic_flush = vop_crtc_atomic_flush, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1125:18: note: (near initialization for 'vop_crtc_helper_funcs.atomic_flush') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1126:18: error: initializer element is not constant .atomic_begin = vop_crtc_atomic_begin, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1126:18: note: (near initialization for 'vop_crtc_helper_funcs.atomic_begin') >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1129:13: error: invalid storage class for function 'vop_crtc_destroy' static void vop_crtc_destroy(struct drm_crtc *crtc) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1134:13: error: invalid storage class for function 'vop_crtc_reset' static void vop_crtc_reset(struct drm_crtc *crtc) ^ vim +/vop_plane_destroy +653 drivers/gpu/drm/rockchip/rockchip_drm_vop.c 4bb85264 Lin Huang 2016-09-02 647 if (vop->devfreq_event_dev) 4bb85264 Lin Huang 2016-09-02 648 devfreq_event_enable_edev(vop->devfreq_event_dev); 4bb85264 Lin Huang 2016-09-02 649 devfreq_resume_device(vop->devfreq); 893b6cad Daniel Vetter 2016-06-08 650 } 2048e328 Mark Yao 2014-08-22 651 } 2048e328 Mark Yao 2014-08-22 652 63ebb9fa Mark Yao 2015-11-30 @653 static void vop_plane_destroy(struct drm_plane *plane) 2048e328 Mark Yao 2014-08-22 654 { 63ebb9fa Mark Yao 2015-11-30 655 drm_plane_cleanup(plane); 2048e328 Mark Yao 2014-08-22 656 } 2048e328 Mark Yao 2014-08-22 657 44d0237a Mark Yao 2016-04-29 @658 static int vop_plane_prepare_fb(struct drm_plane *plane, 1832040d Chris Wilson 2016-08-18 659 struct drm_plane_state *new_state) 44d0237a Mark Yao 2016-04-29 660 { 44d0237a Mark Yao 2016-04-29 661 if (plane->state->fb) 44d0237a Mark Yao 2016-04-29 662 drm_framebuffer_reference(plane->state->fb); 44d0237a Mark Yao 2016-04-29 663 44d0237a Mark Yao 2016-04-29 664 return 0; 44d0237a Mark Yao 2016-04-29 665 } 44d0237a Mark Yao 2016-04-29 666 44d0237a Mark Yao 2016-04-29 @667 static void vop_plane_cleanup_fb(struct drm_plane *plane, 1832040d Chris Wilson 2016-08-18 668 struct drm_plane_state *old_state) 44d0237a Mark Yao 2016-04-29 669 { 44d0237a Mark Yao 2016-04-29 670 if (old_state->fb) 44d0237a Mark Yao 2016-04-29 671 drm_framebuffer_unreference(old_state->fb); 44d0237a Mark Yao 2016-04-29 672 } 44d0237a Mark Yao 2016-04-29 673 63ebb9fa Mark Yao 2015-11-30 @674 static int vop_plane_atomic_check(struct drm_plane *plane, 63ebb9fa Mark Yao 2015-11-30 675 struct drm_plane_state *state) 2048e328 Mark Yao 2014-08-22 676 { 63ebb9fa Mark Yao 2015-11-30 677 struct drm_crtc *crtc = state->crtc; 92915da6 John Keeping 2016-03-04 678 struct drm_crtc_state *crtc_state; 63ebb9fa Mark Yao 2015-11-30 679 struct drm_framebuffer *fb = state->fb; 2048e328 Mark Yao 2014-08-22 680 struct vop_win *vop_win = to_vop_win(plane); 63ebb9fa Mark Yao 2015-11-30 681 struct vop_plane_state *vop_plane_state = to_vop_plane_state(state); 2048e328 Mark Yao 2014-08-22 682 const struct vop_win_data *win = vop_win->data; 2048e328 Mark Yao 2014-08-22 683 int ret; 63ebb9fa Mark Yao 2015-11-30 684 struct drm_rect clip; 4c156c21 Mark Yao 2015-06-26 685 int min_scale = win->phy->scl ? FRAC_16_16(1, 8) : 4c156c21 Mark Yao 2015-06-26 686 DRM_PLANE_HELPER_NO_SCALING; 4c156c21 Mark Yao 2015-06-26 687 int max_scale = win->phy->scl ? FRAC_16_16(8, 1) : 4c156c21 Mark Yao 2015-06-26 688 DRM_PLANE_HELPER_NO_SCALING; 2048e328 Mark Yao 2014-08-22 689 63ebb9fa Mark Yao 2015-11-30 690 if (!crtc || !fb) 63ebb9fa Mark Yao 2015-11-30 691 goto out_disable; 92915da6 John Keeping 2016-03-04 692 92915da6 John Keeping 2016-03-04 693 crtc_state = drm_atomic_get_existing_crtc_state(state->state, crtc); 92915da6 John Keeping 2016-03-04 694 if (WARN_ON(!crtc_state)) 92915da6 John Keeping 2016-03-04 695 return -EINVAL; 92915da6 John Keeping 2016-03-04 696 63ebb9fa Mark Yao 2015-11-30 697 clip.x1 = 0; 63ebb9fa Mark Yao 2015-11-30 698 clip.y1 = 0; 92915da6 John Keeping 2016-03-04 699 clip.x2 = crtc_state->adjusted_mode.hdisplay; 92915da6 John Keeping 2016-03-04 700 clip.y2 = crtc_state->adjusted_mode.vdisplay; 63ebb9fa Mark Yao 2015-11-30 701 f9b96be0 Ville Syrjälä 2016-07-26 702 ret = drm_plane_helper_check_state(state, &clip, f9b96be0 Ville Syrjälä 2016-07-26 703 min_scale, max_scale, f9b96be0 Ville Syrjälä 2016-07-26 704 true, true); 2048e328 Mark Yao 2014-08-22 705 if (ret) 2048e328 Mark Yao 2014-08-22 706 return ret; 2048e328 Mark Yao 2014-08-22 707 f9b96be0 Ville Syrjälä 2016-07-26 708 if (!state->visible) 63ebb9fa Mark Yao 2015-11-30 709 goto out_disable; 84c7f8ca Mark Yao 2015-07-20 710 63ebb9fa Mark Yao 2015-11-30 711 vop_plane_state->format = vop_convert_format(fb->pixel_format); 63ebb9fa Mark Yao 2015-11-30 712 if (vop_plane_state->format < 0) 63ebb9fa Mark Yao 2015-11-30 713 return vop_plane_state->format; 2048e328 Mark Yao 2014-08-22 714 84c7f8ca Mark Yao 2015-07-20 715 /* 84c7f8ca Mark Yao 2015-07-20 716 * Src.x1 can be odd when do clip, but yuv plane start point 84c7f8ca Mark Yao 2015-07-20 717 * need align with 2 pixel. 84c7f8ca Mark Yao 2015-07-20 718 */ f9b96be0 Ville Syrjälä 2016-07-26 719 if (is_yuv_support(fb->pixel_format) && ((state->src.x1 >> 16) % 2)) 63ebb9fa Mark Yao 2015-11-30 720 return -EINVAL; 84c7f8ca Mark Yao 2015-07-20 721 63ebb9fa Mark Yao 2015-11-30 722 vop_plane_state->enable = true; 2048e328 Mark Yao 2014-08-22 723 63ebb9fa Mark Yao 2015-11-30 724 return 0; 2048e328 Mark Yao 2014-08-22 725 63ebb9fa Mark Yao 2015-11-30 726 out_disable: 63ebb9fa Mark Yao 2015-11-30 727 vop_plane_state->enable = false; 63ebb9fa Mark Yao 2015-11-30 728 return 0; 63ebb9fa Mark Yao 2015-11-30 729 } 2048e328 Mark Yao 2014-08-22 730 63ebb9fa Mark Yao 2015-11-30 @731 static void vop_plane_atomic_disable(struct drm_plane *plane, 63ebb9fa Mark Yao 2015-11-30 732 struct drm_plane_state *old_state) 63ebb9fa Mark Yao 2015-11-30 733 { 63ebb9fa Mark Yao 2015-11-30 734 struct vop_plane_state *vop_plane_state = to_vop_plane_state(old_state); 63ebb9fa Mark Yao 2015-11-30 735 struct vop_win *vop_win = to_vop_win(plane); 63ebb9fa Mark Yao 2015-11-30 736 const struct vop_win_data *win = vop_win->data; 63ebb9fa Mark Yao 2015-11-30 737 struct vop *vop = to_vop(old_state->crtc); 2048e328 Mark Yao 2014-08-22 738 63ebb9fa Mark Yao 2015-11-30 739 if (!old_state->crtc) 63ebb9fa Mark Yao 2015-11-30 740 return; 84c7f8ca Mark Yao 2015-07-20 741 4f9d39a7 Daniel Vetter 2016-06-08 742 spin_lock_irq(&plane->dev->event_lock); 4f9d39a7 Daniel Vetter 2016-06-08 743 vop_win->enable = false; 4f9d39a7 Daniel Vetter 2016-06-08 744 vop_win->yrgb_mst = 0; 4f9d39a7 Daniel Vetter 2016-06-08 745 spin_unlock_irq(&plane->dev->event_lock); 4f9d39a7 Daniel Vetter 2016-06-08 746 63ebb9fa Mark Yao 2015-11-30 747 spin_lock(&vop->reg_lock); 63ebb9fa Mark Yao 2015-11-30 748 63ebb9fa Mark Yao 2015-11-30 749 VOP_WIN_SET(vop, win, enable, 0); 84c7f8ca Mark Yao 2015-07-20 750 63ebb9fa Mark Yao 2015-11-30 751 spin_unlock(&vop->reg_lock); 84c7f8ca Mark Yao 2015-07-20 752 63ebb9fa Mark Yao 2015-11-30 753 vop_plane_state->enable = false; 84c7f8ca Mark Yao 2015-07-20 754 } 84c7f8ca Mark Yao 2015-07-20 755 63ebb9fa Mark Yao 2015-11-30 @756 static void vop_plane_atomic_update(struct drm_plane *plane, 63ebb9fa Mark Yao 2015-11-30 757 struct drm_plane_state *old_state) 63ebb9fa Mark Yao 2015-11-30 758 { 63ebb9fa Mark Yao 2015-11-30 759 struct drm_plane_state *state = plane->state; :::::: The code at line 653 was first introduced by commit :::::: 63ebb9fa7ff06d194362ed4a5d0a31ac7612a89c drm/rockchip: Convert to support atomic API :::::: TO: Mark Yao :::::: CC: Mark Yao --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation --C7zPtVaVf+AK4Oqc Content-Type: application/octet-stream Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 AA== --C7zPtVaVf+AK4Oqc-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: kbuild test robot Subject: Re: [PATCH 5/5] drm/rockchip: Add dmc notifier in vop driver Date: Fri, 2 Sep 2016 08:34:53 +0800 Message-ID: <201609020840.6FaQa5pQ%fengguang.wu@intel.com> References: <1472769085-20715-6-git-send-email-hl@rock-chips.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="C7zPtVaVf+AK4Oqc" Content-Transfer-Encoding: 8bit Return-path: Content-Disposition: inline In-Reply-To: <1472769085-20715-6-git-send-email-hl@rock-chips.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Cc: tixy@linaro.org, mark.rutland@arm.com, mturquette@baylibre.com, dri-devel@lists.freedesktop.org, dianders@chromium.org, cw00.choi@samsung.com, typ@rock-chips.com, linux-rockchip@lists.infradead.org, myungjoo.ham@samsung.com, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, dbasehore@chromium.org, linux-arm-kernel@lists.infradead.org, Lin Huang , sboyd@codeaurora.org, linux-kernel@vger.kernel.org, kyungmin.park@samsung.com, kbuild-all@01.org, sudeep.holla@arm.com List-Id: devicetree@vger.kernel.org --C7zPtVaVf+AK4Oqc Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit Hi Lin, [auto build test ERROR on next-20160825] [cannot apply to rockchip/for-next devfreq/for-rafael linus/master v4.8-rc4 v4.8-rc3 v4.8-rc2 v4.8-rc4] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base= (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/Lin-Huang/rk3399-support-ddr-frequency-scaling/20160902-063701 config: arm-multi_v7_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 5.4.0-6) 5.4.0 20160609 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm All error/warnings (new ones prefixed by >>): In file included from drivers/gpu/drm/rockchip/rockchip_drm_vop.c:23:0: include/linux/devfreq-event.h:190:21: error: redefinition of 'devfreq_event_get_drvdata' static inline void *devfreq_event_get_drvdata(struct devfreq_event_dev *edev) ^ include/linux/devfreq-event.h:151:21: note: previous definition of 'devfreq_event_get_drvdata' was here static inline void *devfreq_event_get_drvdata(struct devfreq_event_dev *edev) ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c: In function 'vop_crtc_disable': >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:653:13: error: invalid storage class for function 'vop_plane_destroy' static void vop_plane_destroy(struct drm_plane *plane) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:653:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] static void vop_plane_destroy(struct drm_plane *plane) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:658:12: error: invalid storage class for function 'vop_plane_prepare_fb' static int vop_plane_prepare_fb(struct drm_plane *plane, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:667:13: error: invalid storage class for function 'vop_plane_cleanup_fb' static void vop_plane_cleanup_fb(struct drm_plane *plane, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:674:12: error: invalid storage class for function 'vop_plane_atomic_check' static int vop_plane_atomic_check(struct drm_plane *plane, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:731:13: error: invalid storage class for function 'vop_plane_atomic_disable' static void vop_plane_atomic_disable(struct drm_plane *plane, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:756:13: error: invalid storage class for function 'vop_plane_atomic_update' static void vop_plane_atomic_update(struct drm_plane *plane, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:866:16: error: initializer element is not constant .prepare_fb = vop_plane_prepare_fb, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:866:16: note: (near initialization for 'plane_helper_funcs.prepare_fb') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:867:16: error: initializer element is not constant .cleanup_fb = vop_plane_cleanup_fb, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:867:16: note: (near initialization for 'plane_helper_funcs.cleanup_fb') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:868:18: error: initializer element is not constant .atomic_check = vop_plane_atomic_check, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:868:18: note: (near initialization for 'plane_helper_funcs.atomic_check') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:869:19: error: initializer element is not constant .atomic_update = vop_plane_atomic_update, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:869:19: note: (near initialization for 'plane_helper_funcs.atomic_update') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:870:20: error: initializer element is not constant .atomic_disable = vop_plane_atomic_disable, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:870:20: note: (near initialization for 'plane_helper_funcs.atomic_disable') >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:873:13: error: invalid storage class for function 'vop_atomic_plane_reset' static void vop_atomic_plane_reset(struct drm_plane *plane) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:891:1: error: invalid storage class for function 'vop_atomic_plane_duplicate_state' vop_atomic_plane_duplicate_state(struct drm_plane *plane) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:911:13: error: invalid storage class for function 'vop_atomic_plane_destroy_state' static void vop_atomic_plane_destroy_state(struct drm_plane *plane, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:924:13: error: initializer element is not constant .destroy = vop_plane_destroy, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:924:13: note: (near initialization for 'vop_plane_funcs.destroy') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:925:11: error: initializer element is not constant .reset = vop_atomic_plane_reset, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:925:11: note: (near initialization for 'vop_plane_funcs.reset') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:926:28: error: initializer element is not constant .atomic_duplicate_state = vop_atomic_plane_duplicate_state, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:926:28: note: (near initialization for 'vop_plane_funcs.atomic_duplicate_state') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:927:26: error: initializer element is not constant .atomic_destroy_state = vop_atomic_plane_destroy_state, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:927:26: note: (near initialization for 'vop_plane_funcs.atomic_destroy_state') >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:930:12: error: invalid storage class for function 'vop_crtc_enable_vblank' static int vop_crtc_enable_vblank(struct drm_crtc *crtc) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:947:13: error: invalid storage class for function 'vop_crtc_disable_vblank' static void vop_crtc_disable_vblank(struct drm_crtc *crtc) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:962:13: error: invalid storage class for function 'vop_crtc_wait_for_update' static void vop_crtc_wait_for_update(struct drm_crtc *crtc) ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:971:19: error: initializer element is not constant .enable_vblank = vop_crtc_enable_vblank, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:971:19: note: (near initialization for 'private_crtc_funcs.enable_vblank') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:972:20: error: initializer element is not constant .disable_vblank = vop_crtc_disable_vblank, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:972:20: note: (near initialization for 'private_crtc_funcs.disable_vblank') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:973:21: error: initializer element is not constant .wait_for_update = vop_crtc_wait_for_update, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:973:21: note: (near initialization for 'private_crtc_funcs.wait_for_update') >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:976:13: error: invalid storage class for function 'vop_crtc_mode_fixup' static bool vop_crtc_mode_fixup(struct drm_crtc *crtc, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:988:13: error: invalid storage class for function 'vop_crtc_enable' static void vop_crtc_enable(struct drm_crtc *crtc) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1090:13: error: invalid storage class for function 'vop_crtc_atomic_flush' static void vop_crtc_atomic_flush(struct drm_crtc *crtc, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1105:13: error: invalid storage class for function 'vop_crtc_atomic_begin' static void vop_crtc_atomic_begin(struct drm_crtc *crtc, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1122:12: error: initializer element is not constant .enable = vop_crtc_enable, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1122:12: note: (near initialization for 'vop_crtc_helper_funcs.enable') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1124:16: error: initializer element is not constant .mode_fixup = vop_crtc_mode_fixup, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1124:16: note: (near initialization for 'vop_crtc_helper_funcs.mode_fixup') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1125:18: error: initializer element is not constant .atomic_flush = vop_crtc_atomic_flush, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1125:18: note: (near initialization for 'vop_crtc_helper_funcs.atomic_flush') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1126:18: error: initializer element is not constant .atomic_begin = vop_crtc_atomic_begin, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1126:18: note: (near initialization for 'vop_crtc_helper_funcs.atomic_begin') >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1129:13: error: invalid storage class for function 'vop_crtc_destroy' static void vop_crtc_destroy(struct drm_crtc *crtc) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1134:13: error: invalid storage class for function 'vop_crtc_reset' static void vop_crtc_reset(struct drm_crtc *crtc) ^ vim +/vop_plane_destroy +653 drivers/gpu/drm/rockchip/rockchip_drm_vop.c 4bb85264 Lin Huang 2016-09-02 647 if (vop->devfreq_event_dev) 4bb85264 Lin Huang 2016-09-02 648 devfreq_event_enable_edev(vop->devfreq_event_dev); 4bb85264 Lin Huang 2016-09-02 649 devfreq_resume_device(vop->devfreq); 893b6cad Daniel Vetter 2016-06-08 650 } 2048e328 Mark Yao 2014-08-22 651 } 2048e328 Mark Yao 2014-08-22 652 63ebb9fa Mark Yao 2015-11-30 @653 static void vop_plane_destroy(struct drm_plane *plane) 2048e328 Mark Yao 2014-08-22 654 { 63ebb9fa Mark Yao 2015-11-30 655 drm_plane_cleanup(plane); 2048e328 Mark Yao 2014-08-22 656 } 2048e328 Mark Yao 2014-08-22 657 44d0237a Mark Yao 2016-04-29 @658 static int vop_plane_prepare_fb(struct drm_plane *plane, 1832040d Chris Wilson 2016-08-18 659 struct drm_plane_state *new_state) 44d0237a Mark Yao 2016-04-29 660 { 44d0237a Mark Yao 2016-04-29 661 if (plane->state->fb) 44d0237a Mark Yao 2016-04-29 662 drm_framebuffer_reference(plane->state->fb); 44d0237a Mark Yao 2016-04-29 663 44d0237a Mark Yao 2016-04-29 664 return 0; 44d0237a Mark Yao 2016-04-29 665 } 44d0237a Mark Yao 2016-04-29 666 44d0237a Mark Yao 2016-04-29 @667 static void vop_plane_cleanup_fb(struct drm_plane *plane, 1832040d Chris Wilson 2016-08-18 668 struct drm_plane_state *old_state) 44d0237a Mark Yao 2016-04-29 669 { 44d0237a Mark Yao 2016-04-29 670 if (old_state->fb) 44d0237a Mark Yao 2016-04-29 671 drm_framebuffer_unreference(old_state->fb); 44d0237a Mark Yao 2016-04-29 672 } 44d0237a Mark Yao 2016-04-29 673 63ebb9fa Mark Yao 2015-11-30 @674 static int vop_plane_atomic_check(struct drm_plane *plane, 63ebb9fa Mark Yao 2015-11-30 675 struct drm_plane_state *state) 2048e328 Mark Yao 2014-08-22 676 { 63ebb9fa Mark Yao 2015-11-30 677 struct drm_crtc *crtc = state->crtc; 92915da6 John Keeping 2016-03-04 678 struct drm_crtc_state *crtc_state; 63ebb9fa Mark Yao 2015-11-30 679 struct drm_framebuffer *fb = state->fb; 2048e328 Mark Yao 2014-08-22 680 struct vop_win *vop_win = to_vop_win(plane); 63ebb9fa Mark Yao 2015-11-30 681 struct vop_plane_state *vop_plane_state = to_vop_plane_state(state); 2048e328 Mark Yao 2014-08-22 682 const struct vop_win_data *win = vop_win->data; 2048e328 Mark Yao 2014-08-22 683 int ret; 63ebb9fa Mark Yao 2015-11-30 684 struct drm_rect clip; 4c156c21 Mark Yao 2015-06-26 685 int min_scale = win->phy->scl ? FRAC_16_16(1, 8) : 4c156c21 Mark Yao 2015-06-26 686 DRM_PLANE_HELPER_NO_SCALING; 4c156c21 Mark Yao 2015-06-26 687 int max_scale = win->phy->scl ? FRAC_16_16(8, 1) : 4c156c21 Mark Yao 2015-06-26 688 DRM_PLANE_HELPER_NO_SCALING; 2048e328 Mark Yao 2014-08-22 689 63ebb9fa Mark Yao 2015-11-30 690 if (!crtc || !fb) 63ebb9fa Mark Yao 2015-11-30 691 goto out_disable; 92915da6 John Keeping 2016-03-04 692 92915da6 John Keeping 2016-03-04 693 crtc_state = drm_atomic_get_existing_crtc_state(state->state, crtc); 92915da6 John Keeping 2016-03-04 694 if (WARN_ON(!crtc_state)) 92915da6 John Keeping 2016-03-04 695 return -EINVAL; 92915da6 John Keeping 2016-03-04 696 63ebb9fa Mark Yao 2015-11-30 697 clip.x1 = 0; 63ebb9fa Mark Yao 2015-11-30 698 clip.y1 = 0; 92915da6 John Keeping 2016-03-04 699 clip.x2 = crtc_state->adjusted_mode.hdisplay; 92915da6 John Keeping 2016-03-04 700 clip.y2 = crtc_state->adjusted_mode.vdisplay; 63ebb9fa Mark Yao 2015-11-30 701 f9b96be0 Ville Syrjälä 2016-07-26 702 ret = drm_plane_helper_check_state(state, &clip, f9b96be0 Ville Syrjälä 2016-07-26 703 min_scale, max_scale, f9b96be0 Ville Syrjälä 2016-07-26 704 true, true); 2048e328 Mark Yao 2014-08-22 705 if (ret) 2048e328 Mark Yao 2014-08-22 706 return ret; 2048e328 Mark Yao 2014-08-22 707 f9b96be0 Ville Syrjälä 2016-07-26 708 if (!state->visible) 63ebb9fa Mark Yao 2015-11-30 709 goto out_disable; 84c7f8ca Mark Yao 2015-07-20 710 63ebb9fa Mark Yao 2015-11-30 711 vop_plane_state->format = vop_convert_format(fb->pixel_format); 63ebb9fa Mark Yao 2015-11-30 712 if (vop_plane_state->format < 0) 63ebb9fa Mark Yao 2015-11-30 713 return vop_plane_state->format; 2048e328 Mark Yao 2014-08-22 714 84c7f8ca Mark Yao 2015-07-20 715 /* 84c7f8ca Mark Yao 2015-07-20 716 * Src.x1 can be odd when do clip, but yuv plane start point 84c7f8ca Mark Yao 2015-07-20 717 * need align with 2 pixel. 84c7f8ca Mark Yao 2015-07-20 718 */ f9b96be0 Ville Syrjälä 2016-07-26 719 if (is_yuv_support(fb->pixel_format) && ((state->src.x1 >> 16) % 2)) 63ebb9fa Mark Yao 2015-11-30 720 return -EINVAL; 84c7f8ca Mark Yao 2015-07-20 721 63ebb9fa Mark Yao 2015-11-30 722 vop_plane_state->enable = true; 2048e328 Mark Yao 2014-08-22 723 63ebb9fa Mark Yao 2015-11-30 724 return 0; 2048e328 Mark Yao 2014-08-22 725 63ebb9fa Mark Yao 2015-11-30 726 out_disable: 63ebb9fa Mark Yao 2015-11-30 727 vop_plane_state->enable = false; 63ebb9fa Mark Yao 2015-11-30 728 return 0; 63ebb9fa Mark Yao 2015-11-30 729 } 2048e328 Mark Yao 2014-08-22 730 63ebb9fa Mark Yao 2015-11-30 @731 static void vop_plane_atomic_disable(struct drm_plane *plane, 63ebb9fa Mark Yao 2015-11-30 732 struct drm_plane_state *old_state) 63ebb9fa Mark Yao 2015-11-30 733 { 63ebb9fa Mark Yao 2015-11-30 734 struct vop_plane_state *vop_plane_state = to_vop_plane_state(old_state); 63ebb9fa Mark Yao 2015-11-30 735 struct vop_win *vop_win = to_vop_win(plane); 63ebb9fa Mark Yao 2015-11-30 736 const struct vop_win_data *win = vop_win->data; 63ebb9fa Mark Yao 2015-11-30 737 struct vop *vop = to_vop(old_state->crtc); 2048e328 Mark Yao 2014-08-22 738 63ebb9fa Mark Yao 2015-11-30 739 if (!old_state->crtc) 63ebb9fa Mark Yao 2015-11-30 740 return; 84c7f8ca Mark Yao 2015-07-20 741 4f9d39a7 Daniel Vetter 2016-06-08 742 spin_lock_irq(&plane->dev->event_lock); 4f9d39a7 Daniel Vetter 2016-06-08 743 vop_win->enable = false; 4f9d39a7 Daniel Vetter 2016-06-08 744 vop_win->yrgb_mst = 0; 4f9d39a7 Daniel Vetter 2016-06-08 745 spin_unlock_irq(&plane->dev->event_lock); 4f9d39a7 Daniel Vetter 2016-06-08 746 63ebb9fa Mark Yao 2015-11-30 747 spin_lock(&vop->reg_lock); 63ebb9fa Mark Yao 2015-11-30 748 63ebb9fa Mark Yao 2015-11-30 749 VOP_WIN_SET(vop, win, enable, 0); 84c7f8ca Mark Yao 2015-07-20 750 63ebb9fa Mark Yao 2015-11-30 751 spin_unlock(&vop->reg_lock); 84c7f8ca Mark Yao 2015-07-20 752 63ebb9fa Mark Yao 2015-11-30 753 vop_plane_state->enable = false; 84c7f8ca Mark Yao 2015-07-20 754 } 84c7f8ca Mark Yao 2015-07-20 755 63ebb9fa Mark Yao 2015-11-30 @756 static void vop_plane_atomic_update(struct drm_plane *plane, 63ebb9fa Mark Yao 2015-11-30 757 struct drm_plane_state *old_state) 63ebb9fa Mark Yao 2015-11-30 758 { 63ebb9fa Mark Yao 2015-11-30 759 struct drm_plane_state *state = plane->state; :::::: The code at line 653 was first introduced by commit :::::: 63ebb9fa7ff06d194362ed4a5d0a31ac7612a89c drm/rockchip: Convert to support atomic API :::::: TO: Mark Yao :::::: CC: Mark Yao --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation --C7zPtVaVf+AK4Oqc Content-Type: application/octet-stream Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 AA== --C7zPtVaVf+AK4Oqc Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== --C7zPtVaVf+AK4Oqc-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: lkp@intel.com (kbuild test robot) Date: Fri, 2 Sep 2016 08:34:53 +0800 Subject: [PATCH 5/5] drm/rockchip: Add dmc notifier in vop driver In-Reply-To: <1472769085-20715-6-git-send-email-hl@rock-chips.com> Message-ID: <201609020840.6FaQa5pQ%fengguang.wu@intel.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Lin, [auto build test ERROR on next-20160825] [cannot apply to rockchip/for-next devfreq/for-rafael linus/master v4.8-rc4 v4.8-rc3 v4.8-rc2 v4.8-rc4] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base= (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/Lin-Huang/rk3399-support-ddr-frequency-scaling/20160902-063701 config: arm-multi_v7_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 5.4.0-6) 5.4.0 20160609 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm All error/warnings (new ones prefixed by >>): In file included from drivers/gpu/drm/rockchip/rockchip_drm_vop.c:23:0: include/linux/devfreq-event.h:190:21: error: redefinition of 'devfreq_event_get_drvdata' static inline void *devfreq_event_get_drvdata(struct devfreq_event_dev *edev) ^ include/linux/devfreq-event.h:151:21: note: previous definition of 'devfreq_event_get_drvdata' was here static inline void *devfreq_event_get_drvdata(struct devfreq_event_dev *edev) ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c: In function 'vop_crtc_disable': >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:653:13: error: invalid storage class for function 'vop_plane_destroy' static void vop_plane_destroy(struct drm_plane *plane) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:653:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] static void vop_plane_destroy(struct drm_plane *plane) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:658:12: error: invalid storage class for function 'vop_plane_prepare_fb' static int vop_plane_prepare_fb(struct drm_plane *plane, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:667:13: error: invalid storage class for function 'vop_plane_cleanup_fb' static void vop_plane_cleanup_fb(struct drm_plane *plane, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:674:12: error: invalid storage class for function 'vop_plane_atomic_check' static int vop_plane_atomic_check(struct drm_plane *plane, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:731:13: error: invalid storage class for function 'vop_plane_atomic_disable' static void vop_plane_atomic_disable(struct drm_plane *plane, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:756:13: error: invalid storage class for function 'vop_plane_atomic_update' static void vop_plane_atomic_update(struct drm_plane *plane, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:866:16: error: initializer element is not constant .prepare_fb = vop_plane_prepare_fb, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:866:16: note: (near initialization for 'plane_helper_funcs.prepare_fb') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:867:16: error: initializer element is not constant .cleanup_fb = vop_plane_cleanup_fb, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:867:16: note: (near initialization for 'plane_helper_funcs.cleanup_fb') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:868:18: error: initializer element is not constant .atomic_check = vop_plane_atomic_check, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:868:18: note: (near initialization for 'plane_helper_funcs.atomic_check') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:869:19: error: initializer element is not constant .atomic_update = vop_plane_atomic_update, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:869:19: note: (near initialization for 'plane_helper_funcs.atomic_update') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:870:20: error: initializer element is not constant .atomic_disable = vop_plane_atomic_disable, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:870:20: note: (near initialization for 'plane_helper_funcs.atomic_disable') >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:873:13: error: invalid storage class for function 'vop_atomic_plane_reset' static void vop_atomic_plane_reset(struct drm_plane *plane) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:891:1: error: invalid storage class for function 'vop_atomic_plane_duplicate_state' vop_atomic_plane_duplicate_state(struct drm_plane *plane) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:911:13: error: invalid storage class for function 'vop_atomic_plane_destroy_state' static void vop_atomic_plane_destroy_state(struct drm_plane *plane, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:924:13: error: initializer element is not constant .destroy = vop_plane_destroy, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:924:13: note: (near initialization for 'vop_plane_funcs.destroy') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:925:11: error: initializer element is not constant .reset = vop_atomic_plane_reset, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:925:11: note: (near initialization for 'vop_plane_funcs.reset') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:926:28: error: initializer element is not constant .atomic_duplicate_state = vop_atomic_plane_duplicate_state, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:926:28: note: (near initialization for 'vop_plane_funcs.atomic_duplicate_state') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:927:26: error: initializer element is not constant .atomic_destroy_state = vop_atomic_plane_destroy_state, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:927:26: note: (near initialization for 'vop_plane_funcs.atomic_destroy_state') >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:930:12: error: invalid storage class for function 'vop_crtc_enable_vblank' static int vop_crtc_enable_vblank(struct drm_crtc *crtc) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:947:13: error: invalid storage class for function 'vop_crtc_disable_vblank' static void vop_crtc_disable_vblank(struct drm_crtc *crtc) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:962:13: error: invalid storage class for function 'vop_crtc_wait_for_update' static void vop_crtc_wait_for_update(struct drm_crtc *crtc) ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:971:19: error: initializer element is not constant .enable_vblank = vop_crtc_enable_vblank, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:971:19: note: (near initialization for 'private_crtc_funcs.enable_vblank') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:972:20: error: initializer element is not constant .disable_vblank = vop_crtc_disable_vblank, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:972:20: note: (near initialization for 'private_crtc_funcs.disable_vblank') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:973:21: error: initializer element is not constant .wait_for_update = vop_crtc_wait_for_update, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:973:21: note: (near initialization for 'private_crtc_funcs.wait_for_update') >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:976:13: error: invalid storage class for function 'vop_crtc_mode_fixup' static bool vop_crtc_mode_fixup(struct drm_crtc *crtc, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:988:13: error: invalid storage class for function 'vop_crtc_enable' static void vop_crtc_enable(struct drm_crtc *crtc) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1090:13: error: invalid storage class for function 'vop_crtc_atomic_flush' static void vop_crtc_atomic_flush(struct drm_crtc *crtc, ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1105:13: error: invalid storage class for function 'vop_crtc_atomic_begin' static void vop_crtc_atomic_begin(struct drm_crtc *crtc, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1122:12: error: initializer element is not constant .enable = vop_crtc_enable, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1122:12: note: (near initialization for 'vop_crtc_helper_funcs.enable') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1124:16: error: initializer element is not constant .mode_fixup = vop_crtc_mode_fixup, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1124:16: note: (near initialization for 'vop_crtc_helper_funcs.mode_fixup') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1125:18: error: initializer element is not constant .atomic_flush = vop_crtc_atomic_flush, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1125:18: note: (near initialization for 'vop_crtc_helper_funcs.atomic_flush') drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1126:18: error: initializer element is not constant .atomic_begin = vop_crtc_atomic_begin, ^ drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1126:18: note: (near initialization for 'vop_crtc_helper_funcs.atomic_begin') >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1129:13: error: invalid storage class for function 'vop_crtc_destroy' static void vop_crtc_destroy(struct drm_crtc *crtc) ^ >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1134:13: error: invalid storage class for function 'vop_crtc_reset' static void vop_crtc_reset(struct drm_crtc *crtc) ^ vim +/vop_plane_destroy +653 drivers/gpu/drm/rockchip/rockchip_drm_vop.c 4bb85264 Lin Huang 2016-09-02 647 if (vop->devfreq_event_dev) 4bb85264 Lin Huang 2016-09-02 648 devfreq_event_enable_edev(vop->devfreq_event_dev); 4bb85264 Lin Huang 2016-09-02 649 devfreq_resume_device(vop->devfreq); 893b6cad Daniel Vetter 2016-06-08 650 } 2048e328 Mark Yao 2014-08-22 651 } 2048e328 Mark Yao 2014-08-22 652 63ebb9fa Mark Yao 2015-11-30 @653 static void vop_plane_destroy(struct drm_plane *plane) 2048e328 Mark Yao 2014-08-22 654 { 63ebb9fa Mark Yao 2015-11-30 655 drm_plane_cleanup(plane); 2048e328 Mark Yao 2014-08-22 656 } 2048e328 Mark Yao 2014-08-22 657 44d0237a Mark Yao 2016-04-29 @658 static int vop_plane_prepare_fb(struct drm_plane *plane, 1832040d Chris Wilson 2016-08-18 659 struct drm_plane_state *new_state) 44d0237a Mark Yao 2016-04-29 660 { 44d0237a Mark Yao 2016-04-29 661 if (plane->state->fb) 44d0237a Mark Yao 2016-04-29 662 drm_framebuffer_reference(plane->state->fb); 44d0237a Mark Yao 2016-04-29 663 44d0237a Mark Yao 2016-04-29 664 return 0; 44d0237a Mark Yao 2016-04-29 665 } 44d0237a Mark Yao 2016-04-29 666 44d0237a Mark Yao 2016-04-29 @667 static void vop_plane_cleanup_fb(struct drm_plane *plane, 1832040d Chris Wilson 2016-08-18 668 struct drm_plane_state *old_state) 44d0237a Mark Yao 2016-04-29 669 { 44d0237a Mark Yao 2016-04-29 670 if (old_state->fb) 44d0237a Mark Yao 2016-04-29 671 drm_framebuffer_unreference(old_state->fb); 44d0237a Mark Yao 2016-04-29 672 } 44d0237a Mark Yao 2016-04-29 673 63ebb9fa Mark Yao 2015-11-30 @674 static int vop_plane_atomic_check(struct drm_plane *plane, 63ebb9fa Mark Yao 2015-11-30 675 struct drm_plane_state *state) 2048e328 Mark Yao 2014-08-22 676 { 63ebb9fa Mark Yao 2015-11-30 677 struct drm_crtc *crtc = state->crtc; 92915da6 John Keeping 2016-03-04 678 struct drm_crtc_state *crtc_state; 63ebb9fa Mark Yao 2015-11-30 679 struct drm_framebuffer *fb = state->fb; 2048e328 Mark Yao 2014-08-22 680 struct vop_win *vop_win = to_vop_win(plane); 63ebb9fa Mark Yao 2015-11-30 681 struct vop_plane_state *vop_plane_state = to_vop_plane_state(state); 2048e328 Mark Yao 2014-08-22 682 const struct vop_win_data *win = vop_win->data; 2048e328 Mark Yao 2014-08-22 683 int ret; 63ebb9fa Mark Yao 2015-11-30 684 struct drm_rect clip; 4c156c21 Mark Yao 2015-06-26 685 int min_scale = win->phy->scl ? FRAC_16_16(1, 8) : 4c156c21 Mark Yao 2015-06-26 686 DRM_PLANE_HELPER_NO_SCALING; 4c156c21 Mark Yao 2015-06-26 687 int max_scale = win->phy->scl ? FRAC_16_16(8, 1) : 4c156c21 Mark Yao 2015-06-26 688 DRM_PLANE_HELPER_NO_SCALING; 2048e328 Mark Yao 2014-08-22 689 63ebb9fa Mark Yao 2015-11-30 690 if (!crtc || !fb) 63ebb9fa Mark Yao 2015-11-30 691 goto out_disable; 92915da6 John Keeping 2016-03-04 692 92915da6 John Keeping 2016-03-04 693 crtc_state = drm_atomic_get_existing_crtc_state(state->state, crtc); 92915da6 John Keeping 2016-03-04 694 if (WARN_ON(!crtc_state)) 92915da6 John Keeping 2016-03-04 695 return -EINVAL; 92915da6 John Keeping 2016-03-04 696 63ebb9fa Mark Yao 2015-11-30 697 clip.x1 = 0; 63ebb9fa Mark Yao 2015-11-30 698 clip.y1 = 0; 92915da6 John Keeping 2016-03-04 699 clip.x2 = crtc_state->adjusted_mode.hdisplay; 92915da6 John Keeping 2016-03-04 700 clip.y2 = crtc_state->adjusted_mode.vdisplay; 63ebb9fa Mark Yao 2015-11-30 701 f9b96be0 Ville Syrj?l? 2016-07-26 702 ret = drm_plane_helper_check_state(state, &clip, f9b96be0 Ville Syrj?l? 2016-07-26 703 min_scale, max_scale, f9b96be0 Ville Syrj?l? 2016-07-26 704 true, true); 2048e328 Mark Yao 2014-08-22 705 if (ret) 2048e328 Mark Yao 2014-08-22 706 return ret; 2048e328 Mark Yao 2014-08-22 707 f9b96be0 Ville Syrj?l? 2016-07-26 708 if (!state->visible) 63ebb9fa Mark Yao 2015-11-30 709 goto out_disable; 84c7f8ca Mark Yao 2015-07-20 710 63ebb9fa Mark Yao 2015-11-30 711 vop_plane_state->format = vop_convert_format(fb->pixel_format); 63ebb9fa Mark Yao 2015-11-30 712 if (vop_plane_state->format < 0) 63ebb9fa Mark Yao 2015-11-30 713 return vop_plane_state->format; 2048e328 Mark Yao 2014-08-22 714 84c7f8ca Mark Yao 2015-07-20 715 /* 84c7f8ca Mark Yao 2015-07-20 716 * Src.x1 can be odd when do clip, but yuv plane start point 84c7f8ca Mark Yao 2015-07-20 717 * need align with 2 pixel. 84c7f8ca Mark Yao 2015-07-20 718 */ f9b96be0 Ville Syrj?l? 2016-07-26 719 if (is_yuv_support(fb->pixel_format) && ((state->src.x1 >> 16) % 2)) 63ebb9fa Mark Yao 2015-11-30 720 return -EINVAL; 84c7f8ca Mark Yao 2015-07-20 721 63ebb9fa Mark Yao 2015-11-30 722 vop_plane_state->enable = true; 2048e328 Mark Yao 2014-08-22 723 63ebb9fa Mark Yao 2015-11-30 724 return 0; 2048e328 Mark Yao 2014-08-22 725 63ebb9fa Mark Yao 2015-11-30 726 out_disable: 63ebb9fa Mark Yao 2015-11-30 727 vop_plane_state->enable = false; 63ebb9fa Mark Yao 2015-11-30 728 return 0; 63ebb9fa Mark Yao 2015-11-30 729 } 2048e328 Mark Yao 2014-08-22 730 63ebb9fa Mark Yao 2015-11-30 @731 static void vop_plane_atomic_disable(struct drm_plane *plane, 63ebb9fa Mark Yao 2015-11-30 732 struct drm_plane_state *old_state) 63ebb9fa Mark Yao 2015-11-30 733 { 63ebb9fa Mark Yao 2015-11-30 734 struct vop_plane_state *vop_plane_state = to_vop_plane_state(old_state); 63ebb9fa Mark Yao 2015-11-30 735 struct vop_win *vop_win = to_vop_win(plane); 63ebb9fa Mark Yao 2015-11-30 736 const struct vop_win_data *win = vop_win->data; 63ebb9fa Mark Yao 2015-11-30 737 struct vop *vop = to_vop(old_state->crtc); 2048e328 Mark Yao 2014-08-22 738 63ebb9fa Mark Yao 2015-11-30 739 if (!old_state->crtc) 63ebb9fa Mark Yao 2015-11-30 740 return; 84c7f8ca Mark Yao 2015-07-20 741 4f9d39a7 Daniel Vetter 2016-06-08 742 spin_lock_irq(&plane->dev->event_lock); 4f9d39a7 Daniel Vetter 2016-06-08 743 vop_win->enable = false; 4f9d39a7 Daniel Vetter 2016-06-08 744 vop_win->yrgb_mst = 0; 4f9d39a7 Daniel Vetter 2016-06-08 745 spin_unlock_irq(&plane->dev->event_lock); 4f9d39a7 Daniel Vetter 2016-06-08 746 63ebb9fa Mark Yao 2015-11-30 747 spin_lock(&vop->reg_lock); 63ebb9fa Mark Yao 2015-11-30 748 63ebb9fa Mark Yao 2015-11-30 749 VOP_WIN_SET(vop, win, enable, 0); 84c7f8ca Mark Yao 2015-07-20 750 63ebb9fa Mark Yao 2015-11-30 751 spin_unlock(&vop->reg_lock); 84c7f8ca Mark Yao 2015-07-20 752 63ebb9fa Mark Yao 2015-11-30 753 vop_plane_state->enable = false; 84c7f8ca Mark Yao 2015-07-20 754 } 84c7f8ca Mark Yao 2015-07-20 755 63ebb9fa Mark Yao 2015-11-30 @756 static void vop_plane_atomic_update(struct drm_plane *plane, 63ebb9fa Mark Yao 2015-11-30 757 struct drm_plane_state *old_state) 63ebb9fa Mark Yao 2015-11-30 758 { 63ebb9fa Mark Yao 2015-11-30 759 struct drm_plane_state *state = plane->state; :::::: The code at line 653 was first introduced by commit :::::: 63ebb9fa7ff06d194362ed4a5d0a31ac7612a89c drm/rockchip: Convert to support atomic API :::::: TO: Mark Yao :::::: CC: Mark Yao --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation -------------- next part -------------- A non-text attachment was scrubbed... Name: .config.gz Type: application/octet-stream Size: 38827 bytes Desc: not available URL: