From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v5 01/11] drm/atomic: Handle aspect ratio and scaling mode in core, v3. Date: Tue, 25 Apr 2017 13:55:25 +0200 Message-ID: <1493121335-18603-2-git-send-email-maarten.lankhorst@linux.intel.com> References: <1493121335-18603-1-git-send-email-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: <1493121335-18603-1-git-send-email-maarten.lankhorst@linux.intel.com> 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 Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhpcyBpcyByZXF1aXJlZCB0byBmb3IgaTkxNSB0byBjb252ZXJ0IGNvbm5lY3RvciBwcm9wZXJ0 aWVzIHRvIGF0b21pYy4KCkNoYW5nZXMgc2luY2UgdjE6Ci0gQWRkIGRvY2Jvb2sgaW5mby4gKGRh bnZldCkKLSBDaGFuZ2UgcGljdHVyZV9hc3BlY3RfcmF0aW8gdG8gZW51bSBoZG1pX3BpY3R1cmVf YXNwZWN0LgpDaGFuZ2VzIHNpbmNlIHYyOgotIEZvciBpOTE1IHB1dCB0aGUgcHJvcGVydGllcyBp biBjb25uZWN0b3Jfc3RhdGUsIHRvIHByZXZlbnQKICByZWdyZXNzaW9ucyB3aGVyZSB0aGUgcHJv cGVydHkgZG9lc24ndCBtYXRjaCB0aGUgcmVhbCBzdGF0ZS4KClNpZ25lZC1vZmYtYnk6IE1hYXJ0 ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+CkNjOiBkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCkFja2VkLWJ5OiBEYXZlIEFpcmxpZSA8YWlybGll ZEByZWRoYXQuY29tPgpMaW5rOiBodHRwOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9wYXRj aC9tc2dpZC8xNDkyMDc0OTM3LTQ3NzQtMS1naXQtc2VuZC1lbWFpbC1tYWFydGVuLmxhbmtob3Jz dEBsaW51eC5pbnRlbC5jb20KUmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0 ZXJAZmZ3bGwuY2g+ICN2MgpbbWxhbmtob3JzdDogQ2hhbmdlIEFTUEVDVF8qIHRvIEFTUEVDVF9c KiwgYmFzZWQgb24gZGFudmV0J3Mgc3VnZ2VzdGlvbl0KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pYy5jICAgICAgIHwgIDggKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMgICAgfCAgMiArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgICB8ICAy ICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgIHwgIDEgKwogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jICB8ICAyICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9tb2Rlcy5jIHwgIDQgKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5j ICB8ICAxICsKIGluY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCAgICAgICAgfCAxNiArKysrKysr KysrKysrKysrCiA4IGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWMuYwppbmRleCAzMDIyOWFiNzE5YzAuLjI1ZWE2Zjc5N2E1NCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pYy5jCkBAIC0xMTIzLDYgKzExMjMsMTAgQEAgaW50IGRybV9hdG9taWNfY29u bmVjdG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkg Ki8KIAkJaWYgKHN0YXRlLT5saW5rX3N0YXR1cyAhPSBEUk1fTElOS19TVEFUVVNfR09PRCkKIAkJ CXN0YXRlLT5saW5rX3N0YXR1cyA9IHZhbDsKKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZp Zy0+YXNwZWN0X3JhdGlvX3Byb3BlcnR5KSB7CisJCXN0YXRlLT5waWN0dXJlX2FzcGVjdF9yYXRp byA9IHZhbDsKKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+c2NhbGluZ19tb2RlX3By b3BlcnR5KSB7CisJCXN0YXRlLT5zY2FsaW5nX21vZGUgPSB2YWw7CiAJfSBlbHNlIGlmIChjb25u ZWN0b3ItPmZ1bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5KSB7CiAJCXJldHVybiBjb25uZWN0b3It PmZ1bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5KGNvbm5lY3RvciwKIAkJCQlzdGF0ZSwgcHJvcGVy dHksIHZhbCk7CkBAIC0xMTk5LDYgKzEyMDMsMTAgQEAgZHJtX2F0b21pY19jb25uZWN0b3JfZ2V0 X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCSp2YWwgPSBzdGF0 ZS0+dHYuaHVlOwogCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5saW5rX3N0YXR1c19w cm9wZXJ0eSkgewogCQkqdmFsID0gc3RhdGUtPmxpbmtfc3RhdHVzOworCX0gZWxzZSBpZiAocHJv cGVydHkgPT0gY29uZmlnLT5hc3BlY3RfcmF0aW9fcHJvcGVydHkpIHsKKwkJKnZhbCA9IHN0YXRl LT5waWN0dXJlX2FzcGVjdF9yYXRpbzsKKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+ c2NhbGluZ19tb2RlX3Byb3BlcnR5KSB7CisJCSp2YWwgPSBzdGF0ZS0+c2NhbGluZ19tb2RlOwog CX0gZWxzZSBpZiAoY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eSkgewogCQly ZXR1cm4gY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eShjb25uZWN0b3IsCiAJ CQkJc3RhdGUsIHByb3BlcnR5LCB2YWwpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKaW5kZXggMDg4 MzRmNzRkMzk2Li42Njg2YWM5OGM0ZWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAtNDkw Miw2ICs0OTAyLDcgQEAgaW50ZWxfZHBfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsCiAJCQlyZXR1cm4gMDsKIAkJfQogCQlpbnRlbF9jb25uZWN0b3ItPnBhbmVs LmZpdHRpbmdfbW9kZSA9IHZhbDsKKwkJY29ubmVjdG9yLT5zdGF0ZS0+c2NhbGluZ19tb2RlID0g dmFsOwogCiAJCWdvdG8gZG9uZTsKIAl9CkBAIC01MTkyLDYgKzUxOTMsNyBAQCBpbnRlbF9kcF9h ZGRfcHJvcGVydGllcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdAogCQkJY29ubmVjdG9yLT5kZXYtPm1vZGVfY29uZmlnLnNjYWxpbmdfbW9k ZV9wcm9wZXJ0eSwKIAkJCURSTV9NT0RFX1NDQUxFX0FTUEVDVCk7CiAJCWludGVsX2Nvbm5lY3Rv ci0+cGFuZWwuZml0dGluZ19tb2RlID0gRFJNX01PREVfU0NBTEVfQVNQRUNUOworCQljb25uZWN0 b3ItPnN0YXRlLT5zY2FsaW5nX21vZGUgPSBEUk1fTU9ERV9TQ0FMRV9BU1BFQ1Q7CiAJfQogfQog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCmluZGV4IDNmZmU4YjFmMWQ0OC4uMzVhZGJjYzJlM2Yz IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwpAQCAtMTYxNiw2ICsxNjE2LDcgQEAgc3RhdGlj IGludCBpbnRlbF9kc2lfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsCiAJCQlyZXR1cm4gMDsKIAogCQlpbnRlbF9jb25uZWN0b3ItPnBhbmVsLmZpdHRpbmdfbW9k ZSA9IHZhbDsKKwkJY29ubmVjdG9yLT5zdGF0ZS0+c2NhbGluZ19tb2RlID0gdmFsOwogCX0KIAog CWNydGMgPSBjb25uZWN0b3ItPnN0YXRlLT5jcnRjOwpAQCAtMTY4Miw2ICsxNjgzLDcgQEAgc3Rh dGljIHZvaWQgaW50ZWxfZHNpX2FkZF9wcm9wZXJ0aWVzKHN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmNvbm5lY3RvcikKIAkJCQkJICAgZGV2LT5tb2RlX2NvbmZpZy5zY2FsaW5nX21vZGVfcHJvcGVy dHksCiAJCQkJCSAgIERSTV9NT0RFX1NDQUxFX0FTUEVDVCk7CiAJCWNvbm5lY3Rvci0+cGFuZWwu Zml0dGluZ19tb2RlID0gRFJNX01PREVfU0NBTEVfQVNQRUNUOworCQljb25uZWN0b3ItPmJhc2Uu c3RhdGUtPnNjYWxpbmdfbW9kZSA9IERSTV9NT0RFX1NDQUxFX0FTUEVDVDsKIAl9CiB9CiAKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2hkbWkuYwppbmRleCA2ZWZjM2NiOGM0NzEuLjJiMWU4MDYzMTliOSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwpAQCAtMTY2Miw2ICsxNjYyLDcgQEAgaW50ZWxf aGRtaV9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJZGVm YXVsdDoKIAkJCXJldHVybiAtRUlOVkFMOwogCQl9CisJCWNvbm5lY3Rvci0+c3RhdGUtPnBpY3R1 cmVfYXNwZWN0X3JhdGlvID0gdmFsOwogCQlnb3RvIGRvbmU7CiAJfQogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9sdmRzLmMKaW5kZXggOGI5NDJlZjJiM2VjLi41ZDljMWRlMDcwMmIgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9sdmRzLmMKQEAgLTYxOCw2ICs2MTgsNyBAQCBzdGF0aWMgaW50IGludGVsX2x2 ZHNfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCQlyZXR1 cm4gMDsKIAkJfQogCQlpbnRlbF9jb25uZWN0b3ItPnBhbmVsLmZpdHRpbmdfbW9kZSA9IHZhbHVl OworCQljb25uZWN0b3ItPnN0YXRlLT5zY2FsaW5nX21vZGUgPSB2YWx1ZTsKIAogCQljcnRjID0g aW50ZWxfYXR0YWNoZWRfZW5jb2Rlcihjb25uZWN0b3IpLT5iYXNlLmNydGM7CiAJCWlmIChjcnRj ICYmIGNydGMtPnN0YXRlLT5lbmFibGUpIHsKQEAgLTEwODcsNiArMTA4OCw3IEBAIHZvaWQgaW50 ZWxfbHZkc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlkcm1fb2Jq ZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLAogCQkJCSAgICAgIGRldi0+bW9k ZV9jb25maWcuc2NhbGluZ19tb2RlX3Byb3BlcnR5LAogCQkJCSAgICAgIERSTV9NT0RFX1NDQUxF X0FTUEVDVCk7CisJY29ubmVjdG9yLT5zdGF0ZS0+c2NhbGluZ19tb2RlID0gRFJNX01PREVfU0NB TEVfQVNQRUNUOwogCWludGVsX2Nvbm5lY3Rvci0+cGFuZWwuZml0dGluZ19tb2RlID0gRFJNX01P REVfU0NBTEVfQVNQRUNUOwogCiAJaW50ZWxfbHZkc19wcHNfZ2V0X2h3X3N0YXRlKGRldl9wcml2 LCAmbHZkc19lbmNvZGVyLT5pbml0X3Bwcyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9tb2Rlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbW9kZXMuYwpp bmRleCA5NTFlODM0ZGQyNzQuLmY3ZjYyZWFmMjE0MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbW9kZXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9t b2Rlcy5jCkBAIC0xMzIsNSArMTMyLDcgQEAgaW50ZWxfYXR0YWNoX2FzcGVjdF9yYXRpb19wcm9w ZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCWlmICghZHJtX21vZGVfY3Jl YXRlX2FzcGVjdF9yYXRpb19wcm9wZXJ0eShjb25uZWN0b3ItPmRldikpCiAJCWRybV9vYmplY3Rf YXR0YWNoX3Byb3BlcnR5KCZjb25uZWN0b3ItPmJhc2UsCiAJCQljb25uZWN0b3ItPmRldi0+bW9k ZV9jb25maWcuYXNwZWN0X3JhdGlvX3Byb3BlcnR5LAotCQkJRFJNX01PREVfUElDVFVSRV9BU1BF Q1RfTk9ORSk7CisJCQkwKTsKKworCWNvbm5lY3Rvci0+c3RhdGUtPnBpY3R1cmVfYXNwZWN0X3Jh dGlvID0gRFJNX01PREVfUElDVFVSRV9BU1BFQ1RfTk9ORTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Nkdm8uYwppbmRleCA4MTZhNmY1YTNmZDkuLjQxMWQ2ODM0MTgyMCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3Nkdm8uYwpAQCAtMjA4MCw2ICsyMDgwLDcgQEAgaW50ZWxfc2R2b19zZXRfcHJvcGVy dHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJZGVmYXVsdDoKIAkJCXJldHVy biAtRUlOVkFMOwogCQl9CisJCWNvbm5lY3Rvci0+c3RhdGUtPnBpY3R1cmVfYXNwZWN0X3JhdGlv ID0gdmFsOwogCQlnb3RvIGRvbmU7CiAJfQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1f Y29ubmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKaW5kZXggNGVlZGExMjBl NDZkLi45MzQxNDM3MjBlNWEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3Iu aAorKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAog I2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgorI2luY2x1 ZGUgPGxpbnV4L2hkbWkuaD4KICNpbmNsdWRlIDxkcm0vZHJtX21vZGVfb2JqZWN0Lmg+CiAKICNp bmNsdWRlIDx1YXBpL2RybS9kcm1fbW9kZS5oPgpAQCAtMzI2LDYgKzMyNywyMSBAQCBzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSB7CiAJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOwog CiAJc3RydWN0IGRybV90dl9jb25uZWN0b3Jfc3RhdGUgdHY7CisKKwkvKioKKwkgKiBAcGljdHVy ZV9hc3BlY3RfcmF0aW86IENvbm5lY3RvciBwcm9wZXJ0eSB0byBjb250cm9sIHRoZQorCSAqIEhE TUkgaW5mb2ZyYW1lIGFzcGVjdCByYXRpbyBzZXR0aW5nLgorCSAqCisJICogVGhlIERSTV9NT0RF X1BJQ1RVUkVfQVNQRUNUX1wqIHZhbHVlcyBtdWNoIG1hdGNoIHRoZQorCSAqIHZhbHVlcyBmb3Ig JmVudW0gaGRtaV9waWN0dXJlX2FzcGVjdAorCSAqLworCWVudW0gaGRtaV9waWN0dXJlX2FzcGVj dCBwaWN0dXJlX2FzcGVjdF9yYXRpbzsKKworCS8qKgorCSAqIEBzY2FsaW5nX21vZGU6IENvbm5l Y3RvciBwcm9wZXJ0eSB0byBjb250cm9sIHRoZQorCSAqIHVwc2NhbGluZywgbW9zdGx5IHVzZWQg Zm9yIGJ1aWx0LWluIHBhbmVscy4KKwkgKi8KKwl1bnNpZ25lZCBpbnQgc2NhbGluZ19tb2RlOwog fTsKIAogLyoqCi0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==