From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: [PATCH 2/9] drm/xen-front: Implement Xen bus state handling Date: Wed, 21 Feb 2018 10:03:35 +0200 Message-ID: <1519200222-20623-3-git-send-email-andr2000__685.101960744028$1519200161$gmane$org@gmail.com> References: <1519200222-20623-1-git-send-email-andr2000@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eoPNd-0000ZT-TV for xen-devel@lists.xenproject.org; Wed, 21 Feb 2018 08:03:57 +0000 Received: by mail-lf0-x242.google.com with SMTP id t204so1070737lff.9 for ; Wed, 21 Feb 2018 00:03:56 -0800 (PST) In-Reply-To: <1519200222-20623-1-git-send-email-andr2000@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, airlied@linux.ie, daniel.vetter@intel.com, seanpaul@chromium.org, gustavo@padovan.org, jgross@suse.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com Cc: andr2000@gmail.com, Oleksandr Andrushchenko List-Id: xen-devel@lists.xenproject.org RnJvbTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVw YW0uY29tPgoKSW5pdGlhbCBoYW5kbGluZyBmb3IgWGVuIGJ1cyBzdGF0ZXM6IGltcGxlbWVudApY ZW4gYnVzIHN0YXRlIG1hY2hpbmUgZm9yIHRoZSBmcm9udGVuZCBkcml2ZXIgYWNjb3JkaW5nIHRv CnRoZSBzdGF0ZSBkaWFncmFtIGFuZCByZWNvdmVyeSBmbG93IGZyb20gZGlzcGxheSBwYXJhLXZp cnR1YWxpemVkCnByb3RvY29sOiB4ZW4vaW50ZXJmYWNlL2lvL2Rpc3BsaWYuaC4KClNpZ25lZC1v ZmYtYnk6IE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIDxvbGVrc2FuZHJfYW5kcnVzaGNoZW5rb0Bl cGFtLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0veGVuL3hlbl9kcm1fZnJvbnQuYyB8IDEyNCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS94ZW4v eGVuX2RybV9mcm9udC5oIHwgIDI2ICsrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDE0OSBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUv ZHJtL3hlbi94ZW5fZHJtX2Zyb250LmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGVu L3hlbl9kcm1fZnJvbnQuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZW4veGVuX2RybV9mcm9udC5jCmlu ZGV4IGZkMzcyZmI0NjRhMS4uZDAzMDZmOWQ2NjBkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0veGVuL3hlbl9kcm1fZnJvbnQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0veGVuL3hlbl9kcm1f ZnJvbnQuYwpAQCAtMjQsMTkgKzI0LDE0MSBAQAogCiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9p by9kaXNwbGlmLmg+CiAKKyNpbmNsdWRlICJ4ZW5fZHJtX2Zyb250LmgiCisKK3N0YXRpYyB2b2lk IHhlbl9kcnZfcmVtb3ZlX2ludGVybmFsKHN0cnVjdCB4ZW5fZHJtX2Zyb250X2luZm8gKmZyb250 X2luZm8pCit7Cit9CisKK3N0YXRpYyBpbnQgYmFja2VuZF9vbl9pbml0d2FpdChzdHJ1Y3QgeGVu X2RybV9mcm9udF9pbmZvICpmcm9udF9pbmZvKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMg aW50IGJhY2tlbmRfb25fY29ubmVjdGVkKHN0cnVjdCB4ZW5fZHJtX2Zyb250X2luZm8gKmZyb250 X2luZm8pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGJhY2tlbmRfb25fZGlzY29u bmVjdGVkKHN0cnVjdCB4ZW5fZHJtX2Zyb250X2luZm8gKmZyb250X2luZm8pCit7CisJeGVuYnVz X3N3aXRjaF9zdGF0ZShmcm9udF9pbmZvLT54Yl9kZXYsIFhlbmJ1c1N0YXRlSW5pdGlhbGlzaW5n KTsKK30KKwogc3RhdGljIHZvaWQgYmFja2VuZF9vbl9jaGFuZ2VkKHN0cnVjdCB4ZW5idXNfZGV2 aWNlICp4Yl9kZXYsCiAJCWVudW0geGVuYnVzX3N0YXRlIGJhY2tlbmRfc3RhdGUpCiB7CisJc3Ry dWN0IHhlbl9kcm1fZnJvbnRfaW5mbyAqZnJvbnRfaW5mbyA9IGRldl9nZXRfZHJ2ZGF0YSgmeGJf ZGV2LT5kZXYpOworCWludCByZXQ7CisKKwlEUk1fREVCVUcoIkJhY2tlbmQgc3RhdGUgaXMgJXMs IGZyb250IGlzICVzXG4iLAorCQkJeGVuYnVzX3N0cnN0YXRlKGJhY2tlbmRfc3RhdGUpLAorCQkJ eGVuYnVzX3N0cnN0YXRlKHhiX2Rldi0+c3RhdGUpKTsKKworCXN3aXRjaCAoYmFja2VuZF9zdGF0 ZSkgeworCWNhc2UgWGVuYnVzU3RhdGVSZWNvbmZpZ3VyaW5nOgorCQkvKiBmYWxsIHRocm91Z2gg Ki8KKwljYXNlIFhlbmJ1c1N0YXRlUmVjb25maWd1cmVkOgorCQkvKiBmYWxsIHRocm91Z2ggKi8K KwljYXNlIFhlbmJ1c1N0YXRlSW5pdGlhbGlzZWQ6CisJCWJyZWFrOworCisJY2FzZSBYZW5idXNT dGF0ZUluaXRpYWxpc2luZzoKKwkJLyogcmVjb3ZlcmluZyBhZnRlciBiYWNrZW5kIHVuZXhwZWN0 ZWQgY2xvc3VyZSAqLworCQliYWNrZW5kX29uX2Rpc2Nvbm5lY3RlZChmcm9udF9pbmZvKTsKKwkJ YnJlYWs7CisKKwljYXNlIFhlbmJ1c1N0YXRlSW5pdFdhaXQ6CisJCS8qIHJlY292ZXJpbmcgYWZ0 ZXIgYmFja2VuZCB1bmV4cGVjdGVkIGNsb3N1cmUgKi8KKwkJYmFja2VuZF9vbl9kaXNjb25uZWN0 ZWQoZnJvbnRfaW5mbyk7CisJCWlmICh4Yl9kZXYtPnN0YXRlICE9IFhlbmJ1c1N0YXRlSW5pdGlh bGlzaW5nKQorCQkJYnJlYWs7CisKKwkJcmV0ID0gYmFja2VuZF9vbl9pbml0d2FpdChmcm9udF9p bmZvKTsKKwkJaWYgKHJldCA8IDApCisJCQl4ZW5idXNfZGV2X2ZhdGFsKHhiX2RldiwgcmV0LCAi aW5pdGlhbGl6aW5nIGZyb250ZW5kIik7CisJCWVsc2UKKwkJCXhlbmJ1c19zd2l0Y2hfc3RhdGUo eGJfZGV2LCBYZW5idXNTdGF0ZUluaXRpYWxpc2VkKTsKKwkJYnJlYWs7CisKKwljYXNlIFhlbmJ1 c1N0YXRlQ29ubmVjdGVkOgorCQlpZiAoeGJfZGV2LT5zdGF0ZSAhPSBYZW5idXNTdGF0ZUluaXRp YWxpc2VkKQorCQkJYnJlYWs7CisKKwkJcmV0ID0gYmFja2VuZF9vbl9jb25uZWN0ZWQoZnJvbnRf aW5mbyk7CisJCWlmIChyZXQgPCAwKQorCQkJeGVuYnVzX2Rldl9mYXRhbCh4Yl9kZXYsIHJldCwg ImluaXRpYWxpemluZyBEUk0gZHJpdmVyIik7CisJCWVsc2UKKwkJCXhlbmJ1c19zd2l0Y2hfc3Rh dGUoeGJfZGV2LCBYZW5idXNTdGF0ZUNvbm5lY3RlZCk7CisJCWJyZWFrOworCisJY2FzZSBYZW5i dXNTdGF0ZUNsb3Npbmc6CisJCS8qCisJCSAqIGluIHRoaXMgc3RhdGUgYmFja2VuZCBzdGFydHMg ZnJlZWluZyByZXNvdXJjZXMsCisJCSAqIHNvIGxldCBpdCBnbyBpbnRvIGNsb3NlZCBzdGF0ZSwg c28gd2UgY2FuIGFsc28KKwkJICogcmVtb3ZlIG91cnMKKwkJICovCisJCWJyZWFrOworCisJY2Fz ZSBYZW5idXNTdGF0ZVVua25vd246CisJCS8qIGZhbGwgdGhyb3VnaCAqLworCWNhc2UgWGVuYnVz U3RhdGVDbG9zZWQ6CisJCWlmICh4Yl9kZXYtPnN0YXRlID09IFhlbmJ1c1N0YXRlQ2xvc2VkKQor CQkJYnJlYWs7CisKKwkJYmFja2VuZF9vbl9kaXNjb25uZWN0ZWQoZnJvbnRfaW5mbyk7CisJCWJy ZWFrOworCX0KIH0KIAogc3RhdGljIGludCB4ZW5fZHJ2X3Byb2JlKHN0cnVjdCB4ZW5idXNfZGV2 aWNlICp4Yl9kZXYsCiAJCWNvbnN0IHN0cnVjdCB4ZW5idXNfZGV2aWNlX2lkICppZCkKIHsKLQly ZXR1cm4gMDsKKwlzdHJ1Y3QgeGVuX2RybV9mcm9udF9pbmZvICpmcm9udF9pbmZvOworCisJZnJv bnRfaW5mbyA9IGRldm1fa3phbGxvYygmeGJfZGV2LT5kZXYsCisJCQlzaXplb2YoKmZyb250X2lu Zm8pLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWZyb250X2luZm8pIHsKKwkJeGVuYnVzX2Rldl9mYXRh bCh4Yl9kZXYsIC1FTk9NRU0sICJhbGxvY2F0aW5nIGRldmljZSBtZW1vcnkiKTsKKwkJcmV0dXJu IC1FTk9NRU07CisJfQorCisJZnJvbnRfaW5mby0+eGJfZGV2ID0geGJfZGV2OworCWRldl9zZXRf ZHJ2ZGF0YSgmeGJfZGV2LT5kZXYsIGZyb250X2luZm8pOworCXJldHVybiB4ZW5idXNfc3dpdGNo X3N0YXRlKHhiX2RldiwgWGVuYnVzU3RhdGVJbml0aWFsaXNpbmcpOwogfQogCiBzdGF0aWMgaW50 IHhlbl9kcnZfcmVtb3ZlKHN0cnVjdCB4ZW5idXNfZGV2aWNlICpkZXYpCiB7CisJc3RydWN0IHhl bl9kcm1fZnJvbnRfaW5mbyAqZnJvbnRfaW5mbyA9IGRldl9nZXRfZHJ2ZGF0YSgmZGV2LT5kZXYp OworCWludCB0byA9IDEwMDsKKworCXhlbmJ1c19zd2l0Y2hfc3RhdGUoZGV2LCBYZW5idXNTdGF0 ZUNsb3NpbmcpOworCisJLyoKKwkgKiBPbiBkcml2ZXIgcmVtb3ZhbCBpdCBpcyBkaXNjb25uZWN0 ZWQgZnJvbSBYZW5CdXMsCisJICogc28gbm8gYmFja2VuZCBzdGF0ZSBjaGFuZ2UgZXZlbnRzIGNv bWUgdmlhIC5vdGhlcmVuZF9jaGFuZ2VkCisJICogY2FsbGJhY2suIFRoaXMgcHJldmVudHMgdXMg ZnJvbSBleGl0aW5nIGdyYWNlZnVsbHksIGUuZy4KKwkgKiBzaWduYWxpbmcgdGhlIGJhY2tlbmQg dG8gZnJlZSBldmVudCBjaGFubmVscywgd2FpdGluZyBmb3IgaXRzCisJICogc3RhdGUgdG8gY2hh bmdlIHRvIFhlbmJ1c1N0YXRlQ2xvc2VkIGFuZCBjbGVhbmluZyBhdCBvdXIgZW5kLgorCSAqIE5v cm1hbGx5IHdoZW4gZnJvbnQgZHJpdmVyIHJlbW92ZWQgYmFja2VuZCB3aWxsIGZpbmFsbHkgZ28g aW50bworCSAqIFhlbmJ1c1N0YXRlSW5pdFdhaXQgc3RhdGUuCisJICoKKwkgKiBXb3JrYXJvdW5k OiByZWFkIGJhY2tlbmQncyBzdGF0ZSBtYW51YWxseSBhbmQgd2FpdCB3aXRoIHRpbWUtb3V0Lgor CSAqLworCXdoaWxlICgoeGVuYnVzX3JlYWRfdW5zaWduZWQoZnJvbnRfaW5mby0+eGJfZGV2LT5v dGhlcmVuZCwKKwkJCSJzdGF0ZSIsIFhlbmJ1c1N0YXRlVW5rbm93bikgIT0gWGVuYnVzU3RhdGVJ bml0V2FpdCkgJiYKKwkJCXRvLS0pCisJCW1zbGVlcCgxMCk7CisKKwlpZiAoIXRvKQorCQlEUk1f RVJST1IoIkJhY2tlbmQgc3RhdGUgaXMgJXMgd2hpbGUgcmVtb3ZpbmcgZHJpdmVyXG4iLAorCQkJ eGVuYnVzX3N0cnN0YXRlKHhlbmJ1c19yZWFkX3Vuc2lnbmVkKAorCQkJCQlmcm9udF9pbmZvLT54 Yl9kZXYtPm90aGVyZW5kLAorCQkJCQkic3RhdGUiLCBYZW5idXNTdGF0ZVVua25vd24pKSk7CisK Kwl4ZW5fZHJ2X3JlbW92ZV9pbnRlcm5hbChmcm9udF9pbmZvKTsKKwl4ZW5idXNfZnJvbnRlbmRf Y2xvc2VkKGRldik7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS94ZW4veGVuX2RybV9mcm9udC5oIGIvZHJpdmVycy9ncHUvZHJtL3hlbi94ZW5fZHJtX2Zyb250 LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44YWY0Njg1MGYxMjYK LS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0veGVuL3hlbl9kcm1fZnJvbnQuaApA QCAtMCwwICsxLDI2IEBACisvKgorICogIFhlbiBwYXJhLXZpcnR1YWwgRFJNIGRldmljZQorICoK KyAqICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKKyAqICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICAgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAg KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgorICogICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCisgKiAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTggRVBBTSBTeXN0ZW1z IEluYy4KKyAqCisgKiBBdXRob3I6IE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIDxvbGVrc2FuZHJf YW5kcnVzaGNoZW5rb0BlcGFtLmNvbT4KKyAqLworCisjaWZuZGVmIF9fWEVOX0RSTV9GUk9OVF9I XworI2RlZmluZSBfX1hFTl9EUk1fRlJPTlRfSF8KKworc3RydWN0IHhlbl9kcm1fZnJvbnRfaW5m byB7CisJc3RydWN0IHhlbmJ1c19kZXZpY2UgKnhiX2RldjsKK307CisKKyNlbmRpZiAvKiBfX1hF Tl9EUk1fRlJPTlRfSF8gKi8KLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp c3RpbmZvL3hlbi1kZXZlbA==