From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH 3/3] drm/i915: Use vblank evade mechanism in mmio_flip Date: Tue, 28 Oct 2014 15:10:14 +0200 Message-ID: <1414501814-1465-3-git-send-email-ander.conselvan.de.oliveira@intel.com> References: <1414501814-1465-1-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id E63436E6D4 for ; Tue, 28 Oct 2014 06:10:20 -0700 (PDT) In-Reply-To: <1414501814-1465-1-git-send-email-ander.conselvan.de.oliveira@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Ander Conselvan de Oliveira , ville.syrjala@intel.com, shuang.he@linux.intel.com, paulo.zanoni@intel.com List-Id: intel-gfx@lists.freedesktop.org Q3VycmVudGx5IHdlIHByb2dyYW0ganVzdCBEUFNDTlRSIGFuZCBEU1BTVFJJREUgZGlyZWN0bHkg ZnJvbSB0aGUgcmluZwppbnRlcnJ1cHQgaGFuZGxlciwgd2hpY2ggaXMgZmluZSBzaW5jZSB0aGUg aGFyZHdhcmUgZ3VhcmFudGVlcyB0aGF0CnRob3NlIGFyZSB1cGRhdGUgYXRvbWljYWxseS4gV2hl biB3ZSBoYXZlIGF0b21pYyBwYWdlIGZsaXBzIHdlJ2xsIHdhbnQKdG8gYmUgYWJsZSB0byB1cGRh dGUgYWxzbyB0aGUgb2Zmc2V0IHJlZ2lzdGVycywgYW5kIHRoZW4gd2UgbmVlZCB0byB1c2UKdGhl IHZibGFuayBldmFkZSBtZWNoYW5pc20gdG8gZ3VhcmFudGVlIGF0b21pY2l0eS4gU2luY2UgdGhh dCBtZWNoYW5pc20KaW50cm9kdWNlcyBhIHdhaXQsIHdlIG5lZWQgdG8gZG8gdGhlIGFjdHVhbCBy ZWdpc3RlciB3cml0ZSBmcm9tIGEgd29yawp3aGVuIGl0IGlzIHRyaWdnZXJlZCBieSB0aGUgcmlu ZyBpbnRlcnJ1cHQuCgp2MjogRXhwbGFpbiB0aGUgbmVlZCBmb3IgbW1pb19mbGlwLndvcmsgaW4g dGhlIGNvbW1pdCBtZXNzYWdlIChQYXVsbykKICAgIEluaXRpYWxpemUgdGhlIG1taW9fZmxpcCB3 b3JrIGluIGludGVsX2NydGNfaW5pdCgpIChQYXVsbykKICAgIFByZXZlbnQgbmV3IGZsaXBzIHRo ZSBwcmV2aW91cyBmbGlwIHdvcmsgZmluaXNoZXMgKFBhdWxvKQogICAgRG9uJ3QgYWNxdWlyZSBt b2Rlc2V0IGxvY2tzIGZvciBtbWlvIGZsaXAgd29yawoKU2lnbmVkLW9mZi1ieTogQW5kZXIgQ29u c2VsdmFuIGRlIE9saXZlaXJhIDxhbmRlci5jb25zZWx2YW4uZGUub2xpdmVpcmFAaW50ZWwuY29t PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDMwICsrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2Lmgg ICAgIHwgMTIgKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUu YyAgfCAgNCArKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDcgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDg5NjVmMmQuLjg2 YzIwNTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTkzMTQsMTEgKzkz MTQsMTUgQEAgc3RhdGljIHZvaWQgaW50ZWxfZG9fbW1pb19mbGlwKHN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjKQogCXN0cnVjdCBpbnRlbF9mcmFtZWJ1ZmZlciAqaW50ZWxfZmIgPQogCQl0 b19pbnRlbF9mcmFtZWJ1ZmZlcihpbnRlbF9jcnRjLT5iYXNlLnByaW1hcnktPmZiKTsKIAlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gaW50ZWxfZmItPm9iajsKKwlib29sIGF0b21p Y191cGRhdGU7CisJdTMyIHN0YXJ0X3ZibF9jb3VudDsKIAl1MzIgZHNwY250cjsKIAl1MzIgcmVn OwogCiAJaW50ZWxfbWFya19wYWdlX2ZsaXBfYWN0aXZlKGludGVsX2NydGMpOwogCisJYXRvbWlj X3VwZGF0ZSA9IGludGVsX3BpcGVfdXBkYXRlX3N0YXJ0KGludGVsX2NydGMsICZzdGFydF92Ymxf Y291bnQpOworCiAJcmVnID0gRFNQQ05UUihpbnRlbF9jcnRjLT5wbGFuZSk7CiAJZHNwY250ciA9 IEk5MTVfUkVBRChyZWcpOwogCkBAIC05MzMyLDYgKzkzMzYsMjEgQEAgc3RhdGljIHZvaWQgaW50 ZWxfZG9fbW1pb19mbGlwKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKQogCUk5MTVfV1JJ VEUoRFNQU1VSRihpbnRlbF9jcnRjLT5wbGFuZSksCiAJCSAgIGludGVsX2NydGMtPnVucGluX3dv cmstPmd0dF9vZmZzZXQpOwogCVBPU1RJTkdfUkVBRChEU1BTVVJGKGludGVsX2NydGMtPnBsYW5l KSk7CisKKwlpZiAoYXRvbWljX3VwZGF0ZSkKKwkJaW50ZWxfcGlwZV91cGRhdGVfZW5kKGludGVs X2NydGMsIHN0YXJ0X3ZibF9jb3VudCk7CisKKwlzcGluX2xvY2tfaXJxKCZkZXZfcHJpdi0+bW1p b19mbGlwX2xvY2spOworCWludGVsX2NydGMtPm1taW9fZmxpcC5zdGF0dXMgPSBJTlRFTF9NTUlP X0ZMSVBfSURMRTsKKwlzcGluX3VubG9ja19pcnEoJmRldl9wcml2LT5tbWlvX2ZsaXBfbG9jayk7 Cit9CisKK3N0YXRpYyB2b2lkIGludGVsX21taW9fZmxpcF93b3JrX2Z1bmMoc3RydWN0IHdvcmtf c3RydWN0ICp3b3JrKQoreworCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0KKwkJY29u dGFpbmVyX29mKHdvcmssIHN0cnVjdCBpbnRlbF9jcnRjLCBtbWlvX2ZsaXAud29yayk7CisKKwlp bnRlbF9kb19tbWlvX2ZsaXAoaW50ZWxfY3J0Yyk7CiB9CiAKIHN0YXRpYyBpbnQgaW50ZWxfcG9z dHBvbmVfZmxpcChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQpAQCAtOTM3NCwxNSAr OTM5MywxNSBAQCB2b2lkIGludGVsX25vdGlmeV9tbWlvX2ZsaXAoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZykKIAkJc3RydWN0IGludGVsX21taW9fZmxpcCAqbW1pb19mbGlwOwogCiAJCW1t aW9fZmxpcCA9ICZpbnRlbF9jcnRjLT5tbWlvX2ZsaXA7Ci0JCWlmIChtbWlvX2ZsaXAtPnNlcW5v ID09IDApCisJCWlmIChtbWlvX2ZsaXAtPnN0YXR1cyAhPSBJTlRFTF9NTUlPX0ZMSVBfV0FJVF9S SU5HKQogCQkJY29udGludWU7CiAKIAkJaWYgKHJpbmctPmlkICE9IG1taW9fZmxpcC0+cmluZ19p ZCkKIAkJCWNvbnRpbnVlOwogCiAJCWlmIChpOTE1X3NlcW5vX3Bhc3NlZChzZXFubywgbW1pb19m bGlwLT5zZXFubykpIHsKLQkJCWludGVsX2RvX21taW9fZmxpcChpbnRlbF9jcnRjKTsKLQkJCW1t aW9fZmxpcC0+c2Vxbm8gPSAwOworCQkJc2NoZWR1bGVfd29yaygmaW50ZWxfY3J0Yy0+bW1pb19m bGlwLndvcmspOworCQkJbW1pb19mbGlwLT5zdGF0dXMgPSBJTlRFTF9NTUlPX0ZMSVBfV09SS19T Q0hFRFVMRUQ7CiAJCQlyaW5nLT5pcnFfcHV0KHJpbmcpOwogCQl9CiAJfQpAQCAtOTQwMCw3ICs5 NDE5LDcgQEAgc3RhdGljIGludCBpbnRlbF9xdWV1ZV9tbWlvX2ZsaXAoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMo Y3J0Yyk7CiAJaW50IHJldDsKIAotCWlmIChXQVJOX09OKGludGVsX2NydGMtPm1taW9fZmxpcC5z ZXFubykpCisJaWYgKFdBUk5fT04oaW50ZWxfY3J0Yy0+bW1pb19mbGlwLnN0YXR1cyAhPSBJTlRF TF9NTUlPX0ZMSVBfSURMRSkpCiAJCXJldHVybiAtRUJVU1k7CiAKIAlyZXQgPSBpbnRlbF9wb3N0 cG9uZV9mbGlwKG9iaik7CkBAIC05NDEyLDYgKzk0MzEsNyBAQCBzdGF0aWMgaW50IGludGVsX3F1 ZXVlX21taW9fZmxpcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCX0KIAogCXNwaW5fbG9ja19p cnEoJmRldl9wcml2LT5tbWlvX2ZsaXBfbG9jayk7CisJaW50ZWxfY3J0Yy0+bW1pb19mbGlwLnN0 YXR1cyA9IElOVEVMX01NSU9fRkxJUF9XQUlUX1JJTkc7CiAJaW50ZWxfY3J0Yy0+bW1pb19mbGlw LnNlcW5vID0gb2JqLT5sYXN0X3dyaXRlX3NlcW5vOwogCWludGVsX2NydGMtPm1taW9fZmxpcC5y aW5nX2lkID0gb2JqLT5yaW5nLT5pZDsKIAlzcGluX3VubG9ja19pcnEoJmRldl9wcml2LT5tbWlv X2ZsaXBfbG9jayk7CkBAIC0xMTg4Myw2ICsxMTkwMyw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2Ny dGNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgcGlwZSkKIAlkZXZfcHJpdi0+cGxh bmVfdG9fY3J0Y19tYXBwaW5nW2ludGVsX2NydGMtPnBsYW5lXSA9ICZpbnRlbF9jcnRjLT5iYXNl OwogCWRldl9wcml2LT5waXBlX3RvX2NydGNfbWFwcGluZ1tpbnRlbF9jcnRjLT5waXBlXSA9ICZp bnRlbF9jcnRjLT5iYXNlOwogCisJSU5JVF9XT1JLKCZpbnRlbF9jcnRjLT5tbWlvX2ZsaXAud29y aywgaW50ZWxfbW1pb19mbGlwX3dvcmtfZnVuYyk7CisKIAlkcm1fY3J0Y19oZWxwZXJfYWRkKCZp bnRlbF9jcnRjLT5iYXNlLCAmaW50ZWxfaGVscGVyX2Z1bmNzKTsKIAogCVdBUk5fT04oZHJtX2Ny dGNfaW5kZXgoJmludGVsX2NydGMtPmJhc2UpICE9IGludGVsX2NydGMtPnBpcGUpOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaAppbmRleCBkNTNhYzIzLi5mZjRhZjZiIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaApAQCAtMzk5LDkgKzM5OSwxNyBAQCBzdHJ1Y3QgaW50ZWxfcGlwZV93bSB7CiAJ Ym9vbCBzcHJpdGVzX3NjYWxlZDsKIH07CiAKK2VudW0gaW50ZWxfbW1pb19mbGlwX3N0YXR1cyB7 CisJSU5URUxfTU1JT19GTElQX0lETEUgPSAwLAorCUlOVEVMX01NSU9fRkxJUF9XQUlUX1JJTkcs CisJSU5URUxfTU1JT19GTElQX1dPUktfU0NIRURVTEVELAorfTsKKwogc3RydWN0IGludGVsX21t aW9fZmxpcCB7CiAJdTMyIHNlcW5vOwogCXUzMiByaW5nX2lkOworCWVudW0gaW50ZWxfbW1pb19m bGlwX3N0YXR1cyBzdGF0dXM7CisJc3RydWN0IHdvcmtfc3RydWN0IHdvcms7CiB9OwogCiBzdHJ1 Y3QgaW50ZWxfY3J0YyB7CkBAIC0xMTY4LDcgKzExNzYsOSBAQCBpbnQgaW50ZWxfc3ByaXRlX3Nl dF9jb2xvcmtleShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJICAgICAg c3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwogaW50IGludGVsX3Nwcml0ZV9nZXRfY29sb3Jr ZXkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCSAgICAgIHN0cnVjdCBk cm1fZmlsZSAqZmlsZV9wcml2KTsKLQorYm9vbCBpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YywKKwkJCSAgICAgdWludDMyX3QgKnN0YXJ0X3ZibF9jb3VudCk7 Cit2b2lkIGludGVsX3BpcGVfdXBkYXRlX2VuZChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywgdTMy IHN0YXJ0X3ZibF9jb3VudCk7CiAKIC8qIGludGVsX3R2LmMgKi8KIHZvaWQgaW50ZWxfdHZfaW5p dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMK aW5kZXggYzFkOTU0Ny4uOWUyYTVlMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfc3ByaXRlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMK QEAgLTYyLDcgKzYyLDcgQEAgc3RhdGljIGludCB1c2Vjc190b19zY2FubGluZXMoY29uc3Qgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsIGludCB1c2VjcykKICAqCiAgKiBSZXR1cm46IHRy dWUgaWYgdGhlIGNhbGwgd2FzIHN1Y2Nlc3NmdWwKICAqLwotc3RhdGljIGJvb2wgaW50ZWxfcGlw ZV91cGRhdGVfc3RhcnQoc3RydWN0IGludGVsX2NydGMgKmNydGMsIHVpbnQzMl90ICpzdGFydF92 YmxfY291bnQpCitib29sIGludGVsX3BpcGVfdXBkYXRlX3N0YXJ0KHN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjLCB1aW50MzJfdCAqc3RhcnRfdmJsX2NvdW50KQogewogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSA9ICZjcnRjLT5jb25maWcuYWRqdXN0ZWRfbW9kZTsKQEAgLTEzNSw3ICsxMzUsNyBAQCBz dGF0aWMgYm9vbCBpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YywgdWludDMyX3QgKnN0YXJ0X3ZibAogICogcmUtZW5hYmxlcyBpbnRlcnJ1cHRzIGFuZCB2ZXJp ZmllcyB0aGUgdXBkYXRlIHdhcyBhY3R1YWxseSBjb21wbGV0ZWQKICAqIGJlZm9yZSBhIHZibGFu ayB1c2luZyB0aGUgdmFsdWUgb2YgQHN0YXJ0X3ZibF9jb3VudC4KICAqLwotc3RhdGljIHZvaWQg aW50ZWxfcGlwZV91cGRhdGVfZW5kKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLCB1MzIgc3RhcnRf dmJsX2NvdW50KQordm9pZCBpbnRlbF9waXBlX3VwZGF0ZV9lbmQoc3RydWN0IGludGVsX2NydGMg KmNydGMsIHUzMiBzdGFydF92YmxfY291bnQpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IGNydGMtPmJhc2UuZGV2OwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKLS0gCjEuOS4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=