From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alastair Bridgewater Subject: [PATCH v3 02/10] drm/nouveau: Extend NVKM HDMI power control method to set InfoFrames Date: Tue, 11 Apr 2017 13:11:17 -0400 Message-ID: <20170411171125.10496-3-alastair.bridgewater@gmail.com> References: <20170117224204.27516-1-alastair.bridgewater@gmail.com> <20170411171125.10496-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: <20170411171125.10496-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: bskeggs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org VGhlIG5vdXZlYXUgZHJpdmVyLCBpbiB0aGUgTGludXggMy43IGRheXMsIHVzZWQgdG8gdHJ5IGFu ZCBzZXQgdGhlCkFWSSBJbmZvRnJhbWUgYmFzZWQgb24gdGhlIHNlbGVjdGVkIGRpc3BsYXkgbW9k ZS4gIFRoZXNlIGRheXMsIGl0CnVzZXMgYSBmaXhlZCBzZXQgb2YgSW5mb0ZyYW1lcy4gIFN0YXJ0 IHRvIGNvcnJlY3QgdGhhdCwgYnkKcHJvdmlkaW5nIGEgbWVjaGFuaXNtIHdoZXJlYnkgSW5mb0Zy YW1lIGRhdGEgbWF5IGJlIHBhc3NlZCB0byB0aGUKTlZLTSBmdW5jdGlvbnMgdGhhdCBkbyB0aGUg YWN0dWFsIGNvbmZpZ3VyYXRpb24uCgpBdCB0aGlzIHBvaW50LCBvbmx5IGVzdGFibGlzaCB0aGUg bmV3IHBhcmFtZXRlcnMgYW5kIHRoZWlyIHBhcnNpbmcsCmRvbid0IGFjdHVhbGx5IHVzZSB0aGUg ZGF0YSBhbnl3aGVyZSB5ZXQgKHNpbmNlIGl0J3Mgbm90IHN1cHBsaWVkCmFueXdoZXJlKS4KClNp Z25lZC1vZmYtYnk6IEFsYXN0YWlyIEJyaWRnZXdhdGVyIDxhbGFzdGFpci5icmlkZ2V3YXRlckBn bWFpbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvaW5jbHVkZS9udmlmL2NsNTA3 MC5oICAgICAgICB8IDQgKysrLQogZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9lbmdpbmUv ZGlzcC9oZG1pZzg0LmMgICB8IDkgKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9u dmttL2VuZ2luZS9kaXNwL2hkbWlnZjExOS5jIHwgOSArKysrKysrKy0KIGRyaXZlcnMvZ3B1L2Ry bS9ub3V2ZWF1L252a20vZW5naW5lL2Rpc3AvaGRtaWdrMTA0LmMgfCA5ICsrKysrKysrLQogZHJp dmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9lbmdpbmUvZGlzcC9oZG1pZ3QyMTUuYyB8IDkgKysr KysrKystCiA1IGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvaW5jbHVkZS9udmlmL2NsNTA3 MC5oIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvaW5jbHVkZS9udmlmL2NsNTA3MC5oCmluZGV4 IGFlNDlkZmQuLjlkNDZlYmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2lu Y2x1ZGUvbnZpZi9jbDUwNzAuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9pbmNsdWRl L252aWYvY2w1MDcwLmgKQEAgLTc2LDcgKzc2LDkgQEAgc3RydWN0IG52NTBfZGlzcF9zb3JfaGRt aV9wd3JfdjAgewogCV9fdTggIHN0YXRlOwogCV9fdTggIG1heF9hY19wYWNrZXQ7CiAJX191OCAg cmVrZXk7Ci0JX191OCAgcGFkMDRbNF07CisJX191OCAgYXZpX2luZm9mcmFtZV9sZW5ndGg7CisJ X191OCAgdmVuZG9yX2luZm9mcmFtZV9sZW5ndGg7CisJX191OCAgcGFkMDZbMl07CiB9OwogCiBz dHJ1Y3QgbnY1MF9kaXNwX3Nvcl9sdmRzX3NjcmlwdF92MCB7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9udmttL2VuZ2luZS9kaXNwL2hkbWlnODQuYyBiL2RyaXZlcnMvZ3B1 L2RybS9ub3V2ZWF1L252a20vZW5naW5lL2Rpc3AvaGRtaWc4NC5jCmluZGV4IDFjNDI1NmUuLjc3 ZTVmNWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vZW5naW5lL2Rp c3AvaGRtaWc4NC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vZW5naW5lL2Rp c3AvaGRtaWc4NC5jCkBAIC00MCw3ICs0MCw3IEBAIGc4NF9oZG1pX2N0cmwoTlY1MF9ESVNQX01U SERfVjEpCiAJaW50IHJldCA9IC1FTk9TWVM7CiAKIAludmlmX2lvY3RsKG9iamVjdCwgImRpc3Ag c29yIGhkbWkgY3RybCBzaXplICVkXG4iLCBzaXplKTsKLQlpZiAoIShyZXQgPSBudmlmX3VucGFj ayhyZXQsICZkYXRhLCAmc2l6ZSwgYXJncy0+djAsIDAsIDAsIGZhbHNlKSkpIHsKKwlpZiAoIShy ZXQgPSBudmlmX3VucGFjayhyZXQsICZkYXRhLCAmc2l6ZSwgYXJncy0+djAsIDAsIDAsIHRydWUp KSkgewogCQludmlmX2lvY3RsKG9iamVjdCwgImRpc3Agc29yIGhkbWkgY3RybCB2ZXJzICVkIHN0 YXRlICVkICIKIAkJCQkgICAibWF4X2FjX3BhY2tldCAlZCByZWtleSAlZFxuIiwKIAkJCSAgIGFy Z3MtPnYwLnZlcnNpb24sIGFyZ3MtPnYwLnN0YXRlLApAQCAtNTQsNiArNTQsMTMgQEAgZzg0X2hk bWlfY3RybChOVjUwX0RJU1BfTVRIRF9WMSkKIAl9IGVsc2UKIAkJcmV0dXJuIHJldDsKIAorCWlm ICgoYXJncy0+djAuYXZpX2luZm9mcmFtZV9sZW5ndGgKKwkgICAgICsgYXJncy0+djAudmVuZG9y X2luZm9mcmFtZV9sZW5ndGgpID4gc2l6ZSkKKwkJcmV0dXJuIC1FTk9TWVM7CisJZWxzZSBpZiAo KGFyZ3MtPnYwLmF2aV9pbmZvZnJhbWVfbGVuZ3RoCisJCSAgICArIGFyZ3MtPnYwLnZlbmRvcl9p bmZvZnJhbWVfbGVuZ3RoKSA8IHNpemUpCisJCXJldHVybiAtRTJCSUc7CisKIAlpZiAoIShjdHJs ICYgMHg0MDAwMDAwMCkpIHsKIAkJbnZrbV9tYXNrKGRldmljZSwgMHg2MTY1YTQgKyBob2ZmLCAw eDQwMDAwMDAwLCAweDAwMDAwMDAwKTsKIAkJbnZrbV9tYXNrKGRldmljZSwgMHg2MTY1MjAgKyBo b2ZmLCAweDAwMDAwMDAxLCAweDAwMDAwMDAwKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9ub3V2ZWF1L252a20vZW5naW5lL2Rpc3AvaGRtaWdmMTE5LmMgYi9kcml2ZXJzL2dwdS9kcm0v bm91dmVhdS9udmttL2VuZ2luZS9kaXNwL2hkbWlnZjExOS5jCmluZGV4IDYzMmYwMmQuLjY2ZWU4 ODMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vZW5naW5lL2Rpc3Av aGRtaWdmMTE5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9lbmdpbmUvZGlz cC9oZG1pZ2YxMTkuYwpAQCAtNDAsNyArNDAsNyBAQCBnZjExOV9oZG1pX2N0cmwoTlY1MF9ESVNQ X01USERfVjEpCiAJaW50IHJldCA9IC1FTk9TWVM7CiAKIAludmlmX2lvY3RsKG9iamVjdCwgImRp c3Agc29yIGhkbWkgY3RybCBzaXplICVkXG4iLCBzaXplKTsKLQlpZiAoIShyZXQgPSBudmlmX3Vu cGFjayhyZXQsICZkYXRhLCAmc2l6ZSwgYXJncy0+djAsIDAsIDAsIGZhbHNlKSkpIHsKKwlpZiAo IShyZXQgPSBudmlmX3VucGFjayhyZXQsICZkYXRhLCAmc2l6ZSwgYXJncy0+djAsIDAsIDAsIHRy dWUpKSkgewogCQludmlmX2lvY3RsKG9iamVjdCwgImRpc3Agc29yIGhkbWkgY3RybCB2ZXJzICVk IHN0YXRlICVkICIKIAkJCQkgICAibWF4X2FjX3BhY2tldCAlZCByZWtleSAlZFxuIiwKIAkJCSAg IGFyZ3MtPnYwLnZlcnNpb24sIGFyZ3MtPnYwLnN0YXRlLApAQCAtNTMsNiArNTMsMTMgQEAgZ2Yx MTlfaGRtaV9jdHJsKE5WNTBfRElTUF9NVEhEX1YxKQogCX0gZWxzZQogCQlyZXR1cm4gcmV0Owog CisJaWYgKChhcmdzLT52MC5hdmlfaW5mb2ZyYW1lX2xlbmd0aAorCSAgICAgKyBhcmdzLT52MC52 ZW5kb3JfaW5mb2ZyYW1lX2xlbmd0aCkgPiBzaXplKQorCQlyZXR1cm4gLUVOT1NZUzsKKwllbHNl IGlmICgoYXJncy0+djAuYXZpX2luZm9mcmFtZV9sZW5ndGgKKwkJICAgICsgYXJncy0+djAudmVu ZG9yX2luZm9mcmFtZV9sZW5ndGgpIDwgc2l6ZSkKKwkJcmV0dXJuIC1FMkJJRzsKKwogCWlmICgh KGN0cmwgJiAweDQwMDAwMDAwKSkgewogCQludmttX21hc2soZGV2aWNlLCAweDYxNjc5OCArIGhv ZmYsIDB4NDAwMDAwMDAsIDB4MDAwMDAwMDApOwogCQludmttX21hc2soZGV2aWNlLCAweDYxNjdh NCArIGhvZmYsIDB4MDAwMDAwMDEsIDB4MDAwMDAwMDApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL25vdXZlYXUvbnZrbS9lbmdpbmUvZGlzcC9oZG1pZ2sxMDQuYyBiL2RyaXZlcnMvZ3B1 L2RybS9ub3V2ZWF1L252a20vZW5naW5lL2Rpc3AvaGRtaWdrMTA0LmMKaW5kZXggNGU4MDY3ZC4u M2M4YzI2YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9lbmdpbmUv ZGlzcC9oZG1pZ2sxMDQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL2VuZ2lu ZS9kaXNwL2hkbWlnazEwNC5jCkBAIC00MSw3ICs0MSw3IEBAIGdrMTA0X2hkbWlfY3RybChOVjUw X0RJU1BfTVRIRF9WMSkKIAlpbnQgcmV0ID0gLUVOT1NZUzsKIAogCW52aWZfaW9jdGwob2JqZWN0 LCAiZGlzcCBzb3IgaGRtaSBjdHJsIHNpemUgJWRcbiIsIHNpemUpOwotCWlmICghKHJldCA9IG52 aWZfdW5wYWNrKHJldCwgJmRhdGEsICZzaXplLCBhcmdzLT52MCwgMCwgMCwgZmFsc2UpKSkgewor CWlmICghKHJldCA9IG52aWZfdW5wYWNrKHJldCwgJmRhdGEsICZzaXplLCBhcmdzLT52MCwgMCwg MCwgdHJ1ZSkpKSB7CiAJCW52aWZfaW9jdGwob2JqZWN0LCAiZGlzcCBzb3IgaGRtaSBjdHJsIHZl cnMgJWQgc3RhdGUgJWQgIgogCQkJCSAgICJtYXhfYWNfcGFja2V0ICVkIHJla2V5ICVkXG4iLAog CQkJICAgYXJncy0+djAudmVyc2lvbiwgYXJncy0+djAuc3RhdGUsCkBAIC01NCw2ICs1NCwxMyBA QCBnazEwNF9oZG1pX2N0cmwoTlY1MF9ESVNQX01USERfVjEpCiAJfSBlbHNlCiAJCXJldHVybiBy ZXQ7CiAKKwlpZiAoKGFyZ3MtPnYwLmF2aV9pbmZvZnJhbWVfbGVuZ3RoCisJICAgICArIGFyZ3Mt PnYwLnZlbmRvcl9pbmZvZnJhbWVfbGVuZ3RoKSA+IHNpemUpCisJCXJldHVybiAtRU5PU1lTOwor CWVsc2UgaWYgKChhcmdzLT52MC5hdmlfaW5mb2ZyYW1lX2xlbmd0aAorCQkgICAgKyBhcmdzLT52 MC52ZW5kb3JfaW5mb2ZyYW1lX2xlbmd0aCkgPCBzaXplKQorCQlyZXR1cm4gLUUyQklHOworCiAJ aWYgKCEoY3RybCAmIDB4NDAwMDAwMDApKSB7CiAJCW52a21fbWFzayhkZXZpY2UsIDB4NjE2Nzk4 ICsgaG9mZiwgMHg0MDAwMDAwMCwgMHgwMDAwMDAwMCk7CiAJCW52a21fbWFzayhkZXZpY2UsIDB4 NjkwMGMwICsgaGRtaSwgMHgwMDAwMDAwMSwgMHgwMDAwMDAwMCk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL2VuZ2luZS9kaXNwL2hkbWlndDIxNS5jIGIvZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvbnZrbS9lbmdpbmUvZGlzcC9oZG1pZ3QyMTUuYwppbmRleCBmMWFm YzE2Li44ZWQwMGRiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL2Vu Z2luZS9kaXNwL2hkbWlndDIxNS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20v ZW5naW5lL2Rpc3AvaGRtaWd0MjE1LmMKQEAgLTQxLDcgKzQxLDcgQEAgZ3QyMTVfaGRtaV9jdHJs KE5WNTBfRElTUF9NVEhEX1YxKQogCWludCByZXQgPSAtRU5PU1lTOwogCiAJbnZpZl9pb2N0bChv YmplY3QsICJkaXNwIHNvciBoZG1pIGN0cmwgc2l6ZSAlZFxuIiwgc2l6ZSk7Ci0JaWYgKCEocmV0 ID0gbnZpZl91bnBhY2socmV0LCAmZGF0YSwgJnNpemUsIGFyZ3MtPnYwLCAwLCAwLCBmYWxzZSkp KSB7CisJaWYgKCEocmV0ID0gbnZpZl91bnBhY2socmV0LCAmZGF0YSwgJnNpemUsIGFyZ3MtPnYw LCAwLCAwLCB0cnVlKSkpIHsKIAkJbnZpZl9pb2N0bChvYmplY3QsICJkaXNwIHNvciBoZG1pIGN0 cmwgdmVycyAlZCBzdGF0ZSAlZCAiCiAJCQkJICAgIm1heF9hY19wYWNrZXQgJWQgcmVrZXkgJWRc biIsCiAJCQkgICBhcmdzLT52MC52ZXJzaW9uLCBhcmdzLT52MC5zdGF0ZSwKQEAgLTU1LDYgKzU1 LDEzIEBAIGd0MjE1X2hkbWlfY3RybChOVjUwX0RJU1BfTVRIRF9WMSkKIAl9IGVsc2UKIAkJcmV0 dXJuIHJldDsKIAorCWlmICgoYXJncy0+djAuYXZpX2luZm9mcmFtZV9sZW5ndGgKKwkgICAgICsg YXJncy0+djAudmVuZG9yX2luZm9mcmFtZV9sZW5ndGgpID4gc2l6ZSkKKwkJcmV0dXJuIC1FTk9T WVM7CisJZWxzZSBpZiAoKGFyZ3MtPnYwLmF2aV9pbmZvZnJhbWVfbGVuZ3RoCisJCSAgICArIGFy Z3MtPnYwLnZlbmRvcl9pbmZvZnJhbWVfbGVuZ3RoKSA8IHNpemUpCisJCXJldHVybiAtRTJCSUc7 CisKIAlpZiAoIShjdHJsICYgMHg0MDAwMDAwMCkpIHsKIAkJbnZrbV9tYXNrKGRldmljZSwgMHg2 MWM1YTQgKyBzb2ZmLCAweDQwMDAwMDAwLCAweDAwMDAwMDAwKTsKIAkJbnZrbV9tYXNrKGRldmlj ZSwgMHg2MWM1MjAgKyBzb2ZmLCAweDAwMDAwMDAxLCAweDAwMDAwMDAwKTsKLS0gCjIuMTAuMgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTm91dmVhdSBt YWlsaW5nIGxpc3QKTm91dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9ub3V2ZWF1Cg==