From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DCD88C433DB for ; Sat, 20 Feb 2021 11:10:53 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 815CF64ED6 for ; Sat, 20 Feb 2021 11:10:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 815CF64ED6 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=chris-wilson.co.uk Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0F5D96E14D; Sat, 20 Feb 2021 11:10:53 +0000 (UTC) Received: from fireflyinternet.com (unknown [77.68.26.236]) by gabe.freedesktop.org (Postfix) with ESMTPS id D8C6D6E14D for ; Sat, 20 Feb 2021 11:10:51 +0000 (UTC) X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=78.156.69.177; Received: from build.alporthouse.com (unverified [78.156.69.177]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP id 23919965-1500050 for multiple; Sat, 20 Feb 2021 11:10:38 +0000 From: Chris Wilson To: intel-gfx@lists.freedesktop.org Date: Sat, 20 Feb 2021 11:10:38 +0000 Message-Id: <20210220111038.25050-1-chris@chris-wilson.co.uk> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210215155616.26330-3-chris@chris-wilson.co.uk> References: <20210215155616.26330-3-chris@chris-wilson.co.uk> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH] drm/i915: Refine VT-d scanout workaround X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Matthew Auld , Chris Wilson Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" VlQtZCBtYXkgY2F1c2Ugb3ZlcmZldGNoIG9mIHRoZSBzY2Fub3V0IFBURSwgYm90aCBiZWZvcmUg YW5kIGFmdGVyIHRoZQp2bWEgKGRlcGVuZGluZyBvbiB0aGUgc2Nhbm91dCBvcmllbnRhdGlvbiku IGJzcGVjIHJlY29tbWVuZHMgdGhhdCB3ZQpwcm92aWRlIGEgdGlsZS1yb3cgaW4gZWl0aGVyIGRp cmVjdGlvbnMsIGFuZCBzdWdnZXN0cyB1c2luZyAxNjggUFRFLAp3YXJuaW5nIHRoYXQgdGhlIGFj Y2Vzc2VzIHdpbGwgd3JhcCBhcm91bmQgdGhlIGVuZHMgb2YgdGhlIEdHVFQuCkN1cnJlbnRseSwg d2UgZmlsbCB0aGUgZW50aXJlIEdHVFQgd2l0aCBzY3JhdGNoIHBhZ2VzIHdoZW4gdXNpbmcgVlQt ZCB0bwphbHdheXMgZW5zdXJlIHRoZXJlIGFyZSB2YWxpZCBlbnRyaWVzIGFyb3VuZCBldmVyeSB2 bWEsIGluY2x1ZGluZwpzY2Fub3V0LiBIb3dldmVyLCB3cml0aW5nIGV2ZXJ5IFBURSBpcyBzbG93 IGFzIG9uIHJlY2VudCBkZXZpY2VzIHdlCnBlcmZvcm0gOE1pQiBvZiB1bmNhY2hlZCB3cml0ZXMs IGluY3VycmluZyBhbiBleHRyYSAxMDBtcyBkdXJpbmcgcmVzdW1lLgoKSWYgaW5zdGVhZCB3ZSBm b2N1cyBvbiBvbmx5IHB1dHRpbmcgZ3VhcmQgcGFnZXMgYXJvdW5kIHNjYW5vdXQsIHdlIGNhbgph dm9pZCB0b3VjaGluZyB0aGUgd2hvbGUgR0dUVC4gVG8gYXZvaWQgaGF2aW5nIHRvIGludHJvZHVj ZSBleHRyYSBub2Rlcwphcm91bmQgZWFjaCBzY2Fub3V0IHZtYSwgd2UgYWRqdXN0IHRoZSBzY2Fu b3V0IGRybV9tbV9ub2RlIHRvIGJlIHNtYWxsZXIKdGhhbiB0aGUgYWxsb2NhdGVkIHNwYWNlLCBh bmQgZml4dXAgdGhlIGV4dHJhIFBURSBkdXJpbmcgZG1hIGJpbmRpbmcuCgp2MjogTW92ZSB0aGUg Z3VhcmQgZnJvbSBtb2RpZnlpbmcgZHJtX21tX25vZGUuc3RhcnQgd2hpY2ggaXMgc3RpbGwgdXNl ZApieSB0aGUgZHJtX21tIGl0c2VsZiwgaW50byBhbiBhZGp1c3RtZW50IG9mIG5vZGUuc3RhcnQg YXQgdGhlIHBvaW50IG9mCnVzZS4KCnYzOiBQYXNzIHRoZSByZXF1ZXN0ZWQgZ3VhcmQgcGFkZGlu ZyBmcm9tIHRoZSBjYWxsZXIsIHNvIHdlIGNhbiBkcm9wIHRoZQpWVC1kIHcvYSBrbm93bGVkZ2Ug ZnJvbSB0aGUgaTkxNV92bWEgYWxsb2NhdG9yLgoKdjQ6IEJ1bXAgbWluaW11bSBwYWRkaW5nIHRv IDE2OCBQVEUgYW5kIGNhdXRpb3VzbHkgZW5zdXJlIHRoYXQgYSBmdWxsCnRpbGUgcm93IGFyb3Vu ZCB0aGUgdm1hIGlzIGluY2x1ZGVkIHdpdGggdGhlIGd1YXJkLgoKU2lnbmVkLW9mZi1ieTogQ2hy aXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBWaWxsZSBTeXJqw6Rsw6Qg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzogTWF0dGhldyBBdWxkIDxtYXR0aGV3 LmF1bGRAaW50ZWwuY29tPgpDYzogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgpSZXZp ZXdlZC1ieTogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9kb21haW4uYyB8IDEzICsrKysrKysrKysrCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9nZ3R0LmMgICAgICAgfCAyNSArLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCAgICAgICAg fCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jICAgICAgICAgICAgfCAgOCAr KysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9kb21haW4u YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9kb21haW4uYwppbmRleCAwNDc4 YjA2OWMyMDIuLjMyYjEzYWYwZDNkZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX2RvbWFpbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9kb21haW4uYwpAQCAtMTYsNiArMTYsOCBAQAogI2luY2x1ZGUgImk5MTVfZ2VtX2xtZW0u aCIKICNpbmNsdWRlICJpOTE1X2dlbV9tbWFuLmgiCiAKKyNkZWZpbmUgVlREX0dVQVJEICgxNjh1 ICogSTkxNV9HVFRfUEFHRV9TSVpFKSAvKiAxNjggb3IgdGlsZS1yb3cgUFRFIHBhZGRpbmcgKi8K Kwogc3RhdGljIGJvb2wgZ3B1X3dyaXRlX25lZWRzX2NsZmx1c2goc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaikKIHsKIAlyZXR1cm4gIShvYmotPmNhY2hlX2xldmVsID09IEk5MTVfQ0FD SEVfTk9ORSB8fApAQCAtMzQ1LDYgKzM0NywxNyBAQCBpOTE1X2dlbV9vYmplY3RfcGluX3RvX2Rp c3BsYXlfcGxhbmUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlpZiAocmV0KQog CQlnb3RvIGVycjsKIAorCS8qIFZULWQgbWF5IG92ZXJmZXRjaCBiZWZvcmUvYWZ0ZXIgdGhlIHZt YSwgc28gcGFkIHdpdGggc2NyYXRjaCAqLworCWlmIChpbnRlbF9zY2Fub3V0X25lZWRzX3Z0ZF93 YShpOTE1KSkgeworCQl1bnNpZ25lZCBpbnQgZ3VhcmQgPSBWVERfR1VBUkQ7CisKKwkJaWYgKGk5 MTVfZ2VtX29iamVjdF9pc190aWxlZChvYmopKQorCQkJZ3VhcmQgPSBtYXgoZ3VhcmQsCisJCQkJ ICAgIGk5MTVfZ2VtX29iamVjdF9nZXRfdGlsZV9yb3dfc2l6ZShvYmopKTsKKworCQlmbGFncyB8 PSBQSU5fT0ZGU0VUX0dVQVJEIHwgZ3VhcmQ7CisJfQorCiAJLyoKIAkgKiBBcyB0aGUgdXNlciBt YXkgbWFwIHRoZSBidWZmZXIgb25jZSBwaW5uZWQgaW4gdGhlIGRpc3BsYXkgcGxhbmUKIAkgKiAo ZS5nLiBsaWJrbXMgZm9yIHRoZSBib290dXAgc3BsYXNoKSwgd2UgaGF2ZSB0byBlbnN1cmUgdGhh dCB3ZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ2d0dC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ2d0dC5jCmluZGV4IDZiMzI2MTM4ZTc2NS4u MjUxYjUwODg0ZDFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9n Z3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ2d0dC5jCkBAIC0zMTks MjcgKzMxOSw2IEBAIHN0YXRpYyB2b2lkIG5vcF9jbGVhcl9yYW5nZShzdHJ1Y3QgaTkxNV9hZGRy ZXNzX3NwYWNlICp2bSwKIHsKIH0KIAotc3RhdGljIHZvaWQgZ2VuOF9nZ3R0X2NsZWFyX3Jhbmdl KHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAotCQkJCSAgdTY0IHN0YXJ0LCB1NjQgbGVu Z3RoKQotewotCXN0cnVjdCBpOTE1X2dndHQgKmdndHQgPSBpOTE1X3ZtX3RvX2dndHQodm0pOwot CXVuc2lnbmVkIGludCBmaXJzdF9lbnRyeSA9IHN0YXJ0IC8gSTkxNV9HVFRfUEFHRV9TSVpFOwot CXVuc2lnbmVkIGludCBudW1fZW50cmllcyA9IGxlbmd0aCAvIEk5MTVfR1RUX1BBR0VfU0laRTsK LQljb25zdCBnZW44X3B0ZV90IHNjcmF0Y2hfcHRlID0gdm0tPnNjcmF0Y2hbMF0tPmVuY29kZTsK LQlnZW44X3B0ZV90IF9faW9tZW0gKmd0dF9iYXNlID0KLQkJKGdlbjhfcHRlX3QgX19pb21lbSAq KWdndHQtPmdzbSArIGZpcnN0X2VudHJ5OwotCWNvbnN0IGludCBtYXhfZW50cmllcyA9IGdndHRf dG90YWxfZW50cmllcyhnZ3R0KSAtIGZpcnN0X2VudHJ5OwotCWludCBpOwotCi0JaWYgKFdBUk4o bnVtX2VudHJpZXMgPiBtYXhfZW50cmllcywKLQkJICJGaXJzdCBlbnRyeSA9ICVkOyBOdW0gZW50 cmllcyA9ICVkIChtYXg9JWQpXG4iLAotCQkgZmlyc3RfZW50cnksIG51bV9lbnRyaWVzLCBtYXhf ZW50cmllcykpCi0JCW51bV9lbnRyaWVzID0gbWF4X2VudHJpZXM7Ci0KLQlmb3IgKGkgPSAwOyBp IDwgbnVtX2VudHJpZXM7IGkrKykKLQkJZ2VuOF9zZXRfcHRlKCZndHRfYmFzZVtpXSwgc2NyYXRj aF9wdGUpOwotfQotCiBzdGF0aWMgdm9pZCBieHRfdnRkX2dndHRfd2Eoc3RydWN0IGk5MTVfYWRk cmVzc19zcGFjZSAqdm0pCiB7CiAJLyoKQEAgLTkwNyw4ICs4ODYsNiBAQCBzdGF0aWMgaW50IGdl bjhfZ21jaF9wcm9iZShzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0KQogCWdndHQtPnZtLmNsZWFudXAg PSBnZW42X2dtY2hfcmVtb3ZlOwogCWdndHQtPnZtLmluc2VydF9wYWdlID0gZ2VuOF9nZ3R0X2lu c2VydF9wYWdlOwogCWdndHQtPnZtLmNsZWFyX3JhbmdlID0gbm9wX2NsZWFyX3JhbmdlOwotCWlm IChpbnRlbF9zY2Fub3V0X25lZWRzX3Z0ZF93YShpOTE1KSkKLQkJZ2d0dC0+dm0uY2xlYXJfcmFu Z2UgPSBnZW44X2dndHRfY2xlYXJfcmFuZ2U7CiAKIAlnZ3R0LT52bS5pbnNlcnRfZW50cmllcyA9 IGdlbjhfZ2d0dF9pbnNlcnRfZW50cmllczsKIApAQCAtMTA1NCw3ICsxMDMxLDcgQEAgc3RhdGlj IGludCBnZW42X2dtY2hfcHJvYmUoc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCkKIAlnZ3R0LT52bS5h bGxvY19wdF9kbWEgPSBhbGxvY19wdF9kbWE7CiAKIAlnZ3R0LT52bS5jbGVhcl9yYW5nZSA9IG5v cF9jbGVhcl9yYW5nZTsKLQlpZiAoIUhBU19GVUxMX1BQR1RUKGk5MTUpIHx8IGludGVsX3NjYW5v dXRfbmVlZHNfdnRkX3dhKGk5MTUpKQorCWlmICghSEFTX0ZVTExfUFBHVFQoaTkxNSkpCiAJCWdn dHQtPnZtLmNsZWFyX3JhbmdlID0gZ2VuNl9nZ3R0X2NsZWFyX3JhbmdlOwogCWdndHQtPnZtLmlu c2VydF9wYWdlID0gZ2VuNl9nZ3R0X2luc2VydF9wYWdlOwogCWdndHQtPnZtLmluc2VydF9lbnRy aWVzID0gZ2VuNl9nZ3R0X2luc2VydF9lbnRyaWVzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuaAppbmRleCBjOWIwZWU1ZTFkMjMuLmYzYWU5YWZkZWUxNSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZ3R0LmgKQEAgLTQxLDYgKzQxLDcgQEAgaW50IGk5MTVfZ2VtX2d0dF9pbnNlcnQo c3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAjZGVmaW5lIFBJTl9ISUdICQlCSVRfVUxM KDUpCiAjZGVmaW5lIFBJTl9PRkZTRVRfQklBUwkJQklUX1VMTCg2KQogI2RlZmluZSBQSU5fT0ZG U0VUX0ZJWEVECUJJVF9VTEwoNykKKyNkZWZpbmUgUElOX09GRlNFVF9HVUFSRAlCSVRfVUxMKDgp CiAKICNkZWZpbmUgUElOX0dMT0JBTAkJQklUX1VMTCgxMCkgLyogSTkxNV9WTUFfR0xPQkFMX0JJ TkQgKi8KICNkZWZpbmUgUElOX1VTRVIJCUJJVF9VTEwoMTEpIC8qIEk5MTVfVk1BX0xPQ0FMX0JJ TkQgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jCmluZGV4IDAxZTYyZWRmNDcwNC4uMDMwYjMxMjYy ZTY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMKQEAgLTU1Miw2ICs1NTIsOSBAQCBib29sIGk5 MTVfdm1hX21pc3BsYWNlZChjb25zdCBzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKIAkgICAgaTkxNV92 bWFfb2Zmc2V0KHZtYSkgIT0gKGZsYWdzICYgUElOX09GRlNFVF9NQVNLKSkKIAkJcmV0dXJuIHRy dWU7CiAKKwlpZiAoZmxhZ3MgJiBQSU5fT0ZGU0VUX0dVQVJEICYmIHZtYS0+Z3VhcmQgPCAoZmxh Z3MgJiBQSU5fT0ZGU0VUX01BU0spKQorCQlyZXR1cm4gdHJ1ZTsKKwogCXJldHVybiBmYWxzZTsK IH0KIApAQCAtNjI5LDYgKzYzMiw3IEBAIGk5MTVfdm1hX2luc2VydChzdHJ1Y3QgaTkxNV92bWEg KnZtYSwgdTY0IHNpemUsIHU2NCBhbGlnbm1lbnQsIHU2NCBmbGFncykKIAogCUdFTV9CVUdfT04o aTkxNV92bWFfaXNfYm91bmQodm1hLCBJOTE1X1ZNQV9HTE9CQUxfQklORCB8IEk5MTVfVk1BX0xP Q0FMX0JJTkQpKTsKIAlHRU1fQlVHX09OKGRybV9tbV9ub2RlX2FsbG9jYXRlZCgmdm1hLT5ub2Rl KSk7CisJR0VNX0JVR19PTihod2VpZ2h0NjQoZmxhZ3MgJiAoUElOX09GRlNFVF9HVUFSRCB8IFBJ Tl9PRkZTRVRfRklYRUQgfCBQSU5fT0ZGU0VUX0JJQVMpKSA+IDEpOwogCiAJc2l6ZSA9IG1heChz aXplLCB2bWEtPnNpemUpOwogCWFsaWdubWVudCA9IG1heF90KHR5cGVvZihhbGlnbm1lbnQpLCBh bGlnbm1lbnQsIHZtYS0+ZGlzcGxheV9hbGlnbm1lbnQpOwpAQCAtNjQzLDYgKzY0NywxMCBAQCBp OTE1X3ZtYV9pbnNlcnQoc3RydWN0IGk5MTVfdm1hICp2bWEsIHU2NCBzaXplLCB1NjQgYWxpZ25t ZW50LCB1NjQgZmxhZ3MpCiAJR0VNX0JVR19PTighaXNfcG93ZXJfb2ZfMihhbGlnbm1lbnQpKTsK IAogCWd1YXJkID0gdm1hLT5ndWFyZDsgLyogcmV0YWluIGd1YXJkIGFjcm9zcyByZWJpbmRzICov CisJaWYgKGZsYWdzICYgUElOX09GRlNFVF9HVUFSRCkgeworCQlHRU1fQlVHX09OKG92ZXJmbG93 c190eXBlKGZsYWdzICYgUElOX09GRlNFVF9NQVNLLCB1MzIpKTsKKwkJZ3VhcmQgPSBtYXhfdCh1 MzIsIGd1YXJkLCBmbGFncyAmIFBJTl9PRkZTRVRfTUFTSyk7CisJfQogCWd1YXJkID0gQUxJR04o Z3VhcmQsIGFsaWdubWVudCk7CiAKIAlzdGFydCA9IGZsYWdzICYgUElOX09GRlNFVF9CSUFTID8g ZmxhZ3MgJiBQSU5fT0ZGU0VUX01BU0sgOiAwOwotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK