From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/amd/powerplay: use ARRAY_SIZE() for size of array Date: Thu, 12 May 2016 12:53:48 +0300 Message-ID: <877feziour.fsf@intel.com> References: <1462988936-13486-1-git-send-email-falakreyaz@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 03EE36E7EE for ; Thu, 12 May 2016 09:53:51 +0000 (UTC) In-Reply-To: <1462988936-13486-1-git-send-email-falakreyaz@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Muhammad Falak R Wani , Christian Knig Cc: Nils =?utf-8?Q?Wallm=C3=A9nius?= , Jammy Zhou , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Alex Deucher , Rex Zhu , Dan Carpenter List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCAxMSBNYXkgMjAxNiwgTXVoYW1tYWQgRmFsYWsgUiBXYW5pIDxmYWxha3JleWF6QGdt YWlsLmNvbT4gd3JvdGU6Cj4gVXNlIEFSUkFZX1NJWkUoKSBmb3IgdGhlIHNpemUgY2FsY3VsYXRp b24gb2YgdGhlIGFycmF5LiBBbHNvIG1vdmUgdGhlCj4gY29uZGl0aW9uIGV2YXVsYXRpb24gZnVu Y3Rpb24gb3V0IG9mIHRoZSBmb3IgbG9vcC4KPiBBbHRob3VnaCwgYW55IHJlc3BlY3RhYmxlIGMt Y29tcGlsZXIgd291bGQgb3B0aW1pemUgdGhpcyBhbmQgZXZhbHVhdGUKPiB0aGUgZnVuY3Rpb24g b25seSBvbmNlIG91dHNpZGUgdGhlIGxvb3AsIGJ1dCB0aGUgb3B0aW16YXRpb24gZW5naW5lCj4g b2YgZ2NjIGlzIGJpdCBicmFpbi1kZWFkLCBhbmQgYXQgdGltZXMgbmVlZHMgc29tZSBoYW5kIGhv bGRpbmcuCgpUaGlzIGp1c3QgY2F1Z2h0IG15IGV5ZS4gQVJSQVlfU0laRSBpcyBhIG1hY3JvIHRo YXQgZXhwYW5kcyB0byBhIGNvbXBpbGUKdGltZSBjb25zdGFudC4gQXJndWFibHkgYWRkaW5nIHRo ZSB0aGUgbG9jYWwgdmFyaWFibGUgaGVyZSBnaXZlcyBHQ0MKbW9yZSBjaGFuY2VzIHRvIGdvIHdy b25nIHRoYW4ga2VlcGluZyB0aGUgQVJSQVlfU0laRSBpbiB0aGUgbG9vcApjb25kaXRpb24uCgpC UiwKSmFuaS4KCj4KPiBTaWduZWQtb2ZmLWJ5OiBNdWhhbW1hZCBGYWxhayBSIFdhbmkgPGZhbGFr cmV5YXpAZ21haWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9z bXVtZ3IvY3pfc211bWdyLmMgfCAzICsrLQo+ICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9w b3dlcnBsYXkvc211bWdyL2N6X3NtdW1nci5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBs YXkvc211bWdyL2N6X3NtdW1nci5jCj4gaW5kZXggZGExOGY0NC4uNzE4YTU1MSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvY3pfc211bWdyLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvY3pfc211bWdyLmMKPiBA QCAtNjM2LDEwICs2MzYsMTEgQEAgc3RhdGljIGludCBjel9zbXVfcG9wdWxhdGVfZmlybXdhcmVf ZW50cmllcyhzdHJ1Y3QgcHBfc211bWdyICpzbXVtZ3IpCj4gIAlpbnQgcmV0Owo+ICAJZW51bSBj Z3NfdWNvZGVfaWQgdWNvZGVfaWQ7Cj4gIAlzdHJ1Y3QgY2dzX2Zpcm13YXJlX2luZm8gaW5mbyA9 IHswfTsKPiArCWludCBuID0gQVJSQVlfU0laRShmaXJtd2FyZV9saXN0KTsKPiAgCj4gIAljel9z bXUtPmRyaXZlcl9idWZmZXJfbGVuZ3RoID0gMDsKPiAgCj4gLQlmb3IgKGkgPSAwOyBpIDwgc2l6 ZW9mKGZpcm13YXJlX2xpc3QpL3NpemVvZigqZmlybXdhcmVfbGlzdCk7IGkrKykgewo+ICsJZm9y IChpID0gMDsgaSA8IG47IGkrKykgewo+ICAKPiAgCQlmaXJtd2FyZV90eXBlID0gY3pfdHJhbnNs YXRlX2Zpcm13YXJlX2VudW1fdG9fYXJnKHNtdW1nciwKPiAgCQkJCQlmaXJtd2FyZV9saXN0W2ld KTsKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXIK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752731AbcELJxx (ORCPT ); Thu, 12 May 2016 05:53:53 -0400 Received: from mga04.intel.com ([192.55.52.120]:40470 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751502AbcELJxw (ORCPT ); Thu, 12 May 2016 05:53:52 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,609,1455004800"; d="scan'208";a="978248943" From: Jani Nikula To: Muhammad Falak R Wani , Christian Knig Cc: Nils =?utf-8?Q?Wallm=C3=A9nius?= , 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 In-Reply-To: <1462988936-13486-1-git-send-email-falakreyaz@gmail.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <1462988936-13486-1-git-send-email-falakreyaz@gmail.com> User-Agent: Notmuch/0.22+12~gbdd9442 (http://notmuchmail.org) Emacs/24.4.1 (x86_64-pc-linux-gnu) Date: Thu, 12 May 2016 12:53:48 +0300 Message-ID: <877feziour.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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