From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alastair Bridgewater Subject: [PATCH 2/6] drm/nouveau: Pass mode-dependent AVI and Vendor HDMI InfoFrames to NVKM Date: Tue, 17 Jan 2017 17:42:00 -0500 Message-ID: <20170117224204.27516-3-alastair.bridgewater@gmail.com> References: <20170117224204.27516-1-alastair.bridgewater@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170117224204.27516-1-alastair.bridgewater-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org Tm93IHRoYXQgd2UgaGF2ZSBtZWNoYW5pc20gYnkgd2hpY2ggdG8gcGFzcyBtb2RlLWRlcGVuZGVu dCBIRE1JCkluZm9GcmFtZXMgdG8gdGhlIGxvdy1sZXZlbCBoYXJkd2FyZSBkcml2ZXIsIGl0IGlz IGluY3VtYmVudCB1cG9uCnVzIHRvIGRvIHNvLgoKRXhwZXJpbWVudGF0aW9uIG9uIGEgZ3QyMTUg ZGV2aWNlIHN1Z2dlc3RzIHRoYXQgdGhlIEF1ZGlvIEluZm9GcmFtZQppcyBub3QgcmVxdWlyZWQg aGVyZSwgcG9zc2libHkgYmVpbmcgcHJvdmlkZWQgYnkgdGhlIEhEQSBkZXZpY2UKd2hlbiBuZWNl c3NhcnkgKGJlY2F1c2Ugd2hlcmUgZWxzZSB3b3VsZCBpdCBjb21lIGZyb20/KS4KClNpZ25lZC1v ZmYtYnk6IEFsYXN0YWlyIEJyaWRnZXdhdGVyIDxhbGFzdGFpci5icmlkZ2V3YXRlckBnbWFpbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1MF9kaXNwbGF5LmMgfCA0OSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgNDggaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2 ZWF1L252NTBfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1MF9kaXNwbGF5 LmMKaW5kZXggMmMyYzY0NS4uZDUyZDBiOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbnY1MF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1MF9k aXNwbGF5LmMKQEAgLTIzLDYgKzIzLDcgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZG1hLW1h cHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9oZG1pLmg+CiAKICNpbmNsdWRlIDxkcm0vZHJtUC5o PgogI2luY2x1ZGUgPGRybS9kcm1fYXRvbWljLmg+CkBAIC0zMSw2ICszMiw3IEBACiAjaW5jbHVk ZSA8ZHJtL2RybV9kcF9oZWxwZXIuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2ZiX2hlbHBlci5oPgog I2luY2x1ZGUgPGRybS9kcm1fcGxhbmVfaGVscGVyLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9lZGlk Lmg+CiAKICNpbmNsdWRlIDxudmlmL2NsYXNzLmg+CiAjaW5jbHVkZSA8bnZpZi9jbDAwMDIuaD4K QEAgLTI3NzIsNiArMjc3NCwyOCBAQCBudjUwX2hkbWlfZGlzYWJsZShzdHJ1Y3QgZHJtX2VuY29k ZXIgKmVuY29kZXIsIHN0cnVjdCBub3V2ZWF1X2NydGMgKm52X2NydGMpCiAJbnZpZl9tdGhkKGRp c3AtPmRpc3AsIDAsICZhcmdzLCBzaXplb2YoYXJncykpOwogfQogCitzdGF0aWMgc3NpemVfdAor bnY1MF9oZG1pX3BhY2tfaW5mb2ZyYW1lKHN0cnVjdCBudjUwX2Rpc3Bfc29yX2hkbWlfcHdyX3Yw X2luZm9mcmFtZSAqZnJhbWVfb3V0LAorCQkJIHVuaW9uIGhkbWlfaW5mb2ZyYW1lICpmcmFtZV9p bikKK3sKKwl1aW50OF90IGJ1ZmZlclsxN107IC8qIFRoZSBoZWFkZXIgcGx1cyB0d28gInN1YnBh Y2tzIiAqLworCXNzaXplX3QgbGVuOworCisJbGVuID0gaGRtaV9pbmZvZnJhbWVfcGFjayhmcmFt ZV9pbiwgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSk7CisKKwlmcmFtZV9vdXQtPmhlYWRlciA9IGJ1 ZmZlclswXSB8IChidWZmZXJbMV0gPDwgOCkgfCAoYnVmZmVyWzJdIDw8IDE2KTsKKwlmcmFtZV9v dXQtPnN1YnBhY2swX2xvdyA9IGJ1ZmZlclszXSB8IChidWZmZXJbNF0gPDwgOCkgfAorCQkoYnVm ZmVyWzVdIDw8IDE2KSB8IChidWZmZXJbNl0gPDwgMjQpOworCWZyYW1lX291dC0+c3VicGFjazBf aGlnaCA9IGJ1ZmZlcls3XSB8IChidWZmZXJbOF0gPDwgOCkgfAorCQkoYnVmZmVyWzldIDw8IDE2 KTsKKwlmcmFtZV9vdXQtPnN1YnBhY2sxX2xvdyA9IGJ1ZmZlclsxMF0gfCAoYnVmZmVyWzExXSA8 PCA4KSB8CisJCShidWZmZXJbMTJdIDw8IDE2KSB8IChidWZmZXJbMTNdIDw8IDI0KTsKKwlmcmFt ZV9vdXQtPnN1YnBhY2sxX2hpZ2ggPSBidWZmZXJbMTRdIHwgKGJ1ZmZlclsxNV0gPDwgOCkgfAor CQkoYnVmZmVyWzE2XSA8PCAxNik7CisKKwlyZXR1cm4gbGVuOworfQorCiBzdGF0aWMgdm9pZAog bnY1MF9oZG1pX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlKQogewpAQCAtMjc4MSw2ICsyODA1LDcgQEAgbnY1MF9oZG1pX2Vu YWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlKQogCXN0cnVjdCB7CiAJCXN0cnVjdCBudjUwX2Rpc3BfbXRoZF92MSBiYXNlOwogCQlz dHJ1Y3QgbnY1MF9kaXNwX3Nvcl9oZG1pX3B3cl92MCBwd3I7CisJCXN0cnVjdCBudjUwX2Rpc3Bf c29yX2hkbWlfcHdyX3YwX2luZm9mcmFtZSBpZnJhbWVbM107CiAJfSBhcmdzID0gewogCQkuYmFz ZS52ZXJzaW9uID0gMSwKIAkJLmJhc2UubWV0aG9kID0gTlY1MF9ESVNQX01USERfVjFfU09SX0hE TUlfUFdSLApAQCAtMjc5MiwxNyArMjgxNywzOSBAQCBudjUwX2hkbWlfZW5hYmxlKHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2Rlciwgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCiAJfTsK IAlzdHJ1Y3Qgbm91dmVhdV9jb25uZWN0b3IgKm52X2Nvbm5lY3RvcjsKIAl1MzIgbWF4X2FjX3Bh Y2tldDsKKwl1bmlvbiBoZG1pX2luZm9mcmFtZSBhdmlfZnJhbWU7CisJdW5pb24gaGRtaV9pbmZv ZnJhbWUgdmVuZG9yX2ZyYW1lOworCWludCByZXQ7CisJaW50IHNpemU7CisJaW50IGZyYW1lID0g MDsKIAogCW52X2Nvbm5lY3RvciA9IG5vdXZlYXVfZW5jb2Rlcl9jb25uZWN0b3JfZ2V0KG52X2Vu Y29kZXIpOwogCWlmICghZHJtX2RldGVjdF9oZG1pX21vbml0b3IobnZfY29ubmVjdG9yLT5lZGlk KSkKIAkJcmV0dXJuOwogCisJLyogQXVkaW8gSW5mb0ZyYW1lIGFwcGFyZW50bHkgbm90IHJlcXVp cmVkIChzdXBwbGllZCBieSBIREEgZGV2aWNlPykgKi8KKworCXJldCA9IGRybV9oZG1pX2F2aV9p bmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmF2aV9mcmFtZS5hdmksIG1vZGUpOworCWlmIChy ZXQgPj0gMCkgeworCQkvKiBXZSBoYXZlIGFuIEFWSSBJbmZvRnJhbWUsIHBvcHVsYXRlIGl0IHRv IHRoZSBkaXNwbGF5ICovCisJCWFyZ3MucHdyLmZsYWdzIHw9IE5WNTBfRElTUF9NVEhEX1YxX1NP Ul9IRE1JX1BXUl9GTEFHX0FWSV9JTkZPRlJBTUU7CisJCW52NTBfaGRtaV9wYWNrX2luZm9mcmFt ZSgmYXJncy5pZnJhbWVbZnJhbWUrK10sICZhdmlfZnJhbWUpOworCX0KKworCXJldCA9IGRybV9o ZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJnZlbmRvcl9mcmFtZS52ZW5k b3IuaGRtaSwgbW9kZSk7CisJaWYgKHJldCA+PSAwKSB7CisJCS8qIFdlIGhhdmUgYSBWZW5kb3Ig SW5mb0ZyYW1lLCBwb3B1bGF0ZSBpdCB0byB0aGUgZGlzcGxheSAqLworCQlhcmdzLnB3ci5mbGFn cyB8PSBOVjUwX0RJU1BfTVRIRF9WMV9TT1JfSERNSV9QV1JfRkxBR19WRU5ET1JfSU5GT0ZSQU1F OworCQludjUwX2hkbWlfcGFja19pbmZvZnJhbWUoJmFyZ3MuaWZyYW1lW2ZyYW1lKytdLCAmdmVu ZG9yX2ZyYW1lKTsKKwl9CisKIAltYXhfYWNfcGFja2V0ICA9IG1vZGUtPmh0b3RhbCAtIG1vZGUt PmhkaXNwbGF5OwogCW1heF9hY19wYWNrZXQgLT0gYXJncy5wd3IucmVrZXk7CiAJbWF4X2FjX3Bh Y2tldCAtPSAxODsgLyogY29uc3RhbnQgZnJvbSB0ZWdyYSAqLwogCWFyZ3MucHdyLm1heF9hY19w YWNrZXQgPSBtYXhfYWNfcGFja2V0IC8gMzI7CiAKLQludmlmX210aGQoZGlzcC0+ZGlzcCwgMCwg JmFyZ3MsIHNpemVvZihhcmdzKSk7CisJc2l6ZSA9IHNpemVvZihhcmdzLmJhc2UpICsgc2l6ZW9m KGFyZ3MucHdyKSArIGZyYW1lICogc2l6ZW9mKGFyZ3MuaWZyYW1lWzBdKTsKKwludmlmX210aGQo ZGlzcC0+ZGlzcCwgMCwgJmFyZ3MsIHNpemUpOwogCW52NTBfYXVkaW9fZW5hYmxlKGVuY29kZXIs IG1vZGUpOwogfQogCi0tIAoyLjEwLjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCk5vdXZlYXUgbWFpbGluZyBsaXN0Ck5vdXZlYXVAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v bm91dmVhdQo=