From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752303AbcHFU0f (ORCPT ); Sat, 6 Aug 2016 16:26:35 -0400 Received: from mx1.redhat.com ([209.132.183.28]:47820 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752037AbcHFU0e (ORCPT ); Sat, 6 Aug 2016 16:26:34 -0400 From: Lyude To: dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, xorg-driver-ati@lists.freedesktop.org Cc: Lyude , Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= , David Airlie , linux-kernel@vger.kernel.org Subject: [PATCH 3/7] drm/radeon: Don't retry 7 times in radeon_dp_dpcd() Date: Fri, 5 Aug 2016 20:30:35 -0400 Message-Id: <1470443443-27252-4-git-send-email-cpaul@redhat.com> In-Reply-To: <1470443443-27252-1-git-send-email-cpaul@redhat.com> References: <1470443443-27252-1-git-send-email-cpaul@redhat.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Sat, 06 Aug 2016 00:31:14 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When this code was written, we didn't retry DP aux transactions on any error, which required retrying important transactions like this in individual drivers. Since that's no longer the case, retrying here is not necessary. As well, we retry any aux transaction on any error 32 times. 7 * 32 = 224, which means this loop causes us to retry grabbing the dpcd 224 times. This is definitely far more then we actually need to do. Signed-off-by: Lyude --- drivers/gpu/drm/radeon/atombios_dp.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c index cead089a..432cb46 100644 --- a/drivers/gpu/drm/radeon/atombios_dp.c +++ b/drivers/gpu/drm/radeon/atombios_dp.c @@ -389,22 +389,21 @@ bool radeon_dp_getdpcd(struct radeon_connector *radeon_connector) { struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; u8 msg[DP_DPCD_SIZE]; - int ret, i; + int ret; - for (i = 0; i < 7; i++) { - ret = drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, DP_DPCD_REV, msg, - DP_DPCD_SIZE); - if (ret == DP_DPCD_SIZE) { - memcpy(dig_connector->dpcd, msg, DP_DPCD_SIZE); + ret = drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, DP_DPCD_REV, msg, + DP_DPCD_SIZE); + if (ret == DP_DPCD_SIZE) { + memcpy(dig_connector->dpcd, msg, DP_DPCD_SIZE); - DRM_DEBUG_KMS("DPCD: %*ph\n", (int)sizeof(dig_connector->dpcd), - dig_connector->dpcd); + DRM_DEBUG_KMS("DPCD: %*ph\n", (int)sizeof(dig_connector->dpcd), + dig_connector->dpcd); - radeon_dp_probe_oui(radeon_connector); + radeon_dp_probe_oui(radeon_connector); - return true; - } + return true; } + dig_connector->dpcd[0] = 0; return false; } -- 2.7.4 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Subject: [PATCH 3/7] drm/radeon: Don't retry 7 times in radeon_dp_dpcd() Date: Fri, 5 Aug 2016 20:30:35 -0400 Message-ID: <1470443443-27252-4-git-send-email-cpaul@redhat.com> References: <1470443443-27252-1-git-send-email-cpaul@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1470443443-27252-1-git-send-email-cpaul-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, xorg-driver-ati-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Alex Deucher , David Airlie , Lyude , =?UTF-8?q?Christian=20K=C3=B6nig?= , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: dri-devel@lists.freedesktop.org V2hlbiB0aGlzIGNvZGUgd2FzIHdyaXR0ZW4sIHdlIGRpZG4ndCByZXRyeSBEUCBhdXggdHJhbnNh Y3Rpb25zIG9uIGFueQplcnJvciwgd2hpY2ggcmVxdWlyZWQgcmV0cnlpbmcgaW1wb3J0YW50IHRy YW5zYWN0aW9ucyBsaWtlIHRoaXMgaW4KaW5kaXZpZHVhbCBkcml2ZXJzLiBTaW5jZSB0aGF0J3Mg bm8gbG9uZ2VyIHRoZSBjYXNlLCByZXRyeWluZyBoZXJlIGlzCm5vdCBuZWNlc3NhcnkuIEFzIHdl bGwsIHdlIHJldHJ5IGFueSBhdXggdHJhbnNhY3Rpb24gb24gYW55IGVycm9yIDMyCnRpbWVzLiA3 ICogMzIgPSAyMjQsIHdoaWNoIG1lYW5zIHRoaXMgbG9vcCBjYXVzZXMgdXMgdG8gcmV0cnkgZ3Jh YmJpbmcKdGhlIGRwY2QgMjI0IHRpbWVzLiBUaGlzIGlzIGRlZmluaXRlbHkgZmFyIG1vcmUgdGhl biB3ZSBhY3R1YWxseSBuZWVkIHRvCmRvLgoKU2lnbmVkLW9mZi1ieTogTHl1ZGUgPGNwYXVsQHJl ZGhhdC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9hdG9tYmlvc19kcC5jIHwgMjEg KysrKysrKysrKy0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwg MTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9hdG9t Ymlvc19kcC5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9hdG9tYmlvc19kcC5jCmluZGV4IGNl YWQwODlhLi40MzJjYjQ2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2F0b21i aW9zX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9hdG9tYmlvc19kcC5jCkBAIC0z ODksMjIgKzM4OSwyMSBAQCBib29sIHJhZGVvbl9kcF9nZXRkcGNkKHN0cnVjdCByYWRlb25fY29u bmVjdG9yICpyYWRlb25fY29ubmVjdG9yKQogewogCXN0cnVjdCByYWRlb25fY29ubmVjdG9yX2F0 b21fZGlnICpkaWdfY29ubmVjdG9yID0gcmFkZW9uX2Nvbm5lY3Rvci0+Y29uX3ByaXY7CiAJdTgg bXNnW0RQX0RQQ0RfU0laRV07Ci0JaW50IHJldCwgaTsKKwlpbnQgcmV0OwogCi0JZm9yIChpID0g MDsgaSA8IDc7IGkrKykgewotCQlyZXQgPSBkcm1fZHBfZHBjZF9yZWFkKCZyYWRlb25fY29ubmVj dG9yLT5kZGNfYnVzLT5hdXgsIERQX0RQQ0RfUkVWLCBtc2csCi0JCQkJICAgICAgIERQX0RQQ0Rf U0laRSk7Ci0JCWlmIChyZXQgPT0gRFBfRFBDRF9TSVpFKSB7Ci0JCQltZW1jcHkoZGlnX2Nvbm5l Y3Rvci0+ZHBjZCwgbXNnLCBEUF9EUENEX1NJWkUpOworCXJldCA9IGRybV9kcF9kcGNkX3JlYWQo JnJhZGVvbl9jb25uZWN0b3ItPmRkY19idXMtPmF1eCwgRFBfRFBDRF9SRVYsIG1zZywKKwkJCSAg ICAgICBEUF9EUENEX1NJWkUpOworCWlmIChyZXQgPT0gRFBfRFBDRF9TSVpFKSB7CisJCW1lbWNw eShkaWdfY29ubmVjdG9yLT5kcGNkLCBtc2csIERQX0RQQ0RfU0laRSk7CiAKLQkJCURSTV9ERUJV R19LTVMoIkRQQ0Q6ICUqcGhcbiIsIChpbnQpc2l6ZW9mKGRpZ19jb25uZWN0b3ItPmRwY2QpLAot CQkJCSAgICAgIGRpZ19jb25uZWN0b3ItPmRwY2QpOworCQlEUk1fREVCVUdfS01TKCJEUENEOiAl KnBoXG4iLCAoaW50KXNpemVvZihkaWdfY29ubmVjdG9yLT5kcGNkKSwKKwkJCSAgICAgIGRpZ19j b25uZWN0b3ItPmRwY2QpOwogCi0JCQlyYWRlb25fZHBfcHJvYmVfb3VpKHJhZGVvbl9jb25uZWN0 b3IpOworCQlyYWRlb25fZHBfcHJvYmVfb3VpKHJhZGVvbl9jb25uZWN0b3IpOwogCi0JCQlyZXR1 cm4gdHJ1ZTsKLQkJfQorCQlyZXR1cm4gdHJ1ZTsKIAl9CisKIAlkaWdfY29ubmVjdG9yLT5kcGNk WzBdID0gMDsKIAlyZXR1cm4gZmFsc2U7CiB9Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==