From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH] drm/i915: Check lane sharing between pipes B & C using atomic state Date: Fri, 27 Mar 2015 15:00:08 +0200 Message-ID: <1427461208-26204-1-git-send-email-ander.conselvan.de.oliveira@intel.com> References: <20150327090859.GP23521@phenom.ffwll.local> 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 7B3916EB7C for ; Fri, 27 Mar 2015 06:00:45 -0700 (PDT) In-Reply-To: <20150327090859.GP23521@phenom.ffwll.local> 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, daniel@ffwll.ch Cc: Ander Conselvan de Oliveira List-Id: intel-gfx@lists.freedesktop.org TWFrZXMgdGhhdCBjb2RlIGF0b21pYyByZWFkeS4KCnYyOiBBY3F1aXJlIGNydGNfc3RhdGUgZm9y IHRoZSAib3RoZXIiIHBpcGUgb25seSB3aGVuIG5lZWRlZC4gKERhbmllbCkKU2lnbmVkLW9mZi1i eTogQW5kZXIgQ29uc2VsdmFuIGRlIE9saXZlaXJhIDxhbmRlci5jb25zZWx2YW4uZGUub2xpdmVp cmFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8 IDY1ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDM5IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwppbmRleCBkYzlhNWMxLi42OGZlOGI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCkBAIC01NjY5LDY1ICs1NjY5LDc4IEBAIGJvb2wgaW50ZWxfY29ubmVjdG9y X2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAJcmV0dXJu IGVuY29kZXItPmdldF9od19zdGF0ZShlbmNvZGVyLCAmcGlwZSk7CiB9CiAKLXN0YXRpYyBpbnQg cGlwZV9yZXF1aXJlZF9mZGlfbGFuZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBwaXBl IHBpcGUpCitzdGF0aWMgaW50IHBpcGVfcmVxdWlyZWRfZmRpX2xhbmVzKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0KLQkJ dG9faW50ZWxfY3J0YyhpbnRlbF9nZXRfY3J0Y19mb3JfcGlwZShkZXYsIHBpcGUpKTsKLQotCWlm IChjcnRjLT5iYXNlLnN0YXRlLT5lbmFibGUgJiYKLQkgICAgY3J0Yy0+Y29uZmlnLT5oYXNfcGNo X2VuY29kZXIpCi0JCXJldHVybiBjcnRjLT5jb25maWctPmZkaV9sYW5lczsKKwlpZiAoY3J0Y19z dGF0ZS0+YmFzZS5lbmFibGUgJiYgY3J0Y19zdGF0ZS0+aGFzX3BjaF9lbmNvZGVyKQorCQlyZXR1 cm4gY3J0Y19zdGF0ZS0+ZmRpX2xhbmVzOwogCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBib29s IGlyb25sYWtlX2NoZWNrX2ZkaV9sYW5lcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBp cGUgcGlwZSwKK3N0YXRpYyBpbnQgaXJvbmxha2VfY2hlY2tfZmRpX2xhbmVzKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIGVudW0gcGlwZSBwaXBlLAogCQkJCSAgICAgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKnBpcGVfY29uZmlnKQogeworCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSA9 IHBpcGVfY29uZmlnLT5iYXNlLnN0YXRlOworCXN0cnVjdCBpbnRlbF9jcnRjICpvdGhlcl9jcnRj OworCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvdGhlcl9jcnRjX3N0YXRlOworCiAJRFJNX0RF QlVHX0tNUygiY2hlY2tpbmcgZmRpIGNvbmZpZyBvbiBwaXBlICVjLCBsYW5lcyAlaVxuIiwKIAkJ ICAgICAgcGlwZV9uYW1lKHBpcGUpLCBwaXBlX2NvbmZpZy0+ZmRpX2xhbmVzKTsKIAlpZiAocGlw ZV9jb25maWctPmZkaV9sYW5lcyA+IDQpIHsKIAkJRFJNX0RFQlVHX0tNUygiaW52YWxpZCBmZGkg bGFuZSBjb25maWcgb24gcGlwZSAlYzogJWkgbGFuZXNcbiIsCiAJCQkgICAgICBwaXBlX25hbWUo cGlwZSksIHBpcGVfY29uZmlnLT5mZGlfbGFuZXMpOwotCQlyZXR1cm4gZmFsc2U7CisJCXJldHVy biAtRUlOVkFMOwogCX0KIAogCWlmIChJU19IQVNXRUxMKGRldikgfHwgSVNfQlJPQURXRUxMKGRl dikpIHsKIAkJaWYgKHBpcGVfY29uZmlnLT5mZGlfbGFuZXMgPiAyKSB7CiAJCQlEUk1fREVCVUdf S01TKCJvbmx5IDIgbGFuZXMgb24gaGFzd2VsbCwgcmVxdWlyZWQ6ICVpIGxhbmVzXG4iLAogCQkJ CSAgICAgIHBpcGVfY29uZmlnLT5mZGlfbGFuZXMpOwotCQkJcmV0dXJuIGZhbHNlOworCQkJcmV0 dXJuIC1FSU5WQUw7CiAJCX0gZWxzZSB7Ci0JCQlyZXR1cm4gdHJ1ZTsKKwkJCXJldHVybiAwOwog CQl9CiAJfQogCiAJaWYgKElOVEVMX0lORk8oZGV2KS0+bnVtX3BpcGVzID09IDIpCi0JCXJldHVy biB0cnVlOworCQlyZXR1cm4gMDsKIAogCS8qIEl2eWJyaWRnZSAzIHBpcGUgaXMgcmVhbGx5IGNv bXBsaWNhdGVkICovCiAJc3dpdGNoIChwaXBlKSB7CiAJY2FzZSBQSVBFX0E6Ci0JCXJldHVybiB0 cnVlOworCQlyZXR1cm4gMDsKIAljYXNlIFBJUEVfQjoKKwkJb3RoZXJfY3J0YyA9IHRvX2ludGVs X2NydGMoaW50ZWxfZ2V0X2NydGNfZm9yX3BpcGUoZGV2LCBQSVBFX0MpKTsKKwkJb3RoZXJfY3J0 Y19zdGF0ZSA9CisJCQlpbnRlbF9hdG9taWNfZ2V0X2NydGNfc3RhdGUoc3RhdGUsIG90aGVyX2Ny dGMpOworCQlpZiAoSVNfRVJSKG90aGVyX2NydGNfc3RhdGUpKQorCQkJcmV0dXJuIFBUUl9FUlIo b3RoZXJfY3J0Y19zdGF0ZSk7CisKIAkJaWYgKHBpcGVfY29uZmlnLT5mZGlfbGFuZXMgPiAyICYm Ci0JCSAgICBwaXBlX3JlcXVpcmVkX2ZkaV9sYW5lcyhkZXYsIFBJUEVfQykgPiAwKSB7CisJCSAg ICBwaXBlX3JlcXVpcmVkX2ZkaV9sYW5lcyhvdGhlcl9jcnRjX3N0YXRlKSA+IDApIHsKIAkJCURS TV9ERUJVR19LTVMoImludmFsaWQgc2hhcmVkIGZkaSBsYW5lIGNvbmZpZyBvbiBwaXBlICVjOiAl aSBsYW5lc1xuIiwKIAkJCQkgICAgICBwaXBlX25hbWUocGlwZSksIHBpcGVfY29uZmlnLT5mZGlf bGFuZXMpOwotCQkJcmV0dXJuIGZhbHNlOworCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KLQkJcmV0 dXJuIHRydWU7CisJCXJldHVybiAwOwogCWNhc2UgUElQRV9DOgogCQlpZiAocGlwZV9jb25maWct PmZkaV9sYW5lcyA+IDIpIHsKIAkJCURSTV9ERUJVR19LTVMoIm9ubHkgMiBsYW5lcyBvbiBwaXBl ICVjOiByZXF1aXJlZCAlaSBsYW5lc1xuIiwKIAkJCQkgICAgICBwaXBlX25hbWUocGlwZSksIHBp cGVfY29uZmlnLT5mZGlfbGFuZXMpOwotCQkJcmV0dXJuIGZhbHNlOworCQkJcmV0dXJuIC1FSU5W QUw7CiAJCX0KLQkJaWYgKHBpcGVfcmVxdWlyZWRfZmRpX2xhbmVzKGRldiwgUElQRV9CKSA+IDIp IHsKKworCQlvdGhlcl9jcnRjID0gdG9faW50ZWxfY3J0YyhpbnRlbF9nZXRfY3J0Y19mb3JfcGlw ZShkZXYsIFBJUEVfQikpOworCQlvdGhlcl9jcnRjX3N0YXRlID0KKwkJCWludGVsX2F0b21pY19n ZXRfY3J0Y19zdGF0ZShzdGF0ZSwgb3RoZXJfY3J0Yyk7CisJCWlmIChJU19FUlIob3RoZXJfY3J0 Y19zdGF0ZSkpCisJCQlyZXR1cm4gUFRSX0VSUihvdGhlcl9jcnRjX3N0YXRlKTsKKworCQlpZiAo cGlwZV9yZXF1aXJlZF9mZGlfbGFuZXMob3RoZXJfY3J0Y19zdGF0ZSkgPiAyKSB7CiAJCQlEUk1f REVCVUdfS01TKCJmZGkgbGluayBCIHVzZXMgdG9vIG1hbnkgbGFuZXMgdG8gZW5hYmxlIGxpbmsg Q1xuIik7Ci0JCQlyZXR1cm4gZmFsc2U7CisJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfQotCQlyZXR1 cm4gdHJ1ZTsKKwkJcmV0dXJuIDA7CiAJZGVmYXVsdDoKIAkJQlVHKCk7CiAJfQpAQCAtNTczOSw4 ICs1NzUyLDggQEAgc3RhdGljIGludCBpcm9ubGFrZV9mZGlfY29tcHV0ZV9jb25maWcoc3RydWN0 IGludGVsX2NydGMgKmludGVsX2NydGMsCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGlu dGVsX2NydGMtPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9t b2RlID0gJnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Ci0JaW50IGxhbmUsIGxpbmtf YncsIGZkaV9kb3RjbG9jazsKLQlib29sIHNldHVwX29rLCBuZWVkc19yZWNvbXB1dGUgPSBmYWxz ZTsKKwlpbnQgbGFuZSwgbGlua19idywgZmRpX2RvdGNsb2NrLCByZXQ7CisJYm9vbCBuZWVkc19y ZWNvbXB1dGUgPSBmYWxzZTsKIAogcmV0cnk6CiAJLyogRkRJIGlzIGEgYmluYXJ5IHNpZ25hbCBy dW5uaW5nIGF0IH4yLjdHSHosIGVuY29kaW5nCkBAIC01NzYyLDkgKzU3NzUsOSBAQCByZXRyeToK IAlpbnRlbF9saW5rX2NvbXB1dGVfbV9uKHBpcGVfY29uZmlnLT5waXBlX2JwcCwgbGFuZSwgZmRp X2RvdGNsb2NrLAogCQkJICAgICAgIGxpbmtfYncsICZwaXBlX2NvbmZpZy0+ZmRpX21fbik7CiAK LQlzZXR1cF9vayA9IGlyb25sYWtlX2NoZWNrX2ZkaV9sYW5lcyhpbnRlbF9jcnRjLT5iYXNlLmRl diwKLQkJCQkJICAgIGludGVsX2NydGMtPnBpcGUsIHBpcGVfY29uZmlnKTsKLQlpZiAoIXNldHVw X29rICYmIHBpcGVfY29uZmlnLT5waXBlX2JwcCA+IDYqMykgeworCXJldCA9IGlyb25sYWtlX2No ZWNrX2ZkaV9sYW5lcyhpbnRlbF9jcnRjLT5iYXNlLmRldiwKKwkJCQkgICAgICAgaW50ZWxfY3J0 Yy0+cGlwZSwgcGlwZV9jb25maWcpOworCWlmIChyZXQgPT0gLUVJTlZBTCAmJiBwaXBlX2NvbmZp Zy0+cGlwZV9icHAgPiA2KjMpIHsKIAkJcGlwZV9jb25maWctPnBpcGVfYnBwIC09IDIqMzsKIAkJ RFJNX0RFQlVHX0tNUygiZmRpIGxpbmsgYncgY29uc3RyYWludCwgcmVkdWNpbmcgcGlwZSBicHAg dG8gJWlcbiIsCiAJCQkgICAgICBwaXBlX2NvbmZpZy0+cGlwZV9icHApOwpAQCAtNTc3Nyw3ICs1 NzkwLDcgQEAgcmV0cnk6CiAJaWYgKG5lZWRzX3JlY29tcHV0ZSkKIAkJcmV0dXJuIFJFVFJZOwog Ci0JcmV0dXJuIHNldHVwX29rID8gMCA6IC1FSU5WQUw7CisJcmV0dXJuIHJldDsKIH0KIAogc3Rh dGljIHZvaWQgaHN3X2NvbXB1dGVfaXBzX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywK LS0gCjIuMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=