From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Stultz Subject: [RFC][PATCH 4/5 v2] drm/bridge: adv7511: Rework adv7511_power_on/off() so they can be reused internally Date: Mon, 28 Nov 2016 21:04:43 -0800 Message-ID: <1480395884-5471-5-git-send-email-john.stultz@linaro.org> References: <1480395884-5471-1-git-send-email-john.stultz@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pf0-x22a.google.com (mail-pf0-x22a.google.com [IPv6:2607:f8b0:400e:c00::22a]) by gabe.freedesktop.org (Postfix) with ESMTPS id 80E3E6E4B5 for ; Tue, 29 Nov 2016 05:04:56 +0000 (UTC) Received: by mail-pf0-x22a.google.com with SMTP id c4so29441908pfb.1 for ; Mon, 28 Nov 2016 21:04:56 -0800 (PST) In-Reply-To: <1480395884-5471-1-git-send-email-john.stultz@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: lkml Cc: dri-devel@lists.freedesktop.org, Wolfram Sang , Laurent Pinchart List-Id: dri-devel@lists.freedesktop.org SW4gY2hhc2luZyBkb3duIGlzc3VlcyB3aXRoIEVESUQgcHJvYmluZywgSSBmb3VuZCBzb21lCmR1 cGxpY2F0ZWQgYnV0IGluY29tcGxldGUgbG9naWMgdXNlZCB0byBwb3dlciB0aGUgY2hpcCBvbiBh bmQKb2ZmLgoKVGhpcyBwYXRjaCByZWZhY3RvcnMgdGhlIGFkdjc1MTFfcG93ZXJfb24vb2ZmIGZ1 bmN0aW9ucywgc28KdGhleSBjYW4gYmUgdXNlZCBmb3IgaW50ZXJuYWwgbmVlZHMuCgpDYzogRGF2 aWQgQWlybGllIDxhaXJsaWVkQGxpbnV4LmllPgpDYzogQXJjaGl0IFRhbmVqYSA8YXJjaGl0dEBj b2RlYXVyb3JhLm9yZz4KQ2M6IFdvbGZyYW0gU2FuZyA8d3NhK3JlbmVzYXNAc2FuZy1lbmdpbmVl cmluZy5jb20+CkNjOiBMYXJzLVBldGVyIENsYXVzZW4gPGxhcnNAbWV0YWZvby5kZT4KQ2M6IExh dXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KQ2M6IGRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKU2lnbmVkLW9mZi1ieTogSm9obiBTdHVsdHog PGpvaG4uc3R1bHR6QGxpbmFyby5vcmc+Ci0tLQp2MjogU3BsaXQgaW50byB0d28gcGF0Y2hlcyB0 byBtYWtlIGNoYW5nZSBtb3JlIGNsZWFyCgogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTEx L2Fkdjc1MTFfZHJ2LmMgfCAxNCArKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEwIGlu c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fk djc1MTEvYWR2NzUxMV9kcnYuYwppbmRleCA5ZjhkZmZkLi4xOTQ4OTY4IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMV9kcnYuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMV9kcnYuYwpAQCAtMzI1LDcgKzMyNSw3IEBA IHN0YXRpYyB2b2lkIGFkdjc1MTFfc2V0X2xpbmtfY29uZmlnKHN0cnVjdCBhZHY3NTExICphZHY3 NTExLAogCWFkdjc1MTEtPnJnYiA9IGNvbmZpZy0+aW5wdXRfY29sb3JzcGFjZSA9PSBIRE1JX0NP TE9SU1BBQ0VfUkdCOwogfQogCi1zdGF0aWMgdm9pZCBhZHY3NTExX3Bvd2VyX29uKHN0cnVjdCBh ZHY3NTExICphZHY3NTExKQorc3RhdGljIHZvaWQgX19hZHY3NTExX3Bvd2VyX29uKHN0cnVjdCBh ZHY3NTExICphZHY3NTExKQogewogCWFkdjc1MTEtPmN1cnJlbnRfZWRpZF9zZWdtZW50ID0gLTE7 CiAKQEAgLTM1OSwyNCArMzU5LDMwIEBAIHN0YXRpYyB2b2lkIGFkdjc1MTFfcG93ZXJfb24oc3Ry dWN0IGFkdjc1MTEgKmFkdjc1MTEpCiAJICogTW9zdCBvZiB0aGUgcmVnaXN0ZXJzIGFyZSByZXNl dCBkdXJpbmcgcG93ZXIgZG93biBvciB3aGVuIEhQRCBpcyBsb3cuCiAJICovCiAJcmVnY2FjaGVf c3luYyhhZHY3NTExLT5yZWdtYXApOworfQogCitzdGF0aWMgdm9pZCBhZHY3NTExX3Bvd2VyX29u KHN0cnVjdCBhZHY3NTExICphZHY3NTExKQoreworCV9fYWR2NzUxMV9wb3dlcl9vbihhZHY3NTEx KTsKIAlpZiAoYWR2NzUxMS0+dHlwZSA9PSBBRFY3NTMzKQogCQlhZHY3NTMzX2RzaV9wb3dlcl9v bihhZHY3NTExKTsKLQogCWFkdjc1MTEtPnBvd2VyZWQgPSB0cnVlOwogfQogCi1zdGF0aWMgdm9p ZCBhZHY3NTExX3Bvd2VyX29mZihzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSkKK3N0YXRpYyB2b2lk IF9fYWR2NzUxMV9wb3dlcl9vZmYoc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEpCiB7CiAJLyogVE9E Tzogc2V0dXAgYWRkaXRpb25hbCBwb3dlciBkb3duIG1vZGVzICovCiAJcmVnbWFwX3VwZGF0ZV9i aXRzKGFkdjc1MTEtPnJlZ21hcCwgQURWNzUxMV9SRUdfUE9XRVIsCiAJCQkgICBBRFY3NTExX1BP V0VSX1BPV0VSX0RPV04sCiAJCQkgICBBRFY3NTExX1BPV0VSX1BPV0VSX0RPV04pOwogCXJlZ2Nh Y2hlX21hcmtfZGlydHkoYWR2NzUxMS0+cmVnbWFwKTsKK30KIAorc3RhdGljIHZvaWQgYWR2NzUx MV9wb3dlcl9vZmYoc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEpCit7CisJX19hZHY3NTExX3Bvd2Vy X29mZihhZHY3NTExKTsKIAlpZiAoYWR2NzUxMS0+dHlwZSA9PSBBRFY3NTMzKQogCQlhZHY3NTMz X2RzaV9wb3dlcl9vZmYoYWR2NzUxMSk7Ci0KIAlhZHY3NTExLT5wb3dlcmVkID0gZmFsc2U7CiB9 CiAKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933182AbcK2FFq (ORCPT ); Tue, 29 Nov 2016 00:05:46 -0500 Received: from mail-pf0-f177.google.com ([209.85.192.177]:35703 "EHLO mail-pf0-f177.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754605AbcK2FE4 (ORCPT ); Tue, 29 Nov 2016 00:04:56 -0500 From: John Stultz To: lkml Cc: John Stultz , David Airlie , Archit Taneja , Wolfram Sang , Lars-Peter Clausen , Laurent Pinchart , dri-devel@lists.freedesktop.org Subject: [RFC][PATCH 4/5 v2] drm/bridge: adv7511: Rework adv7511_power_on/off() so they can be reused internally Date: Mon, 28 Nov 2016 21:04:43 -0800 Message-Id: <1480395884-5471-5-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1480395884-5471-1-git-send-email-john.stultz@linaro.org> References: <1480395884-5471-1-git-send-email-john.stultz@linaro.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In chasing down issues with EDID probing, I found some duplicated but incomplete logic used to power the chip on and off. This patch refactors the adv7511_power_on/off functions, so they can be used for internal needs. Cc: David Airlie Cc: Archit Taneja Cc: Wolfram Sang Cc: Lars-Peter Clausen Cc: Laurent Pinchart Cc: dri-devel@lists.freedesktop.org Signed-off-by: John Stultz --- v2: Split into two patches to make change more clear drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c index 9f8dffd..1948968 100644 --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c @@ -325,7 +325,7 @@ static void adv7511_set_link_config(struct adv7511 *adv7511, adv7511->rgb = config->input_colorspace == HDMI_COLORSPACE_RGB; } -static void adv7511_power_on(struct adv7511 *adv7511) +static void __adv7511_power_on(struct adv7511 *adv7511) { adv7511->current_edid_segment = -1; @@ -359,24 +359,30 @@ static void adv7511_power_on(struct adv7511 *adv7511) * Most of the registers are reset during power down or when HPD is low. */ regcache_sync(adv7511->regmap); +} +static void adv7511_power_on(struct adv7511 *adv7511) +{ + __adv7511_power_on(adv7511); if (adv7511->type == ADV7533) adv7533_dsi_power_on(adv7511); - adv7511->powered = true; } -static void adv7511_power_off(struct adv7511 *adv7511) +static void __adv7511_power_off(struct adv7511 *adv7511) { /* TODO: setup additional power down modes */ regmap_update_bits(adv7511->regmap, ADV7511_REG_POWER, ADV7511_POWER_POWER_DOWN, ADV7511_POWER_POWER_DOWN); regcache_mark_dirty(adv7511->regmap); +} +static void adv7511_power_off(struct adv7511 *adv7511) +{ + __adv7511_power_off(adv7511); if (adv7511->type == ADV7533) adv7533_dsi_power_off(adv7511); - adv7511->powered = false; } -- 2.7.4