From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753569AbcEMRR0 (ORCPT ); Fri, 13 May 2016 13:17:26 -0400 Received: from mail-pa0-f68.google.com ([209.85.220.68]:33275 "EHLO mail-pa0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753472AbcEMRRZ (ORCPT ); Fri, 13 May 2016 13:17:25 -0400 Date: Fri, 13 May 2016 22:47:05 +0530 From: Muhammad Falak R Wani To: Jani Nikula Cc: Christian Knig , Nils =?iso-8859-1?Q?Wallm=E9nius?= , Jammy Zhou , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Alex Deucher , Rex Zhu , Dan Carpenter Subject: Re: [PATCH] drm/amd/powerplay: use ARRAY_SIZE() for size of array Message-ID: <20160513171705.GA6069@kp> References: <1462988936-13486-1-git-send-email-falakreyaz@gmail.com> <877feziour.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <877feziour.fsf@intel.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, May 12, 2016 at 12:53:48PM +0300, Jani Nikula wrote: > On Wed, 11 May 2016, Muhammad Falak R Wani wrote: > > Use ARRAY_SIZE() for the size calculation of the array. Also move the > > condition evaulation function out of the for loop. > > Although, any respectable c-compiler would optimize this and evaluate > > the function only once outside the loop, but the optimzation engine > > of gcc is bit brain-dead, and at times needs some hand holding. > > This just caught my eye. ARRAY_SIZE is a macro that expands to a compile > time constant. Arguably adding the the local variable here gives GCC > more chances to go wrong than keeping the ARRAY_SIZE in the loop > condition. > > BR, > Jani. > > > > > Signed-off-by: Muhammad Falak R Wani > > --- > > drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c > > index da18f44..718a551 100644 > > --- a/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c > > +++ b/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c > > @@ -636,10 +636,11 @@ static int cz_smu_populate_firmware_entries(struct pp_smumgr *smumgr) > > int ret; > > enum cgs_ucode_id ucode_id; > > struct cgs_firmware_info info = {0}; > > + int n = ARRAY_SIZE(firmware_list); > > > > cz_smu->driver_buffer_length = 0; > > > > - for (i = 0; i < sizeof(firmware_list)/sizeof(*firmware_list); i++) { > > + for (i = 0; i < n; i++) { > > > > firmware_type = cz_translate_firmware_enum_to_arg(smumgr, > > firmware_list[i]); > > -- > Jani Nikula, Intel Open Source Technology Center Should i send a new patch, with these modifications. Sorry for my childish mistake, i got a little too carried away.