From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753543AbcADMsq (ORCPT ); Mon, 4 Jan 2016 07:48:46 -0500 Received: from mail-bn1bon0077.outbound.protection.outlook.com ([157.56.111.77]:10944 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753237AbcADMsm (ORCPT ); Mon, 4 Jan 2016 07:48:42 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Christian.Koenig@amd.com; Subject: Re: [PATCH] drm: powerplay: use div64_s64 instead of do_div To: Arnd Bergmann , Jammy Zhou , "David Airlie" References: <5249276.tkZ1gbxakA@wuerfel> CC: Eric Huang , Alex Deucher , David Zhang , , From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <568A6A19.7060309@amd.com> Date: Mon, 4 Jan 2016 13:48:25 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <5249276.tkZ1gbxakA@wuerfel> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [2a02:908:f678:1841:80ef:d60f:4486:b65c] X-ClientProxiedBy: AM3PR07CA0029.eurprd07.prod.outlook.com (10.141.45.157) To BY2PR12MB0132.namprd12.prod.outlook.com (25.162.82.17) X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0132;2:6Hqn/nB8etLPT5oTe6MUJ4xw4vnd5HTD/5bL1Xw2eL1q0ESvUSd+Sea6LDzJbZtW8+0B3Dyj9bDMNwd/U1l31DuP1g9KNt5veg8sNvttSo5r8QH105oRYcBdSkIcnpo0ZGj0TaHOVVqW/4Wk312xvA==;3:mXVsY16J9kw+vvWk/BN1W/fIS6cJdRwXGCZg4mHL8zkd8BbICL3461tsVB8p3YwB8DL2HCO6hDqQzJXlZy/4m12OH935hxTn2svy36mkaZXWqnJpKDKtNT0Ncsesc2YY;25:aoiczm5+HeA6bZ4UALrj5amV/pp62Fmc8v3jno8VLSYofY5oEcBwC6ebmUZtfaWnGlLg60TZ6neSMHhKIIHCLM8gxy5j0OR2geMWcZM06NaA+99uSAIMY5RzvEF/0KXXiEJiwvBqjKRjj4SoPV9LvK0DCCCLnzw7oWjDRBq81BcoiuxrBXjLMoUomN2ljU19xLCnxt39zGuEqdlSuRsEWS+Uws2eb+jdsH4Ta59Lsxy+BQIyjQ1DdXG1VtbXKhWIz87Mx22CnMxRtt+wVg0EsQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR12MB0132; X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0132;20:QvJKoty8TeO77Ekfl2szL9P4iSL+rH4ah1Ih5rLz6k750DXwFi8VZ4r4YxQPsXdEUJAsl0XPyGiLrJOGMH0LZGF9uIS4EaKkRuMO+yv0J3Un3LHhQ9WT9+KFn+WNYCc7OBMggBd2lCrITvPnP6VEw6qDs8fvZ+ntIby/JPPDhSVBPlDLJ8lq8IuFQT1paMdFSL730WFET8GQVk12eO7lCF72UgHWLjiMbWvbnDtFulT9ppNZczee0zifyjV0QW7Ff1P3bIOR384na1lR4KK9C9WqU64V91mmXxus+EC9OBABUbp9WZ8Wv4VoiIWhg1EBa+877p7hc33hnR6foTExraPCWw/MvYiZAUet6uYPBD6F+AlWpspQtBH8PE4zU6et2/BThXS7iNr7DEtdqlVWb9bTEIJtppmB3fEyY5Pzo9E80I2+xZteCTkASs6uyUPCTNHYCuKTahptELTKFEIQ11xB3223JN5fMhbyWzrLxKXVU8cZQo1rTLl8qIy5jQxp;4:DIpz6EyZWllPwoI2dDDE18kju8Jif+DTot83WaFRTAiVXQYIckEndVlx5iVvcRES3PX03b9Lc4Yie7t+ZaWO9VIWPsyNRJ3nOy0I3edOLCb4ywyGE2/sUjnvMDgLZGcZcFemHzDw9nsd+lNLlypNenPlrMdoQZyf/ElR5UIexPDeDZORC5iLNE8muFVD2EqRXpTWpRacoqWhcNnOeqaucXFfyddD5UUYH8efuweuFmCrpCA/rrRd9OkJWhiraFVczW03Jcv1nICrkgiPfWwbxw1x9SutFIY0J/hrscO8hKjWjyv8aQ/7z7IDg8oxB/84/VHie/odTTd5GdAqpFTCNoBZ6nA41LoP/NQRPCCpDHsJRgP40kBSdfBSlWUWzdHSnt052QBkuni9y32LU0itdm1Vv5RVdYxdcEc35GWOBF4= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(10201501046)(3002001);SRVR:BY2PR12MB0132;BCL:0;PCL:0;RULEID:;SRVR:BY2PR12MB0132; X-Forefront-PRVS: 08118EFC2B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(199003)(189002)(24454002)(76176999)(33656002)(65816999)(97736004)(86362001)(5001960100002)(19580395003)(1706002)(81156007)(47776003)(50466002)(189998001)(87976001)(80316001)(23746002)(50986999)(4001350100001)(87266999)(54356999)(64126003)(65806001)(83506001)(4326007)(101416001)(40100003)(122386002)(19580405001)(6116002)(59896002)(5001770100001)(65956001)(5008740100001)(586003)(106356001)(92566002)(77096005)(5004730100002)(575784001)(42186005)(2950100001)(105586002)(36756003)(1096002)(3826002);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR12MB0132;H:[IPv6:2a02:908:f678:1841:80ef:d60f:4486:b65c];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;BY2PR12MB0132;23:o8RAFh/Ug40O9XEPcVIjNlKTynkDkHa0IIhQ1?= =?Windows-1252?Q?TEw0YLKtgNcUw1Z3OAM3oFV9TX26YMHND2UbwXgSsL9UCY/rwlmNgDgs?= =?Windows-1252?Q?IZ0dzKEx6SnEffDJizgpbomh73rkmflpIKEN5FCordWbz9OxFcMjkPEh?= =?Windows-1252?Q?W3QR0qD0bcWQS+w1tbwF3QPkZzPFeksE5dxdlF80uZzBZoZNzgiA5hdo?= =?Windows-1252?Q?HL7sAHjrwvtMbNC3tAWkWU2L58euKaQ5DJmd5DD5hxB+sR2F/yo2UHSA?= =?Windows-1252?Q?oR0PN4oDpSkoFmJ3nEr6rmOIbL7z0x1LoMDtBGiJ7Dmr1nO2Bu1l6RVV?= =?Windows-1252?Q?SEDUmX2XHNEE5wcArWaIXwOvOH4J8bDKP6OH71Zu+KYXGTemPSEF2RH3?= =?Windows-1252?Q?j5Q5eAeEScLEM+FroT3DE0/0p3sACi+Xrj71LpPhgUS9uXrFx0iF3chl?= =?Windows-1252?Q?01g1u6DUR2VGcHA6qdd4xoGc4U9p5jq1HB2cbkABA6dkWnn/d9T/4T3E?= =?Windows-1252?Q?G2hrKsplGBWbxegBbmni3Sr6kYXidFGoXp8wUx1vYdd9P6b+/DjaAumm?= =?Windows-1252?Q?R2GzL3qk5/AuU88Od/4OVQlk/9R6FoZnVghFyFxXSZPCaeq9wh8yyV1O?= =?Windows-1252?Q?IhhdCZejgP6hQ/m+sf0jfjhFcgG8TBgiKwu3vs6pgvSBlruyHK20e5x+?= =?Windows-1252?Q?aGIeBx/YXxYmPpnjQFoKY7uMqOXW1h48cYBpiYf8aXcuoKv5/M0xh+9y?= =?Windows-1252?Q?n/uRG1fIIB6UUXbCM08tfuAmrAMJWZZg7sliTOYg5GxB6CsSBTlvSmuL?= =?Windows-1252?Q?D01PVn3+Nld/dzdULfos7+neDZL/ATDbELpqA9IhjR6XcsUljLT4LptI?= =?Windows-1252?Q?9o9gG/uKjWvpemoVNa3iPjbhxLlKYhIJtwYyR9i/yuEmPKp1i+in4Ad7?= =?Windows-1252?Q?u58IXODTvUUAxvlD1J3xi3ALDNJKhX/blLKfa8egWMv+GZ13YRjbemd3?= =?Windows-1252?Q?x53rlh8WrP7FKpl4DGXQH2tDyE0LP1hY6L/d98JQhCUZ9ukNTJ64nCUP?= =?Windows-1252?Q?2Ju3Ww4wBsiNyDodSU9gsS5vY/WG1kZmGxkD/zGH1yvRzqCHl3AiW989?= =?Windows-1252?Q?2inT9eCXcYp/eY7AwuHrpN8AyLRBFwZoiurAN66pQuzO122ssRl4MMbN?= =?Windows-1252?Q?4ejljI92yZjLVsfqhmDHbJhhfRx6+a/iEA0Zloc/7z6mW4eEUcXMSD8J?= =?Windows-1252?Q?GfC+dYB5qPupNhDbdrNobGacEhykfuSX2BPEtZgw0DQHJDxHjT5FyLX0?= =?Windows-1252?Q?/dyVvJ9fSIrVkbEJNOKQAfwwrT/5r81DS6JmYoj9KLTYuc=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0132;5:d1urKCZH5B9HueyuGHpwl47xk5BgatZxAA5QagOGDq0h+KY+iMdtgagHgw86wYu4v5Abt+/WvTVzlr/fLlFEcAIw0IbX8b+XYHiCq3allNotuRq9kJ3wCD4Y8GoGudB+OMUJIY5oirmV2IrDsCtT8Q==;24:tiZL76kLz6kA1aBxCXTKrKnwnGlAIyiFrq/bbWLoVtDv6OWkqxL3Lb+7ooFxXnJ21rBuG0aCtha7JGtxi4mNb6IkdjRF/3WPPiqx8rJ5A6U=;20:tTEbrwvtwdBpF9JIGfXp7Q3HgtJhbqqPiXc3yDOd8Kapx83sNFKREnJtrS10wgOCSZBVN7YhOWpdBMeKYa8FrXfTUW1aNZNQ3Koa1TP6qaLtmZfFlos8tPzSYCkYJIouOLl01+HWBb9a9l7oo0XNcwwHW3xRPRUvP/+Pztlvp5yr31PTUfd8JYfqmNbamyKi9x4lImHN5OpN5o0u1hbzQxj9Uf2HX8iHvVOlQiNZ49nn9Ld0SydCJHhSIHXnUaSZ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2016 12:48:36.8229 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0132 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01.01.2016 14:07, Arnd Bergmann wrote: > 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 Reviewed-by: Christian König > Fixes: 770911a3cfbb ("drm/amd/powerplay: add/update headers for Fiji SMU and DPM") > --- > 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; >