From patchwork Fri Jan 1 13:07:41 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 7939091 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 9A52DBEEE5 for ; Fri, 1 Jan 2016 13:07:55 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id CFE7420569 for ; Fri, 1 Jan 2016 13:07:54 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id ED9A32037C for ; Fri, 1 Jan 2016 13:07:53 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2DEF472043; Fri, 1 Jan 2016 05:07:52 -0800 (PST) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.130]) by gabe.freedesktop.org (Postfix) with ESMTPS id C923372043 for ; Fri, 1 Jan 2016 05:07:50 -0800 (PST) Received: from wuerfel.localnet ([134.3.118.24]) by mrelayeu.kundenserver.de (mreue005) with ESMTPSA (Nemesis) id 0LjO9b-1ZgkXQ2Hkt-00dYF9; Fri, 01 Jan 2016 14:07:43 +0100 From: Arnd Bergmann To: Jammy Zhou , David Airlie Subject: [PATCH] drm: powerplay: use div64_s64 instead of do_div Date: Fri, 01 Jan 2016 14:07:41 +0100 Message-ID: <5249276.tkZ1gbxakA@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) MIME-Version: 1.0 X-Provags-ID: V03:K0:f8DqyU26c14Cnc5C8BOFosBD+oM4VailK3buO9s6totjWY30+iT cd+256SDKjvKKMHab/6qmXe3kf50Vr1CVQdGk9Tv+B8g3WKx/XbnEJRYcGUQKHroYLQ2GAM BVqaNNVNgvgbWNZA+4lCBJlRwxcgAZ1NN6/7kZIqoi4o6fSqfO4LQO0GjHIfC9FBJUdgi3P 02IZ+lu7RxNgPhxDseCgg== X-UI-Out-Filterresults: notjunk:1; V01:K0:LI0fyrKSbTU=:7s4jTT0/esrhff4GWaCURo ZRvKLPLPZBzYvLfaQhvWi5Uq9asSBpAS+sI1aIteXj2P1zMKgOtAlvIvyBVC9y4NnTNZ+8z7R XmVbXaJtHJNkttN01sC98zzwiIxcAA9NzFaJuy70rZ0rZgfZPnTshi2Nda0CrEvU1wXwHgJ2W sytXPLLBG4ZEPwL4jzJwQdVBxf8dD768PM9JyKzIxVQ0VF1tnJWkAnAp2WlYJ4lupkjFK1L7e Py5y6SfNxtHHaUdSHYcNMruZHd3WJLZ5YMRsCpXg8+DZiJr3SkLUHhrzyW4lv+K0un/N9Ra9i AsEcM344Zm1rUiXcFst0QsdrBXms55BfuteK0oY/nk3dS4kcc43cTeryF0i0B6NJD7klXJOU9 3Tw5Sbx4fuqXdlMvKCaKTZqOfL6Mh+DtgZPIuU3igt9E03KBrg8kano5hNM1NbwN62OLE4lIJ 6dzW/yqIqfpGFRjEmbNfnwzb17X2iwIPvENHP/cFWqZ2kuhD5k9IUkg0H6jLdfgDdq6iMiWs7 CH6ExqKp39a58CvkLxDYgvG4PIaWqHcCxWbTjRia+T57Ww/O5VTkBI0h2AEdS+dPlxgZan7hs xyzuXPXuWtoEWAzuf/eHwi1N1gDHIxxzcHB91itid5ky3AMm8YaFLSY0LAnJFLCn8nuohsySP pIWNjNu4mZg1ps4PAYaW2wyVvQmezs8jbm1FdYPHS0+XVbVLDCAlyyJOn7NEA3vB5Rk97Jipp xwIl5IyVcPptsTdz Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Alex Deucher , David Zhang , Eric Huang , Christian =?ISO-8859-1?Q?K=F6nig?= 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: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The newly added code for Fiji creates a correct compiler warning about invalid use of the do_div macro: In file included from powerplay/hwmgr/ppatomctrl.c:31:0: drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/ppevvmath.h: In function 'fDivide': drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/ppevvmath.h:382:89: warning: comparison of distinct pointer types lacks a cast do_div(longlongX, longlongY); /*Q(32,32) divided by Q(16,16) = Q(16,16) Back to original format */ do_div() divides an unsigned 64-bit number by an unsigned 32-bit number. The code instead wants to divide two signed 64-bit numbers, which is done using the div64_s64 function. Signed-off-by: Arnd Bergmann Fixes: 770911a3cfbb ("drm/amd/powerplay: add/update headers for Fiji SMU and DPM") Reviewed-by: Thierry Reding Reviewed-by: Christian König --- Found on ARM allmodconfig on yesterday's linux-next diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/ppevvmath.h b/drivers/gpu/drm/amd/powerplay/hwmgr/ppevvmath.h index 42f2423cddea..411cb0fcdf98 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/ppevvmath.h +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/ppevvmath.h @@ -379,7 +379,7 @@ fInt fDivide (fInt X, fInt Y) longlongX = longlongX << 16; /*Q(16,16) -> Q(32,32) */ - do_div(longlongX, longlongY); /*Q(32,32) divided by Q(16,16) = Q(16,16) Back to original format */ + div64_s64(longlongX, longlongY); /*Q(32,32) divided by Q(16,16) = Q(16,16) Back to original format */ fQuotient.full = (int)longlongX; return fQuotient;