From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Kroah-Hartman Subject: [PATCH 4.9 32/32] drm/bridge: adv7511: Switch to using drm_kms_helper_hotplug_event() Date: Fri, 8 Sep 2017 15:19:41 +0200 Message-ID: <20170908131838.952187428@linuxfoundation.org> References: <20170908131837.717322849@linuxfoundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9C7966EB52 for ; Fri, 8 Sep 2017 13:24:59 +0000 (UTC) In-Reply-To: <20170908131837.717322849@linuxfoundation.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-kernel@vger.kernel.org Cc: Nhan Nguyen , Greg Kroah-Hartman , dri-devel@lists.freedesktop.org, stable@vger.kernel.org, Wolfram Sang , Laurent Pinchart , Thong Ho List-Id: dri-devel@lists.freedesktop.org NC45LXN0YWJsZSByZXZpZXcgcGF0Y2guICBJZiBhbnlvbmUgaGFzIGFueSBvYmplY3Rpb25zLCBw bGVhc2UgbGV0IG1lIGtub3cuCgotLS0tLS0tLS0tLS0tLS0tLS0KCkZyb206IEpvaG4gU3R1bHR6 IDxqb2huLnN0dWx0ekBsaW5hcm8ub3JnPgoKY29tbWl0IDZkNTEwNGM1YTZiNTYzODU0MjZlMTUw NDcwNTA1ODQ3OTRiYjYyNTQgdXBzdHJlYW0uCgpJbiBjaGFzaW5nIGRvd24gYSBwcmV2aW91cyBp c3N1ZSB3aXRoIEVESUQgcHJvYmluZyBmcm9tIGNhbGxpbmcKZHJtX2hlbHBlcl9ocGRfaXJxX2V2 ZW50KCkgZnJvbSBpcnEgY29udGV4dCwgTGF1cmVudCBub3RpY2VkCnRoYXQgdGhlIERSTSBkb2N1 bWVudGF0aW9uIHN1Z2dlc3RzIHRoYXQKZHJtX2ttc19oZWxwZXJfaG90cGx1Z19ldmVudCgpIHNo b3VsZCBiZSB1c2VkIGluc3RlYWQuCgpUaHVzIHRoaXMgcGF0Y2ggcmVwbGFjZXMgZHJtX2hlbHBl cl9ocGRfaXJxX2V2ZW50KCkgd2l0aApkcm1fa21zX2hlbHBlcl9ob3RwbHVnX2V2ZW50KCksIHdo aWNoIHJlcXVpcmVzIHdlIHVwZGF0ZSB0aGUKY29ubmVjdG9yLnN0YXR1cyBlbnRyeSBhbmQgb25s eSBjYWxsIF9ob3RwbHVnX2V2ZW50KCkgd2hlbiB0aGUKc3RhdHVzIGNoYW5nZXMuCgpDYzogRGF2 aWQgQWlybGllIDxhaXJsaWVkQGxpbnV4LmllPgpDYzogQXJjaGl0IFRhbmVqYSA8YXJjaGl0dEBj b2RlYXVyb3JhLm9yZz4KQ2M6IFdvbGZyYW0gU2FuZyA8d3NhK3JlbmVzYXNAc2FuZy1lbmdpbmVl cmluZy5jb20+CkNjOiBMYXJzLVBldGVyIENsYXVzZW4gPGxhcnNAbWV0YWZvby5kZT4KQ2M6IExh dXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KQ2M6IGRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKUmV2aWV3ZWQtYnk6IExhdXJlbnQgUGluY2hh cnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KVGVzdGVkLWJ5OiBMYXVyZW50 IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+ClNpZ25lZC1vZmYt Ynk6IEpvaG4gU3R1bHR6IDxqb2huLnN0dWx0ekBsaW5hcm8ub3JnPgpTaWduZWQtb2ZmLWJ5OiBB cmNoaXQgVGFuZWphIDxhcmNoaXR0QGNvZGVhdXJvcmEub3JnPgpMaW5rOiBodHRwOi8vcGF0Y2h3 b3JrLmZyZWVkZXNrdG9wLm9yZy9wYXRjaC9tc2dpZC8xNDg0NjE0MzcyLTE1MzQyLTMtZ2l0LXNl bmQtZW1haWwtam9obi5zdHVsdHpAbGluYXJvLm9yZwpTaWduZWQtb2ZmLWJ5OiBUaG9uZyBIbyA8 dGhvbmcuaG8ucHhAcnZjLnJlbmVzYXMuY29tPgpTaWduZWQtb2ZmLWJ5OiBOaGFuIE5ndXllbiA8 bmhhbi5uZ3V5ZW4ueWJAcmVuZXNhcy5jb20+ClNpZ25lZC1vZmYtYnk6IEdyZWcgS3JvYWgtSGFy dG1hbiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+CgotLS0KIGRyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Rydi5jIHwgICAxNiArKysrKysrKysrKysrKystCiAxIGZp bGUgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmMKQEAgLTQwNSw4ICs0MDUsMjIgQEAgc3Rh dGljIGJvb2wgYWR2NzUxMV9ocGQoc3RydWN0IGFkdjc1MTEgKgogc3RhdGljIHZvaWQgYWR2NzUx MV9ocGRfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7CiAJc3RydWN0IGFkdjc1MTEg KmFkdjc1MTEgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IGFkdjc1MTEsIGhwZF93b3JrKTsK KwllbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzIHN0YXR1czsKKwl1bnNpZ25lZCBpbnQgdmFsOwor CWludCByZXQ7CiAKLQlkcm1faGVscGVyX2hwZF9pcnFfZXZlbnQoYWR2NzUxMS0+Y29ubmVjdG9y LmRldik7CisJcmV0ID0gcmVnbWFwX3JlYWQoYWR2NzUxMS0+cmVnbWFwLCBBRFY3NTExX1JFR19T VEFUVVMsICZ2YWwpOworCWlmIChyZXQgPCAwKQorCQlzdGF0dXMgPSBjb25uZWN0b3Jfc3RhdHVz X2Rpc2Nvbm5lY3RlZDsKKwllbHNlIGlmICh2YWwgJiBBRFY3NTExX1NUQVRVU19IUEQpCisJCXN0 YXR1cyA9IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkOworCWVsc2UKKwkJc3RhdHVzID0gY29u bmVjdG9yX3N0YXR1c19kaXNjb25uZWN0ZWQ7CisKKwlpZiAoYWR2NzUxMS0+Y29ubmVjdG9yLnN0 YXR1cyAhPSBzdGF0dXMpIHsKKwkJYWR2NzUxMS0+Y29ubmVjdG9yLnN0YXR1cyA9IHN0YXR1czsK KwkJZHJtX2ttc19oZWxwZXJfaG90cGx1Z19ldmVudChhZHY3NTExLT5jb25uZWN0b3IuZGV2KTsK Kwl9CiB9CiAKIHN0YXRpYyBpbnQgYWR2NzUxMV9pcnFfcHJvY2VzcyhzdHJ1Y3QgYWR2NzUxMSAq YWR2NzUxMSwgYm9vbCBwcm9jZXNzX2hwZCkKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756397AbdIHN1x (ORCPT ); Fri, 8 Sep 2017 09:27:53 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:36934 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933529AbdIHNY7 (ORCPT ); Fri, 8 Sep 2017 09:24:59 -0400 From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, David Airlie , Archit Taneja , Wolfram Sang , Lars-Peter Clausen , Laurent Pinchart , dri-devel@lists.freedesktop.org, John Stultz , Thong Ho , Nhan Nguyen Subject: [PATCH 4.9 32/32] drm/bridge: adv7511: Switch to using drm_kms_helper_hotplug_event() Date: Fri, 8 Sep 2017 15:19:41 +0200 Message-Id: <20170908131838.952187428@linuxfoundation.org> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20170908131837.717322849@linuxfoundation.org> References: <20170908131837.717322849@linuxfoundation.org> User-Agent: quilt/0.65 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: John Stultz commit 6d5104c5a6b56385426e15047050584794bb6254 upstream. In chasing down a previous issue with EDID probing from calling drm_helper_hpd_irq_event() from irq context, Laurent noticed that the DRM documentation suggests that drm_kms_helper_hotplug_event() should be used instead. Thus this patch replaces drm_helper_hpd_irq_event() with drm_kms_helper_hotplug_event(), which requires we update the connector.status entry and only call _hotplug_event() when the status changes. Cc: David Airlie Cc: Archit Taneja Cc: Wolfram Sang Cc: Lars-Peter Clausen Cc: Laurent Pinchart Cc: dri-devel@lists.freedesktop.org Reviewed-by: Laurent Pinchart Tested-by: Laurent Pinchart Signed-off-by: John Stultz Signed-off-by: Archit Taneja Link: http://patchwork.freedesktop.org/patch/msgid/1484614372-15342-3-git-send-email-john.stultz@linaro.org Signed-off-by: Thong Ho Signed-off-by: Nhan Nguyen Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c @@ -405,8 +405,22 @@ static bool adv7511_hpd(struct adv7511 * static void adv7511_hpd_work(struct work_struct *work) { struct adv7511 *adv7511 = container_of(work, struct adv7511, hpd_work); + enum drm_connector_status status; + unsigned int val; + int ret; - drm_helper_hpd_irq_event(adv7511->connector.dev); + ret = regmap_read(adv7511->regmap, ADV7511_REG_STATUS, &val); + if (ret < 0) + status = connector_status_disconnected; + else if (val & ADV7511_STATUS_HPD) + status = connector_status_connected; + else + status = connector_status_disconnected; + + if (adv7511->connector.status != status) { + adv7511->connector.status = status; + drm_kms_helper_hotplug_event(adv7511->connector.dev); + } } static int adv7511_irq_process(struct adv7511 *adv7511, bool process_hpd)