From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 3/5] drm/edid: move displayid tiled block parsing into separate function. Date: Wed, 4 May 2016 06:36:50 +1000 Message-ID: <1462307812-3341-4-git-send-email-airlied@gmail.com> References: <1462307812-3341-1-git-send-email-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3158D6E6A1 for ; Tue, 3 May 2016 20:36:58 +0000 (UTC) Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D4E79821C3 for ; Tue, 3 May 2016 20:36:57 +0000 (UTC) Received: from dreadlord-bne-redhat-com.bne.redhat.com (dhcp-40-179.bne.redhat.com [10.64.40.179]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u43KarP0024283 for ; Tue, 3 May 2016 16:36:57 -0400 In-Reply-To: <1462307812-3341-1-git-send-email-airlied@gmail.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 RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMganVzdCBtYWtlcyB0 aGUgY29kZSBlYXNpZXIgdG8gZm9sbG93LgoKU2lnbmVkLW9mZi1ieTogRGF2ZSBBaXJsaWUgPGFp cmxpZWRAcmVkaGF0LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyB8IDExMCAr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCA1OSBpbnNlcnRpb25zKCspLCA1MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCmluZGV4 IDFhMzY0YjMuLmU0YzY4MWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCkBAIC00MTUyLDYgKzQxNTIsNjAgQEAg ZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV92 ZW5kb3JfaW5mb2ZyYW1lICpmcmFtZSwKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2hkbWlfdmVuZG9y X2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSk7CiAKK3N0YXRpYyBpbnQgZHJtX3BhcnNlX3Rp bGVkX2Jsb2NrKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCisJCQkJIHN0cnVjdCBk aXNwbGF5aWRfYmxvY2sgKmJsb2NrKQoreworCXN0cnVjdCBkaXNwbGF5aWRfdGlsZWRfYmxvY2sg KnRpbGUgPSAoc3RydWN0IGRpc3BsYXlpZF90aWxlZF9ibG9jayAqKWJsb2NrOworCXUxNiB3LCBo OworCXU4IHRpbGVfdl9sb2MsIHRpbGVfaF9sb2M7CisJdTggbnVtX3ZfdGlsZSwgbnVtX2hfdGls ZTsKKwlzdHJ1Y3QgZHJtX3RpbGVfZ3JvdXAgKnRnOworCisJdyA9IHRpbGUtPnRpbGVfc2l6ZVsw XSB8IHRpbGUtPnRpbGVfc2l6ZVsxXSA8PCA4OworCWggPSB0aWxlLT50aWxlX3NpemVbMl0gfCB0 aWxlLT50aWxlX3NpemVbM10gPDwgODsKKworCW51bV92X3RpbGUgPSAodGlsZS0+dG9wb1swXSAm IDB4ZikgfCAodGlsZS0+dG9wb1syXSAmIDB4MzApOworCW51bV9oX3RpbGUgPSAodGlsZS0+dG9w b1swXSA+PiA0KSB8ICgodGlsZS0+dG9wb1syXSA+PiAyKSAmIDB4MzApOworCXRpbGVfdl9sb2Mg PSAodGlsZS0+dG9wb1sxXSAmIDB4ZikgfCAoKHRpbGUtPnRvcG9bMl0gJiAweDMpIDw8IDQpOwor CXRpbGVfaF9sb2MgPSAodGlsZS0+dG9wb1sxXSA+PiA0KSB8ICgoKHRpbGUtPnRvcG9bMl0gPj4g MikgJiAweDMpIDw8IDQpOworCisJY29ubmVjdG9yLT5oYXNfdGlsZSA9IHRydWU7CisJaWYgKHRp bGUtPnRpbGVfY2FwICYgMHg4MCkKKwkJY29ubmVjdG9yLT50aWxlX2lzX3NpbmdsZV9tb25pdG9y ID0gdHJ1ZTsKKworCWNvbm5lY3Rvci0+bnVtX2hfdGlsZSA9IG51bV9oX3RpbGUgKyAxOworCWNv bm5lY3Rvci0+bnVtX3ZfdGlsZSA9IG51bV92X3RpbGUgKyAxOworCWNvbm5lY3Rvci0+dGlsZV9o X2xvYyA9IHRpbGVfaF9sb2M7CisJY29ubmVjdG9yLT50aWxlX3ZfbG9jID0gdGlsZV92X2xvYzsK Kwljb25uZWN0b3ItPnRpbGVfaF9zaXplID0gdyArIDE7CisJY29ubmVjdG9yLT50aWxlX3Zfc2l6 ZSA9IGggKyAxOworCisJRFJNX0RFQlVHX0tNUygidGlsZSBjYXAgMHgleFxuIiwgdGlsZS0+dGls ZV9jYXApOworCURSTV9ERUJVR19LTVMoInRpbGVfc2l6ZSAlZCB4ICVkXG4iLCB3ICsgMSwgaCAr IDEpOworCURSTV9ERUJVR19LTVMoInRvcG8gbnVtIHRpbGVzICVkeCVkLCBsb2NhdGlvbiAlZHgl ZFxuIiwKKwkJICAgICAgbnVtX2hfdGlsZSArIDEsIG51bV92X3RpbGUgKyAxLCB0aWxlX2hfbG9j LCB0aWxlX3ZfbG9jKTsKKwlEUk1fREVCVUdfS01TKCJ2ZW5kICVjJWMlY1xuIiwgdGlsZS0+dG9w b2xvZ3lfaWRbMF0sIHRpbGUtPnRvcG9sb2d5X2lkWzFdLCB0aWxlLT50b3BvbG9neV9pZFsyXSk7 CisKKwl0ZyA9IGRybV9tb2RlX2dldF90aWxlX2dyb3VwKGNvbm5lY3Rvci0+ZGV2LCB0aWxlLT50 b3BvbG9neV9pZCk7CisJaWYgKCF0ZykgeworCQl0ZyA9IGRybV9tb2RlX2NyZWF0ZV90aWxlX2dy b3VwKGNvbm5lY3Rvci0+ZGV2LCB0aWxlLT50b3BvbG9neV9pZCk7CisJfQorCWlmICghdGcpCisJ CXJldHVybiAtRU5PTUVNOworCisJaWYgKGNvbm5lY3Rvci0+dGlsZV9ncm91cCAhPSB0Zykgewor CQkvKiBpZiB3ZSBoYXZlbid0IGdvdCBhIHBvaW50ZXIsCisJCSAgIHRha2UgdGhlIHJlZmVyZW5j ZSwgZHJvcCByZWYgdG8gb2xkIHRpbGUgZ3JvdXAgKi8KKwkJaWYgKGNvbm5lY3Rvci0+dGlsZV9n cm91cCkgeworCQkJZHJtX21vZGVfcHV0X3RpbGVfZ3JvdXAoY29ubmVjdG9yLT5kZXYsIGNvbm5l Y3Rvci0+dGlsZV9ncm91cCk7CisJCX0KKwkJY29ubmVjdG9yLT50aWxlX2dyb3VwID0gdGc7CisJ fSBlbHNlCisJCS8qIGlmIHNhbWUgdGlsZSBncm91cCwgdGhlbiByZWxlYXNlIHRoZSByZWYgd2Ug anVzdCB0b29rLiAqLworCQlkcm1fbW9kZV9wdXRfdGlsZV9ncm91cChjb25uZWN0b3ItPmRldiwg dGcpOworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IGRybV9wYXJzZV9kaXNwbGF5X2lkKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCQkJdTggKmRpc3BsYXlpZCwgaW50IGxl bmd0aCwKIAkJCQlib29sIGlzX2VkaWRfZXh0ZW5zaW9uKQpAQCAtNDE2Miw2ICs0MjE2LDcgQEAg c3RhdGljIGludCBkcm1fcGFyc2VfZGlzcGxheV9pZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLAogCXN0cnVjdCBkaXNwbGF5aWRfYmxvY2sgKmJsb2NrOwogCXU4IGNzdW0gPSAwOwog CWludCBpOworCWludCByZXQ7CiAKIAlpZiAoaXNfZWRpZF9leHRlbnNpb24pCiAJCWlkeCA9IDE7 CkBAIC00MTkyLDU3ICs0MjQ3LDEwIEBAIHN0YXRpYyBpbnQgZHJtX3BhcnNlX2Rpc3BsYXlfaWQo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCSAgICAgIGJsb2NrLT50YWcsIGJs b2NrLT5yZXYsIGJsb2NrLT5udW1fYnl0ZXMpOwogCiAJCXN3aXRjaCAoYmxvY2stPnRhZykgewot CQljYXNlIERBVEFfQkxPQ0tfVElMRURfRElTUExBWTogewotCQkJc3RydWN0IGRpc3BsYXlpZF90 aWxlZF9ibG9jayAqdGlsZSA9IChzdHJ1Y3QgZGlzcGxheWlkX3RpbGVkX2Jsb2NrICopYmxvY2s7 Ci0KLQkJCXUxNiB3LCBoOwotCQkJdTggdGlsZV92X2xvYywgdGlsZV9oX2xvYzsKLQkJCXU4IG51 bV92X3RpbGUsIG51bV9oX3RpbGU7Ci0JCQlzdHJ1Y3QgZHJtX3RpbGVfZ3JvdXAgKnRnOwotCi0J CQl3ID0gdGlsZS0+dGlsZV9zaXplWzBdIHwgdGlsZS0+dGlsZV9zaXplWzFdIDw8IDg7Ci0JCQlo ID0gdGlsZS0+dGlsZV9zaXplWzJdIHwgdGlsZS0+dGlsZV9zaXplWzNdIDw8IDg7Ci0KLQkJCW51 bV92X3RpbGUgPSAodGlsZS0+dG9wb1swXSAmIDB4ZikgfCAodGlsZS0+dG9wb1syXSAmIDB4MzAp OwotCQkJbnVtX2hfdGlsZSA9ICh0aWxlLT50b3BvWzBdID4+IDQpIHwgKCh0aWxlLT50b3BvWzJd ID4+IDIpICYgMHgzMCk7Ci0JCQl0aWxlX3ZfbG9jID0gKHRpbGUtPnRvcG9bMV0gJiAweGYpIHwg KCh0aWxlLT50b3BvWzJdICYgMHgzKSA8PCA0KTsKLQkJCXRpbGVfaF9sb2MgPSAodGlsZS0+dG9w b1sxXSA+PiA0KSB8ICgoKHRpbGUtPnRvcG9bMl0gPj4gMikgJiAweDMpIDw8IDQpOwotCi0JCQlj b25uZWN0b3ItPmhhc190aWxlID0gdHJ1ZTsKLQkJCWlmICh0aWxlLT50aWxlX2NhcCAmIDB4ODAp Ci0JCQkJY29ubmVjdG9yLT50aWxlX2lzX3NpbmdsZV9tb25pdG9yID0gdHJ1ZTsKLQotCQkJY29u bmVjdG9yLT5udW1faF90aWxlID0gbnVtX2hfdGlsZSArIDE7Ci0JCQljb25uZWN0b3ItPm51bV92 X3RpbGUgPSBudW1fdl90aWxlICsgMTsKLQkJCWNvbm5lY3Rvci0+dGlsZV9oX2xvYyA9IHRpbGVf aF9sb2M7Ci0JCQljb25uZWN0b3ItPnRpbGVfdl9sb2MgPSB0aWxlX3ZfbG9jOwotCQkJY29ubmVj dG9yLT50aWxlX2hfc2l6ZSA9IHcgKyAxOwotCQkJY29ubmVjdG9yLT50aWxlX3Zfc2l6ZSA9IGgg KyAxOwotCi0JCQlEUk1fREVCVUdfS01TKCJ0aWxlIGNhcCAweCV4XG4iLCB0aWxlLT50aWxlX2Nh cCk7Ci0JCQlEUk1fREVCVUdfS01TKCJ0aWxlX3NpemUgJWQgeCAlZFxuIiwgdyArIDEsIGggKyAx KTsKLQkJCURSTV9ERUJVR19LTVMoInRvcG8gbnVtIHRpbGVzICVkeCVkLCBsb2NhdGlvbiAlZHgl ZFxuIiwKLQkJCSAgICAgICBudW1faF90aWxlICsgMSwgbnVtX3ZfdGlsZSArIDEsIHRpbGVfaF9s b2MsIHRpbGVfdl9sb2MpOwotCQkJRFJNX0RFQlVHX0tNUygidmVuZCAlYyVjJWNcbiIsIHRpbGUt PnRvcG9sb2d5X2lkWzBdLCB0aWxlLT50b3BvbG9neV9pZFsxXSwgdGlsZS0+dG9wb2xvZ3lfaWRb Ml0pOwotCi0JCQl0ZyA9IGRybV9tb2RlX2dldF90aWxlX2dyb3VwKGNvbm5lY3Rvci0+ZGV2LCB0 aWxlLT50b3BvbG9neV9pZCk7Ci0JCQlpZiAoIXRnKSB7Ci0JCQkJdGcgPSBkcm1fbW9kZV9jcmVh dGVfdGlsZV9ncm91cChjb25uZWN0b3ItPmRldiwgdGlsZS0+dG9wb2xvZ3lfaWQpOwotCQkJfQot CQkJaWYgKCF0ZykKLQkJCQlyZXR1cm4gLUVOT01FTTsKLQotCQkJaWYgKGNvbm5lY3Rvci0+dGls ZV9ncm91cCAhPSB0ZykgewotCQkJCS8qIGlmIHdlIGhhdmVuJ3QgZ290IGEgcG9pbnRlciwKLQkJ CQkgICB0YWtlIHRoZSByZWZlcmVuY2UsIGRyb3AgcmVmIHRvIG9sZCB0aWxlIGdyb3VwICovCi0J CQkJaWYgKGNvbm5lY3Rvci0+dGlsZV9ncm91cCkgewotCQkJCQlkcm1fbW9kZV9wdXRfdGlsZV9n cm91cChjb25uZWN0b3ItPmRldiwgY29ubmVjdG9yLT50aWxlX2dyb3VwKTsKLQkJCQl9Ci0JCQkJ Y29ubmVjdG9yLT50aWxlX2dyb3VwID0gdGc7Ci0JCQl9IGVsc2UKLQkJCQkvKiBpZiBzYW1lIHRp bGUgZ3JvdXAsIHRoZW4gcmVsZWFzZSB0aGUgcmVmIHdlIGp1c3QgdG9vay4gKi8KLQkJCQlkcm1f bW9kZV9wdXRfdGlsZV9ncm91cChjb25uZWN0b3ItPmRldiwgdGcpOwotCQl9CisJCWNhc2UgREFU QV9CTE9DS19USUxFRF9ESVNQTEFZOgorCQkJcmV0ID0gZHJtX3BhcnNlX3RpbGVkX2Jsb2NrKGNv bm5lY3RvciwgYmxvY2spOworCQkJaWYgKHJldCkKKwkJCQlyZXR1cm4gcmV0OwogCQkJYnJlYWs7 CiAJCWRlZmF1bHQ6CiAJCQlEUk1fREVCVUdfS01TKCJmb3VuZCBEaXNwbGF5SUQgdGFnIDB4JXgs IHVuaGFuZGxlZFxuIiwgYmxvY2stPnRhZyk7Ci0tIAoyLjUuNQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==