From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755818AbcBVVe3 (ORCPT ); Mon, 22 Feb 2016 16:34:29 -0500 Received: from mout.kundenserver.de ([217.72.192.74]:62932 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755608AbcBVVe2 (ORCPT ); Mon, 22 Feb 2016 16:34:28 -0500 From: Arnd Bergmann To: Alison Wang , Jianwei Wang , Alison Wang , David Airlie Cc: linux-arm-kernel@lists.infradead.org, Arnd Bergmann , Xiubo Li , Daniel Vetter , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH] drm/layerscape: reduce excessive stack usage Date: Mon, 22 Feb 2016 22:33:31 +0100 Message-Id: <1456176818-1207477-1-git-send-email-arnd@arndb.de> X-Mailer: git-send-email 2.7.0 X-Provags-ID: V03:K0:bZLXlI1aGUdpYAM+U0cqiOS0ByuNXwbn40GoXWf4z0D+vsQE4lH MXoQ3I4leTqbAbZPKb4ZKJxNTwJ/9qhzzAoFaAkFDu23Zz/Na8UrqxK7fdBALZ7ShnPI+33 zFD7sooHfTUV8NAZOvOACUTCdhhuSvaF5i3ezaGLh48sZ5uKPwq9GmEoL36TMWBHsg10FCX A75+tZnEJfskcf0/EgSvw== X-UI-Out-Filterresults: notjunk:1;V01:K0:rh2cYgsXKQc=:Sv/LxVtqrmFzghZE1o+i8U HnEd3GiwBTJBrh4EwE+l6/7DR9/fVfrVdDkk3vbcfyqf/MESX85NUB1ReRck3aJ5NcwD70IY+ dPS2wxWTDKA0+gRRc2z03KT3WJ1lTzWQOhqqx2LE6bgMAPYawhoF50Kqlw9vNO8qAOrKsbw8D 7uOiHqkZkO4LQcXL60bn69/m+qpER87bYOLOa9hKtn8gbg2yktOsBgnU0+zwvFYyjoBZkU/Re TJ/IU00k82cgnhdpuWv1TCBphvgNpEGP/J6AnextUjaBHenPTGK8XPG4l/U7fhrVLaLQKvKVb BjOr9I5yLNQ7OC/4QschCjU+KTN1hyP3a9Fx2N9lkwcpbynuFz41Qb1t8gKiUaS4NF/Ay70bl rGPqCZ4ZlcLeoqXrz9/5WOWtXBVJN4yFg/g9XJgBNFSK0wiShyxFBmJZqRH0OwXyrCTUkHgpP CjzaI7HdJ76706Es5oraBw5FS0eLQOzi3ihZGtdsFADRX75dTxQYxXiU1YquSc9nS/Qr4Q7iE Pfws/BZRIi9kcJec/Oi3RdVyr/CcX+m99GfGRYR9aORv4yYl30rhULbtPZpQGaiPZ05TMsjjy mDgC1+3sCRZAXTySJ4gSbldUCLii/3SipWBAxEzDFRuK1wgFT4apYIsAexXNOGJ6m+rni+V/5 gJeGggTseUf7sc7cT/u2hkDWAR9H+1h9YIo+ukNAlhsJlgSK16oeyi2yIaaORdJv49B0= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The fsl-dcu driver copies a drm_mode_config object to its stack but then only accesses a single member (dpms_property) once. The data structure is large enough to trigger a warning about the amount of kernel stack being used: drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c: In function 'fsl_dcu_drm_connector_create': drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c:182:1: error: the frame size of 1040 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] This changes the fsl_dcu_drm_connector_create() function to only access the drm_mode_config by reference, which is also more efficient. Signed-off-by: Arnd Bergmann Fixes: 109eee2f2a18 ("drm/layerscape: Add Freescale DCU DRM driver") --- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c index 8780deba5e8a..92149152db44 100644 --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c @@ -131,7 +131,7 @@ int fsl_dcu_drm_connector_create(struct fsl_dcu_drm_device *fsl_dev, struct drm_encoder *encoder) { struct drm_connector *connector = &fsl_dev->connector.base; - struct drm_mode_config mode_config = fsl_dev->drm->mode_config; + struct drm_mode_config *mode_config = &fsl_dev->drm->mode_config; struct device_node *panel_node; int ret; @@ -153,7 +153,7 @@ int fsl_dcu_drm_connector_create(struct fsl_dcu_drm_device *fsl_dev, goto err_sysfs; drm_object_property_set_value(&connector->base, - mode_config.dpms_property, + mode_config->dpms_property, DRM_MODE_DPMS_OFF); panel_node = of_parse_phandle(fsl_dev->np, "fsl,panel", 0); -- 2.7.0