From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v6 04/12] drm/i915: Use per-connector scaling mode property Date: Mon, 1 May 2017 15:37:56 +0200 Message-ID: <20170501133804.8116-5-maarten.lankhorst@linux.intel.com> References: <20170501133804.8116-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170501133804.8116-1-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Tm9uZSBvZiB0aGUgaW50ZWwgY29ubmVjdG9ycyBjYW4gdXNlIGFsbCB0eXBlcyBvZiBzY2FsaW5n IG1vZGVzLApzbyBvbmx5IHRyeSB0aGUgb25lcyB0aGF0IGFyZSBwb3NzaWJsZS4gVGhpcyBpcyBh bm90aGVyIHByZXBhcmF0aW9uCmZvciBjb25uZWN0b3JzIHRvd2FyZHMgY29udmVyc2lvbiB0byBh dG9taWMuCgpTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9y c3RAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMg ICB8IDI5ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kc2kuYyAgfCAyOCArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgfCAxNyArKysrKystLS0tLS0tLS0tLQogMyBmaWxl cyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYwppbmRleCBlYTQzNjZiMjY0ZjEuLjhlYjM4MWViYmVhNiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcC5jCkBAIC00ODg0LDE4ICs0ODg0LDcgQEAgaW50ZWxfZHBfc2V0X3Byb3BlcnR5 KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCWdvdG8gZG9uZTsKIAl9CiAKLQlp ZiAoaXNfZWRwKGludGVsX2RwKSAmJgotCSAgICBwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPmRldi0+ bW9kZV9jb25maWcuc2NhbGluZ19tb2RlX3Byb3BlcnR5KSB7Ci0JCWlmICh2YWwgPT0gRFJNX01P REVfU0NBTEVfTk9ORSkgewotCQkJRFJNX0RFQlVHX0tNUygibm8gc2NhbGluZyBub3Qgc3VwcG9y dGVkXG4iKTsKLQkJCXJldHVybiAtRUlOVkFMOwotCQl9Ci0JCWlmIChIQVNfR01DSF9ESVNQTEFZ KGRldl9wcml2KSAmJgotCQkgICAgdmFsID09IERSTV9NT0RFX1NDQUxFX0NFTlRFUikgewotCQkJ RFJNX0RFQlVHX0tNUygiY2VudGVyaW5nIG5vdCBzdXBwb3J0ZWRcbiIpOwotCQkJcmV0dXJuIC1F SU5WQUw7Ci0JCX0KLQorCWlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPnNjYWxpbmdfbW9kZV9w cm9wZXJ0eSkgewogCQlpZiAoY29ubmVjdG9yLT5zdGF0ZS0+c2NhbGluZ19tb2RlID09IHZhbCkg ewogCQkJLyogdGhlIGVEUCBzY2FsaW5nIHByb3BlcnR5IGlzIG5vdCBjaGFuZ2VkICovCiAJCQly ZXR1cm4gMDsKQEAgLTUxNzgsMTcgKzUxNjcsMjMgQEAgYm9vbCBpbnRlbF9kcF9pc19lZHAoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBvcnQgcG9ydCkKIHN0YXRpYyB2 b2lkCiBpbnRlbF9kcF9hZGRfcHJvcGVydGllcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5kZXYpOworCiAJaW50ZWxfYXR0YWNo X2ZvcmNlX2F1ZGlvX3Byb3BlcnR5KGNvbm5lY3Rvcik7CiAJaW50ZWxfYXR0YWNoX2Jyb2FkY2Fz dF9yZ2JfcHJvcGVydHkoY29ubmVjdG9yKTsKIAlpbnRlbF9kcC0+Y29sb3JfcmFuZ2VfYXV0byA9 IHRydWU7CiAKIAlpZiAoaXNfZWRwKGludGVsX2RwKSkgewotCQlkcm1fbW9kZV9jcmVhdGVfc2Nh bGluZ19tb2RlX3Byb3BlcnR5KGNvbm5lY3Rvci0+ZGV2KTsKLQkJZHJtX29iamVjdF9hdHRhY2hf cHJvcGVydHkoCi0JCQkmY29ubmVjdG9yLT5iYXNlLAotCQkJY29ubmVjdG9yLT5kZXYtPm1vZGVf Y29uZmlnLnNjYWxpbmdfbW9kZV9wcm9wZXJ0eSwKLQkJCURSTV9NT0RFX1NDQUxFX0FTUEVDVCk7 CisJCXUzMiBhbGxvd2VkX3NjYWxlcnM7CisKKwkJYWxsb3dlZF9zY2FsZXJzID0gQklUKERSTV9N T0RFX1NDQUxFX0FTUEVDVCkgfCBCSVQoRFJNX01PREVfU0NBTEVfRlVMTFNDUkVFTik7CisJCWlm ICghSEFTX0dNQ0hfRElTUExBWShkZXZfcHJpdikpCisJCQlhbGxvd2VkX3NjYWxlcnMgfD0gQklU KERSTV9NT0RFX1NDQUxFX0NFTlRFUik7CisKKwkJZHJtX21vZGVfY29ubmVjdG9yX2F0dGFjaF9z Y2FsaW5nX21vZGVfcHJvcGVydHkoY29ubmVjdG9yLCBhbGxvd2VkX3NjYWxlcnMpOworCiAJCWNv bm5lY3Rvci0+c3RhdGUtPnNjYWxpbmdfbW9kZSA9IERSTV9NT0RFX1NDQUxFX0FTUEVDVDsKKwog CX0KIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwppbmRleCBlYzE0MWViNTllNmQuLjg2MTdk OTk2YWJlNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKQEAgLTE1OTEsNyArMTU5MSw2IEBA IHN0YXRpYyBpbnQgaW50ZWxfZHNpX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAogCQkJCSAgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCiAJCQkJICB1 aW50NjRfdCB2YWwpCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2 OwogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKIAlpbnQgcmV0OwogCkBAIC0xNTk5LDE3ICsxNTk4 LDcgQEAgc3RhdGljIGludCBpbnRlbF9kc2lfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IsCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCWlmIChwcm9wZXJ0 eSA9PSBkZXYtPm1vZGVfY29uZmlnLnNjYWxpbmdfbW9kZV9wcm9wZXJ0eSkgewotCQlpZiAodmFs ID09IERSTV9NT0RFX1NDQUxFX05PTkUpIHsKLQkJCURSTV9ERUJVR19LTVMoIm5vIHNjYWxpbmcg bm90IHN1cHBvcnRlZFxuIik7Ci0JCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQotCQlpZiAoSEFTX0dN Q0hfRElTUExBWSh0b19pOTE1KGRldikpICYmCi0JCSAgICB2YWwgPT0gRFJNX01PREVfU0NBTEVf Q0VOVEVSKSB7Ci0JCQlEUk1fREVCVUdfS01TKCJjZW50ZXJpbmcgbm90IHN1cHBvcnRlZFxuIik7 Ci0JCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQotCisJaWYgKHByb3BlcnR5ID09IGNvbm5lY3Rvci0+ c2NhbGluZ19tb2RlX3Byb3BlcnR5KSB7CiAJCWlmIChjb25uZWN0b3ItPnN0YXRlLT5zY2FsaW5n X21vZGUgPT0gdmFsKQogCQkJcmV0dXJuIDA7CiAKQEAgLTE2NzIsMTMgKzE2NjEsMTggQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIGludGVsX2RzaV9jb25uZWN0b3Jf ZnVuY3MgPSB7CiAKIHN0YXRpYyB2b2lkIGludGVsX2RzaV9hZGRfcHJvcGVydGllcyhzdHJ1Y3Qg aW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IGNvbm5lY3Rvci0+YmFzZS5kZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKIAogCWlmIChjb25uZWN0b3ItPnBhbmVs LmZpeGVkX21vZGUpIHsKLQkJZHJtX21vZGVfY3JlYXRlX3NjYWxpbmdfbW9kZV9wcm9wZXJ0eShk ZXYpOwotCQlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLmJhc2Us Ci0JCQkJCSAgIGRldi0+bW9kZV9jb25maWcuc2NhbGluZ19tb2RlX3Byb3BlcnR5LAotCQkJCQkg ICBEUk1fTU9ERV9TQ0FMRV9BU1BFQ1QpOworCQl1MzIgYWxsb3dlZF9zY2FsZXJzOworCisJCWFs bG93ZWRfc2NhbGVycyA9IEJJVChEUk1fTU9ERV9TQ0FMRV9BU1BFQ1QpIHwgQklUKERSTV9NT0RF X1NDQUxFX0ZVTExTQ1JFRU4pOworCQlpZiAoIUhBU19HTUNIX0RJU1BMQVkoZGV2X3ByaXYpKQor CQkJYWxsb3dlZF9zY2FsZXJzIHw9IEJJVChEUk1fTU9ERV9TQ0FMRV9DRU5URVIpOworCisJCWRy bV9tb2RlX2Nvbm5lY3Rvcl9hdHRhY2hfc2NhbGluZ19tb2RlX3Byb3BlcnR5KCZjb25uZWN0b3It PmJhc2UsCisJCQkJCQkJCWFsbG93ZWRfc2NhbGVycyk7CisKIAkJY29ubmVjdG9yLT5iYXNlLnN0 YXRlLT5zY2FsaW5nX21vZGUgPSBEUk1fTU9ERV9TQ0FMRV9BU1BFQ1Q7CiAJfQogfQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHZkcy5jCmluZGV4IGExNGJkZWZkY2I4Zi4uYTNmOTIxNmUzMmViIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCkBAIC02MDIsMTYgKzYwMiwxMCBAQCBzdGF0aWMgaW50 IGludGVsX2x2ZHNfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Is CiAJCQkJICAgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCiAJCQkJICAgdWludDY0X3Qg dmFsdWUpCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2OwogCi0J aWYgKHByb3BlcnR5ID09IGRldi0+bW9kZV9jb25maWcuc2NhbGluZ19tb2RlX3Byb3BlcnR5KSB7 CisJaWYgKHByb3BlcnR5ID09IGNvbm5lY3Rvci0+c2NhbGluZ19tb2RlX3Byb3BlcnR5KSB7CiAJ CXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKIAotCQlpZiAodmFsdWUgPT0gRFJNX01PREVfU0NBTEVf Tk9ORSkgewotCQkJRFJNX0RFQlVHX0tNUygibm8gc2NhbGluZyBub3Qgc3VwcG9ydGVkXG4iKTsK LQkJCXJldHVybiAtRUlOVkFMOwotCQl9Ci0KIAkJaWYgKGNvbm5lY3Rvci0+c3RhdGUtPnNjYWxp bmdfbW9kZSA9PSB2YWx1ZSkgewogCQkJLyogdGhlIExWRFMgc2NhbGluZyBwcm9wZXJ0eSBpcyBu b3QgY2hhbmdlZCAqLwogCQkJcmV0dXJuIDA7CkBAIC05ODcsNiArOTgxLDcgQEAgdm9pZCBpbnRl bF9sdmRzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXUzMiBsdmRz OwogCWludCBwaXBlOwogCXU4IHBpbjsKKwl1MzIgYWxsb3dlZF9zY2FsZXJzOwogCiAJaWYgKCFp bnRlbF9sdmRzX3N1cHBvcnRlZChkZXZfcHJpdikpCiAJCXJldHVybjsKQEAgLTEwODIsMTAgKzEw NzcsMTAgQEAgdm9pZCBpbnRlbF9sdmRzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogCWx2ZHNfZW5jb2Rlci0+cmVnID0gbHZkc19yZWc7CiAKIAkvKiBjcmVhdGUgdGhl IHNjYWxpbmcgbW9kZSBwcm9wZXJ0eSAqLwotCWRybV9tb2RlX2NyZWF0ZV9zY2FsaW5nX21vZGVf cHJvcGVydHkoZGV2KTsKLQlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5i YXNlLAotCQkJCSAgICAgIGRldi0+bW9kZV9jb25maWcuc2NhbGluZ19tb2RlX3Byb3BlcnR5LAot CQkJCSAgICAgIERSTV9NT0RFX1NDQUxFX0FTUEVDVCk7CisJYWxsb3dlZF9zY2FsZXJzID0gQklU KERSTV9NT0RFX1NDQUxFX0FTUEVDVCk7CisJYWxsb3dlZF9zY2FsZXJzIHw9IEJJVChEUk1fTU9E RV9TQ0FMRV9GVUxMU0NSRUVOKTsKKwlhbGxvd2VkX3NjYWxlcnMgfD0gQklUKERSTV9NT0RFX1ND QUxFX0NFTlRFUik7CisJZHJtX21vZGVfY29ubmVjdG9yX2F0dGFjaF9zY2FsaW5nX21vZGVfcHJv cGVydHkoY29ubmVjdG9yLCBhbGxvd2VkX3NjYWxlcnMpOwogCWNvbm5lY3Rvci0+c3RhdGUtPnNj YWxpbmdfbW9kZSA9IERSTV9NT0RFX1NDQUxFX0FTUEVDVDsKIAogCWludGVsX2x2ZHNfcHBzX2dl dF9od19zdGF0ZShkZXZfcHJpdiwgJmx2ZHNfZW5jb2Rlci0+aW5pdF9wcHMpOwotLSAKMi45LjMK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=