From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steve Longerbeam Subject: [PATCH 42/72] imx-drm: imx-ldb: Implement imx_ldb_encoder_dpms() Date: Fri, 31 Oct 2014 15:54:25 -0700 Message-ID: <1414796095-10107-43-git-send-email-steve_longerbeam@mentor.com> References: <1414796095-10107-1-git-send-email-steve_longerbeam@mentor.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pd0-f178.google.com (mail-pd0-f178.google.com [209.85.192.178]) by gabe.freedesktop.org (Postfix) with ESMTP id 3E6CD891CC for ; Fri, 31 Oct 2014 15:57:23 -0700 (PDT) Received: by mail-pd0-f178.google.com with SMTP id fp1so8158985pdb.9 for ; Fri, 31 Oct 2014 15:57:23 -0700 (PDT) In-Reply-To: <1414796095-10107-1-git-send-email-steve_longerbeam@mentor.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SW1wbGVtZW50IGlteF9sZGJfZW5jb2Rlcl9kcG1zKCkuIFR3byBuZXcgZnVuY3Rpb25zIGFyZSBj cmVhdGVkCnRvIHNoYXJlIHBvd2Vyb2ZmIGFuZCBwb3dlcm9uIGNvZGUuIGlteF9sZGJfcG93ZXJv ZmYoKSBpcyBjYWxsZWQKYnkgZW5jb2RlciBkcG1zLCBwcmVwYXJlLCBhbmQgZGlzYWJsZS4gaW14 X2xkYl9wb3dlcm9uKCkgaXMgY2FsbGVkCmJ5IGVuY29kZXIgZHBtcyBhbmQgY29tbWl0LgoKU2ln bmVkLW9mZi1ieTogU3RldmUgTG9uZ2VyYmVhbSA8c3RldmVfbG9uZ2VyYmVhbUBtZW50b3IuY29t PgotLS0KIGRyaXZlcnMvc3RhZ2luZy9pbXgtZHJtL2lteC1sZGIuYyB8ICAxMzkgKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDc5IGluc2VydGlv bnMoKyksIDYwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9pbXgt ZHJtL2lteC1sZGIuYyBiL2RyaXZlcnMvc3RhZ2luZy9pbXgtZHJtL2lteC1sZGIuYwppbmRleCA3 M2ZmMzc5Li4xZWI2MzJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvaW14LWRybS9pbXgt bGRiLmMKKysrIGIvZHJpdmVycy9zdGFnaW5nL2lteC1kcm0vaW14LWxkYi5jCkBAIC0xMzIsMTEg KzEzMiw4NiBAQCBzdGF0aWMgc3RydWN0IGRybV9lbmNvZGVyICppbXhfbGRiX2Nvbm5lY3Rvcl9i ZXN0X2VuY29kZXIoCiAJcmV0dXJuICZpbXhfbGRiX2NoLT5lbmNvZGVyOwogfQogCitzdGF0aWMg dm9pZCBpbXhfbGRiX3Bvd2Vyb2ZmKHN0cnVjdCBpbXhfbGRiX2NoYW5uZWwgKmlteF9sZGJfY2gp Cit7CisJc3RydWN0IGlteF9sZGIgKmxkYiA9IGlteF9sZGJfY2gtPmxkYjsKKwlpbnQgZHVhbCA9 IGxkYi0+bGRiX2N0cmwgJiBMREJfU1BMSVRfTU9ERV9FTjsKKwlpbnQgY2hubyA9IGlteF9sZGJf Y2gtPmNobm87CisKKwlpZiAoKGNobm8gPT0gMCAmJiAobGRiLT5sZGJfY3RybCAmIExEQl9DSDBf TU9ERV9FTl9NQVNLKSA9PSAwKSB8fAorCSAgICAoY2hubyA9PSAxICYmIChsZGItPmxkYl9jdHJs ICYgTERCX0NIMV9NT0RFX0VOX01BU0spID09IDApKQorCQlyZXR1cm47CisKKwlsZGItPmxkYl9j dHJsICY9IChjaG5vID09IDApID8KKwkJfkxEQl9DSDBfTU9ERV9FTl9NQVNLIDogfkxEQl9DSDFf TU9ERV9FTl9NQVNLOworCisJcmVnbWFwX3dyaXRlKGxkYi0+cmVnbWFwLCBJT01VWENfR1BSMiwg bGRiLT5sZGJfY3RybCk7CisKKwlpZiAoZHVhbCkgeworCQljbGtfZGlzYWJsZV91bnByZXBhcmUo bGRiLT5jbGtbMF0pOworCQljbGtfZGlzYWJsZV91bnByZXBhcmUobGRiLT5jbGtbMV0pOworCX0g ZWxzZQorCQljbGtfZGlzYWJsZV91bnByZXBhcmUobGRiLT5jbGtbY2hub10pOworfQorCitzdGF0 aWMgdm9pZCBpbXhfbGRiX3Bvd2Vyb24oc3RydWN0IGlteF9sZGJfY2hhbm5lbCAqaW14X2xkYl9j aCkKK3sKKwlzdHJ1Y3QgaW14X2xkYiAqbGRiID0gaW14X2xkYl9jaC0+bGRiOworCWludCBkdWFs ID0gbGRiLT5sZGJfY3RybCAmIExEQl9TUExJVF9NT0RFX0VOOworCWludCBjaG5vID0gaW14X2xk Yl9jaC0+Y2hubzsKKwlpbnQgbXV4ID0gaW14X2RybV9lbmNvZGVyX2dldF9tdXhfaWQoaW14X2xk Yl9jaC0+Y2hpbGQsCisJCQkJCSAgICAgJmlteF9sZGJfY2gtPmVuY29kZXIpOworCisJaWYgKChj aG5vID09IDAgJiYgKGxkYi0+bGRiX2N0cmwgJiBMREJfQ0gwX01PREVfRU5fTUFTSykpIHx8CisJ ICAgIChjaG5vID09IDEgJiYgKGxkYi0+bGRiX2N0cmwgJiBMREJfQ0gxX01PREVfRU5fTUFTSykp KQorCQlyZXR1cm47CisKKwlpZiAoZHVhbCkgeworCQljbGtfcHJlcGFyZV9lbmFibGUobGRiLT5j bGtbMF0pOworCQljbGtfcHJlcGFyZV9lbmFibGUobGRiLT5jbGtbMV0pOworCX0gZWxzZQorCQlj bGtfcHJlcGFyZV9lbmFibGUobGRiLT5jbGtbY2hub10pOworCisJaWYgKGNobm8gPT0gMCB8fCBk dWFsKSB7CisJCWxkYi0+bGRiX2N0cmwgJj0gfkxEQl9DSDBfTU9ERV9FTl9NQVNLOworCQlpZiAo bXV4ID09IDAgfHwgbGRiLT5sdmRzX211eCkKKwkJCWxkYi0+bGRiX2N0cmwgfD0gTERCX0NIMF9N T0RFX0VOX1RPX0RJMDsKKwkJZWxzZSBpZiAobXV4ID09IDEpCisJCQlsZGItPmxkYl9jdHJsIHw9 IExEQl9DSDBfTU9ERV9FTl9UT19ESTE7CisJfQorCWlmIChjaG5vID09IDEgfHwgZHVhbCkgewor CQlsZGItPmxkYl9jdHJsICY9IH5MREJfQ0gxX01PREVfRU5fTUFTSzsKKwkJaWYgKG11eCA9PSAx IHx8IGxkYi0+bHZkc19tdXgpCisJCQlsZGItPmxkYl9jdHJsIHw9IExEQl9DSDFfTU9ERV9FTl9U T19ESTE7CisJCWVsc2UgaWYgKG11eCA9PSAwKQorCQkJbGRiLT5sZGJfY3RybCB8PSBMREJfQ0gx X01PREVfRU5fVE9fREkwOworCX0KKworCWlmIChsZGItPmx2ZHNfbXV4KSB7CisJCWNvbnN0IHN0 cnVjdCBidXNfbXV4ICpsdmRzX211eCA9IE5VTEw7CisKKwkJaWYgKGNobm8gPT0gMCkKKwkJCWx2 ZHNfbXV4ID0gJmxkYi0+bHZkc19tdXhbMF07CisJCWVsc2UgaWYgKGNobm8gPT0gMSkKKwkJCWx2 ZHNfbXV4ID0gJmxkYi0+bHZkc19tdXhbMV07CisKKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKGxkYi0+ cmVnbWFwLCBsdmRzX211eC0+cmVnLCBsdmRzX211eC0+bWFzaywKKwkJCQkgICBtdXggPDwgbHZk c19tdXgtPnNoaWZ0KTsKKwl9CisKKwlyZWdtYXBfd3JpdGUobGRiLT5yZWdtYXAsIElPTVVYQ19H UFIyLCBsZGItPmxkYl9jdHJsKTsKK30KKwogc3RhdGljIHZvaWQgaW14X2xkYl9lbmNvZGVyX2Rw bXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBpbnQgbW9kZSkKIHsKIAlzdHJ1Y3QgaW14 X2xkYl9jaGFubmVsICppbXhfbGRiX2NoID0gZW5jX3RvX2lteF9sZGJfY2goZW5jb2Rlcik7CiAK IAlpbXhfbGRiX2RiZyhpbXhfbGRiX2NoLCAiJXM6ICVzXG4iLCBfX2Z1bmNfXywgbW9kZSA/ICJP RkYiIDogIk9OIik7CisKKwlpZiAobW9kZSkKKwkJaW14X2xkYl9wb3dlcm9mZihpbXhfbGRiX2No KTsKKwllbHNlCisJCWlteF9sZGJfcG93ZXJvbihpbXhfbGRiX2NoKTsKIH0KIAogc3RhdGljIGJv b2wgaW14X2xkYl9lbmNvZGVyX21vZGVfZml4dXAoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVy LApAQCAtMTg2LDYgKzI2MSw4IEBAIHN0YXRpYyB2b2lkIGlteF9sZGJfZW5jb2Rlcl9wcmVwYXJl KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIAogCWlteF9sZGJfZW50cnlfZGJnKGlteF9s ZGJfY2gpOwogCisJaW14X2xkYl9wb3dlcm9mZihpbXhfbGRiX2NoKTsKKwogCWlmIChsZGItPmxk Yl9jdHJsICYgTERCX1NQTElUX01PREVfRU4pIHsKIAkJLyogZHVhbCBjaGFubmVsIExWRFMgbW9k ZSAqLwogCQlzZXJpYWxfY2xrID0gMzUwMFVMICogbW9kZS0+Y2xvY2s7CkBAIC0yMTgsNDUgKzI5 NSwxMCBAQCBzdGF0aWMgdm9pZCBpbXhfbGRiX2VuY29kZXJfcHJlcGFyZShzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIpCiBzdGF0aWMgdm9pZCBpbXhfbGRiX2VuY29kZXJfY29tbWl0KHN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIHsKIAlzdHJ1Y3QgaW14X2xkYl9jaGFubmVsICppbXhf bGRiX2NoID0gZW5jX3RvX2lteF9sZGJfY2goZW5jb2Rlcik7Ci0Jc3RydWN0IGlteF9sZGIgKmxk YiA9IGlteF9sZGJfY2gtPmxkYjsKLQlpbnQgZHVhbCA9IGxkYi0+bGRiX2N0cmwgJiBMREJfU1BM SVRfTU9ERV9FTjsKLQlpbnQgbXV4ID0gaW14X2RybV9lbmNvZGVyX2dldF9tdXhfaWQoaW14X2xk Yl9jaC0+Y2hpbGQsIGVuY29kZXIpOwogCiAJaW14X2xkYl9lbnRyeV9kYmcoaW14X2xkYl9jaCk7 CiAKLQlpZiAoZHVhbCkgewotCQljbGtfcHJlcGFyZV9lbmFibGUobGRiLT5jbGtbMF0pOwotCQlj bGtfcHJlcGFyZV9lbmFibGUobGRiLT5jbGtbMV0pOwotCX0KLQotCWlmIChpbXhfbGRiX2NoID09 ICZsZGItPmNoYW5uZWxbMF0gfHwgZHVhbCkgewotCQlsZGItPmxkYl9jdHJsICY9IH5MREJfQ0gw X01PREVfRU5fTUFTSzsKLQkJaWYgKG11eCA9PSAwIHx8IGxkYi0+bHZkc19tdXgpCi0JCQlsZGIt PmxkYl9jdHJsIHw9IExEQl9DSDBfTU9ERV9FTl9UT19ESTA7Ci0JCWVsc2UgaWYgKG11eCA9PSAx KQotCQkJbGRiLT5sZGJfY3RybCB8PSBMREJfQ0gwX01PREVfRU5fVE9fREkxOwotCX0KLQlpZiAo aW14X2xkYl9jaCA9PSAmbGRiLT5jaGFubmVsWzFdIHx8IGR1YWwpIHsKLQkJbGRiLT5sZGJfY3Ry bCAmPSB+TERCX0NIMV9NT0RFX0VOX01BU0s7Ci0JCWlmIChtdXggPT0gMSB8fCBsZGItPmx2ZHNf bXV4KQotCQkJbGRiLT5sZGJfY3RybCB8PSBMREJfQ0gxX01PREVfRU5fVE9fREkxOwotCQllbHNl IGlmIChtdXggPT0gMCkKLQkJCWxkYi0+bGRiX2N0cmwgfD0gTERCX0NIMV9NT0RFX0VOX1RPX0RJ MDsKLQl9Ci0KLQlpZiAobGRiLT5sdmRzX211eCkgewotCQljb25zdCBzdHJ1Y3QgYnVzX211eCAq bHZkc19tdXggPSBOVUxMOwotCi0JCWlmIChpbXhfbGRiX2NoID09ICZsZGItPmNoYW5uZWxbMF0p Ci0JCQlsdmRzX211eCA9ICZsZGItPmx2ZHNfbXV4WzBdOwotCQllbHNlIGlmIChpbXhfbGRiX2No ID09ICZsZGItPmNoYW5uZWxbMV0pCi0JCQlsdmRzX211eCA9ICZsZGItPmx2ZHNfbXV4WzFdOwot Ci0JCXJlZ21hcF91cGRhdGVfYml0cyhsZGItPnJlZ21hcCwgbHZkc19tdXgtPnJlZywgbHZkc19t dXgtPm1hc2ssCi0JCQkJICAgbXV4IDw8IGx2ZHNfbXV4LT5zaGlmdCk7Ci0JfQotCi0JcmVnbWFw X3dyaXRlKGxkYi0+cmVnbWFwLCBJT01VWENfR1BSMiwgbGRiLT5sZGJfY3RybCk7CisJaW14X2xk Yl9wb3dlcm9uKGlteF9sZGJfY2gpOwogfQogCiBzdGF0aWMgdm9pZCBpbXhfbGRiX2VuY29kZXJf bW9kZV9zZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLApAQCAtMjk2LDMzICszMzgsMTAg QEAgc3RhdGljIHZvaWQgaW14X2xkYl9lbmNvZGVyX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlciwKIHN0YXRpYyB2b2lkIGlteF9sZGJfZW5jb2Rlcl9kaXNhYmxlKHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlcikKIHsKIAlzdHJ1Y3QgaW14X2xkYl9jaGFubmVsICppbXhfbGRi X2NoID0gZW5jX3RvX2lteF9sZGJfY2goZW5jb2Rlcik7Ci0Jc3RydWN0IGlteF9sZGIgKmxkYiA9 IGlteF9sZGJfY2gtPmxkYjsKIAogCWlteF9sZGJfZW50cnlfZGJnKGlteF9sZGJfY2gpOwogCi0J LyoKLQkgKiBpbXhfbGRiX2VuY29kZXJfZGlzYWJsZSBpcyBjYWxsZWQgYnkKLQkgKiBkcm1faGVs cGVyX2Rpc2FibGVfdW51c2VkX2Z1bmN0aW9ucyB3aXRob3V0Ci0JICogdGhlIGVuY29kZXIgYmVp bmcgZW5hYmxlZCBiZWZvcmUuCi0JICovCi0JaWYgKGlteF9sZGJfY2ggPT0gJmxkYi0+Y2hhbm5l bFswXSAmJgotCSAgICAobGRiLT5sZGJfY3RybCAmIExEQl9DSDBfTU9ERV9FTl9NQVNLKSA9PSAw KQotCQlyZXR1cm47Ci0JZWxzZSBpZiAoaW14X2xkYl9jaCA9PSAmbGRiLT5jaGFubmVsWzFdICYm Ci0JCSAobGRiLT5sZGJfY3RybCAmIExEQl9DSDFfTU9ERV9FTl9NQVNLKSA9PSAwKQotCQlyZXR1 cm47Ci0KLQlpZiAoaW14X2xkYl9jaCA9PSAmbGRiLT5jaGFubmVsWzBdKQotCQlsZGItPmxkYl9j dHJsICY9IH5MREJfQ0gwX01PREVfRU5fTUFTSzsKLQllbHNlIGlmIChpbXhfbGRiX2NoID09ICZs ZGItPmNoYW5uZWxbMV0pCi0JCWxkYi0+bGRiX2N0cmwgJj0gfkxEQl9DSDFfTU9ERV9FTl9NQVNL OwotCi0JcmVnbWFwX3dyaXRlKGxkYi0+cmVnbWFwLCBJT01VWENfR1BSMiwgbGRiLT5sZGJfY3Ry bCk7Ci0KLQlpZiAobGRiLT5sZGJfY3RybCAmIExEQl9TUExJVF9NT0RFX0VOKSB7Ci0JCWNsa19k aXNhYmxlX3VucHJlcGFyZShsZGItPmNsa1swXSk7Ci0JCWNsa19kaXNhYmxlX3VucHJlcGFyZShs ZGItPmNsa1sxXSk7Ci0JfQorCWlteF9sZGJfcG93ZXJvZmYoaW14X2xkYl9jaCk7CiB9CiAKIHN0 YXRpYyBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5jcyBpbXhfbGRiX2Nvbm5lY3Rvcl9mdW5jcyA9 IHsKLS0gCjEuNy45LjUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==