From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Thomas=20Hellstr=C3=B6m=20=28VMware=29?= Subject: [PATCH 1/2] drm/vmwgfx: Use the backdoor port if the HB port is not available Date: Wed, 12 Jun 2019 08:03:17 +0200 Message-ID: <20190612060318.42151-1-thellstrom@vmwopensource.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from ste-pvt-msa1.bahnhof.se (ste-pvt-msa1.bahnhof.se [213.80.101.70]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6B1318921B for ; Wed, 12 Jun 2019 06:04:00 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Thomas Hellstrom , Deepak Rawat , stable@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogVGhvbWFzIEhlbGxzdHJvbSA8dGhlbGxzdHJvbUB2bXdhcmUuY29tPgoKVGhlIEhCIHBv cnQgbWF5IG5vdCBiZSBhdmFpbGFibGUgZm9yIHZhcmlvdXMgcmVhc29ucy4gRWl0aGVyIGl0IGhh cyBiZWVuCmRpc2FibGVkIGJ5IGEgY29uZmlnIG9wdGlvbiBvciBieSB0aGUgaHlwZXJ2aXNvciBm b3Igb3RoZXIgcmVhc29ucy4KSW4gdGhhdCBjYXNlLCBtYWtlIHN1cmUgd2UgaGF2ZSBhIGJhY2t1 cCBwbGFuIGFuZCB1c2UgdGhlIGJhY2tkb29yIHBvcnQKaW5zdGVhZCB3aXRoIGEgcGVyZm9ybWFu Y2UgcGVuYWx0eS4KCkNjOiBzdGFibGVAdmdlci5rZXJuZWwub3JnCkZpeGVzOiA4OWRhNzZmZGU2 OGQgKCJkcm0vdm13Z2Z4OiBBZGQgVk1XYXJlIGhvc3QgbWVzc2FnaW5nIGNhcGFiaWxpdHkiKQpT aWduZWQtb2ZmLWJ5OiBUaG9tYXMgSGVsbHN0cm9tIDx0aGVsbHN0cm9tQHZtd2FyZS5jb20+ClJl dmlld2VkLWJ5OiBEZWVwYWsgUmF3YXQgPGRyYXdhdEB2bXdhcmUuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS92bXdnZngvdm13Z2Z4X21zZy5jIHwgMTQ2ICsrKysrKysrKysrKysrKysrKysrKyst LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMTcgaW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfbXNnLmMgYi9kcml2 ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9tc2cuYwppbmRleCA4YjkyNzBmMzE0MDkuLmU0ZTA5 ZDQ3YzVjMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfbXNnLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfbXNnLmMKQEAgLTEzNiw2ICsxMzYs MTE0IEBAIHN0YXRpYyBpbnQgdm13X2Nsb3NlX2NoYW5uZWwoc3RydWN0IHJwY19jaGFubmVsICpj aGFubmVsKQogCXJldHVybiAwOwogfQogCisvKioKKyAqIHZtd19wb3J0X2hiX291dCAtIFNlbmQg dGhlIG1lc3NhZ2UgcGF5bG9hZCBlaXRoZXIgdGhyb3VnaCB0aGUKKyAqIGhpZ2gtYmFuZHdpZHRo IHBvcnQgaWYgYXZhaWxhYmxlLCBvciB0aHJvdWdoIHRoZSBiYWNrZG9vciBvdGhlcndpc2UuCisg KiBAY2hhbm5lbDogVGhlIHJwYyBjaGFubmVsLgorICogQG1zZzogTlVMTC10ZXJtaW5hdGVkIG1l c3NhZ2UuCisgKiBAaGI6IFdoZXRoZXIgdGhlIGhpZ2gtYmFuZHdpZHRoIHBvcnQgaXMgYXZhaWxh YmxlLgorICoKKyAqIFJldHVybjogVGhlIHBvcnQgc3RhdHVzLgorICovCitzdGF0aWMgdW5zaWdu ZWQgbG9uZyB2bXdfcG9ydF9oYl9vdXQoc3RydWN0IHJwY19jaGFubmVsICpjaGFubmVsLAorCQkJ CSAgICAgY29uc3QgY2hhciAqbXNnLCBib29sIGhiKQoreworCXVuc2lnbmVkIGxvbmcgc2ksIGRp LCBlYXgsIGVieCwgZWN4LCBlZHg7CisJdW5zaWduZWQgbG9uZyBtc2dfbGVuID0gc3RybGVuKG1z Zyk7CisKKwlpZiAoaGIpIHsKKwkJdW5zaWduZWQgbG9uZyBicCA9IGNoYW5uZWwtPmNvb2tpZV9o aWdoOworCisJCXNpID0gKHVpbnRwdHJfdCkgbXNnOworCQlkaSA9IGNoYW5uZWwtPmNvb2tpZV9s b3c7CisKKwkJVk1XX1BPUlRfSEJfT1VUKAorCQkJKE1FU1NBR0VfU1RBVFVTX1NVQ0NFU1MgPDwg MTYpIHwgVk1XX1BPUlRfQ01EX0hCX01TRywKKwkJCW1zZ19sZW4sIHNpLCBkaSwKKwkJCVZNV19I WVBFUlZJU09SX0hCX1BPUlQgfCAoY2hhbm5lbC0+Y2hhbm5lbF9pZCA8PCAxNiksCisJCQlWTVdf SFlQRVJWSVNPUl9NQUdJQywgYnAsCisJCQllYXgsIGVieCwgZWN4LCBlZHgsIHNpLCBkaSk7CisK KwkJcmV0dXJuIGVieDsKKwl9CisKKwkvKiBIQiBwb3J0IG5vdCBhdmFpbGFibGUuIFNlbmQgdGhl IG1lc3NhZ2UgNCBieXRlcyBhdCBhIHRpbWUuICovCisJZWN4ID0gTUVTU0FHRV9TVEFUVVNfU1VD Q0VTUyA8PCAxNjsKKwl3aGlsZSAobXNnX2xlbiAmJiAoSElHSF9XT1JEKGVjeCkgJiBNRVNTQUdF X1NUQVRVU19TVUNDRVNTKSkgeworCQl1bnNpZ25lZCBpbnQgYnl0ZXMgPSBtaW5fdChzaXplX3Qs IG1zZ19sZW4sIDQpOworCQl1bnNpZ25lZCBsb25nIHdvcmQgPSAwOworCisJCW1lbWNweSgmd29y ZCwgbXNnLCBieXRlcyk7CisJCW1zZ19sZW4gLT0gYnl0ZXM7CisJCW1zZyArPSBieXRlczsKKwkJ c2kgPSBjaGFubmVsLT5jb29raWVfaGlnaDsKKwkJZGkgPSBjaGFubmVsLT5jb29raWVfbG93Owor CisJCVZNV19QT1JUKFZNV19QT1JUX0NNRF9NU0cgfCAoTVNHX1RZUEVfU0VORFBBWUxPQUQgPDwg MTYpLAorCQkJIHdvcmQsIHNpLCBkaSwKKwkJCSBWTVdfSFlQRVJWSVNPUl9QT1JUIHwgKGNoYW5u ZWwtPmNoYW5uZWxfaWQgPDwgMTYpLAorCQkJIFZNV19IWVBFUlZJU09SX01BR0lDLAorCQkJIGVh eCwgZWJ4LCBlY3gsIGVkeCwgc2ksIGRpKTsKKwl9CisKKwlyZXR1cm4gZWN4OworfQorCisvKioK KyAqIHZtd19wb3J0X2hiX2luIC0gUmVjZWl2ZSB0aGUgbWVzc2FnZSBwYXlsb2FkIGVpdGhlciB0 aHJvdWdoIHRoZQorICogaGlnaC1iYW5kd2lkdGggcG9ydCBpZiBhdmFpbGFibGUsIG9yIHRocm91 Z2ggdGhlIGJhY2tkb29yIG90aGVyd2lzZS4KKyAqIEBjaGFubmVsOiBUaGUgcnBjIGNoYW5uZWwu CisgKiBAcmVwbHk6IFBvaW50ZXIgdG8gYnVmZmVyIGhvbGRpbmcgcmVwbHkuCisgKiBAcmVwbHlf bGVuOiBMZW5ndGggb2YgdGhlIHJlcGx5LgorICogQGhiOiBXaGV0aGVyIHRoZSBoaWdoLWJhbmR3 aWR0aCBwb3J0IGlzIGF2YWlsYWJsZS4KKyAqCisgKiBSZXR1cm46IFRoZSBwb3J0IHN0YXR1cy4K KyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgdm13X3BvcnRfaGJfaW4oc3RydWN0IHJwY19jaGFu bmVsICpjaGFubmVsLCBjaGFyICpyZXBseSwKKwkJCQkgICAgdW5zaWduZWQgbG9uZyByZXBseV9s ZW4sIGJvb2wgaGIpCit7CisJdW5zaWduZWQgbG9uZyBzaSwgZGksIGVheCwgZWJ4LCBlY3gsIGVk eDsKKworCWlmIChoYikgeworCQl1bnNpZ25lZCBsb25nIGJwID0gY2hhbm5lbC0+Y29va2llX2xv dzsKKworCQlzaSA9IGNoYW5uZWwtPmNvb2tpZV9oaWdoOworCQlkaSA9ICh1aW50cHRyX3QpIHJl cGx5OworCisJCVZNV19QT1JUX0hCX0lOKAorCQkJKE1FU1NBR0VfU1RBVFVTX1NVQ0NFU1MgPDwg MTYpIHwgVk1XX1BPUlRfQ01EX0hCX01TRywKKwkJCXJlcGx5X2xlbiwgc2ksIGRpLAorCQkJVk1X X0hZUEVSVklTT1JfSEJfUE9SVCB8IChjaGFubmVsLT5jaGFubmVsX2lkIDw8IDE2KSwKKwkJCVZN V19IWVBFUlZJU09SX01BR0lDLCBicCwKKwkJCWVheCwgZWJ4LCBlY3gsIGVkeCwgc2ksIGRpKTsK KworCQlyZXR1cm4gZWJ4OworCX0KKworCS8qIEhCIHBvcnQgbm90IGF2YWlsYWJsZS4gUmV0cmll dmUgdGhlIG1lc3NhZ2UgNCBieXRlcyBhdCBhIHRpbWUuICovCisJZWN4ID0gTUVTU0FHRV9TVEFU VVNfU1VDQ0VTUyA8PCAxNjsKKwl3aGlsZSAocmVwbHlfbGVuKSB7CisJCXVuc2lnbmVkIGludCBi eXRlcyA9IG1pbl90KHVuc2lnbmVkIGxvbmcsIHJlcGx5X2xlbiwgNCk7CisKKwkJc2kgPSBjaGFu bmVsLT5jb29raWVfaGlnaDsKKwkJZGkgPSBjaGFubmVsLT5jb29raWVfbG93OworCisJCVZNV19Q T1JUKFZNV19QT1JUX0NNRF9NU0cgfCAoTVNHX1RZUEVfUkVDVlBBWUxPQUQgPDwgMTYpLAorCQkJ IE1FU1NBR0VfU1RBVFVTX1NVQ0NFU1MsIHNpLCBkaSwKKwkJCSBWTVdfSFlQRVJWSVNPUl9QT1JU IHwgKGNoYW5uZWwtPmNoYW5uZWxfaWQgPDwgMTYpLAorCQkJIFZNV19IWVBFUlZJU09SX01BR0lD LAorCQkJIGVheCwgZWJ4LCBlY3gsIGVkeCwgc2ksIGRpKTsKKworCQlpZiAoKEhJR0hfV09SRChl Y3gpICYgTUVTU0FHRV9TVEFUVVNfU1VDQ0VTUykgPT0gMCkKKwkJCWJyZWFrOworCisJCW1lbWNw eShyZXBseSwgJmVieCwgYnl0ZXMpOworCQlyZXBseV9sZW4gLT0gYnl0ZXM7CisJCXJlcGx5ICs9 IGJ5dGVzOworCX0KKworCXJldHVybiBlY3g7Cit9CiAKIAogLyoqCkBAIC0xNDgsMTEgKzI1Niwx MCBAQCBzdGF0aWMgaW50IHZtd19jbG9zZV9jaGFubmVsKHN0cnVjdCBycGNfY2hhbm5lbCAqY2hh bm5lbCkKICAqLwogc3RhdGljIGludCB2bXdfc2VuZF9tc2coc3RydWN0IHJwY19jaGFubmVsICpj aGFubmVsLCBjb25zdCBjaGFyICptc2cpCiB7Ci0JdW5zaWduZWQgbG9uZyBlYXgsIGVieCwgZWN4 LCBlZHgsIHNpLCBkaSwgYnA7CisJdW5zaWduZWQgbG9uZyBlYXgsIGVieCwgZWN4LCBlZHgsIHNp LCBkaTsKIAlzaXplX3QgbXNnX2xlbiA9IHN0cmxlbihtc2cpOwogCWludCByZXRyaWVzID0gMDsK IAotCiAJd2hpbGUgKHJldHJpZXMgPCBSRVRSSUVTKSB7CiAJCXJldHJpZXMrKzsKIApAQCAtMTY2 LDIzICsyNzMsMTQgQEAgc3RhdGljIGludCB2bXdfc2VuZF9tc2coc3RydWN0IHJwY19jaGFubmVs ICpjaGFubmVsLCBjb25zdCBjaGFyICptc2cpCiAJCQlWTVdfSFlQRVJWSVNPUl9NQUdJQywKIAkJ CWVheCwgZWJ4LCBlY3gsIGVkeCwgc2ksIGRpKTsKIAotCQlpZiAoKEhJR0hfV09SRChlY3gpICYg TUVTU0FHRV9TVEFUVVNfU1VDQ0VTUykgPT0gMCB8fAotCQkgICAgKEhJR0hfV09SRChlY3gpICYg TUVTU0FHRV9TVEFUVVNfSEIpID09IDApIHsKLQkJCS8qIEV4cGVjdGVkIHN1Y2Nlc3MgKyBoaWdo LWJhbmR3aWR0aC4gR2l2ZSB1cC4gKi8KKwkJaWYgKChISUdIX1dPUkQoZWN4KSAmIE1FU1NBR0Vf U1RBVFVTX1NVQ0NFU1MpID09IDApIHsKKwkJCS8qIEV4cGVjdGVkIHN1Y2Nlc3MuIEdpdmUgdXAu ICovCiAJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfQogCiAJCS8qIFNlbmQgbXNnICovCi0JCXNpICA9 ICh1aW50cHRyX3QpIG1zZzsKLQkJZGkgID0gY2hhbm5lbC0+Y29va2llX2xvdzsKLQkJYnAgID0g Y2hhbm5lbC0+Y29va2llX2hpZ2g7Ci0KLQkJVk1XX1BPUlRfSEJfT1VUKAotCQkJKE1FU1NBR0Vf U1RBVFVTX1NVQ0NFU1MgPDwgMTYpIHwgVk1XX1BPUlRfQ01EX0hCX01TRywKLQkJCW1zZ19sZW4s IHNpLCBkaSwKLQkJCVZNV19IWVBFUlZJU09SX0hCX1BPUlQgfCAoY2hhbm5lbC0+Y2hhbm5lbF9p ZCA8PCAxNiksCi0JCQlWTVdfSFlQRVJWSVNPUl9NQUdJQywgYnAsCi0JCQllYXgsIGVieCwgZWN4 LCBlZHgsIHNpLCBkaSk7CisJCWVieCA9IHZtd19wb3J0X2hiX291dChjaGFubmVsLCBtc2csCisJ CQkJICAgICAgISEoSElHSF9XT1JEKGVjeCkgJiBNRVNTQUdFX1NUQVRVU19IQikpOwogCiAJCWlm ICgoSElHSF9XT1JEKGVieCkgJiBNRVNTQUdFX1NUQVRVU19TVUNDRVNTKSAhPSAwKSB7CiAJCQly ZXR1cm4gMDsKQEAgLTIxMSw3ICszMDksNyBAQCBTVEFDS19GUkFNRV9OT05fU1RBTkRBUkQodm13 X3NlbmRfbXNnKTsKIHN0YXRpYyBpbnQgdm13X3JlY3ZfbXNnKHN0cnVjdCBycGNfY2hhbm5lbCAq Y2hhbm5lbCwgdm9pZCAqKm1zZywKIAkJCXNpemVfdCAqbXNnX2xlbikKIHsKLQl1bnNpZ25lZCBs b25nIGVheCwgZWJ4LCBlY3gsIGVkeCwgc2ksIGRpLCBicDsKKwl1bnNpZ25lZCBsb25nIGVheCwg ZWJ4LCBlY3gsIGVkeCwgc2ksIGRpOwogCWNoYXIgKnJlcGx5OwogCXNpemVfdCByZXBseV9sZW47 CiAJaW50IHJldHJpZXMgPSAwOwpAQCAtMjMzLDggKzMzMSw3IEBAIHN0YXRpYyBpbnQgdm13X3Jl Y3ZfbXNnKHN0cnVjdCBycGNfY2hhbm5lbCAqY2hhbm5lbCwgdm9pZCAqKm1zZywKIAkJCVZNV19I WVBFUlZJU09SX01BR0lDLAogCQkJZWF4LCBlYngsIGVjeCwgZWR4LCBzaSwgZGkpOwogCi0JCWlm ICgoSElHSF9XT1JEKGVjeCkgJiBNRVNTQUdFX1NUQVRVU19TVUNDRVNTKSA9PSAwIHx8Ci0JCSAg ICAoSElHSF9XT1JEKGVjeCkgJiBNRVNTQUdFX1NUQVRVU19IQikgPT0gMCkgeworCQlpZiAoKEhJ R0hfV09SRChlY3gpICYgTUVTU0FHRV9TVEFUVVNfU1VDQ0VTUykgPT0gMCkgewogCQkJRFJNX0VS Uk9SKCJGYWlsZWQgdG8gZ2V0IHJlcGx5IHNpemUgZm9yIGhvc3QgbWVzc2FnZS5cbiIpOwogCQkJ cmV0dXJuIC1FSU5WQUw7CiAJCX0KQEAgLTI1MiwxNyArMzQ5LDggQEAgc3RhdGljIGludCB2bXdf cmVjdl9tc2coc3RydWN0IHJwY19jaGFubmVsICpjaGFubmVsLCB2b2lkICoqbXNnLAogCiAKIAkJ LyogUmVjZWl2ZSBidWZmZXIgKi8KLQkJc2kgID0gY2hhbm5lbC0+Y29va2llX2hpZ2g7Ci0JCWRp ICA9ICh1aW50cHRyX3QpIHJlcGx5OwotCQlicCAgPSBjaGFubmVsLT5jb29raWVfbG93OwotCi0J CVZNV19QT1JUX0hCX0lOKAotCQkJKE1FU1NBR0VfU1RBVFVTX1NVQ0NFU1MgPDwgMTYpIHwgVk1X X1BPUlRfQ01EX0hCX01TRywKLQkJCXJlcGx5X2xlbiwgc2ksIGRpLAotCQkJVk1XX0hZUEVSVklT T1JfSEJfUE9SVCB8IChjaGFubmVsLT5jaGFubmVsX2lkIDw8IDE2KSwKLQkJCVZNV19IWVBFUlZJ U09SX01BR0lDLCBicCwKLQkJCWVheCwgZWJ4LCBlY3gsIGVkeCwgc2ksIGRpKTsKLQorCQllYngg PSB2bXdfcG9ydF9oYl9pbihjaGFubmVsLCByZXBseSwgcmVwbHlfbGVuLAorCQkJCSAgICAgISEo SElHSF9XT1JEKGVjeCkgJiBNRVNTQUdFX1NUQVRVU19IQikpOwogCQlpZiAoKEhJR0hfV09SRChl YngpICYgTUVTU0FHRV9TVEFUVVNfU1VDQ0VTUykgPT0gMCkgewogCQkJa2ZyZWUocmVwbHkpOwog Ci0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bA==