From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jilai Wang Subject: [PATCH] drm/msm/mdp5: Add hflip/vflip support to MDP5 planes (v2) Date: Fri, 31 Jul 2015 10:13:26 -0400 Message-ID: <1438352006-4925-1-git-send-email-jilaiw@codeaurora.org> References: <1438037876-14957-1-git-send-email-jilaiw@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1438037876-14957-1-git-send-email-jilaiw@codeaurora.org> 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 Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org TURQNSBTU1BQcyBjYW4gZmxpcCB0aGUgaW5wdXQgc291cmNlIGhvcml6b250YWxseSBvciB2ZXJ0 aWNhbGx5LgpUaGlzIGNoYW5nZSBpcyB0byBhZGQgdGhpcyBzdXBwb3J0IHRvIE1EUDUgcGxhbmVz Lgp2MTogSW5pdGlhbCBjaGFuZ2UKdjI6IFVzZSBleGlzdGluZyAicm90YXRpb24iIHByb3BlcnR5 IGluc3RlYWQgb2YgY3JlYXRpbmcgbXNtIHNwZWNpZmljCiAgICBwcm9wZXJ0aWVzLiBJbiBvcmRl ciB0byBiZSBjb21wYXRpYWJsZSB3aXRoIGxlZ2FjeSBub24tYXRvbWljCiAgICBzZXRfcHJvcGVy dHksIHN3aXRjaCB0byBkcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9zZXRfcHJvcGVydHkKICAgIGhl bHBlciBmdW5jdGlvbi4KClNpZ25lZC1vZmYtYnk6IEppbGFpIFdhbmcgPGppbGFpd0Bjb2RlYXVy b3JhLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfcGxhbmUuYyB8 IDQ5ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0MSBp bnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRw NS9tZHA1X3BsYW5lLmMKaW5kZXggMWZiYjE3ZC4uZWM1YjI0YzYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jCkBAIC04OCw2ICs4OCwyNiBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBwcmVtdWx0aXBsaWVkX3Byb3BfZW51bV9saXN0 W10gPSB7CiAJeyAxLCAidHJ1ZSIgfSwKIH07CiAKK3N0YXRpYyB2b2lkIG1kcDVfcGxhbmVfaW5z dGFsbF9yb3RhdGlvbl9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQlzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSkKK3sKKwlzdHJ1Y3QgbWRwNV9wbGFuZSAqbWRwNV9wbGFuZSA9IHRv X21kcDVfcGxhbmUocGxhbmUpOworCisJaWYgKCEobWRwNV9wbGFuZS0+Y2FwcyAmIE1EUF9QSVBF X0NBUF9IRkxJUCkgJiYKKwkJIShtZHA1X3BsYW5lLT5jYXBzICYgTURQX1BJUEVfQ0FQX1ZGTElQ KSkKKwkJcmV0dXJuOworCisJaWYgKCFkZXYtPm1vZGVfY29uZmlnLnJvdGF0aW9uX3Byb3BlcnR5 KQorCQlkZXYtPm1vZGVfY29uZmlnLnJvdGF0aW9uX3Byb3BlcnR5ID0KKwkJCWRybV9tb2RlX2Ny ZWF0ZV9yb3RhdGlvbl9wcm9wZXJ0eShkZXYsCisJCQlCSVQoRFJNX1JFRkxFQ1RfWCkgfCBCSVQo RFJNX1JFRkxFQ1RfWSkpOworCisJaWYgKGRldi0+bW9kZV9jb25maWcucm90YXRpb25fcHJvcGVy dHkpCisJCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZwbGFuZS0+YmFzZSwKKwkJCWRldi0+ bW9kZV9jb25maWcucm90YXRpb25fcHJvcGVydHksCisJCQkwKTsKK30KKwogLyogaGVscGVyIHRv IGluc3RhbGwgcHJvcGVydGllcyB3aGljaCBhcmUgY29tbW9uIHRvIHBsYW5lcyBhbmQgY3J0Y3Mg Ki8KIHZvaWQgbWRwNV9wbGFuZV9pbnN0YWxsX3Byb3BlcnRpZXMoc3RydWN0IGRybV9wbGFuZSAq cGxhbmUsCiAJCXN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaikKQEAgLTEyNSw2ICsxNDUsOCBA QCB2b2lkIG1kcDVfcGxhbmVfaW5zdGFsbF9wcm9wZXJ0aWVzKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lLAogCUlOU1RBTExfUkFOR0VfUFJPUEVSVFkoYWxwaGEsIEFMUEhBLCAwLCAyNTUsIDI1NSk7 CiAJSU5TVEFMTF9FTlVNX1BST1BFUlRZKHByZW11bHRpcGxpZWQsIFBSRU1VTFRJUExJRUQsIDAp OwogCisJbWRwNV9wbGFuZV9pbnN0YWxsX3JvdGF0aW9uX3Byb3BlcnR5KGRldiwgcGxhbmUpOwor CiAjdW5kZWYgSU5TVEFMTF9SQU5HRV9QUk9QRVJUWQogI3VuZGVmIElOU1RBTExfRU5VTV9QUk9Q RVJUWQogI3VuZGVmIElOU1RBTExfUFJPUEVSVFkKQEAgLTE2MCwxMyArMTgyLDYgQEAgZG9uZToK ICN1bmRlZiBTRVRfUFJPUEVSVFkKIH0KIAotc3RhdGljIGludCBtZHA1X3BsYW5lX3NldF9wcm9w ZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKLQkJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJv cGVydHksIHVpbnQ2NF90IHZhbCkKLXsKLQlyZXR1cm4gbWRwNV9wbGFuZV9hdG9taWNfc2V0X3By b3BlcnR5KHBsYW5lLCBwbGFuZS0+c3RhdGUsIHByb3BlcnR5LAotCQl2YWwpOwotfQotCiBzdGF0 aWMgaW50IG1kcDVfcGxhbmVfYXRvbWljX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSwKIAkJY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUsCiAJCXN0cnVjdCBk cm1fcHJvcGVydHkgKnByb3BlcnR5LCB1aW50NjRfdCAqdmFsKQpAQCAtMjU0LDcgKzI2OSw3IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIG1kcDVfcGxhbmVfZnVuY3MgPSB7 CiAJCS51cGRhdGVfcGxhbmUgPSBkcm1fYXRvbWljX2hlbHBlcl91cGRhdGVfcGxhbmUsCiAJCS5k aXNhYmxlX3BsYW5lID0gZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9wbGFuZSwKIAkJLmRlc3Ry b3kgPSBtZHA1X3BsYW5lX2Rlc3Ryb3ksCi0JCS5zZXRfcHJvcGVydHkgPSBtZHA1X3BsYW5lX3Nl dF9wcm9wZXJ0eSwKKwkJLnNldF9wcm9wZXJ0eSA9IGRybV9hdG9taWNfaGVscGVyX3BsYW5lX3Nl dF9wcm9wZXJ0eSwKIAkJLmF0b21pY19zZXRfcHJvcGVydHkgPSBtZHA1X3BsYW5lX2F0b21pY19z ZXRfcHJvcGVydHksCiAJCS5hdG9taWNfZ2V0X3Byb3BlcnR5ID0gbWRwNV9wbGFuZV9hdG9taWNf Z2V0X3Byb3BlcnR5LAogCQkucmVzZXQgPSBtZHA1X3BsYW5lX3Jlc2V0LApAQCAtMjkwLDYgKzMw NSw3IEBAIHN0YXRpYyBpbnQgbWRwNV9wbGFuZV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9wbGFu ZSAqcGxhbmUsCiAJc3RydWN0IG1kcDVfcGxhbmUgKm1kcDVfcGxhbmUgPSB0b19tZHA1X3BsYW5l KHBsYW5lKTsKIAlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfc3RhdGUgPSBwbGFuZS0+c3Rh dGU7CiAJY29uc3Qgc3RydWN0IG1kcF9mb3JtYXQgKmZvcm1hdDsKKwlib29sIHZmbGlwLCBoZmxp cDsKIAogCURCRygiJXM6IGNoZWNrICglZCAtPiAlZCkiLCBtZHA1X3BsYW5lLT5uYW1lLAogCQkJ cGxhbmVfZW5hYmxlZChvbGRfc3RhdGUpLCBwbGFuZV9lbmFibGVkKHN0YXRlKSk7CkBAIC0zMTQs NiArMzMwLDE2IEBAIHN0YXRpYyBpbnQgbWRwNV9wbGFuZV9hdG9taWNfY2hlY2soc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUsCiAKIAkJCXJldHVybiAtRUlOVkFMOwogCQl9CisKKwkJaGZsaXAgPSAh IShzdGF0ZS0+cm90YXRpb24gJiBCSVQoRFJNX1JFRkxFQ1RfWCkpOworCQl2ZmxpcCA9ICEhKHN0 YXRlLT5yb3RhdGlvbiAmIEJJVChEUk1fUkVGTEVDVF9ZKSk7CisJCWlmICgodmZsaXAgJiYgISht ZHA1X3BsYW5lLT5jYXBzICYgTURQX1BJUEVfQ0FQX1ZGTElQKSkgfHwKKwkJCShoZmxpcCAmJiAh KG1kcDVfcGxhbmUtPmNhcHMgJiBNRFBfUElQRV9DQVBfSEZMSVApKSkgeworCQkJZGV2X2Vycihw bGFuZS0+ZGV2LT5kZXYsCisJCQkJIlBpcGUgZG9lc24ndCBzdXBwb3J0IGZsaXBcbiIpOworCisJ CQlyZXR1cm4gLUVJTlZBTDsKKwkJfQogCX0KIAogCWlmIChwbGFuZV9lbmFibGVkKHN0YXRlKSAm JiBwbGFuZV9lbmFibGVkKG9sZF9zdGF0ZSkpIHsKQEAgLTU2NSw2ICs1OTEsNyBAQCBzdGF0aWMg aW50IG1kcDVfcGxhbmVfbW9kZV9zZXQoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCXVpbnQz Ml90IHNyY193LCB1aW50MzJfdCBzcmNfaCkKIHsKIAlzdHJ1Y3QgbWRwNV9wbGFuZSAqbWRwNV9w bGFuZSA9IHRvX21kcDVfcGxhbmUocGxhbmUpOworCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBz dGF0ZSA9IHBsYW5lLT5zdGF0ZTsKIAlzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zID0gZ2V0X2tt cyhwbGFuZSk7CiAJc3RydWN0IGRldmljZSAqZGV2ID0gbWRwNV9rbXMtPmRldi0+ZGV2OwogCWVu dW0gbWRwNV9waXBlIHBpcGUgPSBtZHA1X3BsYW5lLT5waXBlOwpAQCAtNTc0LDYgKzYwMSw3IEBA IHN0YXRpYyBpbnQgbWRwNV9wbGFuZV9tb2RlX3NldChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwK IAl1aW50MzJfdCBwaGFzZXhfc3RlcFsyXSA9IHswLH0sIHBoYXNleV9zdGVwWzJdID0gezAsfTsK IAl1aW50MzJfdCBoZGVjbSA9IDAsIHZkZWNtID0gMDsKIAl1aW50MzJfdCBwaXhfZm9ybWF0Owor CWJvb2wgdmZsaXAsIGhmbGlwOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IHJldDsKIApA QCAtNjM0LDYgKzY2Miw5IEBAIHN0YXRpYyBpbnQgbWRwNV9wbGFuZV9tb2RlX3NldChzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKIAkJY29uZmlnIHw9IGdldF9zY2FsZXlfY29uZmlnKHNyY19oLCBj cnRjX2gpOwogCX0KIAorCWhmbGlwID0gISEocHN0YXRlLT5yb3RhdGlvbiAmIEJJVChEUk1fUkVG TEVDVF9YKSk7CisJdmZsaXAgPSAhIShwc3RhdGUtPnJvdGF0aW9uICYgQklUKERSTV9SRUZMRUNU X1kpKTsKKwogCXNwaW5fbG9ja19pcnFzYXZlKCZtZHA1X3BsYW5lLT5waXBlX2xvY2ssIGZsYWdz KTsKIAogCW1kcDVfd3JpdGUobWRwNV9rbXMsIFJFR19NRFA1X1BJUEVfU1JDX0lNR19TSVpFKHBp cGUpLApAQCAtNjc1LDYgKzcwNiw4IEBAIHN0YXRpYyBpbnQgbWRwNV9wbGFuZV9tb2RlX3NldChz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCU1EUDVfUElQRV9TUkNfVU5QQUNLX0VMRU0zKGZv cm1hdC0+dW5wYWNrWzNdKSk7CiAKIAltZHA1X3dyaXRlKG1kcDVfa21zLCBSRUdfTURQNV9QSVBF X1NSQ19PUF9NT0RFKHBpcGUpLAorCQkJKGhmbGlwID8gTURQNV9QSVBFX1NSQ19PUF9NT0RFX0ZM SVBfTFIgOiAwKSB8CisJCQkodmZsaXAgPyBNRFA1X1BJUEVfU1JDX09QX01PREVfRkxJUF9VRCA6 IDApIHwKIAkJCU1EUDVfUElQRV9TUkNfT1BfTU9ERV9CV0MoQldDX0xPU1NMRVNTKSk7CiAKIAkv KiBub3QgdXNpbmcgc2VjdXJlIG1vZGU6ICovCi0tIApUaGUgUXVhbGNvbW0gSW5ub3ZhdGlvbiBD ZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVyb3JhIEZvcnVtLAphIExpbnV4 IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=