From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH] drm/i915: Avoid divbyzero in modesetting Date: Mon, 22 Feb 2016 15:56:19 +0100 Message-ID: <56CB2193.2060409@linux.intel.com> References: <1456141948-7172-1-git-send-email-tvrtko.ursulin@linux.intel.com> <56CB08A0.30406@linux.intel.com> <56CB1AE0.4090204@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id EF8E76E218 for ; Mon, 22 Feb 2016 14:56:25 +0000 (UTC) In-Reply-To: <56CB1AE0.4090204@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin , Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T3AgMjItMDItMTYgb20gMTU6Mjcgc2NocmVlZiBUdnJ0a28gVXJzdWxpbjoKPiBPbiAyMi8wMi8x NiAxMzowOSwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6Cj4+IEhleSwKPj4KPj4gT3AgMjItMDIt MTYgb20gMTI6NTIgc2NocmVlZiBUdnJ0a28gVXJzdWxpbjoKPj4+IEZyb206IFR2cnRrbyBVcnN1 bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4+Pgo+Pj4gTm90IHN1cmUgaWYgaW50ZWxf d21fY29uZmlnLT5udW1fcGlwZXNfYWN0aXZlIGlzIHN1cHBvc2VkIHRvCj4+PiBldmVyIGJlIHpl cm8gd2hlbiBpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcyBnZXRzIGNhbGxlZC4gQnV0Cj4+PiBzaW5j ZSBpdCBjYW4gYmUgdHJpZ2dlcmVkIGluIGVhcmx5IHBsYXRmb3JtIGJyaW5ndXAgcGVyaGFwcwo+ Pj4gd2Ugd2FudCB0byBndWFyZCBhZ2FpbnN0IGl0IHJhdGhlciB0aGFuIGRpdmlkZSBieSB6ZXJv Lgo+Pj4KPj4+IFNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBp bnRlbC5jb20+Cj4+PiBDYzogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4K Pj4+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ Pj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4KPj4+IENjOiBNYWFydGVuIExh bmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+Pj4gLS0tCj4+PiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgfCA5ICsrKysrKystLQo+Pj4gICAxIGZp bGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcG0uYwo+Pj4gaW5kZXggZmViNTc1OTg3MjdhLi4yYjc5OTg4ODk2MTcgMTAw NjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4+PiBAQCAtMjgzMSw4ICsyODMxLDEzIEBA IHNrbF9kZGJfZ2V0X3BpcGVfYWxsb2NhdGlvbl9saW1pdHMoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPj4+ICAgCQludGhfYWN0aXZlX3BpcGUrKzsKPj4+ICAgCX0KPj4+ICAgCj4+PiAtCXBpcGVf c2l6ZSA9IGRkYl9zaXplIC8gY29uZmlnLT5udW1fcGlwZXNfYWN0aXZlOwo+Pj4gLQlhbGxvYy0+ c3RhcnQgPSBudGhfYWN0aXZlX3BpcGUgKiBkZGJfc2l6ZSAvIGNvbmZpZy0+bnVtX3BpcGVzX2Fj dGl2ZTsKPj4+ICsJaWYgKFdBUk5fT04oIWNvbmZpZy0+bnVtX3BpcGVzX2FjdGl2ZSkpIHsKPj4+ ICsJCXBpcGVfc2l6ZSA9IDA7Cj4+PiArCQlhbGxvYy0+c3RhcnQgPSAwOwo+Pj4gKwl9IGVsc2Ug ewo+Pj4gKwkJcGlwZV9zaXplID0gZGRiX3NpemUgLyBjb25maWctPm51bV9waXBlc19hY3RpdmU7 Cj4+PiArCQlhbGxvYy0+c3RhcnQgPSBudGhfYWN0aXZlX3BpcGUgKiBkZGJfc2l6ZSAvIGNvbmZp Zy0+bnVtX3BpcGVzX2FjdGl2ZTsKPj4+ICsJfQo+Pj4gICAJYWxsb2MtPmVuZCA9IGFsbG9jLT5z dGFydCArIHBpcGVfc2l6ZTsKPj4+ICAgfQo+Pj4gICAKPj4gSG93IGNhbiB0aGlzIGhhcHBlbj8g SXQgc2VlbXMgaW4gdGhhdCBjYXNlIGNzdGF0ZS0+YmFzZS5hY3RpdmUgd291bGQgYmUgZmFsc2Ug Zm9yIHRoZSBjdXJyZW50IHBpcGUsCj4+IGFuZCB0aGUgY29kZSBzaG91bGQgYmFpbCBlYXJseSBh bHJlYWR5Li4KPiBEb24ndCBrbm93LCBidXQgZG9lcyBpdCBoYXJtIHRvIGd1YXJkIGFnYWluc3Qg aXQ/IEhlbHBzIGVhcmx5Cj4gcGxhdGZvcm0gYnJpbmd1cCBhIGJpdC4KPgo+ICBbZHJtOmludGVs X21vZGVzZXRfcmVhZG91dF9od19zdGF0ZV0gW0NSVEM6MjFdIGh3IHN0YXRlIHJlYWRvdXQ6IGVu YWJsZWQKPiAgW2RybTppbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGVdIFtDUlRDOjI2XSBo dyBzdGF0ZSByZWFkb3V0OiBkaXNhYmxlZAo+ICBbZHJtOmludGVsX21vZGVzZXRfcmVhZG91dF9o d19zdGF0ZV0gW0NSVEM6MzFdIGh3IHN0YXRlIHJlYWRvdXQ6IGRpc2FibGVkCj4gIFtkcm06aW50 ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlXSBQT1JUIFBMTCBBIGh3IHN0YXRlIHJlYWRvdXQ6 IGNydGNfbWFzayAweDAwMDAwMDAxLCBvbiAwCj4gIFtkcm06aW50ZWxfbW9kZXNldF9yZWFkb3V0 X2h3X3N0YXRlXSBQT1JUIFBMTCBCIGh3IHN0YXRlIHJlYWRvdXQ6IGNydGNfbWFzayAweDAwMDAw MDAwLCBvbiAwCj4gIFtkcm06aW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlXSBQT1JUIFBM TCBDIGh3IHN0YXRlIHJlYWRvdXQ6IGNydGNfbWFzayAweDAwMDAwMDAwLCBvbiAwCj4gIFtkcm06 aW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlXSBbRU5DT0RFUjozMzpUTURTLTMzXSBodyBz dGF0ZSByZWFkb3V0OiBkaXNhYmxlZCwgcGlwZSBBCj4gIFtkcm06aW50ZWxfbW9kZXNldF9yZWFk b3V0X2h3X3N0YXRlXSBbRU5DT0RFUjozNTpEUCBNU1QtMzVdIGh3IHN0YXRlIHJlYWRvdXQ6IGRp c2FibGVkLCBwaXBlIEEKPiAgW2RybTppbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGVdIFtF TkNPREVSOjM2OkRQIE1TVC0zNl0gaHcgc3RhdGUgcmVhZG91dDogZGlzYWJsZWQsIHBpcGUgQgo+ ICBbZHJtOmludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZV0gW0VOQ09ERVI6Mzc6RFAgTVNU LTM3XSBodyBzdGF0ZSByZWFkb3V0OiBkaXNhYmxlZCwgcGlwZSBDCj4gIFtkcm06aW50ZWxfbW9k ZXNldF9yZWFkb3V0X2h3X3N0YXRlXSBbRU5DT0RFUjo0MjpUTURTLTQyXSBodyBzdGF0ZSByZWFk b3V0OiBkaXNhYmxlZCwgcGlwZSBBCj4gIFtkcm06aW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0 YXRlXSBbRU5DT0RFUjo0NDpEUCBNU1QtNDRdIGh3IHN0YXRlIHJlYWRvdXQ6IGRpc2FibGVkLCBw aXBlIEEKPiAgW2RybTppbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGVdIFtFTkNPREVSOjQ1 OkRQIE1TVC00NV0gaHcgc3RhdGUgcmVhZG91dDogZGlzYWJsZWQsIHBpcGUgQgo+ICBbZHJtOmlu dGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZV0gW0VOQ09ERVI6NDY6RFAgTVNULTQ2XSBodyBz dGF0ZSByZWFkb3V0OiBkaXNhYmxlZCwgcGlwZSBDCj4gIFtkcm06aW50ZWxfbW9kZXNldF9yZWFk b3V0X2h3X3N0YXRlXSBbQ09OTkVDVE9SOjM0OkRQLTFdIGh3IHN0YXRlIHJlYWRvdXQ6IGRpc2Fi bGVkCj4gIFtkcm06aW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlXSBbQ09OTkVDVE9SOjQw OkhETUktQS0xXSBodyBzdGF0ZSByZWFkb3V0OiBkaXNhYmxlZAo+ICBbZHJtOmludGVsX21vZGVz ZXRfcmVhZG91dF9od19zdGF0ZV0gW0NPTk5FQ1RPUjo0MzpEUC0yXSBodyBzdGF0ZSByZWFkb3V0 OiBkaXNhYmxlZAo+ICBbZHJtOmludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZV0gW0NPTk5F Q1RPUjo0NzpIRE1JLUEtMl0gaHcgc3RhdGUgcmVhZG91dDogZGlzYWJsZWQKPiAgW2RybTpkcm1f Y2FsY190aW1lc3RhbXBpbmdfY29uc3RhbnRzIFtkcm1dXSAqRVJST1IqIGNydGMgMjE6IENhbid0 IGNhbGN1bGF0ZSBjb25zdGFudHMsIGRvdGNsb2NrID0gMCEKPiAgW2RybTppOTE1X2dldF92Ymxh bmtfdGltZXN0YW1wXSBjcnRjIDAgaXMgZGlzYWJsZWQKPiAgW2RybTppOTE1X2dldF92Ymxhbmtf dGltZXN0YW1wXSBjcnRjIDAgaXMgZGlzYWJsZWQKPiAgW2RybTppOTE1X2dldF92YmxhbmtfdGlt ZXN0YW1wXSBjcnRjIDAgaXMgZGlzYWJsZWQKPiAgW2RybTppOTE1X2dldF92YmxhbmtfdGltZXN0 YW1wXSBjcnRjIDAgaXMgZGlzYWJsZWQKPiAgW2RybTppOTE1X2dldF92YmxhbmtfdGltZXN0YW1w XSBjcnRjIDAgaXMgZGlzYWJsZWQKPiAgW2RybTppOTE1X2dldF92YmxhbmtfdGltZXN0YW1wXSBj cnRjIDAgaXMgZGlzYWJsZWQKPiAgW2RybTppbnRlbF9kaXNhYmxlX3BpcGVdIGRpc2FibGluZyBw aXBlIEEKPgpVaCBvaCwgd2UgZGlkbid0IHVwZGF0ZSB0aGUgYXRvbWljIHN0YXRlIHdoaWNoIGNv bmZ1c2VkIHRoZSB3bSBzdHVmZi4KCkRvZXMgdGhlIGJlbG93IHdvcms/CgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IGRlZWU1NjAxMGVlZS4uZDllMDQ3MDQxOWExIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC02MzU4LDYgKzYzNTgsNyBAQCBzdGF0 aWMgdm9pZCBpOXh4X2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAKIHN0YXRp YyB2b2lkIGludGVsX2NydGNfZGlzYWJsZV9ub2F0b21pYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMp CiB7CisJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXI7CiAJc3RydWN0IGludGVsX2NydGMg KmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ZGV2KTsKIAllbnVtIGludGVsX2Rpc3BsYXlf cG93ZXJfZG9tYWluIGRvbWFpbjsKQEAgLTYzNzgsNiArNjM3OSwxOSBAQCBzdGF0aWMgdm9pZCBp bnRlbF9jcnRjX2Rpc2FibGVfbm9hdG9taWMoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCWRldl9w cml2LT5kaXNwbGF5LmNydGNfZGlzYWJsZShjcnRjKTsKIAlpbnRlbF9jcnRjLT5hY3RpdmUgPSBm YWxzZTsKIAlpbnRlbF9mYmNfZGlzYWJsZShpbnRlbF9jcnRjKTsKKworCURSTV9ERUJVR19LTVMo IltDUlRDOiVkXSBodyBzdGF0ZSBhZGp1c3RlZCwgd2FzIGVuYWJsZWQsIG5vdyBkaXNhYmxlZFxu IiwKKwkJICAgICAgY3J0Yy0+YmFzZS5pZCk7CisKKwlXQVJOX09OKGRybV9hdG9taWNfc2V0X21v ZGVfZm9yX2NydGMoY3J0Yy0+c3RhdGUsIE5VTEwpIDwgMCk7CisJY3J0Yy0+c3RhdGUtPmFjdGl2 ZSA9IGZhbHNlOworCWNydGMtPmVuYWJsZWQgPSBmYWxzZTsKKwljcnRjLT5zdGF0ZS0+Y29ubmVj dG9yX21hc2sgPSAwOworCWNydGMtPnN0YXRlLT5lbmNvZGVyX21hc2sgPSAwOworCisJZm9yX2Vh Y2hfZW5jb2Rlcl9vbl9jcnRjKGNydGMtPmRldiwgY3J0YywgZW5jb2RlcikKKwkJZW5jb2Rlci0+ YmFzZS5jcnRjID0gTlVMTDsKKwogCWludGVsX3VwZGF0ZV93YXRlcm1hcmtzKGNydGMpOwogCWlu dGVsX2Rpc2FibGVfc2hhcmVkX2RwbGwoaW50ZWxfY3J0Yyk7CiAKQEAgLTE1NTI2LDM4ICsxNTU0 MCw5IEBAIHN0YXRpYyB2b2lkIGludGVsX3Nhbml0aXplX2NydGMoc3RydWN0IGludGVsX2NydGMg KmNydGMpCiAKIAkvKiBBZGp1c3QgdGhlIHN0YXRlIG9mIHRoZSBvdXRwdXQgcGlwZSBhY2NvcmRp bmcgdG8gd2hldGhlciB3ZQogCSAqIGhhdmUgYWN0aXZlIGNvbm5lY3RvcnMvZW5jb2RlcnMuICov Ci0JaWYgKCFpbnRlbF9jcnRjX2hhc19lbmNvZGVycyhjcnRjKSkKKwlpZiAoY3J0Yy0+YWN0aXZl ICYmICFpbnRlbF9jcnRjX2hhc19lbmNvZGVycyhjcnRjKSkKIAkJaW50ZWxfY3J0Y19kaXNhYmxl X25vYXRvbWljKCZjcnRjLT5iYXNlKTsKIAotCWlmIChjcnRjLT5hY3RpdmUgIT0gY3J0Yy0+YmFz ZS5zdGF0ZS0+YWN0aXZlKSB7Ci0JCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyOwotCi0J CS8qIFRoaXMgY2FuIGhhcHBlbiBlaXRoZXIgZHVlIHRvIGJ1Z3MgaW4gdGhlIGdldF9od19zdGF0 ZQotCQkgKiBmdW5jdGlvbnMgb3IgYmVjYXVzZSBvZiBjYWxscyB0byBpbnRlbF9jcnRjX2Rpc2Fi bGVfbm9hdG9taWMsCi0JCSAqIG9yIGJlY2F1c2UgdGhlIHBpcGUgaXMgZm9yY2UtZW5hYmxlZCBk dWUgdG8gdGhlCi0JCSAqIHBpcGUgQSBxdWlyay4gKi8KLQkJRFJNX0RFQlVHX0tNUygiW0NSVEM6 JWRdIGh3IHN0YXRlIGFkanVzdGVkLCB3YXMgJXMsIG5vdyAlc1xuIiwKLQkJCSAgICAgIGNydGMt PmJhc2UuYmFzZS5pZCwKLQkJCSAgICAgIGNydGMtPmJhc2Uuc3RhdGUtPmVuYWJsZSA/ICJlbmFi bGVkIiA6ICJkaXNhYmxlZCIsCi0JCQkgICAgICBjcnRjLT5hY3RpdmUgPyAiZW5hYmxlZCIgOiAi ZGlzYWJsZWQiKTsKLQotCQlXQVJOX09OKGRybV9hdG9taWNfc2V0X21vZGVfZm9yX2NydGMoY3J0 Yy0+YmFzZS5zdGF0ZSwgTlVMTCkgPCAwKTsKLQkJY3J0Yy0+YmFzZS5zdGF0ZS0+YWN0aXZlID0g Y3J0Yy0+YWN0aXZlOwotCQljcnRjLT5iYXNlLmVuYWJsZWQgPSBjcnRjLT5hY3RpdmU7Ci0JCWNy dGMtPmJhc2Uuc3RhdGUtPmNvbm5lY3Rvcl9tYXNrID0gMDsKLQkJY3J0Yy0+YmFzZS5zdGF0ZS0+ ZW5jb2Rlcl9tYXNrID0gMDsKLQotCQkvKiBCZWNhdXNlIHdlIG9ubHkgZXN0YWJsaXNoIHRoZSBj b25uZWN0b3IgLT4gZW5jb2RlciAtPgotCQkgKiBjcnRjIGxpbmtzIGlmIHNvbWV0aGluZyBpcyBh Y3RpdmUsIHRoaXMgbWVhbnMgdGhlCi0JCSAqIGNydGMgaXMgbm93IGRlYWN0aXZhdGVkLiBCcmVh ayB0aGUgbGlua3MuIGNvbm5lY3RvcgotCQkgKiAtPiBlbmNvZGVyIGxpbmtzIGFyZSBvbmx5IGVz dGFibGlzaCB3aGVuIHRoaW5ncyBhcmUKLQkJICogIGFjdHVhbGx5IHVwLCBoZW5jZSBubyBuZWVk IHRvIGJyZWFrIHRoZW0uICovCi0JCVdBUk5fT04oY3J0Yy0+YWN0aXZlKTsKLQotCQlmb3JfZWFj aF9lbmNvZGVyX29uX2NydGMoZGV2LCAmY3J0Yy0+YmFzZSwgZW5jb2RlcikKLQkJCWVuY29kZXIt PmJhc2UuY3J0YyA9IE5VTEw7Ci0JfQotCiAJaWYgKGNydGMtPmFjdGl2ZSB8fCBIQVNfR01DSF9E SVNQTEFZKGRldikpIHsKIAkJLyoKIAkJICogV2Ugc3RhcnQgb3V0IHdpdGggdW5kZXJydW4gcmVw b3J0aW5nIGRpc2FibGVkIHRvIGF2b2lkIHJhY2VzLgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==