From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Francis Subject: [PATCH v5 3/5] drm/dp_mst: Add MST support to DP DPCD R/W functions Date: Fri, 23 Aug 2019 16:28:07 -0400 Message-ID: <20190823202809.15934-4-David.Francis@amd.com> References: <20190823202809.15934-1-David.Francis@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-eopbgr790073.outbound.protection.outlook.com [40.107.79.73]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2F73A6ED37 for ; Fri, 23 Aug 2019 20:28:18 +0000 (UTC) In-Reply-To: <20190823202809.15934-1-David.Francis@amd.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 Cc: David Francis List-Id: dri-devel@lists.freedesktop.org SW5zdGVhZCBvZiBoYXZpbmcgZHJtX2RwX2RwY2RfcmVhZC93cml0ZSBhbmQKZHJtX2RwX21zdF9k cGNkX3JlYWQvd3JpdGUgYXMgZW50cnkgcG9pbnRzIGludG8gdGhlCmF1eCBjb2RlLCBoYXZlIGRy bV9kcF9kcGNkX3JlYWQvd3JpdGUgaGFuZGxlIGJvdGguCgpUaGlzIG1lYW5zIHRoYXQgRFJNIGRy aXZlcnMgY2FuIG1ha2UgTVNUIERQQ0QgcmVhZC93cml0ZXMuCgp2MjogRml4IHNwYWNpbmcKdjM6 IER1bXAgZHBjZCBhY2Nlc3Mgb24gTVNUIHJlYWQvd3JpdGVzCgpSZXZpZXdlZC1ieTogTHl1ZGUg UGF1bCA8bHl1ZGVAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgRnJhbmNpcyA8RGF2 aWQuRnJhbmNpc0BhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHBfYXV4X2Rldi5j IHwgMTIgKystLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5jICB8IDMw ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNl cnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2RwX2F1eF9kZXYuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfYXV4X2Rldi5jCmluZGV4 IDBjZmIzODY3NTRjMy4uNDE4Y2FkNGY2NDlhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2RwX2F1eF9kZXYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2F1eF9kZXYuYwpA QCAtMTYzLDExICsxNjMsNyBAQCBzdGF0aWMgc3NpemVfdCBhdXhkZXZfcmVhZF9pdGVyKHN0cnVj dCBraW9jYiAqaW9jYiwgc3RydWN0IGlvdl9pdGVyICp0bykKIAkJCWJyZWFrOwogCQl9CiAKLQkJ aWYgKGF1eF9kZXYtPmF1eC0+aXNfcmVtb3RlKQotCQkJcmVzID0gZHJtX2RwX21zdF9kcGNkX3Jl YWQoYXV4X2Rldi0+YXV4LCBwb3MsIGJ1ZiwKLQkJCQkJCSAgIHRvZG8pOwotCQllbHNlCi0JCQly ZXMgPSBkcm1fZHBfZHBjZF9yZWFkKGF1eF9kZXYtPmF1eCwgcG9zLCBidWYsIHRvZG8pOworCQly ZXMgPSBkcm1fZHBfZHBjZF9yZWFkKGF1eF9kZXYtPmF1eCwgcG9zLCBidWYsIHRvZG8pOwogCiAJ CWlmIChyZXMgPD0gMCkKIAkJCWJyZWFrOwpAQCAtMjE1LDExICsyMTEsNyBAQCBzdGF0aWMgc3Np emVfdCBhdXhkZXZfd3JpdGVfaXRlcihzdHJ1Y3Qga2lvY2IgKmlvY2IsIHN0cnVjdCBpb3ZfaXRl ciAqZnJvbSkKIAkJCWJyZWFrOwogCQl9CiAKLQkJaWYgKGF1eF9kZXYtPmF1eC0+aXNfcmVtb3Rl KQotCQkJcmVzID0gZHJtX2RwX21zdF9kcGNkX3dyaXRlKGF1eF9kZXYtPmF1eCwgcG9zLCBidWYs Ci0JCQkJCQkgICAgdG9kbyk7Ci0JCWVsc2UKLQkJCXJlcyA9IGRybV9kcF9kcGNkX3dyaXRlKGF1 eF9kZXYtPmF1eCwgcG9zLCBidWYsIHRvZG8pOworCQlyZXMgPSBkcm1fZHBfbXN0X2RwY2Rfd3Jp dGUoYXV4X2Rldi0+YXV4LCBwb3MsIGJ1ZiwgdG9kbyk7CiAKIAkJaWYgKHJlcyA8PSAwKQogCQkJ YnJlYWs7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYwppbmRleCBmZmM2OGQzMDVhZmUuLjJjYzIxZWZm NGNmMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5jCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVk ZSA8bGludXgvc2VxX2ZpbGUuaD4KIAogI2luY2x1ZGUgPGRybS9kcm1fZHBfaGVscGVyLmg+Cisj aW5jbHVkZSA8ZHJtL2RybV9kcF9tc3RfaGVscGVyLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9wcmlu dC5oPgogI2luY2x1ZGUgPGRybS9kcm1fdmJsYW5rLmg+CiAKQEAgLTI1MSw3ICsyNTIsNyBAQCBz dGF0aWMgaW50IGRybV9kcF9kcGNkX2FjY2VzcyhzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LCB1OCBy ZXF1ZXN0LAogCiAvKioKICAqIGRybV9kcF9kcGNkX3JlYWQoKSAtIHJlYWQgYSBzZXJpZXMgb2Yg Ynl0ZXMgZnJvbSB0aGUgRFBDRAotICogQGF1eDogRGlzcGxheVBvcnQgQVVYIGNoYW5uZWwKKyAq IEBhdXg6IERpc3BsYXlQb3J0IEFVWCBjaGFubmVsIChTU1Qgb3IgTVNUKQogICogQG9mZnNldDog YWRkcmVzcyBvZiB0aGUgKGZpcnN0KSByZWdpc3RlciB0byByZWFkCiAgKiBAYnVmZmVyOiBidWZm ZXIgdG8gc3RvcmUgdGhlIHJlZ2lzdGVyIHZhbHVlcwogICogQHNpemU6IG51bWJlciBvZiBieXRl cyBpbiBAYnVmZmVyCkBAIC0yODAsMTMgKzI4MSwxOCBAQCBzc2l6ZV90IGRybV9kcF9kcGNkX3Jl YWQoc3RydWN0IGRybV9kcF9hdXggKmF1eCwgdW5zaWduZWQgaW50IG9mZnNldCwKIAkgKiBXZSBq dXN0IGhhdmUgdG8gZG8gaXQgYmVmb3JlIGFueSBEUENEIGFjY2VzcyBhbmQgaG9wZSB0aGF0IHRo ZQogCSAqIG1vbml0b3IgZG9lc24ndCBwb3dlciBkb3duIGV4YWN0bHkgYWZ0ZXIgdGhlIHRocm93 IGF3YXkgcmVhZC4KIAkgKi8KLQlyZXQgPSBkcm1fZHBfZHBjZF9hY2Nlc3MoYXV4LCBEUF9BVVhf TkFUSVZFX1JFQUQsIERQX0RQQ0RfUkVWLCBidWZmZXIsCi0JCQkJIDEpOwotCWlmIChyZXQgIT0g MSkKLQkJZ290byBvdXQ7CisJaWYgKCFhdXgtPmlzX3JlbW90ZSkgeworCQlyZXQgPSBkcm1fZHBf ZHBjZF9hY2Nlc3MoYXV4LCBEUF9BVVhfTkFUSVZFX1JFQUQsIERQX0RQQ0RfUkVWLAorCQkJCQkg YnVmZmVyLCAxKTsKKwkJaWYgKHJldCAhPSAxKQorCQkJZ290byBvdXQ7CisJfQogCi0JcmV0ID0g ZHJtX2RwX2RwY2RfYWNjZXNzKGF1eCwgRFBfQVVYX05BVElWRV9SRUFELCBvZmZzZXQsIGJ1ZmZl ciwKLQkJCQkgc2l6ZSk7CisJaWYgKGF1eC0+aXNfcmVtb3RlKQorCQlyZXQgPSBkcm1fZHBfbXN0 X2RwY2RfcmVhZChhdXgsIG9mZnNldCwgYnVmZmVyLCBzaXplKTsKKwllbHNlCisJCXJldCA9IGRy bV9kcF9kcGNkX2FjY2VzcyhhdXgsIERQX0FVWF9OQVRJVkVfUkVBRCwgb2Zmc2V0LAorCQkJCQkg YnVmZmVyLCBzaXplKTsKIAogb3V0OgogCWRybV9kcF9kdW1wX2FjY2VzcyhhdXgsIERQX0FVWF9O QVRJVkVfUkVBRCwgb2Zmc2V0LCBidWZmZXIsIHJldCk7CkBAIC0yOTYsNyArMzAyLDcgQEAgRVhQ T1JUX1NZTUJPTChkcm1fZHBfZHBjZF9yZWFkKTsKIAogLyoqCiAgKiBkcm1fZHBfZHBjZF93cml0 ZSgpIC0gd3JpdGUgYSBzZXJpZXMgb2YgYnl0ZXMgdG8gdGhlIERQQ0QKLSAqIEBhdXg6IERpc3Bs YXlQb3J0IEFVWCBjaGFubmVsCisgKiBAYXV4OiBEaXNwbGF5UG9ydCBBVVggY2hhbm5lbCAoU1NU IG9yIE1TVCkKICAqIEBvZmZzZXQ6IGFkZHJlc3Mgb2YgdGhlIChmaXJzdCkgcmVnaXN0ZXIgdG8g d3JpdGUKICAqIEBidWZmZXI6IGJ1ZmZlciBjb250YWluaW5nIHRoZSB2YWx1ZXMgdG8gd3JpdGUK ICAqIEBzaXplOiBudW1iZXIgb2YgYnl0ZXMgaW4gQGJ1ZmZlcgpAQCAtMzEzLDggKzMxOSwxMiBA QCBzc2l6ZV90IGRybV9kcF9kcGNkX3dyaXRlKHN0cnVjdCBkcm1fZHBfYXV4ICphdXgsIHVuc2ln bmVkIGludCBvZmZzZXQsCiB7CiAJaW50IHJldDsKIAotCXJldCA9IGRybV9kcF9kcGNkX2FjY2Vz cyhhdXgsIERQX0FVWF9OQVRJVkVfV1JJVEUsIG9mZnNldCwgYnVmZmVyLAotCQkJCSBzaXplKTsK KwlpZiAoYXV4LT5pc19yZW1vdGUpCisJCXJldCA9IGRybV9kcF9tc3RfZHBjZF93cml0ZShhdXgs IG9mZnNldCwgYnVmZmVyLCBzaXplKTsKKwllbHNlCisJCXJldCA9IGRybV9kcF9kcGNkX2FjY2Vz cyhhdXgsIERQX0FVWF9OQVRJVkVfV1JJVEUsIG9mZnNldCwKKwkJCQkJIGJ1ZmZlciwgc2l6ZSk7 CisKIAlkcm1fZHBfZHVtcF9hY2Nlc3MoYXV4LCBEUF9BVVhfTkFUSVZFX1dSSVRFLCBvZmZzZXQs IGJ1ZmZlciwgcmV0KTsKIAlyZXR1cm4gcmV0OwogfQotLSAKMi4xNy4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=