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: Mon, 30 Mar 2015 08:33:12 +0300 Message-ID: <1427693592-12941-1-git-send-email-ander.conselvan.de.oliveira@intel.com> References: <20150327140357.GV23521@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id C88B86E53F for ; Sun, 29 Mar 2015 22:33:27 -0700 (PDT) In-Reply-To: <20150327140357.GV23521@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: daniel@ffwll.ch Cc: Ander Conselvan de Oliveira , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org TWFrZXMgdGhhdCBjb2RlIGF0b21pYyByZWFkeS4KCnYyOiBBY3F1aXJlIGNydGNfc3RhdGUgZm9y IHRoZSAib3RoZXIiIHBpcGUgb25seSB3aGVuIG5lZWRlZC4gKERhbmllbCkKCnYzOiBSZWFsbHkg b25seSBhY3F1aXJlIHRoZSBvdGhlciBzdGF0ZSBpZiBuZWNlc3NhcnkuIChEYW5pZWwpCi0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgNjkgKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwg MjcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDc1 OTU1ZmUuLmNmZTM0YzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTU2 NjcsNjUgKzU2NjcsODAgQEAgYm9vbCBpbnRlbF9jb25uZWN0b3JfZ2V0X2h3X3N0YXRlKHN0cnVj dCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlyZXR1cm4gZW5jb2Rlci0+Z2V0X2h3X3N0 YXRlKGVuY29kZXIsICZwaXBlKTsKIH0KIAotc3RhdGljIGludCBwaXBlX3JlcXVpcmVkX2ZkaV9s YW5lcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBpcGUgcGlwZSkKK3N0YXRpYyBpbnQg cGlwZV9yZXF1aXJlZF9mZGlfbGFuZXMoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPQotCQl0b19pbnRlbF9jcnRjKGludGVs X2dldF9jcnRjX2Zvcl9waXBlKGRldiwgcGlwZSkpOwotCi0JaWYgKGNydGMtPmJhc2Uuc3RhdGUt PmVuYWJsZSAmJgotCSAgICBjcnRjLT5jb25maWctPmhhc19wY2hfZW5jb2RlcikKLQkJcmV0dXJu IGNydGMtPmNvbmZpZy0+ZmRpX2xhbmVzOworCWlmIChjcnRjX3N0YXRlLT5iYXNlLmVuYWJsZSAm JiBjcnRjX3N0YXRlLT5oYXNfcGNoX2VuY29kZXIpCisJCXJldHVybiBjcnRjX3N0YXRlLT5mZGlf bGFuZXM7CiAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGJvb2wgaXJvbmxha2VfY2hlY2tfZmRp X2xhbmVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gcGlwZSBwaXBlLAorc3RhdGljIGlu dCBpcm9ubGFrZV9jaGVja19mZGlfbGFuZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBw aXBlIHBpcGUsCiAJCQkJICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcp CiB7CisJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlID0gcGlwZV9jb25maWctPmJhc2Uu c3RhdGU7CisJc3RydWN0IGludGVsX2NydGMgKm90aGVyX2NydGM7CisJc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKm90aGVyX2NydGNfc3RhdGU7CisKIAlEUk1fREVCVUdfS01TKCJjaGVja2luZyBm ZGkgY29uZmlnIG9uIHBpcGUgJWMsIGxhbmVzICVpXG4iLAogCQkgICAgICBwaXBlX25hbWUocGlw ZSksIHBpcGVfY29uZmlnLT5mZGlfbGFuZXMpOwogCWlmIChwaXBlX2NvbmZpZy0+ZmRpX2xhbmVz ID4gNCkgewogCQlEUk1fREVCVUdfS01TKCJpbnZhbGlkIGZkaSBsYW5lIGNvbmZpZyBvbiBwaXBl ICVjOiAlaSBsYW5lc1xuIiwKIAkJCSAgICAgIHBpcGVfbmFtZShwaXBlKSwgcGlwZV9jb25maWct PmZkaV9sYW5lcyk7Ci0JCXJldHVybiBmYWxzZTsKKwkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCiAJ aWYgKElTX0hBU1dFTEwoZGV2KSB8fCBJU19CUk9BRFdFTEwoZGV2KSkgewogCQlpZiAocGlwZV9j b25maWctPmZkaV9sYW5lcyA+IDIpIHsKIAkJCURSTV9ERUJVR19LTVMoIm9ubHkgMiBsYW5lcyBv biBoYXN3ZWxsLCByZXF1aXJlZDogJWkgbGFuZXNcbiIsCiAJCQkJICAgICAgcGlwZV9jb25maWct PmZkaV9sYW5lcyk7Ci0JCQlyZXR1cm4gZmFsc2U7CisJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfSBl bHNlIHsKLQkJCXJldHVybiB0cnVlOworCQkJcmV0dXJuIDA7CiAJCX0KIAl9CiAKIAlpZiAoSU5U RUxfSU5GTyhkZXYpLT5udW1fcGlwZXMgPT0gMikKLQkJcmV0dXJuIHRydWU7CisJCXJldHVybiAw OwogCiAJLyogSXZ5YnJpZGdlIDMgcGlwZSBpcyByZWFsbHkgY29tcGxpY2F0ZWQgKi8KIAlzd2l0 Y2ggKHBpcGUpIHsKIAljYXNlIFBJUEVfQToKLQkJcmV0dXJuIHRydWU7CisJCXJldHVybiAwOwog CWNhc2UgUElQRV9COgotCQlpZiAocGlwZV9jb25maWctPmZkaV9sYW5lcyA+IDIgJiYKLQkJICAg IHBpcGVfcmVxdWlyZWRfZmRpX2xhbmVzKGRldiwgUElQRV9DKSA+IDApIHsKKwkJaWYgKHBpcGVf Y29uZmlnLT5mZGlfbGFuZXMgPD0gMikKKwkJCXJldHVybiAwOworCisJCW90aGVyX2NydGMgPSB0 b19pbnRlbF9jcnRjKGludGVsX2dldF9jcnRjX2Zvcl9waXBlKGRldiwgUElQRV9DKSk7CisJCW90 aGVyX2NydGNfc3RhdGUgPQorCQkJaW50ZWxfYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0YXRlLCBv dGhlcl9jcnRjKTsKKwkJaWYgKElTX0VSUihvdGhlcl9jcnRjX3N0YXRlKSkKKwkJCXJldHVybiBQ VFJfRVJSKG90aGVyX2NydGNfc3RhdGUpOworCisJCWlmIChwaXBlX3JlcXVpcmVkX2ZkaV9sYW5l cyhvdGhlcl9jcnRjX3N0YXRlKSA+IDApIHsKIAkJCURSTV9ERUJVR19LTVMoImludmFsaWQgc2hh cmVkIGZkaSBsYW5lIGNvbmZpZyBvbiBwaXBlICVjOiAlaSBsYW5lc1xuIiwKIAkJCQkgICAgICBw aXBlX25hbWUocGlwZSksIHBpcGVfY29uZmlnLT5mZGlfbGFuZXMpOwotCQkJcmV0dXJuIGZhbHNl OworCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KLQkJcmV0dXJuIHRydWU7CisJCXJldHVybiAwOwog CWNhc2UgUElQRV9DOgogCQlpZiAocGlwZV9jb25maWctPmZkaV9sYW5lcyA+IDIpIHsKIAkJCURS TV9ERUJVR19LTVMoIm9ubHkgMiBsYW5lcyBvbiBwaXBlICVjOiByZXF1aXJlZCAlaSBsYW5lc1xu IiwKIAkJCQkgICAgICBwaXBlX25hbWUocGlwZSksIHBpcGVfY29uZmlnLT5mZGlfbGFuZXMpOwot CQkJcmV0dXJuIGZhbHNlOworCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KLQkJaWYgKHBpcGVfcmVx dWlyZWRfZmRpX2xhbmVzKGRldiwgUElQRV9CKSA+IDIpIHsKKworCQlvdGhlcl9jcnRjID0gdG9f aW50ZWxfY3J0YyhpbnRlbF9nZXRfY3J0Y19mb3JfcGlwZShkZXYsIFBJUEVfQikpOworCQlvdGhl cl9jcnRjX3N0YXRlID0KKwkJCWludGVsX2F0b21pY19nZXRfY3J0Y19zdGF0ZShzdGF0ZSwgb3Ro ZXJfY3J0Yyk7CisJCWlmIChJU19FUlIob3RoZXJfY3J0Y19zdGF0ZSkpCisJCQlyZXR1cm4gUFRS X0VSUihvdGhlcl9jcnRjX3N0YXRlKTsKKworCQlpZiAocGlwZV9yZXF1aXJlZF9mZGlfbGFuZXMo b3RoZXJfY3J0Y19zdGF0ZSkgPiAyKSB7CiAJCQlEUk1fREVCVUdfS01TKCJmZGkgbGluayBCIHVz ZXMgdG9vIG1hbnkgbGFuZXMgdG8gZW5hYmxlIGxpbmsgQ1xuIik7Ci0JCQlyZXR1cm4gZmFsc2U7 CisJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfQotCQlyZXR1cm4gdHJ1ZTsKKwkJcmV0dXJuIDA7CiAJ ZGVmYXVsdDoKIAkJQlVHKCk7CiAJfQpAQCAtNTczNyw4ICs1NzUyLDggQEAgc3RhdGljIGludCBp cm9ubGFrZV9mZGlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMs CiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2NydGMtPmJhc2UuZGV2OwogCXN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJnBpcGVfY29uZmlnLT5iYXNl LmFkanVzdGVkX21vZGU7Ci0JaW50IGxhbmUsIGxpbmtfYncsIGZkaV9kb3RjbG9jazsKLQlib29s IHNldHVwX29rLCBuZWVkc19yZWNvbXB1dGUgPSBmYWxzZTsKKwlpbnQgbGFuZSwgbGlua19idywg ZmRpX2RvdGNsb2NrLCByZXQ7CisJYm9vbCBuZWVkc19yZWNvbXB1dGUgPSBmYWxzZTsKIAogcmV0 cnk6CiAJLyogRkRJIGlzIGEgYmluYXJ5IHNpZ25hbCBydW5uaW5nIGF0IH4yLjdHSHosIGVuY29k aW5nCkBAIC01NzYwLDkgKzU3NzUsOSBAQCByZXRyeToKIAlpbnRlbF9saW5rX2NvbXB1dGVfbV9u KHBpcGVfY29uZmlnLT5waXBlX2JwcCwgbGFuZSwgZmRpX2RvdGNsb2NrLAogCQkJICAgICAgIGxp bmtfYncsICZwaXBlX2NvbmZpZy0+ZmRpX21fbik7CiAKLQlzZXR1cF9vayA9IGlyb25sYWtlX2No ZWNrX2ZkaV9sYW5lcyhpbnRlbF9jcnRjLT5iYXNlLmRldiwKLQkJCQkJICAgIGludGVsX2NydGMt PnBpcGUsIHBpcGVfY29uZmlnKTsKLQlpZiAoIXNldHVwX29rICYmIHBpcGVfY29uZmlnLT5waXBl X2JwcCA+IDYqMykgeworCXJldCA9IGlyb25sYWtlX2NoZWNrX2ZkaV9sYW5lcyhpbnRlbF9jcnRj LT5iYXNlLmRldiwKKwkJCQkgICAgICAgaW50ZWxfY3J0Yy0+cGlwZSwgcGlwZV9jb25maWcpOwor CWlmIChyZXQgPT0gLUVJTlZBTCAmJiBwaXBlX2NvbmZpZy0+cGlwZV9icHAgPiA2KjMpIHsKIAkJ cGlwZV9jb25maWctPnBpcGVfYnBwIC09IDIqMzsKIAkJRFJNX0RFQlVHX0tNUygiZmRpIGxpbmsg YncgY29uc3RyYWludCwgcmVkdWNpbmcgcGlwZSBicHAgdG8gJWlcbiIsCiAJCQkgICAgICBwaXBl X2NvbmZpZy0+cGlwZV9icHApOwpAQCAtNTc3NSw3ICs1NzkwLDcgQEAgcmV0cnk6CiAJaWYgKG5l ZWRzX3JlY29tcHV0ZSkKIAkJcmV0dXJuIFJFVFJZOwogCi0JcmV0dXJuIHNldHVwX29rID8gMCA6 IC1FSU5WQUw7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIHZvaWQgaHN3X2NvbXB1dGVfaXBz X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKLS0gCjIuMS4wCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=