From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v2 01/15] drm/vblank: Allow dynamic per-crtc max_vblank_count Date: Tue, 27 Nov 2018 20:20:04 +0200 Message-ID: <20181127182004.28885-1-ville.syrjala@linux.intel.com> References: <20181112170000.27531-2-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181112170000.27531-2-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org Cc: stable@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCk9u IGk5NjVnbSB3ZSBuZWVkIHRvIGFkanVzdCBtYXhfdmJsYW5rX2NvdW50IGR5bmFtaWNhbGx5CmRl cGVuZGluZyBvbiB3aGV0aGVyIHRoZSBUViBlbmNvZGVyIGlzIHVzZWQgb3Igbm90LiBUbwp0aGF0 IGVuZCBhZGQgYSBwZXItY3J0YyBtYXhfdmJsYW5rX2NvdW50IHRoYXQgdGFrZXMKcHJlY2VkZW5j ZSBvdmVyIGl0cyBkZXZpY2Ugd2lkZSBjb3VudGVycGFydC4gVGhlIGRyaXZlcgpjYW4gbm93IGNh bGwgZHJtX2NydGNfc2V0X21heF92YmxhbmtfY291bnQoKSB0byBjb25maWd1cmUKdGhlIHBlci1j cnRjIHZhbHVlIGJlZm9yZSBjYWxsaW5nIGRybV92Ymxhbmtfb24oKS4KCkFsc28gbG9va3MgbGlr ZSB0aGVyZSB3YXMgc29tZSBkaXNjdXNzaW9uIGFib3V0IGV4eW5vcyBuZWVkaW5nCnNpbWlsYXIg dHJlYXRtZW50LgoKdjI6IERyb3AgdGhlIGV4dHJhIG1heF92YmxhbmtfY291bnQhPTAgY2hlY2sg Zm9yIHRoZQogICAgV0FSTihsYXN0IT1jdXJyZW50KSwgd2lsbCB0YWtlIGNhcmUgb2YgaXQgaW4g aTkxNSBjb2RlIChEYW5pZWwpCiAgICBXQVJOX09OKCFpbm1vZGVzZXQpIChEYW5pZWwpCiAgICBX QVJOX09OKGRldi0+bWF4X3ZibGFua19jb3VudCkKICAgIFBpbXAgdXAgdGhlIGRvY3MgKERhbmll bCkKCkNjOiBzdGFibGVAdmdlci5rZXJuZWwub3JnCkNjOiBJbmtpIERhZSA8aW5raS5kYWVAc2Ft c3VuZy5jb20+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+ClNpZ25lZC1vZmYt Ynk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2RybV92YmxhbmsuYyB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLQogaW5jbHVkZS9kcm0vZHJtX2RldmljZS5oICAgICB8ICA4ICsrKysrKy0K IGluY2x1ZGUvZHJtL2RybV92YmxhbmsuaCAgICAgfCAyMiArKysrKysrKysrKysrKysrKysKIDMg ZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3ZibGFuay5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV92 YmxhbmsuYwppbmRleCA5OGUwOTExNzU5MjEuLmNkZTcxZWU5NWE4ZiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV92YmxhbmsuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3ZibGFu ay5jCkBAIC0xMDUsMTMgKzEwNSwyMCBAQCBzdGF0aWMgdm9pZCBzdG9yZV92Ymxhbmsoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUsCiAJd3JpdGVfc2VxdW5sb2NrKCZ2 YmxhbmstPnNlcWxvY2spOwogfQogCitzdGF0aWMgdTMyIGRybV9tYXhfdmJsYW5rX2NvdW50KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlKQoreworCXN0cnVjdCBkcm1f dmJsYW5rX2NydGMgKnZibGFuayA9ICZkZXYtPnZibGFua1twaXBlXTsKKworCXJldHVybiB2Ymxh bmstPm1heF92YmxhbmtfY291bnQgPzogZGV2LT5tYXhfdmJsYW5rX2NvdW50OworfQorCiAvKgog ICogIk5vIGh3IGNvdW50ZXIiIGZhbGxiYWNrIGltcGxlbWVudGF0aW9uIG9mIC5nZXRfdmJsYW5r X2NvdW50ZXIoKSBob29rLAogICogaWYgdGhlcmUgaXMgbm8gdXNlYWJsZSBoYXJkd2FyZSBmcmFt ZSBjb3VudGVyIGF2YWlsYWJsZS4KICAqLwogc3RhdGljIHUzMiBkcm1fdmJsYW5rX25vX2h3X2Nv dW50ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUpCiB7Ci0JV0FS Tl9PTl9PTkNFKGRldi0+bWF4X3ZibGFua19jb3VudCAhPSAwKTsKKwlXQVJOX09OX09OQ0UoZHJt X21heF92YmxhbmtfY291bnQoZGV2LCBwaXBlKSAhPSAwKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAt MTk4LDYgKzIwNSw3IEBAIHN0YXRpYyB2b2lkIGRybV91cGRhdGVfdmJsYW5rX2NvdW50KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlLAogCWt0aW1lX3QgdF92Ymxhbms7 CiAJaW50IGNvdW50ID0gRFJNX1RJTUVTVEFNUF9NQVhSRVRSSUVTOwogCWludCBmcmFtZWR1cl9u cyA9IHZibGFuay0+ZnJhbWVkdXJfbnM7CisJdTMyIG1heF92YmxhbmtfY291bnQgPSBkcm1fbWF4 X3ZibGFua19jb3VudChkZXYsIHBpcGUpOwogCiAJLyoKIAkgKiBJbnRlcnJ1cHRzIHdlcmUgZGlz YWJsZWQgcHJpb3IgdG8gdGhpcyBjYWxsLCBzbyBkZWFsIHdpdGggY291bnRlcgpAQCAtMjE2LDkg KzIyNCw5IEBAIHN0YXRpYyB2b2lkIGRybV91cGRhdGVfdmJsYW5rX2NvdW50KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlLAogCQlyYyA9IGRybV9nZXRfbGFzdF92Ymx0 aW1lc3RhbXAoZGV2LCBwaXBlLCAmdF92YmxhbmssIGluX3ZibGFua19pcnEpOwogCX0gd2hpbGUg KGN1cl92YmxhbmsgIT0gX19nZXRfdmJsYW5rX2NvdW50ZXIoZGV2LCBwaXBlKSAmJiAtLWNvdW50 ID4gMCk7CiAKLQlpZiAoZGV2LT5tYXhfdmJsYW5rX2NvdW50ICE9IDApIHsKKwlpZiAobWF4X3Zi bGFua19jb3VudCkgewogCQkvKiB0cnVzdCB0aGUgaHcgY291bnRlciB3aGVuIGl0J3MgYXJvdW5k ICovCi0JCWRpZmYgPSAoY3VyX3ZibGFuayAtIHZibGFuay0+bGFzdCkgJiBkZXYtPm1heF92Ymxh bmtfY291bnQ7CisJCWRpZmYgPSAoY3VyX3ZibGFuayAtIHZibGFuay0+bGFzdCkgJiBtYXhfdmJs YW5rX2NvdW50OwogCX0gZWxzZSBpZiAocmMgJiYgZnJhbWVkdXJfbnMpIHsKIAkJdTY0IGRpZmZf bnMgPSBrdGltZV90b19ucyhrdGltZV9zdWIodF92YmxhbmssIHZibGFuay0+dGltZSkpOwogCkBA IC0xMjA0LDYgKzEyMTIsMzcgQEAgdm9pZCBkcm1fY3J0Y192YmxhbmtfcmVzZXQoc3RydWN0IGRy bV9jcnRjICpjcnRjKQogfQogRVhQT1JUX1NZTUJPTChkcm1fY3J0Y192YmxhbmtfcmVzZXQpOwog CisvKioKKyAqIGRybV9jcnRjX3NldF9tYXhfdmJsYW5rX2NvdW50IC0gY29uZmlndXJlIHRoZSBo dyBtYXggdmJsYW5rIGNvdW50ZXIgdmFsdWUKKyAqIEBjcnRjOiBDUlRDIGluIHF1ZXN0aW9uCisg KiBAbWF4X3ZibGFua19jb3VudDogbWF4IGhhcmR3YXJlIHZibGFuayBjb3VudGVyIHZhbHVlCisg KgorICogVXBkYXRlIHRoZSBtYXhpbXVtIGhhcmR3YXJlIHZibGFuayBjb3VudGVyIHZhbHVlIGZv ciBAY3J0YworICogYXQgcnVudGltZS4gVXNlZnVsIGZvciBoYXJkd2FyZSB3aGVyZSB0aGUgb3Bl cmF0aW9uIG9mIHRoZQorICogaGFyZHdhcmUgdmJsYW5rIGNvdW50ZXIgZGVwZW5kcyBvbiB0aGUg Y3VycmVudGx5IGFjdGl2ZQorICogZGlzcGxheSBjb25maWd1cmF0aW9uLgorICoKKyAqIEZvciBl eGFtcGxlLCBpZiB0aGUgaGFyZHdhcmUgdmJsYW5rIGNvdW50ZXIgZG9lcyBub3Qgd29yaworICog d2hlbiBhIHNwZWNpZmljIGNvbm5lY3RvciBpcyBhY3RpdmUgdGhlIG1heGltdW0gY2FuIGJlIHNl dAorICogdG8gemVyby4gQW5kIHdoZW4gdGhhdCBzcGVjaWZpYyBjb25uZWN0b3IgaXNuJ3QgYWN0 aXZlIHRoZQorICogbWF4aW11bSBjYW4gYWdhaW4gYmUgc2V0IHRvIHRoZSBhcHByb3ByaWF0ZSBu b24temVybyB2YWx1ZS4KKyAqCisgKiBJZiB1c2VkLCBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgZHJt X3ZibGFua19vbigpLgorICovCit2b2lkIGRybV9jcnRjX3NldF9tYXhfdmJsYW5rX2NvdW50KHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKKwkJCQkgICB1MzIgbWF4X3ZibGFua19jb3VudCkKK3sKKwlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OworCXVuc2lnbmVkIGludCBwaXBlID0g ZHJtX2NydGNfaW5kZXgoY3J0Yyk7CisJc3RydWN0IGRybV92YmxhbmtfY3J0YyAqdmJsYW5rID0g JmRldi0+dmJsYW5rW3BpcGVdOworCisJV0FSTl9PTihkZXYtPm1heF92YmxhbmtfY291bnQpOwor CVdBUk5fT04oIVJFQURfT05DRSh2YmxhbmstPmlubW9kZXNldCkpOworCisJdmJsYW5rLT5tYXhf dmJsYW5rX2NvdW50ID0gbWF4X3ZibGFua19jb3VudDsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2Ny dGNfc2V0X21heF92YmxhbmtfY291bnQpOworCiAvKioKICAqIGRybV9jcnRjX3ZibGFua19vbiAt IGVuYWJsZSB2YmxhbmsgZXZlbnRzIG9uIGEgQ1JUQwogICogQGNydGM6IENSVEMgaW4gcXVlc3Rp b24KZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kZXZpY2UuaCBiL2luY2x1ZGUvZHJtL2Ry bV9kZXZpY2UuaAppbmRleCA0MjQxMWIzZWEwYzguLjQ1ZTQzY2U5NjUyZiAxMDA2NDQKLS0tIGEv aW5jbHVkZS9kcm0vZHJtX2RldmljZS5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9kZXZpY2UuaApA QCAtMTg0LDcgKzE4NCwxMyBAQCBzdHJ1Y3QgZHJtX2RldmljZSB7CiAJICogcmFjZXMgYW5kIGlt cHJlY2lzaW9uIG92ZXIgbG9uZ2VyIHRpbWUgcGVyaW9kcywgaGVuY2UgZXhwb3NpbmcgYQogCSAq IGhhcmR3YXJlIHZibGFuayBjb3VudGVyIGlzIGFsd2F5cyByZWNvbW1lbmRlZC4KIAkgKgotCSAq IElmIG5vbi16ZW9yLCAmZHJtX2NydGNfZnVuY3MuZ2V0X3ZibGFua19jb3VudGVyIG11c3QgYmUg c2V0LgorCSAqIFRoaXMgaXMgdGhlIHN0YXRpY2FsbHkgY29uZmlndXJlZCBkZXZpY2Ugd2lkZSBt YXhpbXVtLiBUaGUgZHJpdmVyCisJICogY2FuIGluc3RlYWQgY2hvb3NlIHRvIHVzZSBhIHJ1bnRp bWUgY29uZmlndXJhYmxlIHBlci1jcnRjIHZhbHVlCisJICogJmRybV92YmxhbmtfY3J0Yy5tYXhf dmJsYW5rX2NvdW50LCBpbiB3aGljaCBjYXNlIEBtYXhfdmJsYW5rX2NvdW50CisJICogbXVzdCBi ZSBsZWZ0IGF0IHplcm8uIFNlZSBkcm1fY3J0Y19zZXRfbWF4X3ZibGFua19jb3VudCgpIG9uIGhv dworCSAqIHRvIHVzZSB0aGUgcGVyLWNydGMgdmFsdWUuCisJICoKKwkgKiBJZiBub24temVybywg JmRybV9jcnRjX2Z1bmNzLmdldF92YmxhbmtfY291bnRlciBtdXN0IGJlIHNldC4KIAkgKi8KIAl1 MzIgbWF4X3ZibGFua19jb3VudDsgICAgICAgICAgIC8qKjwgc2l6ZSBvZiB2YmxhbmsgY291bnRl ciByZWdpc3RlciAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fdmJsYW5rLmggYi9p bmNsdWRlL2RybS9kcm1fdmJsYW5rLmgKaW5kZXggNmFkOTYzMGQ0ZjQ4Li5lNTI4YmIyZjY1OWQg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV92YmxhbmsuaAorKysgYi9pbmNsdWRlL2RybS9k cm1fdmJsYW5rLmgKQEAgLTEyOCw2ICsxMjgsMjYgQEAgc3RydWN0IGRybV92YmxhbmtfY3J0YyB7 CiAJICogQGxhc3Q6IFByb3RlY3RlZCBieSAmZHJtX2RldmljZS52YmxfbG9jaywgdXNlZCBmb3Ig d3JhcGFyb3VuZCBoYW5kbGluZy4KIAkgKi8KIAl1MzIgbGFzdDsKKwkvKioKKwkgKiBAbWF4X3Zi bGFua19jb3VudDoKKwkgKgorCSAqIE1heGltdW0gdmFsdWUgb2YgdGhlIHZibGFuayByZWdpc3Rl cnMgZm9yIHRoaXMgY3J0Yy4gVGhpcyB2YWx1ZSArMQorCSAqIHdpbGwgcmVzdWx0IGluIGEgd3Jh cC1hcm91bmQgb2YgdGhlIHZibGFuayByZWdpc3Rlci4gSXQgaXMgdXNlZAorCSAqIGJ5IHRoZSB2 YmxhbmsgY29yZSB0byBoYW5kbGUgd3JhcC1hcm91bmRzLgorCSAqCisJICogSWYgc2V0IHRvIHpl cm8gdGhlIHZibGFuayBjb3JlIHdpbGwgdHJ5IHRvIGd1ZXNzIHRoZSBlbGFwc2VkIHZibGFua3MK KwkgKiBiZXR3ZWVuIHRpbWVzIHdoZW4gdGhlIHZibGFuayBpbnRlcnJ1cHQgaXMgZGlzYWJsZWQg dGhyb3VnaAorCSAqIGhpZ2gtcHJlY2lzaW9uIHRpbWVzdGFtcHMuIFRoYXQgYXBwcm9hY2ggaXMg c3VmZmVyaW5nIGZyb20gc21hbGwKKwkgKiByYWNlcyBhbmQgaW1wcmVjaXNpb24gb3ZlciBsb25n ZXIgdGltZSBwZXJpb2RzLCBoZW5jZSBleHBvc2luZyBhCisJICogaGFyZHdhcmUgdmJsYW5rIGNv dW50ZXIgaXMgYWx3YXlzIHJlY29tbWVuZGVkLgorCSAqCisJICogVGhpcyBpcyB0aGUgcnVudGlt ZSBjb25maWd1cmFibGUgcGVyLWNydGMgbWF4aW11bSBzZXQgdGhyb3VnaAorCSAqIGRybV9jcnRj X3NldF9tYXhfdmJsYW5rX2NvdW50KCkuIElmIHRoaXMgaXMgdXNlZCB0aGUgZHJpdmVyCisJICog bXVzdCBsZWF2ZSB0aGUgZGV2aWNlIHdpZGUgJmRybV9kZXZpY2UubWF4X3ZibGFua19jb3VudCBh dCB6ZXJvLgorCSAqCisJICogSWYgbm9uLXplcm8sICZkcm1fY3J0Y19mdW5jcy5nZXRfdmJsYW5r X2NvdW50ZXIgbXVzdCBiZSBzZXQuCisJICovCisJdTMyIG1heF92YmxhbmtfY291bnQ7CiAJLyoq CiAJICogQGlubW9kZXNldDogVHJhY2tzIHdoZXRoZXIgdGhlIHZibGFuayBpcyBkaXNhYmxlZCBk dWUgdG8gYSBtb2Rlc2V0LgogCSAqIEZvciBsZWdhY3kgZHJpdmVyIGJpdCAyIGFkZGl0aW9uYWxs eSB0cmFja3Mgd2hldGhlciBhbiBhZGRpdGlvbmFsCkBAIC0yMDYsNCArMjI2LDYgQEAgYm9vbCBk cm1fY2FsY192Ymx0aW1lc3RhbXBfZnJvbV9zY2Fub3V0cG9zKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCiB2b2lkIGRybV9jYWxjX3RpbWVzdGFtcGluZ19jb25zdGFudHMoc3RydWN0IGRybV9jcnRj ICpjcnRjLAogCQkJCSAgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwog d2FpdF9xdWV1ZV9oZWFkX3QgKmRybV9jcnRjX3ZibGFua193YWl0cXVldWUoc3RydWN0IGRybV9j cnRjICpjcnRjKTsKK3ZvaWQgZHJtX2NydGNfc2V0X21heF92YmxhbmtfY291bnQoc3RydWN0IGRy bV9jcnRjICpjcnRjLAorCQkJCSAgIHUzMiBtYXhfdmJsYW5rX2NvdW50KTsKICNlbmRpZgotLSAK Mi4xOC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK