From patchwork Mon Dec 17 12:23:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yang Xiao X-Patchwork-Id: 10735065 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0B254924 for ; Tue, 18 Dec 2018 08:12:08 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EFC172A550 for ; Tue, 18 Dec 2018 08:12:07 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E3CEC2A561; Tue, 18 Dec 2018 08:12:07 +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.3 required=2.0 tests=BAYES_00,FORGED_HOTMAIL_RCVD2, FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 97CE82A550 for ; Tue, 18 Dec 2018 08:12:07 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id F14756E8B0; Tue, 18 Dec 2018 08:11:57 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from APC01-PU1-obe.outbound.protection.outlook.com (mail-oln040092254016.outbound.protection.outlook.com [40.92.254.16]) by gabe.freedesktop.org (Postfix) with ESMTPS id 462A16E446; Mon, 17 Dec 2018 12:23:08 +0000 (UTC) Received: from SG2APC01FT009.eop-APC01.prod.protection.outlook.com (10.152.250.60) by SG2APC01HT016.eop-APC01.prod.protection.outlook.com (10.152.250.223) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1446.11; Mon, 17 Dec 2018 12:23:04 +0000 Received: from SG2PR01MB2169.apcprd01.prod.exchangelabs.com (10.152.250.57) by SG2APC01FT009.mail.protection.outlook.com (10.152.250.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1446.11 via Frontend Transport; Mon, 17 Dec 2018 12:23:04 +0000 Received: from SG2PR01MB2169.apcprd01.prod.exchangelabs.com ([fe80::d0ff:3cb2:797:ea71]) by SG2PR01MB2169.apcprd01.prod.exchangelabs.com ([fe80::d0ff:3cb2:797:ea71%4]) with mapi id 15.20.1425.021; Mon, 17 Dec 2018 12:23:04 +0000 From: Yang Xiao To: "jani.nikula@linux.intel.com" , "joonas.lahtinen@linux.intel.com" , "rodrigo.vivi@intel.com" , "airlied@linux.ie" Subject: [PATCH] drm/i915: avoid division by zero on skl_calc_wrpll_link Thread-Topic: [PATCH] drm/i915: avoid division by zero on skl_calc_wrpll_link Thread-Index: AQHUlgNCzz90D62Ojky7g/kySM+Z8g== Date: Mon, 17 Dec 2018 12:23:03 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: HK0PR01CA0005.apcprd01.prod.exchangelabs.com (2603:1096:203:92::17) To SG2PR01MB2169.apcprd01.prod.exchangelabs.com (2603:1096:4:43::9) x-incomingtopheadermarker: OriginalChecksum:C44CB5B2B7930F9752241A92F6DD8D979A7789228CFF8833E0B2EE356A0E37B1; UpperCasedChecksum:DFDADE071A4F0AAF03F5151DDB4E07211924A44756EC77DDFBC28D6A7FD45BE5; SizeAsReceived:7733; Count:48 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [M8lIO9g75Uzz1O53Nb4fViI/B0Zj9MJwhn5/YXkA0bA=] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; SG2APC01HT016; 6:JfRdplDdiEyRKq1Jf19PIgUsYKCDI/gKVjn0vLTkB+7h87WIqLVGaEhnsMn+l9F13WkopJeWO+iJ3ke/BoCR1axBpkLgQcYEjnLTF3sGT3exaIXr984j5vr2fgKZVRNPUAVa3GXX6wgvv9Oc5gX0SW6lSMqgeDbDE9+jk53UWhsVPxrdNifBTBF3A5rbQKF/F1b8QK0EH48BmvAJ1/9dT1QIMzVqQBuQSgiQ1iskgLuG0BAfOdQQb+ZkJ9u+Uqx51hsSS++n8QAkpy9j03CIExZ9K+VR91peBz2ntP/O5af/pYfTjYyfUCylpcF5z9V5JEJLfSiQgAgEB7oyqHnHY+5WFRjCrgDQmdo2QiOjEKPPKP0fGBHI5XXSHwRL1XUaUVF5wYpiB0nWrsCtLUFJzQtYChN0Cf0x6kYG4EPgGeP1r5oQnxx+eQ1x4QqrCDjh2DNHOaVRbgWTCMeCDK7tGw==; 5:IUviDftYF8gsV1DrHk1IbSI9vNeD9E+/oEMbB6Tv+cG2S/t9GOlSMdrFP9OASBjXu0ZetSfjyDRiaE5s85/SLN3qaXjQfOG86gp/xRxlm1HroW3WjgB4+x3+59qLWbWH7rS7hzzSPaRwUKg2zrS6bQ9fj8NR/ZA/bL3bTz0oGbA=; 7:rPfY7eeEgyS0hPKS22RvZXxrx3kCIUk3BCaKuLo9+K9Pp/U/QmTc2zOQlt/3yv1F6pYDPVnfA14xtyLtCiGUxpEeHMxspZw60DIvxPXqM+jWN6+CI/6SkEtos0qnah4xZSjD++UwRmvMhjcmyMNE1g== x-incomingheadercount: 48 x-eopattributedmessage: 0 x-ms-exchange-slblob-mailprops: CaK+F7me6ClYY3XktI/qAR68BgoADl6fuT6qvOrXarWJKUimRp4QgDz3WFGaNHgbfXfryCPyBg/8wy3ntcYUcgCxrBMr0/SNbIdpFL3W32ywVS2FNDZtTnvRsJKmvPYzseW3pCry+C6qS156yMm15Wsjvo+f6AB16iP/Q6BHsQYX1icY4ltJl99hvR/vIlgSK/5BeIidpphkb7SUU1IXDWNea3gspZY3yXd7nobI+2Ow1jr+XhoE+g4Y8XABUi+TOqiFkawuO70ADunvYnuQ0fqhpbu+r3X8abMm1dqraugYDxr/2JBWhlWgRyZng3ICshxtsUPt5Kkg+Z0QIhB0nRBrkLR6rQxD8m66HZem1catsgohIJhlq1Cge4mqN60XWTdGXk45JMnvduJ5yZ3fflJZE1q2YLR4B3Byy7O+aZ1clVc+/whlSc4IlTSrsiZegoLtBu7g4GYAOA/AlMJGuTY2BzCiJQxDvoTCoyoZUCIMyP8570ctOKE/0D7uv8YquVVu3W/j68LhktB2HdL3nTVmRJCyrPJRdP8DXrfh3RzZCKQV4DHPWhjubHZ9be8qYnM0U57gX9eGRmBJEwodNWtuUyNYSD7mNLnj9rS8Onfce6SkSWvZMLi3UF1De3nI0PHrogSSaf3r/5PvGZZ0yvnh4w0Dv20veOd39gtx7NhcxsBMNrZOBkzTm+IbONd7Wv0vibUhldCEWy0Olpd17Wtfo4WGl6GmevMV9le60CW2IchMJYjRqw== x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(201702181274)(2017031322404)(1603101475)(1601125500)(1701031045); SRVR:SG2APC01HT016; x-ms-traffictypediagnostic: SG2APC01HT016: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(4566010)(82015058); SRVR:SG2APC01HT016; BCL:0; PCL:0; RULEID:; SRVR:SG2APC01HT016; x-microsoft-antispam-message-info: fXxicuGIvDLS78KmQ7T2Vo4ERXS7nL1yu50JlA+phjE01Z0ijHlS8iXcv/78x93y MIME-Version: 1.0 X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: c001924d-3e68-4f40-89c2-901a49278da7 X-MS-Exchange-CrossTenant-Network-Message-Id: 01de0f06-af93-435c-f5ae-08d6641a6470 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: c001924d-3e68-4f40-89c2-901a49278da7 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Dec 2018 12:23:03.9968 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2APC01HT016 X-Mailman-Approved-At: Tue, 18 Dec 2018 08:11:56 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "intel-gfx@lists.freedesktop.org" , Yang Xiao , "dri-devel@lists.freedesktop.org" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP From: Young Xiao If for some unexpected reason the registers all read zero it's better to WARN and return instead of dividing by zero and completely freezing the machine. See commit 0e005888b833 ("drm/i915: avoid division by zero on cnl_calc_wrpll_link") for detail. Signed-off-by: Young Xiao --- drivers/gpu/drm/i915/intel_ddi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c index 5186cd7..cfa7d6f 100644 --- a/drivers/gpu/drm/i915/intel_ddi.c +++ b/drivers/gpu/drm/i915/intel_ddi.c @@ -1360,6 +1360,9 @@ static int skl_calc_wrpll_link(struct drm_i915_private *dev_priv, dco_freq += (((cfgcr1_val & DPLL_CFGCR1_DCO_FRACTION_MASK) >> 9) * 24 * 1000) / 0x8000; + if (WARN_ON(p0 == 0 || p1 == 0 || p2 == 0)) + return 0; + return dco_freq / (p0 * p1 * p2 * 5); }