From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: [PATCH v7 4/7] drm/fb-helper: Apply panel orientation connector prop to the primary plane, v6. Date: Sat, 25 Nov 2017 20:35:50 +0100 Message-ID: <20171125193553.23986-5-hdegoede@redhat.com> References: <20171125193553.23986-1-hdegoede@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171125193553.23986-1-hdegoede@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter , Jani Nikula , Sean Paul , Dave Airlie , Bartlomiej Zolnierkiewicz Cc: Hans de Goede , intel-gfx , linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org QXBwbHkgdGhlICJwYW5lbCBvcmllbnRhdGlvbiIgZHJtIGNvbm5lY3RvciBwcm9wIHRvIHRoZSBw cmltYXJ5IHBsYW5lIHNvCnRoYXQgZmJjb24gYW5kIGZiZGV2IHVzaW5nIHVzZXJzcGFjZSBwcm9n cmFtcyBkaXNwbGF5IHRoZSByaWdodCB3YXkgdXAuCgpDaGFuZ2VzIGluIHYzOgotVXNlIGEgcm90 YXRpb24gbWVtYmVyIGluIHN0cnVjdCBkcm1fZmJfaGVscGVyX2NydGMgYW5kIHNldCB0aGF0IGZy b20KIGRybV9zZXR1cF9jcnRjcyBpbnN0ZWFkIG9mIGxvb3Bpbmcgb3ZlciBhbGwgY3J0YydzIHRv IGZpbmQgdGhlIHJpZ2h0IG9uZQogbGF0ZXIKLVNpbmNlIHdlIG5vdyBubyBsb25nZXIgbG9vayBh dCByb3RhdGlvbiBxdWlya3MgZGlyZWN0bHkgaW4gdGhlIGZiY29uCiBjb2RlLCBzZXQgZmJfaW5m by5mYmNvbl9yb3RhdGVfaGludCB3aGVuIHRoZSBwYW5lbCBpcyBub3QgbW91bnRlZCB1cHJpZ2h0 CiBhbmQgd2UgY2Fubm90IHVzZSBoYXJkd2FyZSByb3RhdGlvbgoKQ2hhbmdlcyBpbiB2NDoKLU1h a2UgZHJtX2ZiX2hlbHBlcl9pbml0KCkgaW5pdCBkcm1fZmJfaGVscGVyX2NydGMucm90YXRpb24g dG8KIERSTV9NT0RFX1JPVEFURV8wIGZvciBhbGwgY3J0Y3MsIHNvIHRoYXQgd2UgZG8gbm90IGVu ZCB1cCBzZXR0aW5nIHRoZQogcGxhbmVfc3RhdGUncyByb3RhdGlvbiB0byBhbiBpbnZhbGlkIHZh bHVlIGZvciBkaXNhYmxlZCBjcnRjcwogKGNhdWdodCBieSBGaS5DSSkKCkNoYW5nZXMgaW4gdjU6 Ci1Pbmx5IHVzZSBoYXJkd2FyZSAoY3J0YyBwcmltYXJ5IHBsYW5lKSByb3RhdGlvbiBmb3IgRFJN X1JPVEFURV8xODAsCiA5MCAvIDI3MCBkZWdyZWUgcm90YXRpb24gcmVxdWlyZXMgc3BlY2lhbCBo YW5kbGluZyB3aGljaCB3ZSBsYWNrIGF0bQotQWRkIGEgVE9ETyBjb21tZW50IGZvciA5MCAvIDI3 MCBkZWdyZWUgaGFyZHdhcmUgcm90YXRpb24KLUFkZCBzb21lIGNvbW1lbnRzIHRvIGJldHRlciBk b2N1bWVudCB0aGUgZGVmYXVsdCBjYXNlIHdoZW4gbWFwcGluZwogc3dfcm90YXRpb25zIHRvIGZi Y29uX3JvdGF0ZV9oaW50cwoKRml4ZXM6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hv d19idWcuY2dpP2lkPTk0ODk0ClJldmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0 dGVyQGZmd2xsLmNoPgpTaWduZWQtb2ZmLWJ5OiBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRo YXQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMgfCA5MCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogaW5jbHVkZS9kcm0vZHJtX2ZiX2hl bHBlci5oICAgICB8ICA4ICsrKysKIDIgZmlsZXMgY2hhbmdlZCwgOTYgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBl ci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwppbmRleCA4MzI3MzlmZjU4YmYu LjU3ZDZiYWQzNzlmOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCkBAIC00MSw2ICs0MSw3IEBA CiAjaW5jbHVkZSA8ZHJtL2RybV9hdG9taWMuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2F0b21pY19o ZWxwZXIuaD4KIAorI2luY2x1ZGUgImRybV9jcnRjX2ludGVybmFsLmgiCiAjaW5jbHVkZSAiZHJt X2NydGNfaGVscGVyX2ludGVybmFsLmgiCiAKIHN0YXRpYyBib29sIGRybV9mYmRldl9lbXVsYXRp b24gPSB0cnVlOwpAQCAtMzU2LDYgKzM1Nyw3IEBAIEVYUE9SVF9TWU1CT0woZHJtX2ZiX2hlbHBl cl9kZWJ1Z19sZWF2ZSk7CiBzdGF0aWMgaW50IHJlc3RvcmVfZmJkZXZfbW9kZV9hdG9taWMoc3Ry dWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwgYm9vbCBhY3RpdmUpCiB7CiAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGZiX2hlbHBlci0+ZGV2OworCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUg KnBsYW5lX3N0YXRlOwogCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOwogCXN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZTsKIAlpbnQgaSwgcmV0OwpAQCAtMzc0LDggKzM3Niw2IEBAIHN0YXRp YyBpbnQgcmVzdG9yZV9mYmRldl9tb2RlX2F0b21pYyhzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJf aGVscGVyLCBib29sIGFjdGl2CiByZXRyeToKIAlwbGFuZV9tYXNrID0gMDsKIAlkcm1fZm9yX2Vh Y2hfcGxhbmUocGxhbmUsIGRldikgewotCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9z dGF0ZTsKLQogCQlwbGFuZV9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlKHN0YXRl LCBwbGFuZSk7CiAJCWlmIChJU19FUlIocGxhbmVfc3RhdGUpKSB7CiAJCQlyZXQgPSBQVFJfRVJS KHBsYW5lX3N0YXRlKTsKQEAgLTM5OCw2ICszOTgsMTEgQEAgc3RhdGljIGludCByZXN0b3JlX2Zi ZGV2X21vZGVfYXRvbWljKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsIGJvb2wgYWN0 aXYKIAogCWZvciAoaSA9IDA7IGkgPCBmYl9oZWxwZXItPmNydGNfY291bnQ7IGkrKykgewogCQlz dHJ1Y3QgZHJtX21vZGVfc2V0ICptb2RlX3NldCA9ICZmYl9oZWxwZXItPmNydGNfaW5mb1tpXS5t b2RlX3NldDsKKwkJc3RydWN0IGRybV9wbGFuZSAqcHJpbWFyeSA9IG1vZGVfc2V0LT5jcnRjLT5w cmltYXJ5OworCisJCS8qIENhbm5vdCBmYWlsIGFzIHdlJ3ZlIGFscmVhZHkgZ290dGVuIHRoZSBw bGFuZSBzdGF0ZSBhYm92ZSAqLworCQlwbGFuZV9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X25ld19w bGFuZV9zdGF0ZShzdGF0ZSwgcHJpbWFyeSk7CisJCXBsYW5lX3N0YXRlLT5yb3RhdGlvbiA9IGZi X2hlbHBlci0+Y3J0Y19pbmZvW2ldLnJvdGF0aW9uOwogCiAJCXJldCA9IF9fZHJtX2F0b21pY19o ZWxwZXJfc2V0X2NvbmZpZyhtb2RlX3NldCwgc3RhdGUpOwogCQlpZiAocmV0ICE9IDApCkBAIC04 MjksNiArODM0LDcgQEAgaW50IGRybV9mYl9oZWxwZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAogCQlpZiAoIWZiX2hlbHBlci0+Y3J0Y19pbmZvW2ldLm1vZGVfc2V0LmNvbm5lY3RvcnMp CiAJCQlnb3RvIG91dF9mcmVlOwogCQlmYl9oZWxwZXItPmNydGNfaW5mb1tpXS5tb2RlX3NldC5u dW1fY29ubmVjdG9ycyA9IDA7CisJCWZiX2hlbHBlci0+Y3J0Y19pbmZvW2ldLnJvdGF0aW9uID0g RFJNX01PREVfUk9UQVRFXzA7CiAJfQogCiAJaSA9IDA7CkBAIC0yMzUzLDYgKzIzNTksNjIgQEAg c3RhdGljIGludCBkcm1fcGlja19jcnRjcyhzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVy LAogCXJldHVybiBiZXN0X3Njb3JlOwogfQogCisvKgorICogVGhpcyBmdW5jdGlvbiBjaGVja3Mg aWYgcm90YXRpb24gaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YgcGFuZWwgb3JpZW50YXRpb24KKyAq IGFuZCBpZiBpdCBpcywgaWYgaXQgaXMgc3VwcG9ydGVkLgorICogSWYgcm90YXRpb24gaXMgbmVj ZXNzYXJ5IGFuZCBzdXBwb3J0ZWQsIGl0cyBnZXRzIHNldCBpbiBmYl9jcnRjLnJvdGF0aW9uLgor ICogSWYgcm90YXRpb24gaXMgbmVjZXNzYXJ5IGJ1dCBub3Qgc3VwcG9ydGVkLCBhIERSTV9NT0RF X1JPVEFURV8qIGZsYWcgZ2V0cworICogb3ItZWQgaW50byBmYl9oZWxwZXItPnN3X3JvdGF0aW9u cy4gSW4gZHJtX3NldHVwX2NydGNzX2ZiKCkgd2UgY2hlY2sgaWYgb25seQorICogb25lIGJpdCBp cyBzZXQgYW5kIHRoZW4gd2Ugc2V0IGZiX2luZm8uZmJjb25fcm90YXRlX2hpbnQgdG8gbWFrZSBm YmNvbiBkbworICogdGhlIHVuc3VwcG9ydGVkIHJvdGF0aW9uLgorICovCitzdGF0aWMgdm9pZCBk cm1fc2V0dXBfY3J0Y19yb3RhdGlvbihzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLAor CQkJCSAgICBzdHJ1Y3QgZHJtX2ZiX2hlbHBlcl9jcnRjICpmYl9jcnRjLAorCQkJCSAgICBzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l ID0gZmJfY3J0Yy0+bW9kZV9zZXQuY3J0Yy0+cHJpbWFyeTsKKwl1aW50NjRfdCB2YWxpZF9tYXNr ID0gMDsKKwlpbnQgaSwgcm90YXRpb247CisKKwlmYl9jcnRjLT5yb3RhdGlvbiA9IERSTV9NT0RF X1JPVEFURV8wOworCisJc3dpdGNoIChjb25uZWN0b3ItPmRpc3BsYXlfaW5mby5wYW5lbF9vcmll bnRhdGlvbikgeworCWNhc2UgRFJNX01PREVfUEFORUxfT1JJRU5UQVRJT05fQk9UVE9NX1VQOgor CQlyb3RhdGlvbiA9IERSTV9NT0RFX1JPVEFURV8xODA7CisJCWJyZWFrOworCWNhc2UgRFJNX01P REVfUEFORUxfT1JJRU5UQVRJT05fTEVGVF9VUDoKKwkJcm90YXRpb24gPSBEUk1fTU9ERV9ST1RB VEVfOTA7CisJCWJyZWFrOworCWNhc2UgRFJNX01PREVfUEFORUxfT1JJRU5UQVRJT05fUklHSFRf VVA6CisJCXJvdGF0aW9uID0gRFJNX01PREVfUk9UQVRFXzI3MDsKKwkJYnJlYWs7CisJZGVmYXVs dDoKKwkJcm90YXRpb24gPSBEUk1fTU9ERV9ST1RBVEVfMDsKKwl9CisKKwkvKgorCSAqIFRPRE86 IHN1cHBvcnQgOTAgLyAyNzAgZGVncmVlIGhhcmR3YXJlIHJvdGF0aW9uLAorCSAqIGRlcGVuZGlu ZyBvbiB0aGUgaGFyZHdhcmUgdGhpcyBtYXkgcmVxdWlyZSB0aGUgZnJhbWVidWZmZXIKKwkgKiB0 byBiZSBpbiBhIHNwZWNpZmljIHRpbGluZyBmb3JtYXQuCisJICovCisJaWYgKHJvdGF0aW9uICE9 IERSTV9NT0RFX1JPVEFURV8xODAgfHwgIXBsYW5lLT5yb3RhdGlvbl9wcm9wZXJ0eSkgeworCQlm Yl9oZWxwZXItPnN3X3JvdGF0aW9ucyB8PSByb3RhdGlvbjsKKwkJcmV0dXJuOworCX0KKworCWZv ciAoaSA9IDA7IGkgPCBwbGFuZS0+cm90YXRpb25fcHJvcGVydHktPm51bV92YWx1ZXM7IGkrKykK KwkJdmFsaWRfbWFzayB8PSAoMVVMTCA8PCBwbGFuZS0+cm90YXRpb25fcHJvcGVydHktPnZhbHVl c1tpXSk7CisKKwlpZiAoIShyb3RhdGlvbiAmIHZhbGlkX21hc2spKSB7CisJCWZiX2hlbHBlci0+ c3dfcm90YXRpb25zIHw9IHJvdGF0aW9uOworCQlyZXR1cm47CisJfQorCisJZmJfY3J0Yy0+cm90 YXRpb24gPSByb3RhdGlvbjsKKwkvKiBSb3RhdGluZyBpbiBoYXJkd2FyZSwgZmJjb24gc2hvdWxk IG5vdCByb3RhdGUgKi8KKwlmYl9oZWxwZXItPnN3X3JvdGF0aW9ucyB8PSBEUk1fTU9ERV9ST1RB VEVfMDsKK30KKwogc3RhdGljIHZvaWQgZHJtX3NldHVwX2NydGNzKHN0cnVjdCBkcm1fZmJfaGVs cGVyICpmYl9oZWxwZXIsCiAJCQkgICAgdTMyIHdpZHRoLCB1MzIgaGVpZ2h0KQogewpAQCAtMjQx Miw2ICsyNDc0LDcgQEAgc3RhdGljIHZvaWQgZHJtX3NldHVwX2NydGNzKHN0cnVjdCBkcm1fZmJf aGVscGVyICpmYl9oZWxwZXIsCiAJCWRybV9mYl9oZWxwZXJfbW9kZXNldF9yZWxlYXNlKGZiX2hl bHBlciwKIAkJCQkJICAgICAgJmZiX2hlbHBlci0+Y3J0Y19pbmZvW2ldLm1vZGVfc2V0KTsKIAor CWZiX2hlbHBlci0+c3dfcm90YXRpb25zID0gMDsKIAlkcm1fZmJfaGVscGVyX2Zvcl9lYWNoX2Nv bm5lY3RvcihmYl9oZWxwZXIsIGkpIHsKIAkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUg PSBtb2Rlc1tpXTsKIAkJc3RydWN0IGRybV9mYl9oZWxwZXJfY3J0YyAqZmJfY3J0YyA9IGNydGNz W2ldOwpAQCAtMjQzMSw2ICsyNDk0LDcgQEAgc3RhdGljIHZvaWQgZHJtX3NldHVwX2NydGNzKHN0 cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCiAJCQltb2Rlc2V0LT5tb2RlID0gZHJtX21v ZGVfZHVwbGljYXRlKGRldiwKIAkJCQkJCQkgICBmYl9jcnRjLT5kZXNpcmVkX21vZGUpOwogCQkJ ZHJtX2Nvbm5lY3Rvcl9nZXQoY29ubmVjdG9yKTsKKwkJCWRybV9zZXR1cF9jcnRjX3JvdGF0aW9u KGZiX2hlbHBlciwgZmJfY3J0YywgY29ubmVjdG9yKTsKIAkJCW1vZGVzZXQtPmNvbm5lY3RvcnNb bW9kZXNldC0+bnVtX2Nvbm5lY3RvcnMrK10gPSBjb25uZWN0b3I7CiAJCQltb2Rlc2V0LT54ID0g b2Zmc2V0LT54OwogCQkJbW9kZXNldC0+eSA9IG9mZnNldC0+eTsKQEAgLTI0NzIsNiArMjUzNiwy OCBAQCBzdGF0aWMgdm9pZCBkcm1fc2V0dXBfY3J0Y3NfZmIoc3RydWN0IGRybV9mYl9oZWxwZXIg KmZiX2hlbHBlcikKIAkJfQogCX0KIAltdXRleF91bmxvY2soJmZiX2hlbHBlci0+ZGV2LT5tb2Rl X2NvbmZpZy5tdXRleCk7CisKKwlzd2l0Y2ggKGZiX2hlbHBlci0+c3dfcm90YXRpb25zKSB7CisJ Y2FzZSBEUk1fTU9ERV9ST1RBVEVfMDoKKwkJaW5mby0+ZmJjb25fcm90YXRlX2hpbnQgPSBGQl9S T1RBVEVfVVI7CisJCWJyZWFrOworCWNhc2UgRFJNX01PREVfUk9UQVRFXzkwOgorCQlpbmZvLT5m YmNvbl9yb3RhdGVfaGludCA9IEZCX1JPVEFURV9DQ1c7CisJCWJyZWFrOworCWNhc2UgRFJNX01P REVfUk9UQVRFXzE4MDoKKwkJaW5mby0+ZmJjb25fcm90YXRlX2hpbnQgPSBGQl9ST1RBVEVfVUQ7 CisJCWJyZWFrOworCWNhc2UgRFJNX01PREVfUk9UQVRFXzI3MDoKKwkJaW5mby0+ZmJjb25fcm90 YXRlX2hpbnQgPSBGQl9ST1RBVEVfQ1c7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCS8qCisJCSAq IE11bHRpcGxlIGJpdHMgYXJlIHNldCAvIG11bHRpcGxlIHJvdGF0aW9ucyByZXF1ZXN0ZWQKKwkJ ICogZmJjb24gY2Fubm90IGhhbmRsZSBzZXBhcmF0ZSByb3RhdGlvbiBzZXR0aW5ncyBwZXIKKwkJ ICogb3V0cHV0LCBzbyBmYWxsYmFjayB0byB1bnJvdGF0ZWQuCisJCSAqLworCQlpbmZvLT5mYmNv bl9yb3RhdGVfaGludCA9IEZCX1JPVEFURV9VUjsKKwl9CiB9CiAKIC8qIE5vdGU6IERyb3BzIGZi X2hlbHBlci0+bG9jayBiZWZvcmUgcmV0dXJuaW5nLiAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9k cm0vZHJtX2ZiX2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oCmluZGV4IDg3 N2U1YjM5NWMwMi4uMTQ5NGIxMmE5ODRhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZmJf aGVscGVyLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oCkBAIC00OCw2ICs0OCw3 IEBAIHN0cnVjdCBkcm1fZmJfaGVscGVyX2NydGMgewogCXN0cnVjdCBkcm1fbW9kZV9zZXQgbW9k ZV9zZXQ7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmRlc2lyZWRfbW9kZTsKIAlpbnQgeCwg eTsKKwlpbnQgcm90YXRpb247CiB9OwogCiAvKioKQEAgLTE1OCw2ICsxNTksMTMgQEAgc3RydWN0 IGRybV9mYl9oZWxwZXIgewogCXN0cnVjdCBkcm1fZmJfaGVscGVyX2NydGMgKmNydGNfaW5mbzsK IAlpbnQgY29ubmVjdG9yX2NvdW50OwogCWludCBjb25uZWN0b3JfaW5mb19hbGxvY19jb3VudDsK KwkvKioKKwkgKiBAc3dfcm90YXRpb25zOgorCSAqIEJpdG1hc2sgb2YgYWxsIHJvdGF0aW9ucyBy ZXF1ZXN0ZWQgZm9yIHBhbmVsLW9yaWVudGF0aW9uIHdoaWNoCisJICogY291bGQgbm90IGJlIGhh bmRsZWQgaW4gaGFyZHdhcmUuIElmIG9ubHkgb25lIGJpdCBpcyBzZXQKKwkgKiBmYmRldi0+ZmJj b25fcm90YXRlX2hpbnQgZ2V0cyBzZXQgdG8gdGhlIHJlcXVlc3RlZCByb3RhdGlvbi4KKwkgKi8K KwlpbnQgc3dfcm90YXRpb25zOwogCS8qKgogCSAqIEBjb25uZWN0b3JfaW5mbzoKIAkgKgotLSAK Mi4xNC4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK