From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 1/2] drm/i915: Fix locking for intel_enable_pipe_a() Date: Mon, 11 Aug 2014 13:15:35 +0300 Message-ID: <1407752136-2973-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 094746E3A5 for ; Mon, 11 Aug 2014 03:17:29 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCmlu dGVsX2VuYWJsZV9waXBlX2EoKSBnZXRzIGNhbGxlZCB3aXRoIGFsbCB0aGUgbW9kZXNldCBsb2Nr cyBhbHJlYWR5CmhlbGQgKGJ5IGRybV9tb2Rlc2V0X2xvY2tfYWxsKCkpLCBzbyB0cnlpbmcgdG8g Z3JhYiB0aGUgc2FtZQpsb2NrcyB1c2luZyBhbm90aGVyIGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4 IGlzIGdvaW5nIHRvIGZhaWwgbWlzZXJhYmx5LgoKTW92ZSBtb3N0IG9mIHRoZSBkcm1fbW9kZXNl dF9hY3F1aXJlX2N0eCBoYW5kbGluZyAoaW5pdC9kcm9wL2ZpbmkpCm91dCBmcm9tIGludGVsX3tn ZXQscmVsZWFzZX1fbG9hZF9kZXRlY3RfcGlwZSgpIGludG8gdGhlIGNhbGxlcnMKKGludGVsX3tj cnQsdHZ9X2RldGVjdCgpKS4gT25seSB0aGUgYWN0dWFsIGxvY2tpbmcgYW5kIGJhY2tvZmYKaGFu ZGxpbmcgaXMgbGVmdCBpbiBpbnRlbF9nZXRfbG9hZF9kZXRlY3RfcGlwZSgpLiBBbmQgaW4KaW50 ZWxfZW5hYmxlX3BpcGVfYSgpIHdlIGp1c3Qgc2hhcmUgdGhlIG1vZGVfY29uZmlnLmFjcXVpcmVf Y3R4IGZyb20KZHJtX21vZGVzZXRfbG9ja19hbGwoKSB3aGljaCBpcyBhbHJlYWR5IGhvbGRpbmcg YWxsIHRoZSByZWxldmFudCBsb2Nrcy4KCkl0J3MgcGVyZmVjdGx5IGxlZ2FsIHRvIGxvY2sgdGhl IHNhbWUgd3dfbXV0ZXggbXVsdGlwbGUgdGltZXMgdXNpbmcgdGhlCnNhbWUgd3dfYWNxdWlyZV9j dHguIGRybV9tb2Rlc2V0X2xvY2soKSB3aWxsIGNvbnZlcnQgdGhlIHJldHVybmVkCi1FQUxSRUFE WSBpbnRvIDAsIHNvIHRoZSBjYWxsZXIgZG9lc24ndCBuZWVkIHRvIGRvIGFudHloaW5nIHNwZWNp YWwuCgpGaXhlcyBhIGhhbmcgb24gcmVzdW1lIG9uIG15IDgzMC4KClNpZ25lZC1vZmYtYnk6IFZp bGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMgICAgIHwgIDcgKysrKysrLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMjEgKysrKy0tLS0tLS0tLS0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgMyArLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3R2LmMgICAgICB8ICA3ICsrKysrKy0KIDQgZmlsZXMgY2hhbmdlZCwgMTcg aW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfY3J0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYwpp bmRleCAyZWZhZjhlLi5lOGFiZmNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9jcnQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYwpAQCAtNjk5 LDE2ICs2OTksMjEgQEAgaW50ZWxfY3J0X2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLCBib29sIGZvcmNlKQogCQlnb3RvIG91dDsKIAl9CiAKKwlkcm1fbW9kZXNldF9hY3F1 aXJlX2luaXQoJmN0eCwgMCk7CisKIAkvKiBmb3IgcHJlLTk0NWcgcGxhdGZvcm1zIHVzZSBsb2Fk IGRldGVjdCAqLwogCWlmIChpbnRlbF9nZXRfbG9hZF9kZXRlY3RfcGlwZShjb25uZWN0b3IsIE5V TEwsICZ0bXAsICZjdHgpKSB7CiAJCWlmIChpbnRlbF9jcnRfZGV0ZWN0X2RkYyhjb25uZWN0b3Ip KQogCQkJc3RhdHVzID0gY29ubmVjdG9yX3N0YXR1c19jb25uZWN0ZWQ7CiAJCWVsc2UKIAkJCXN0 YXR1cyA9IGludGVsX2NydF9sb2FkX2RldGVjdChjcnQpOwotCQlpbnRlbF9yZWxlYXNlX2xvYWRf ZGV0ZWN0X3BpcGUoY29ubmVjdG9yLCAmdG1wLCAmY3R4KTsKKwkJaW50ZWxfcmVsZWFzZV9sb2Fk X2RldGVjdF9waXBlKGNvbm5lY3RvciwgJnRtcCk7CiAJfSBlbHNlCiAJCXN0YXR1cyA9IGNvbm5l Y3Rvcl9zdGF0dXNfdW5rbm93bjsKIAorCWRybV9tb2Rlc2V0X2Ryb3BfbG9ja3MoJmN0eCk7CisJ ZHJtX21vZGVzZXRfYWNxdWlyZV9maW5pKCZjdHgpOworCiBvdXQ6CiAJaW50ZWxfZGlzcGxheV9w b3dlcl9wdXQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7CiAJcmV0dXJuIHN0YXR1czsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCA1MWY0OGQ5Li43OTUzYjQ2IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC04NDQwLDggKzg0NDAsNiBAQCBib29sIGlu dGVsX2dldF9sb2FkX2RldGVjdF9waXBlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Is CiAJCSAgICAgIGNvbm5lY3Rvci0+YmFzZS5pZCwgY29ubmVjdG9yLT5uYW1lLAogCQkgICAgICBl bmNvZGVyLT5iYXNlLmlkLCBlbmNvZGVyLT5uYW1lKTsKIAotCWRybV9tb2Rlc2V0X2FjcXVpcmVf aW5pdChjdHgsIDApOwotCiByZXRyeToKIAlyZXQgPSBkcm1fbW9kZXNldF9sb2NrKCZjb25maWct PmNvbm5lY3Rpb25fbXV0ZXgsIGN0eCk7CiAJaWYgKHJldCkKQEAgLTg1NTIsMTUgKzg1NTAsMTEg QEAgZmFpbF91bmxvY2s6CiAJCWdvdG8gcmV0cnk7CiAJfQogCi0JZHJtX21vZGVzZXRfZHJvcF9s b2NrcyhjdHgpOwotCWRybV9tb2Rlc2V0X2FjcXVpcmVfZmluaShjdHgpOwotCiAJcmV0dXJuIGZh bHNlOwogfQogCiB2b2lkIGludGVsX3JlbGVhc2VfbG9hZF9kZXRlY3RfcGlwZShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLAotCQkJCSAgICBzdHJ1Y3QgaW50ZWxfbG9hZF9kZXRlY3Rf cGlwZSAqb2xkLAotCQkJCSAgICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggKmN0eCkK KwkJCQkgICAgc3RydWN0IGludGVsX2xvYWRfZGV0ZWN0X3BpcGUgKm9sZCkKIHsKIAlzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9CiAJCWludGVsX2F0dGFjaGVkX2VuY29kZXIo Y29ubmVjdG9yKTsKQEAgLTg1ODQsMTcgKzg1NzgsMTIgQEAgdm9pZCBpbnRlbF9yZWxlYXNlX2xv YWRfZGV0ZWN0X3BpcGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCWRybV9m cmFtZWJ1ZmZlcl91bnJlZmVyZW5jZShvbGQtPnJlbGVhc2VfZmIpOwogCQl9CiAKLQkJZ290byB1 bmxvY2s7CiAJCXJldHVybjsKIAl9CiAKIAkvKiBTd2l0Y2ggY3J0YyBhbmQgZW5jb2RlciBiYWNr IG9mZiBpZiBuZWNlc3NhcnkgKi8KIAlpZiAob2xkLT5kcG1zX21vZGUgIT0gRFJNX01PREVfRFBN U19PTikKIAkJY29ubmVjdG9yLT5mdW5jcy0+ZHBtcyhjb25uZWN0b3IsIG9sZC0+ZHBtc19tb2Rl KTsKLQotdW5sb2NrOgotCWRybV9tb2Rlc2V0X2Ryb3BfbG9ja3MoY3R4KTsKLQlkcm1fbW9kZXNl dF9hY3F1aXJlX2ZpbmkoY3R4KTsKIH0KIAogc3RhdGljIGludCBpOXh4X3BsbF9yZWZjbGsoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKQEAgLTEyNjUyLDcgKzEyNjQxLDcgQEAgc3RhdGljIHZvaWQg aW50ZWxfZW5hYmxlX3BpcGVfYShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCXN0cnVjdCBpbnRl bF9jb25uZWN0b3IgKmNvbm5lY3RvcjsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY3J0ID0gTlVM TDsKIAlzdHJ1Y3QgaW50ZWxfbG9hZF9kZXRlY3RfcGlwZSBsb2FkX2RldGVjdF90ZW1wOwotCXN0 cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCBjdHg7CisJc3RydWN0IGRybV9tb2Rlc2V0X2Fj cXVpcmVfY3R4ICpjdHggPSBkZXYtPm1vZGVfY29uZmlnLmFjcXVpcmVfY3R4OwogCiAJLyogV2Ug Y2FuJ3QganVzdCBzd2l0Y2ggb24gdGhlIHBpcGUgQSwgd2UgbmVlZCB0byBzZXQgdGhpbmdzIHVw IHdpdGggYQogCSAqIHByb3BlciBtb2RlIGFuZCBvdXRwdXQgY29uZmlndXJhdGlvbi4gQXMgYSBn cm9zcyBoYWNrLCBlbmFibGUgcGlwZSBBCkBAIC0xMjY2OSwxMCArMTI2NTgsOCBAQCBzdGF0aWMg dm9pZCBpbnRlbF9lbmFibGVfcGlwZV9hKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJaWYgKCFj cnQpCiAJCXJldHVybjsKIAotCWlmIChpbnRlbF9nZXRfbG9hZF9kZXRlY3RfcGlwZShjcnQsIE5V TEwsICZsb2FkX2RldGVjdF90ZW1wLCAmY3R4KSkKLQkJaW50ZWxfcmVsZWFzZV9sb2FkX2RldGVj dF9waXBlKGNydCwgJmxvYWRfZGV0ZWN0X3RlbXAsICZjdHgpOwotCi0KKwlpZiAoaW50ZWxfZ2V0 X2xvYWRfZGV0ZWN0X3BpcGUoY3J0LCBOVUxMLCAmbG9hZF9kZXRlY3RfdGVtcCwgY3R4KSkKKwkJ aW50ZWxfcmVsZWFzZV9sb2FkX2RldGVjdF9waXBlKGNydCwgJmxvYWRfZGV0ZWN0X3RlbXApOwog fQogCiBzdGF0aWMgYm9vbApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCAxYjNkMWQ3Li4w ZGQyM2YxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtODM0LDggKzgzNCw3IEBAIGJv b2wgaW50ZWxfZ2V0X2xvYWRfZGV0ZWN0X3BpcGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKIAkJCQlzdHJ1Y3QgaW50ZWxfbG9hZF9kZXRlY3RfcGlwZSAqb2xkLAogCQkJCXN0cnVj dCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KTsKIHZvaWQgaW50ZWxfcmVsZWFzZV9sb2Fk X2RldGVjdF9waXBlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCi0JCQkJICAgIHN0 cnVjdCBpbnRlbF9sb2FkX2RldGVjdF9waXBlICpvbGQsCi0JCQkJICAgIHN0cnVjdCBkcm1fbW9k ZXNldF9hY3F1aXJlX2N0eCAqY3R4KTsKKwkJCQkgICAgc3RydWN0IGludGVsX2xvYWRfZGV0ZWN0 X3BpcGUgKm9sZCk7CiBpbnQgaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAog CQkJICAgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnBpcGVsaW5lZCk7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90di5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfdHYuYwppbmRleCBlMjExZWVmLi4zMjE4NmE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF90di5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2 LmMKQEAgLTEzMjMsMTEgKzEzMjMsMTYgQEAgaW50ZWxfdHZfZGV0ZWN0KHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsIGJvb2wgZm9yY2UpCiAJCXN0cnVjdCBpbnRlbF9sb2FkX2RldGVj dF9waXBlIHRtcDsKIAkJc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4IGN0eDsKIAorCQlk cm1fbW9kZXNldF9hY3F1aXJlX2luaXQoJmN0eCwgMCk7CisKIAkJaWYgKGludGVsX2dldF9sb2Fk X2RldGVjdF9waXBlKGNvbm5lY3RvciwgJm1vZGUsICZ0bXAsICZjdHgpKSB7CiAJCQl0eXBlID0g aW50ZWxfdHZfZGV0ZWN0X3R5cGUoaW50ZWxfdHYsIGNvbm5lY3Rvcik7Ci0JCQlpbnRlbF9yZWxl YXNlX2xvYWRfZGV0ZWN0X3BpcGUoY29ubmVjdG9yLCAmdG1wLCAmY3R4KTsKKwkJCWludGVsX3Jl bGVhc2VfbG9hZF9kZXRlY3RfcGlwZShjb25uZWN0b3IsICZ0bXApOwogCQl9IGVsc2UKIAkJCXJl dHVybiBjb25uZWN0b3Jfc3RhdHVzX3Vua25vd247CisKKwkJZHJtX21vZGVzZXRfZHJvcF9sb2Nr cygmY3R4KTsKKwkJZHJtX21vZGVzZXRfYWNxdWlyZV9maW5pKCZjdHgpOwogCX0gZWxzZQogCQly ZXR1cm4gY29ubmVjdG9yLT5zdGF0dXM7CiAKLS0gCjEuOC41LjUKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==