From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: [PATCH 1/4] drm/i915: Make fb user dirty operation to invalidate frontbuffer Date: Mon, 29 Jun 2015 13:44:43 -0700 Message-ID: <1435610686-2249-1-git-send-email-rodrigo.vivi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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: dri-devel@lists.freedesktop.org, Rodrigo Vivi List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgZnJvbnRidWZmZXIgaW52YWxpZGF0aW9uIG9uIGRpcnR5 IGZiCnVzZXIgY2FsbGJhY2suCgpJdCBpcyBtYWlubHkgdXNlZCBmb3IgRElSVFlGQiBkcm0gaW9j dGwsIGJ1dCBjYW4gYmUgZXh0ZW5kZWQKZm9yIGZiZGV2IHVzZSBvbiBmb2xsb3dpbmcgcGF0Y2gu CgpUaGlzIHBhdGNoIGl0c2VsZiBhbHJlYWR5IHNvbHZlcyB0aGUgYmlnZ2VzdCBQU1Iga25vd24g aXNzdWUsIHRoYXQgaXMKbWlzc2VkIHNjcmVlbiB1cGRhdGVzIGR1cmluZyBib290LCBtYWlubHkg d2hlbiB0aGVyZSBpcyBhIHNwbGFzaApzY3JlZW4gaW52b2x2ZWQgbGlrZSBwbHltb3V0aC4KClBs eW1vdGggd2lsbCBkbyBhIG1vZGVzZXQgb3ZlciBpb2N0bCB0aGF0IGZsdXNoZXMgZnJvbnRidWZm ZXIKdHJhY2tpbmcgYW5kIFBTUiBnZXRzIGJhY2sgdG8gd29yayB3aGlsZSBpdCBjYW5ub3QgdHJh Y2sgdGhlCnNjcmVlbiB1cGRhdGVzIGFuZCBleGl0IHByb3Blcmx5LiBIb3dldmVyIHBseW1vdXRo IGFsc28gdXNlcwphIGRpcnR5ZmIgaW9jdGwgd2hlbmV2ZXIgdXBkYXRpbmcgdGhlIHNjcmVlbi4g U28gbGV0J3MgdXNlIGl0CnRvIGludmFsaWRhdGUgUFNSIGJhY2sgYWdhaW4uCgpUaGlzIHBhdGNo IGFsc28gaW50cm9kdWNlcyB0aGUgT1JJR0lOX0ZCX0RJUlRZIHRvIGZyb250YnVmZmVyIHRyYWNr aW5nLgpUaGUgcmVhc29uIGlzIHRoYXQgd2hlbmV2ZXIgdXNpbmcgdGhpcyBpbnZhbGlkYXRlIHBh dGggd2UgZG9uJ3QgbmVlZCB0bwprZWVwIGNvbnRpbnVvdXNseSBpbnZhbGlkYXRpbmcgdGhlIGZy b250YnVmZmVyIGZvciBldmVyeSBjYWxsLiBPbmUgY2FsbApiZXR3ZWVuIGZsaXBzIGlzIGVub3Vn aCB0byBrZWVwIGZyb250YnVmZmVyIHRyYWNraW5nIGludmFsaWRhdGVkIGFuZApsZXQgYWxsIHVz ZXJzIGF3YXJlLiBJZiBhIHN5bmMgb3IgYXN5bmMgZmxpcCBjb21wbGV0ZWQgaXQgbWVhbnMgdGhh dCB3ZQpwcm9iYWJseSBjYW4gZmx1c2ggZXZlcnl0aGluZyBhbmQgZW5hYmxlIHBvd2Vyc2F2aW5n cyBmZWF0dXJlcyBiYWNrLgpJZiB0aGlzIGlzbid0IHRoZSBjYXNlIG9uIHRoZSBuZXh0IGRpcnR5 IGNhbGwgd2UgaW52YWxpZGF0ZSBpdCBhZ2Fpbgp1bnRpbCBuZXh0IGZsaXAuCgpTaWduZWQtb2Zm LWJ5OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICB8ICAyICsrCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMgICAgIHwgMTggKysrKysrKysrKysrKysrKysrCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9mcm9udGJ1ZmZlci5jIHwgMTggKysrKysrKysrKysrKysrKysr CiAzIGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAppbmRleCBlYTljYWYyLi5lMDU5MWQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTg4 OSw2ICs4ODksNyBAQCBlbnVtIGZiX29wX29yaWdpbiB7CiAJT1JJR0lOX0NQVSwKIAlPUklHSU5f Q1MsCiAJT1JJR0lOX0ZMSVAsCisJT1JJR0lOX0ZCX0RJUlRZLAogfTsKIAogc3RydWN0IGk5MTVf ZmJjIHsKQEAgLTE2MjgsNiArMTYyOSw3IEBAIHN0cnVjdCBpOTE1X2Zyb250YnVmZmVyX3RyYWNr aW5nIHsKIAkgKi8KIAl1bnNpZ25lZCBidXN5X2JpdHM7CiAJdW5zaWduZWQgZmxpcF9iaXRzOwor CWJvb2wgZmJfZGlydHk7CiB9OwogCiBzdHJ1Y3QgaTkxNV93YV9yZWcgewpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDAxZWFhYjguLjE5YzJhYjMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTE0MzMwLDkgKzE0MzMwLDI3IEBAIHN0YXRpYyBpbnQg aW50ZWxfdXNlcl9mcmFtZWJ1ZmZlcl9jcmVhdGVfaGFuZGxlKHN0cnVjdCBkcm1fZnJhbWVidWZm ZXIgKmZiLAogCXJldHVybiBkcm1fZ2VtX2hhbmRsZV9jcmVhdGUoZmlsZSwgJm9iai0+YmFzZSwg aGFuZGxlKTsKIH0KIAorc3RhdGljIGludCBpbnRlbF91c2VyX2ZyYW1lYnVmZmVyX2RpcnR5KHN0 cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAorCQkJCQkgICAgICAgc3RydWN0IGRybV9maWxlICpm aWxlLAorCQkJCQkgICAgICAgdW5zaWduZWQgZmxhZ3MsIHVuc2lnbmVkIGNvbG9yLAorCQkJCQkg ICAgICAgc3RydWN0IGRybV9jbGlwX3JlY3QgKmNsaXBzLAorCQkJCQkgICAgICAgdW5zaWduZWQg bnVtX2NsaXBzKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBmYi0+ZGV2OworCXN0cnVj dCBpbnRlbF9mcmFtZWJ1ZmZlciAqaW50ZWxfZmIgPSB0b19pbnRlbF9mcmFtZWJ1ZmZlcihmYik7 CisJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGludGVsX2ZiLT5vYmo7CisKKwlt dXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CisJaW50ZWxfZmJfb2JqX2ludmFsaWRhdGUo b2JqLCBPUklHSU5fRkJfRElSVFkpOworCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgp OworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy X2Z1bmNzIGludGVsX2ZiX2Z1bmNzID0gewogCS5kZXN0cm95ID0gaW50ZWxfdXNlcl9mcmFtZWJ1 ZmZlcl9kZXN0cm95LAogCS5jcmVhdGVfaGFuZGxlID0gaW50ZWxfdXNlcl9mcmFtZWJ1ZmZlcl9j cmVhdGVfaGFuZGxlLAorCS5kaXJ0eSA9IGludGVsX3VzZXJfZnJhbWVidWZmZXJfZGlydHksCiB9 OwogCiBzdGF0aWMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Zyb250 YnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mcm9udGJ1ZmZlci5jCmluZGV4 IDZlOTBlMmIuLjMyOWI2ZmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Zyb250YnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZnJvbnRidWZm ZXIuYwpAQCAtODEsMTIgKzgxLDI4IEBAIHZvaWQgaW50ZWxfZmJfb2JqX2ludmFsaWRhdGUoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gb2JqLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGRldik7CisJYm9vbCBmYl9kaXJ0eTsKIAogCVdBUk5fT04oIW11dGV4X2lzX2xvY2tl ZCgmZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsKIAogCWlmICghb2JqLT5mcm9udGJ1ZmZlcl9iaXRzKQog CQlyZXR1cm47CiAKKwkvKgorCSAqIFdlIGp1c3QgaW52YWxpZGF0ZSB0aGUgZnJvbnRidWZmZXIg b24gdGhlIGZpcnN0IGRpcnR5IGFuZCBrZWVwCisJICogaXQgZGlydHkgYW5kIGludmFsaWQgdW50 aWwgbmV4dCBmbGlwLgorCSAqLworCWlmIChvcmlnaW4gPT0gT1JJR0lOX0ZCX0RJUlRZKSB7CisJ CW11dGV4X2xvY2soJmRldl9wcml2LT5mYl90cmFja2luZy5sb2NrKTsKKwkJZmJfZGlydHkgPSBk ZXZfcHJpdi0+ZmJfdHJhY2tpbmcuZmJfZGlydHk7CisJCWRldl9wcml2LT5mYl90cmFja2luZy5m Yl9kaXJ0eSA9IHRydWU7CisJCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmZiX3RyYWNraW5nLmxv Y2spOworCisJCWlmIChmYl9kaXJ0eSkKKwkJCXJldHVybjsKKwkJRFJNX0VSUk9SKCJQU1IgRkJU IGludmFsaWRhdGUgZGlydHlcbiIpOworCX0KKwogCWlmIChvcmlnaW4gPT0gT1JJR0lOX0NTKSB7 CiAJCW11dGV4X2xvY2soJmRldl9wcml2LT5mYl90cmFja2luZy5sb2NrKTsKIAkJZGV2X3ByaXYt PmZiX3RyYWNraW5nLmJ1c3lfYml0cwpAQCAtMjA3LDYgKzIyMyw3IEBAIHZvaWQgaW50ZWxfZnJv bnRidWZmZXJfZmxpcF9jb21wbGV0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKIAogCW11dGV4X2xvY2so JmRldl9wcml2LT5mYl90cmFja2luZy5sb2NrKTsKKwlkZXZfcHJpdi0+ZmJfdHJhY2tpbmcuZmJf ZGlydHkgPSBmYWxzZTsKIAkvKiBNYXNrIGFueSBjYW5jZWxsZWQgZmxpcHMuICovCiAJZnJvbnRi dWZmZXJfYml0cyAmPSBkZXZfcHJpdi0+ZmJfdHJhY2tpbmcuZmxpcF9iaXRzOwogCWRldl9wcml2 LT5mYl90cmFja2luZy5mbGlwX2JpdHMgJj0gfmZyb250YnVmZmVyX2JpdHM7CkBAIC0yMzMsNiAr MjUwLDcgQEAgdm9pZCBpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwog CiAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmZiX3RyYWNraW5nLmxvY2spOworCWRldl9wcml2LT5m Yl90cmFja2luZy5mYl9kaXJ0eSA9IGZhbHNlOwogCS8qIFJlbW92ZSBzdGFsZSBidXN5IGJpdHMg ZHVlIHRvIHRoZSBvbGQgYnVmZmVyLiAqLwogCWRldl9wcml2LT5mYl90cmFja2luZy5idXN5X2Jp dHMgJj0gfmZyb250YnVmZmVyX2JpdHM7CiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZmJfdHJh Y2tpbmcubG9jayk7Ci0tIAoyLjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWwK