From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomasz Figa Subject: [PATCH 7/8] drm/rockchip: Always signal event in next vblank after cfg_done Date: Wed, 14 Sep 2016 21:55:00 +0900 Message-ID: <1473857701-9250-8-git-send-email-tfiga@chromium.org> References: <1473857701-9250-1-git-send-email-tfiga@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-x235.google.com (mail-pa0-x235.google.com [IPv6:2607:f8b0:400e:c03::235]) by gabe.freedesktop.org (Postfix) with ESMTPS id 550E26E3F6 for ; Wed, 14 Sep 2016 12:55:28 +0000 (UTC) Received: by mail-pa0-x235.google.com with SMTP id cm16so5347489pac.0 for ; Wed, 14 Sep 2016 05:55:28 -0700 (PDT) In-Reply-To: <1473857701-9250-1-git-send-email-tfiga@chromium.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-kernel@vger.kernel.org, Tomasz Figa , linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBtYWtlcyB0aGUgZHJpdmVyIHNlbmQgdGhlIHBlbmRpbmcgdmJsYW5rIGV2ZW50 IGluIG5leHQgdmJsYW5rCmZvbGxvd2luZyB0aGUgY29tbWl0LCByZWx5aW5nIG9uIHZibGFuayBz aWduYWxsaW5nIGltcHJvdmVtZW50cyBkb25lIGluCnByZXZpb3VzIHBhdGNoZXMuIFRoaXMgZ2l2 ZXMgdXMgdmJsYW5rIGV2ZW50cyB0aGF0IGFsd2F5cyByZXByZXNlbnQgdGhlCnJlYWwgbW9tZW50 IG9mIGNoYW5nZXMgaGl0dGluZyBvbiB0aGUgc2NyZWVuICh3aGljaCB3YXMgdGhlIGNhc2Ugb25s eQpmb3IgY29tcGxldGUgRkIgY2hhbmdlcyBiZWZvcmUpIGFuZCBsZXRzIHVzIHJlbW92ZSB0aGUg bWFudWFsIHdpbmRvdwp1cGRhdGUgY2hlY2suCgpTaWduZWQtb2ZmLWJ5OiBUb21hc3ogRmlnYSA8 dGZpZ2FAY2hyb21pdW0ub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hp cF9kcm1fdm9wLmMgfCA1NCArKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDQ0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMgYi9kcml2ZXJzL2dwdS9k cm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCmluZGV4IGJiN2E4NjUuLmNhY2RmZmIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYwpAQCAtMTA1LDEw ICsxMDUsNiBAQCBzdHJ1Y3Qgdm9wX3dpbiB7CiAJc3RydWN0IGRybV9wbGFuZSBiYXNlOwogCWNv bnN0IHN0cnVjdCB2b3Bfd2luX2RhdGEgKmRhdGE7CiAJc3RydWN0IHZvcCAqdm9wOwotCi0JLyog cHJvdGVjdGVkIGJ5IGRldi0+ZXZlbnRfbG9jayAqLwotCWJvb2wgZW5hYmxlOwotCWRtYV9hZGRy X3QgeXJnYl9tc3Q7CiB9OwogCiBzdHJ1Y3Qgdm9wIHsKQEAgLTcxNiwxMSArNzEyLDYgQEAgc3Rh dGljIHZvaWQgdm9wX3BsYW5lX2F0b21pY19kaXNhYmxlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l LAogCWlmICghb2xkX3N0YXRlLT5jcnRjKQogCQlyZXR1cm47CiAKLQlzcGluX2xvY2tfaXJxKCZw bGFuZS0+ZGV2LT5ldmVudF9sb2NrKTsKLQl2b3Bfd2luLT5lbmFibGUgPSBmYWxzZTsKLQl2b3Bf d2luLT55cmdiX21zdCA9IDA7Ci0Jc3Bpbl91bmxvY2tfaXJxKCZwbGFuZS0+ZGV2LT5ldmVudF9s b2NrKTsKLQogCXNwaW5fbG9jaygmdm9wLT5yZWdfbG9jayk7CiAKIAlWT1BfV0lOX1NFVCh2b3As IHdpbiwgZW5hYmxlLCAwKTsKQEAgLTc4NCwxMSArNzc1LDYgQEAgc3RhdGljIHZvaWQgdm9wX3Bs YW5lX2F0b21pY191cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJb2Zmc2V0ICs9IChz cmMtPnkxID4+IDE2KSAqIGZiLT5waXRjaGVzWzBdOwogCXZvcF9wbGFuZV9zdGF0ZS0+eXJnYl9t c3QgPSBya19vYmotPmRtYV9hZGRyICsgb2Zmc2V0ICsgZmItPm9mZnNldHNbMF07CiAKLQlzcGlu X2xvY2tfaXJxKCZwbGFuZS0+ZGV2LT5ldmVudF9sb2NrKTsKLQl2b3Bfd2luLT5lbmFibGUgPSB0 cnVlOwotCXZvcF93aW4tPnlyZ2JfbXN0ID0gdm9wX3BsYW5lX3N0YXRlLT55cmdiX21zdDsKLQlz cGluX3VubG9ja19pcnEoJnBsYW5lLT5kZXYtPmV2ZW50X2xvY2spOwotCiAJc3Bpbl9sb2NrKCZ2 b3AtPnJlZ19sb2NrKTsKIAogCVZPUF9XSU5fU0VUKHZvcCwgd2luLCBmb3JtYXQsIHZvcF9wbGFu ZV9zdGF0ZS0+Zm9ybWF0KTsKQEAgLTExMTIsNiArMTA5OCwxNiBAQCBzdGF0aWMgdm9pZCB2b3Bf Y3J0Y19hdG9taWNfZmx1c2goc3RydWN0IGRybV9jcnRjICpjcnRjLAogCSAqLwogCXZvcF93YWl0 X2Zvcl9pcnFfaGFuZGxlcih2b3ApOwogCisJc3Bpbl9sb2NrX2lycSgmY3J0Yy0+ZGV2LT5ldmVu dF9sb2NrKTsKKwlpZiAoY3J0Yy0+c3RhdGUtPmV2ZW50KSB7CisJCVdBUk5fT04oZHJtX2NydGNf dmJsYW5rX2dldChjcnRjKSAhPSAwKTsKKwkJV0FSTl9PTih2b3AtPmV2ZW50KTsKKworCQl2b3At PmV2ZW50ID0gY3J0Yy0+c3RhdGUtPmV2ZW50OworCQljcnRjLT5zdGF0ZS0+ZXZlbnQgPSBOVUxM OworCX0KKwlzcGluX3VubG9ja19pcnEoJmNydGMtPmRldi0+ZXZlbnRfbG9jayk7CisKIAlmb3Jf ZWFjaF9wbGFuZV9pbl9zdGF0ZShvbGRfc3RhdGUsIHBsYW5lLCBvbGRfcGxhbmVfc3RhdGUsIGkp IHsKIAkJaWYgKCFvbGRfcGxhbmVfc3RhdGUtPmZiKQogCQkJY29udGludWU7CkBAIC0xMTI5LDE5 ICsxMTI1LDcgQEAgc3RhdGljIHZvaWQgdm9wX2NydGNfYXRvbWljX2ZsdXNoKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKIHN0YXRpYyB2b2lkIHZvcF9jcnRjX2F0b21pY19iZWdpbihzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCiAJCQkJICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRl KQogewotCXN0cnVjdCB2b3AgKnZvcCA9IHRvX3ZvcChjcnRjKTsKLQogCXJvY2tjaGlwX2RybV9w c3JfZmx1c2goY3J0Yyk7Ci0KLQlzcGluX2xvY2tfaXJxKCZjcnRjLT5kZXYtPmV2ZW50X2xvY2sp OwotCWlmIChjcnRjLT5zdGF0ZS0+ZXZlbnQpIHsKLQkJV0FSTl9PTihkcm1fY3J0Y192Ymxhbmtf Z2V0KGNydGMpICE9IDApOwotCQlXQVJOX09OKHZvcC0+ZXZlbnQpOwotCi0JCXZvcC0+ZXZlbnQg PSBjcnRjLT5zdGF0ZS0+ZXZlbnQ7Ci0JCWNydGMtPnN0YXRlLT5ldmVudCA9IE5VTEw7Ci0JfQot CXNwaW5fdW5sb2NrX2lycSgmY3J0Yy0+ZGV2LT5ldmVudF9sb2NrKTsKIH0KIAogc3RhdGljIGNv bnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3Mgdm9wX2NydGNfaGVscGVyX2Z1bmNzID0g ewpAQCAtMTIwNywyOSArMTE5MSwxMSBAQCBzdGF0aWMgdm9pZCB2b3BfZmJfdW5yZWZfd29ya2Vy KHN0cnVjdCBkcm1fZmxpcF93b3JrICp3b3JrLCB2b2lkICp2YWwpCiAJZHJtX2ZyYW1lYnVmZmVy X3VucmVmZXJlbmNlKGZiKTsKIH0KIAotc3RhdGljIGJvb2wgdm9wX3dpbl9wZW5kaW5nX2lzX2Nv bXBsZXRlKHN0cnVjdCB2b3Bfd2luICp2b3Bfd2luKQotewotCWRtYV9hZGRyX3QgeXJnYl9tc3Q7 Ci0KLQlpZiAoIXZvcF93aW4tPmVuYWJsZSkKLQkJcmV0dXJuIFZPUF9XSU5fR0VUKHZvcF93aW4t PnZvcCwgdm9wX3dpbi0+ZGF0YSwgZW5hYmxlKSA9PSAwOwotCi0JeXJnYl9tc3QgPSBWT1BfV0lO X0dFVF9ZUkdCQUREUih2b3Bfd2luLT52b3AsIHZvcF93aW4tPmRhdGEpOwotCi0JcmV0dXJuIHly Z2JfbXN0ID09IHZvcF93aW4tPnlyZ2JfbXN0OwotfQotCiBzdGF0aWMgdm9pZCB2b3BfaGFuZGxl X3ZibGFuayhzdHJ1Y3Qgdm9wICp2b3ApCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRybSA9IHZv cC0+ZHJtX2RldjsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSAmdm9wLT5jcnRjOwogCXVuc2ln bmVkIGxvbmcgZmxhZ3M7Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgdm9wLT5kYXRhLT53 aW5fc2l6ZTsgaSsrKSB7Ci0JCWlmICghdm9wX3dpbl9wZW5kaW5nX2lzX2NvbXBsZXRlKCZ2b3At PndpbltpXSkpCi0JCQlyZXR1cm47Ci0JfQogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmRybS0+ZXZl bnRfbG9jaywgZmxhZ3MpOwogCWlmICh2b3AtPmV2ZW50KSB7Ci0tIAoyLjguMC5yYzMuMjI2Lmcz OWQ0MDIwCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK