From patchwork Mon Jul 4 13:18:06 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 9212633 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 5D12260572 for ; Mon, 4 Jul 2016 13:15:59 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4EB75286F2 for ; Mon, 4 Jul 2016 13:15:59 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 43779286F7; Mon, 4 Jul 2016 13:15:59 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DC2EB286F2 for ; Mon, 4 Jul 2016 13:15:58 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AB4966E41E; Mon, 4 Jul 2016 13:15:57 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mout.kundenserver.de (mout.kundenserver.de [217.72.192.75]) by gabe.freedesktop.org (Postfix) with ESMTPS id 089A76E41E for ; Mon, 4 Jul 2016 13:15:55 +0000 (UTC) Received: from wuerfel.lan. ([78.42.132.4]) by mrelayeu.kundenserver.de (mreue101) with ESMTPA (Nemesis) id 0Mb8mZ-1azvVg3XFz-00KjWS; Mon, 04 Jul 2016 15:15:47 +0200 From: Arnd Bergmann To: Alex Deucher Subject: [PATCH] drm/amd/powerplay: fix integer overflow warning Date: Mon, 4 Jul 2016 15:18:06 +0200 Message-Id: <20160704131849.1102843-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:mtEfr73cm8F/djHLh6VcGJO8bvSw3RIgNN0V5UncIbYeNDDnR0r fsbS0rACBu7b2RHhBV9RZtV1eVERtM0/I3Lg8ZMttdeR99wR1QRrV1ZL60tXEG7Pr5+Q7VY fPl3aHmKQ0W/unrChks3F7h13r1Pf+2+O1OryHfvu6v0r+fLN6+fOTeIIv1vnKwmllKbHaC dBraKZGHw4U1/donN0tGw== X-UI-Out-Filterresults: notjunk:1; V01:K0:DiMq5kVsYwM=:B5NyOEHNEj0l9aYFxAxbj5 iCSTNflqFQRebG+2Esa46481ACbmzxXghHQAh4BbjdCrP9RxvZnb7c8sdshcPg0I5MTKbrOE7 yWLmzeNJ7q6O6ShVdcKRnmSXs2Vyi7Lfz6Hc5RheEZ9C9nvdMLOh6CWgWL1YM+Zz2axK2vkz9 808p2/tdXTGVBtkaDi8NDGuBeqjwF6Bru5VXiJ+zbsNsQTtPm5DtznmAY6d3YU5cxF9pdaiJ0 LvkjkJnXarz7VqzfMjTwxOoQfXg6pGiv3jxCQ1mFmlKRxA/KVnefS3B1yqDByJ3VHRtGzb0J1 /0x1+Q3K74bCXT4KSweefnGBBdHWqtFQhMl6q9RgiNfQ9qTW0e2WYBkt1AkmxryFgTq/n03Xd gHUKbyD8No4pBvpnkOmTu1+6Bg7Lffs5pJVU4CriVO7LVQrPx02uHm2jJYdm1MBvrUfumfIFD hGR/c/hOpU5R+IJdZVMASGPBmeUtZD62GH4sqUHvsJUUSu9aT7LRPcXEkHGTJsk8k+LkhlfdE Jj67DE6qeCCOWDWx1BTKAdiFSI7yPj92MVkEjyfVffr+Wjkz/a/eEOYzLliGM7ONZ2EHdKgQ7 qP6/vvULPnQBE/CQGYjZM70nXs/XJM3V8a6iwfdaL4FWKo7Cw5ufBFLFvdEyjjic7I4nHzSWD Lr+Gse/itsT54HDZ1UAxI/s6DbL4K421yNdPatJqYTztP7YRgY+Ka5LGhDH3ALdNp+lY= Cc: Arnd Bergmann , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Eric Huang , Rex Zhu , =?UTF-8?q?Christian=20K=C3=B6nig?= X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP A late bugfix for v4.7 introduced a build-time regression, producing a (probably harmless) warning: powerplay/hwmgr/polaris10_hwmgr.c: In function 'polaris10_populate_clock_stretcher_data_table': powerplay/hwmgr/polaris10_hwmgr.c:1817:4: error: this decimal constant is unsigned only in ISO C90 [-Werror] volt_without_cks = (uint32_t)((2753594000 + (sclk_table->entries[i].clk/100) * 136418 -(ro - 70) * 1000000) / \ ^~~~~~~~~~~~~~~~ powerplay/hwmgr/polaris10_hwmgr.c:1822:4: error: this decimal constant is unsigned only in ISO C90 [-Werror] volt_without_cks = (uint32_t)((2416794800 + (sclk_table->entries[i].clk/100) * 1476925/10 -(ro - 50) * 1000000) / \ ^~~~~~~~~~~~~~~~ powerplay/hwmgr/polaris10_hwmgr.c:1824:4: error: this decimal constant is unsigned only in ISO C90 [-Werror] volt_with_cks = (uint32_t)((2999656000 + sclk_table->entries[i].clk * 392803/100 - (ro - 44) * 1000000) / \ This marks the new integer literals unsigned, which makes the calculation more sensible and avoids the warning. Signed-off-by: Arnd Bergmann Fixes: 0812a945fbb8 ("drm/amd/powerplay: Update CKS on/ CKS off voltage offset calculation") --- drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c index ec2a7ada346a..5b26bbbc3e79 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c @@ -1814,14 +1814,14 @@ static int polaris10_populate_clock_stretcher_data_table(struct pp_hwmgr *hwmgr) data->smc_state_table.Sclk_CKS_masterEn0_7 |= sclk_table->entries[i].cks_enable << i; if (hwmgr->chip_id == CHIP_POLARIS10) { - volt_without_cks = (uint32_t)((2753594000 + (sclk_table->entries[i].clk/100) * 136418 -(ro - 70) * 1000000) / \ + volt_without_cks = (uint32_t)((2753594000u + (sclk_table->entries[i].clk/100) * 136418 -(ro - 70) * 1000000) / \ (2424180 - (sclk_table->entries[i].clk/100) * 1132925/1000)); - volt_with_cks = (uint32_t)((279720200 + sclk_table->entries[i].clk * 3232 - (ro - 65) * 100000000) / \ + volt_with_cks = (uint32_t)((279720200u + sclk_table->entries[i].clk * 3232 - (ro - 65) * 100000000) / \ (252248000 - sclk_table->entries[i].clk/100 * 115764)); } else { - volt_without_cks = (uint32_t)((2416794800 + (sclk_table->entries[i].clk/100) * 1476925/10 -(ro - 50) * 1000000) / \ + volt_without_cks = (uint32_t)((2416794800u + (sclk_table->entries[i].clk/100) * 1476925/10 -(ro - 50) * 1000000) / \ (2625416 - (sclk_table->entries[i].clk/100) * 12586807/10000)); - volt_with_cks = (uint32_t)((2999656000 + sclk_table->entries[i].clk * 392803/100 - (ro - 44) * 1000000) / \ + volt_with_cks = (uint32_t)((2999656000u + sclk_table->entries[i].clk * 392803/100 - (ro - 44) * 1000000) / \ (3422454 - sclk_table->entries[i].clk/100 * 18886376/10000)); }