From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9B2EBC55ABF for ; Wed, 5 Aug 2026 23:44:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=g21o7yWJWv1kRvXh7icInhJeE2cR5N+kc22y7OLe1wg=; b=yxopsBSExcnWoD U0Ert2jU4y3dKl0jECD9HHxZSEKGoiovmpoWdIPHxmgSsPX1P3OoGqhVROeXV0dZ3ews5S1rhrLvP 8Veo7SOwB4CUCUxqciTjzlFWvq4Z2+aiv8++fpWwXrqMXfF3Cw36YA5Uxw87cf2Smdo/Z9oSP89TG iL1OQgtERxtABh+EEHDwYllWURjfmSatPjA+eBeO1b0JtZn1yFmf3IAbHqEtU99vamfjgseHEI4Us HtMJ/CPiw6+gWC/ecOI5PxbogjzJ9YgL+EZHWHwxOP6m24KUsK7vA8hdYrJ4eRxbbSSt647Vn0mU/ ecvRu3cG/by00Ggu7ehg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wrlHp-00000004ew2-2gVb; Wed, 05 Aug 2026 23:44:37 +0000 Received: from gloria.sntech.de ([185.11.138.130]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wrlHn-00000004evb-04hD; Wed, 05 Aug 2026 23:44:36 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sntech.de; s=gloria202408; h=Content-Type:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Reply-To; bh=+FwJkaT/hBuV8xYdPramTwYaDQ7VYGl/Z+umXnAoKIs=; b=tD1/w/xj2z8hREey/TfYF1ABO7 y21ZLsCTa9wIQC3MOjhRpffUlxzN+wxHTLzvM0j476CRWg6G7JlRDpIzJVuQFOwN5NeIDw2TkUGWz QkqymDXgowR2n5S1HHiOEGA8FiCX1skT2BHosPIv4tdO6+ndfv+nbrxQhzm7c9KoMDRI42vECjcIH 0vAvMuBzvvnmB0iHLnKufq20Eb/hcQ58pr16ImBY9wSQjiLINg5KWEtgGqMKrZk8NMQAaMX0jiq/l rN1Yw+qv/uJZZ2ihM0daZxtAEEpVOxHYwVAQ0aaRy1Hkc0s+jOuIl97syFcAj4z4LETom7b3E65rU 5xe1M5dQ==; From: Heiko =?UTF-8?B?U3TDvGJuZXI=?= To: Andrzej Hajda , Neil Armstrong , Robert Foss , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andy Yan , Damon Ding Cc: Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Luca Ceresoli , Dmitry Baryshkov , Marek Szyprowski , Sebastian Reichel , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v2 00/10] Add HPD support for Rockchip Analogix DP Date: Thu, 06 Aug 2026 01:42:14 +0200 Message-ID: <7775230.ejJDZkT8p0@diego> In-Reply-To: <29d483f3-2eb2-4886-a4fe-9b4b6d9d14f3@rock-chips.com> References: <20260804081717.741404-1-damon.ding@rock-chips.com> <5609825.iZASKD2KPV@diego> <29d483f3-2eb2-4886-a4fe-9b4b6d9d14f3@rock-chips.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260805_164435_233532_801B0402 X-CRM114-Status: GOOD ( 45.21 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org QW0gTWl0dHdvY2gsIDUuIEF1Z3VzdCAyMDI2LCAwNjowNjo0OCBNaXR0ZWxldXJvcMOkaXNjaGUg U29tbWVyemVpdCBzY2hyaWViIERhbW9uIERpbmc6Cj4gSGkgSGVpa28sCj4gCj4gT24gOC81LzIw MjYgNjozOSBBTSwgSGVpa28gU3TDvGJuZXIgd3JvdGU6Cj4gPiBIaSBEYW1vbiwKPiA+IAo+ID4g QW0gRGllbnN0YWcsIDQuIEF1Z3VzdCAyMDI2LCAxMDoxNzowNyBNaXR0ZWxldXJvcMOkaXNjaGUg U29tbWVyemVpdCBzY2hyaWViIERhbW9uIERpbmc6Cj4gPj4gRGlzcGxheS1jb25uZWN0b3IgbW9k ZSAoRFAgY29ubmVjdG9yIHdpdGhvdXQgSFBEIEdQSU8pOgo+ID4+Cj4gPj4gICAgJmVkcF9vdXRf Y29ubiB7Cj4gPj4gICAgICAgIHJlbW90ZS1lbmRwb2ludCA9IDwmZHBfY29uX2luPjsKPiA+PiAg ICB9Owo+ID4+Cj4gPj4gICAgZHAtY29uIHsKPiA+PiAgICAgICAgY29tcGF0aWJsZSA9ICJkcC1j b25uZWN0b3IiOwo+ID4+ICAgICAgICBsYWJlbCA9ICJEUCBPVVQiOwo+ID4+ICAgICAgICB0eXBl ID0gImZ1bGwtc2l6ZSI7Cj4gPj4KPiA+PiAgICAgICAgcG9ydCB7Cj4gPj4gICAgICAgICAgICBk cF9jb25faW46IGVuZHBvaW50IHsKPiA+PiAgICAgICAgICAgICAgICByZW1vdGUtZW5kcG9pbnQg PSA8JmVkcF9vdXRfY29ubj47Cj4gPj4gICAgICAgICAgICB9Owo+ID4+ICAgICAgICB9Owo+ID4+ ICAgIH07Cj4gPj4KPiA+PiBEaXNwbGF5LWNvbm5lY3RvciBtb2RlIChEUCBjb25uZWN0b3Igd2l0 aCBIUEQgR1BJTyk6Cj4gPj4KPiA+PiAgICBkcC1jb24gewo+ID4+ICAgICAgICBjb21wYXRpYmxl ID0gImRwLWNvbm5lY3RvciI7Cj4gPj4gICAgICAgIGxhYmVsID0gIkRQIE9VVCI7Cj4gPj4gICAg ICAgIHR5cGUgPSAiZnVsbC1zaXplIjsKPiA+PiAgICAgICAgcGluY3RybC0wID0gPCZlZHAwX2hw ZD47Cj4gPj4gICAgICAgIHBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7Cj4gPj4gICAgICAgIGhw ZC1ncGlvcyA9IDwmZ3BpbzQgUktfUEMxIEdQSU9fQUNUSVZFX0hJR0g+Owo+ID4+Cj4gPj4gICAg ICAgIHBvcnQgewo+ID4+ICAgICAgICAgICAgZHBfY29uX2luOiBlbmRwb2ludCB7Cj4gPj4gICAg ICAgICAgICAgICAgcmVtb3RlLWVuZHBvaW50ID0gPCZlZHBfb3V0X2Nvbm4+Owo+ID4+ICAgICAg ICAgICAgfTsKPiA+PiAgICAgICAgfTsKPiA+PiAgICB9Owo+ID4+Cj4gPj4gQWxsIGZvdXIgY29u ZmlndXJhdGlvbnMgZGV0ZWN0IGNhYmxlIHBsdWcvdW5wbHVnIGV2ZW50cyBjb3JyZWN0bHkuCj4g Cj4gVGhhbmtzIGEgbG90IGZvciB5b3VyIHRlc3RpbmcgYW5kIGZlZWRiYWNrLiA6LSkKPiAKPiBJ dCBzZWVtcyBteSB0ZXN0IHNldHVwIGdhdmUgbWUgdGhlIGZhbHNlIGltcHJlc3Npb24gdGhhdCB0 aG9zZSBjYXNlcyAKPiB3b3JrZWQgd2VsbC4KPiAKPiA+IAo+ID4gaG1tLCBpdCB3YXNuJ3Qgd29y a2luZyBlbnRpcmVseSBmb3IgbWUgdGhvdWdoIGFuZCB3YXMgc3RpbGwgcnVubmluZyBpbnRvCj4g PiBpc3N1ZXMgd2hlbiB0aGUgZGlzcGxheSB3YXMgdW5wbHVnZ2VkIG9uIGJvb3QuCj4gPiAKPiAK PiBBcmUgeW91IHNlZWluZyB0aGlzIGJvb3TigJF1bnBsdWcgaXNzdWUgZm9yIGJvdGggc2NlbmFy aW9zOiBEUOKAkWNvbm5lY3RvciAKPiB3aXRoIEhQROKAkWdwaW8gcGFpcmVkIHdpdGggZURQIHdp dGhvdXQgSFBE4oCRZ3BpbywgYW5kIERQ4oCRY29ubmVjdG9yIHdpdGhvdXQgCj4gSFBE4oCRZ3Bp byBwYWlyZWQgd2l0aCBlRFAgd2l0aCBIUETigJFncGlvPyBJLmUuIGl0IHdyb25nbHkgcmVwb3J0 cyAKPiBjb25uZWN0ZWQgZXZlbiB3aXRoIG5vIGRpc3BsYXkgcGx1Z2dlZCBpbiBhbmQgcHJvY2Vl ZHMgaW50byBEUk0gCj4gLmF0b21pY19lbmFibGUoKT8KClllcCBpdCdzIGRpZmZlcmVudC4gVGhl IGFuYWxvZ2l4LWRwIGdwaW8taHBkIHdvcmtzIGNvcnJlY3RseSwgIGJlY2F1c2UgdGhlCmFuYWxv Z2l4IGRyaXZlciBjYW4gZG8gZ3Bpb2RfZ2V0X3ZhbHVlKCkgaW4gYW5hbG9naXhfZHBfZ2V0X3Bs dWdfaW5fc3RhdHVzKCkKClRoZSBkcC1jb25uZWN0b3IgZG9lcyBub3QsIGFzIHdpdGggdGhlIHBh dGNoIHlvdSBwb2ludGVkIHRvLCBpdCBsb3N0CnRoYXQgYWJpbGl0eS4gU28gb24gYm9vdCBhIHBs dWdnZWQgaW4gZGlzcGxheSBpcyBub3QgZGV0ZWN0ZWQgY29ycmVjdGx5CmJlY2F1c2UgdGhlcmUg d29uJ3QgYmUgYSBob3RwbHVnIGludGVycnVwdC4KCj4gCj4gPiBJIHdpZ2dsZWQgYXJvdW5kIGEg Yml0IGxpa2UgaW4gdGhlIGRpZmYgYmVsb3cgYW5kIGFtIG5vdyBnZXR0aW5nIGNvcnJlY3QKPiA+ IHBsdWcgYW5kIHVucGx1ZyBldmVudHMuCj4gCj4gT2gsIEkgc2VlLiBGb3IgdGhlIEdQSU8gSFBE IGNhc2UsIHRoZSBJUlEgbmVlZHMgdG8gYmUgZW5hYmxlZCBlYXJseSBzbyAKPiB0aGF0IHBsdWfi gJFpbiBpbnRlcnJ1cHRzIGNhbiBiZSBwcm9wZXJseSByZXNwb25kZWQgdG8uIEhvd2V2ZXIgR1BJ TyBIUEQgCj4gZG9lcyBub3QgcmVxdWlyZSBhIHJ1bnRpbWUgUE0gZ2V0LiBJIHdpbGwgYmV0dGVy IHNlcGFyYXRlIHRoZXNlIHR3byAKPiBzY2VuYXJpb3MgaW4gdGhlIG5leHQgdmVyc2lvbi4KPiAK PiA+IAo+ID4gQnV0IG9mIGNvdXJzZSwgYXMgdGhlIGRwLXZhcmlhbnQgb2YgdGhlIGNvbm5lY3Rv ciBkb2VzIG5vdCBwcm92aWRlCj4gPiBhICJkZXRlY3QiIGFuZCBqdXN0IHRoZSAiaHBkIiBmdW5j dGlvbmFsaXR5LCBpdCdzIG1pc3NpbmcgdGhlIGluaXRpYWwgc3RhdGUuCj4gPiAKPiA+IEknbSBj dXJyZW50bHkgbm90IHN1cmUgaG93IHRvIGZpbmQgb3V0IF9pZl8gYSBwYW5lbCBpcyBjb25uZWN0 ZWQgb24gYm9vdC4KPiA+IAo+IAo+IEJhc2VkIG9uIERtaXRyeSdzIGNvbW1pdCBjYjY0MGIyY2E1 NDYgKCJkcm0vYnJpZGdlOiBkaXNwbGF54oCRY29ubmVjdG9yOiAKPiBkb24ndCBzZXQgT1BfREVU RUNUIGZvciBEaXNwbGF5UG9ydHMiKSwgSFBEIGV2ZW50cyBmcm9tIERQ4oCRdmFyaWFudCAKPiBj b25uZWN0b3Igc2hvdWxkIGJlIGhhbmRsZWQgYnkgdGhlIHVwc3RyZWFtIERQIGNvbnRyb2xsZXIu IEhlbmNlIEkgYWRkZWQgCj4gYW5hbG9naXhfZHBfYnJpZGdlX25vdGlmeSgpIHRvIHJldHJpZXZl IEhQRCBzdGF0dXMgY29taW5nIGZyb20gZG93bnN0cmVhbS4KPiAKPiBBcyBleHBlY3RlZCwgdW5k ZXIgdGhlIGJyaWRnZeKAkWNvbm5lY3RvciBmcmFtZXdvcmssIHRoZSBkZXRlY3QgcmVzdWx0IAo+ IGZyb20gQW5hbG9naXggRFAgc2hvdWxkIGluIHRoZW9yeSByZWZsZWN0IHRoZSBhY3R1YWwgY29u bmVjdGlvbiBzdGF0dXMuCj4gTGV0J3MgZGlnIGludG8gdGhpcyBib2904oCRdGltZSBpbml0aWFs 4oCRc3RhdGUgaXNzdWUgdG9nZXRoZXIuCgpPbmUgaWRlYSBJIGhhZCB3YXMsIGlzIGl0IHBvc3Np YmxlIHRvIGRvIGEgZHJtX2RwX3JlYWRfZHBjZF9jYXBzKCkKcmVhZCBkdXJpbmcgYmluZC8uLi4g dG8gc2VlIGlmIHNvbWV0aGluZyBhbnN3ZXJzPwoKVGhhbmtzIGZvciBhbGwgeW91ciB3b3JrCkhl aWtvCgo+ID4gSW4gb3RoZXIgcmV2aWV3IGNvbW1lbnRzOgo+ID4gLSB0aGUgYnJpZGdlIGNvdWxk IHVzZSBkZXZtX2RybV9vZl9nZXRfYnJpZGdlKCkgYXMgc3VnZ2VzdGVkIGluCj4gPiAgICB0aGUg ZG9jdW1lbnRhdGlvbiBvZiBkcm1fb2ZfZmluZF9wYW5lbF9vcl9icmlkZ2UoKSwgYXMgdGhhdCB3 b3VsZAo+ID4gICAgcmVtb3ZlIHRoZSBzZXBhcmF0ZSBwYW5lbF9icmlkZ2UgY3JlYXRpb24KPiA+ IC0gaW5zdGVhZCBvZiB1c2luZyBwbGF0X2RhdGEtPm5leHRfYnJpZGdlIF9pbnNpZGVfIHRoZSBk cml2ZXIKPiA+ICAgIHN0cnVjdCBkcm1fYnJpZGdlIGhhcyBhIGZpZWxkIG5leHRfYnJpZGdlIGFs cmVhZHkuCj4gCj4gR3JlYXQgc3VnZ2VzdGlvbnMsIEkgd2lsbCBpbmNvcnBvcmF0ZSB0aGVtIGZv ciB0aGUgbmV4dCB2ZXJzaW9uIAo+IGFsb25nc2lkZSBTYXNoaWtvJ3MgY29tbWVudHMuCj4gCj4g QmVzdCByZWdhcmRzLAo+IERhbW9uCj4gCj4gPiAKPiA+IAo+ID4gSGVpa28KPiA+IAo+ID4gCj4g PiAtLS0tLS0tIDg8IC0tLS0tLS0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJp ZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2RwX2NvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv YW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jCj4gPiBpbmRleCA4NzdlMWIzY2E3NTI1Li4xMzg4 NjQwYTI3ZGU3IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dp eC9hbmFsb2dpeF9kcF9jb3JlLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5h bG9naXgvYW5hbG9naXhfZHBfY29yZS5jCj4gPiBAQCAtNDMsNyArNDMsNyBAQCBzdGF0aWMgY29u c3QgYm9vbCB2ZXJpZnlfZmFzdF90cmFpbmluZzsKPiA+ICAgc3RhdGljIGJvb2wgYW5hbG9naXhf ZHBfcmVxdWlyZV9wbV9mb3JfaHBkX2lycShzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCkK PiA+ICAgewo+ID4gICAJcmV0dXJuIGFuYWxvZ2l4X2RwX2lzX3JvY2tjaGlwKGRwLT5wbGF0X2Rh dGEtPmRldl90eXBlKSAmJiAhZHAtPmhwZF9ncGlvZCAmJgo+ID4gLQkgICAgICAgIWRwLT5mb3Jj ZV9ocGQ7Cj4gPiArCSAgICAgICAhZHAtPmhwZF9icmlkZ2UgJiYgIWRwLT5mb3JjZV9ocGQ7Cj4g PiAgIH0KPiA+ICAgCj4gPiAgIHN0YXRpYyB2b2lkIGFuYWxvZ2l4X2RwX2luaXRfZHAoc3RydWN0 IGFuYWxvZ2l4X2RwX2RldmljZSAqZHApCj4gPiBAQCAtNzIsNyArNzIsNyBAQCBzdGF0aWMgaW50 IGFuYWxvZ2l4X2RwX2RldGVjdF9ocGQoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHApCj4g PiAgIAkgKiBUcnVzdCBjb25uZWN0aW9uIHN0YXR1cyBmcm9tIGRvd25zdHJlYW0gYnJpZGdlIChl LmcuLAo+ID4gICAJICogZGlzcGxheS1jb25uZWN0b3Igd2l0aCBocGQtZ3Bpb3MpLgo+ID4gICAJ ICovCj4gPiAtCWlmIChkcC0+cGxhdF9kYXRhLT5uZXh0X2JyaWRnZSAmJiBkcC0+Y29ubmVjdGlv bl9ub3RpZmllZCkKPiA+ICsJaWYgKGRwLT5ocGRfYnJpZGdlICYmIGRwLT5jb25uZWN0aW9uX25v dGlmaWVkKQo+ID4gICAJCXJldHVybiAwOwo+ID4gICAKPiA+ICAgCXdoaWxlICh0aW1lb3V0X2xv b3AgPCBEUF9USU1FT1VUX0xPT1BfQ09VTlQpIHsKPiA+IEBAIC05MjYsMTAgKzkyNiwxMCBAQCBh bmFsb2dpeF9kcF9icmlkZ2VfZGV0ZWN0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsIHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZQo+ID4gICAJICovCj4gPiAgIAlpZiAoZHAtPnBsYXRfZGF0 YS0+bmV4dF9icmlkZ2UgJiYgZHAtPmxhc3RfYnJpZGdlX2lzX3BhbmVsKQo+ID4gICAJCXN0YXR1 cyA9IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkOwo+ID4gLQo+ID4gLQlpZiAoIWFuYWxvZ2l4 X2RwX2RldGVjdF9ocGQoZHApKQo+ID4gKwllbHNlIGlmICghYW5hbG9naXhfZHBfZGV0ZWN0X2hw ZChkcCkpCj4gPiAgIAkJc3RhdHVzID0gY29ubmVjdG9yX3N0YXR1c19jb25uZWN0ZWQ7Cj4gPiAg IAo+ID4gK3ByaW50aygiLS0tPiAlcyBzdGF0dXMgJWRcbiIsIF9fZnVuY19fLCBzdGF0dXMpOwo+ ID4gICAJcmV0dXJuIHN0YXR1czsKPiA+ICAgfQo+ID4gICAKPiA+IEBAIC0xMDQ0LDcgKzEwNDQs NyBAQCBzdGF0aWMgaW50IGFuYWxvZ2l4X2RwX3NldF9icmlkZ2Uoc3RydWN0IGFuYWxvZ2l4X2Rw X2RldmljZSAqZHApCj4gPiAgIAkJZ290byBvdXRfZHBfaW5pdDsKPiA+ICAgCX0KPiA+ICAgCj4g PiAtCWlmICghYW5hbG9naXhfZHBfcmVxdWlyZV9wbV9mb3JfaHBkX2lycShkcCkpCj4gPiArCWlm ICghYW5hbG9naXhfZHBfcmVxdWlyZV9wbV9mb3JfaHBkX2lycShkcCkgJiYgIWRwLT5ocGRfYnJp ZGdlKQo+ID4gICAJCWVuYWJsZV9pcnEoZHAtPmlycSk7Cj4gPiAgIAlyZXR1cm4gMDsKPiA+ICAg Cj4gPiBAQCAtMTE4Nyw3ICsxMTg3LDcgQEAgc3RhdGljIHZvaWQgYW5hbG9naXhfZHBfYnJpZGdl X2Rpc2FibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKPiA+ICAgCWlmIChkcC0+ZHBtc19t b2RlICE9IERSTV9NT0RFX0RQTVNfT04pCj4gPiAgIAkJcmV0dXJuOwo+ID4gICAKPiA+IC0JaWYg KCFhbmFsb2dpeF9kcF9yZXF1aXJlX3BtX2Zvcl9ocGRfaXJxKGRwKSkKPiA+ICsJaWYgKCFhbmFs b2dpeF9kcF9yZXF1aXJlX3BtX2Zvcl9ocGRfaXJxKGRwKSAmJiAhZHAtPmhwZF9icmlkZ2UpCj4g PiAgIAkJZGlzYWJsZV9pcnEoZHAtPmlycSk7Cj4gPiAgIAo+ID4gICAJYW5hbG9naXhfZHBfc2V0 X2FuYWxvZ19wb3dlcl9kb3duKGRwLCBQT1dFUl9BTEwsIDEpOwo+ID4gQEAgLTEyNjQsNiArMTI2 NCw3IEBAIHN0YXRpYyB2b2lkIGFuYWxvZ2l4X2RwX2JyaWRnZV9ub3RpZnkoc3RydWN0IGRybV9i cmlkZ2UgKmJyaWRnZSwgc3RydWN0IGRybV9jb25uCj4gPiAgIAlzdHJ1Y3QgYW5hbG9naXhfZHBf ZGV2aWNlICpkcCA9IHRvX2RwKGJyaWRnZSk7Cj4gPiAgIAo+ID4gICAJZHAtPmNvbm5lY3Rpb25f bm90aWZpZWQgPSAoc3RhdHVzID09IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkKTsKPiA+ICtw cmludGsoIi0tLT4gJXMgY29ubmVjdGlvbl9ub3RpZmllZCAlZFxuIiwgX19mdW5jX18sIGRwLT5j b25uZWN0aW9uX25vdGlmaWVkKTsKPiA+ICAgfQo+ID4gICAKPiA+ICAgc3RhdGljIGNvbnN0IHN0 cnVjdCBkcm1fYnJpZGdlX2Z1bmNzIGFuYWxvZ2l4X2RwX2JyaWRnZV9mdW5jcyA9IHsKPiA+IEBA IC0xNjQxLDYgKzE2NDIsMTMgQEAgc3RhdGljIGludCBhbmFsb2dpeF9kcF9hdXhfZG9uZV9wcm9i aW5nKHN0cnVjdCBkcm1fZHBfYXV4ICphdXgpCj4gPiAgIAlpZiAocmV0ICYmIHJldCAhPSAtRU5P REVWKQo+ID4gICAJCXJldHVybiByZXQ7Cj4gPiAgIAo+ID4gKwkvKgo+ID4gKwkgKiBUaGVyZSBp cyBhIG5leHQgbGluayBpbiB0aGUgY2hhaW4gd2hpY2ggaXMgbm90IGEgcGFuZWwsIHdlIHNob3Vs ZAo+ID4gKwkgKiBleHBlY3QgaG90cGx1Zy1pbmZvcm1hdGlvbiBjb21pbmcgZnJvbSB0aGVyZS4K PiA+ICsJICovCj4gPiArCWlmIChwbGF0X2RhdGEtPm5leHRfYnJpZGdlICYmICFkcm1fYnJpZGdl X2lzX3BhbmVsKHBsYXRfZGF0YS0+bmV4dF9icmlkZ2UpKQo+ID4gKwkJZHAtPmhwZF9icmlkZ2Ug PSB0cnVlOwo+ID4gKwo+ID4gICAJcmV0dXJuIGNvbXBvbmVudF9hZGQoZHAtPmRldiwgcGxhdF9k YXRhLT5vcHMpOwo+ID4gICB9Cj4gPiAgIAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5oIGIvZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmgKPiA+IGluZGV4IGQwZmIyNWU1NDNlYTAu LmVjY2EzYjg3YjQ0NTYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fu YWxvZ2l4L2FuYWxvZ2l4X2RwX2NvcmUuaAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmgKPiA+IEBAIC0xNjksNiArMTY5LDcgQEAgc3Ry dWN0IGFuYWxvZ2l4X2RwX2RldmljZSB7Cj4gPiAgIAlib29sCQkJZmFzdF90cmFpbl9lbmFibGU7 Cj4gPiAgIAlib29sCQkJcHNyX3N1cHBvcnRlZDsKPiA+ICAgCWJvb2wJCQlsYXN0X2JyaWRnZV9p c19wYW5lbDsKPiA+ICsJYm9vbAkJCWhwZF9icmlkZ2U7Cj4gPiAgIAlib29sCQkJY29ubmVjdGlv bl9ub3RpZmllZDsKPiA+ICAgCj4gPiAgIAl1OCBkcGNkW0RQX1JFQ0VJVkVSX0NBUF9TSVpFXTsK PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4 X2RwX3JlZy5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9y ZWcuYwo+ID4gaW5kZXggZWM1OTUwMDY2ZjgzOC4uNmYwZDY0MjczOWZmZCAxMDA2NDQKPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfcmVnLmMKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfcmVnLmMK PiA+IEBAIC0xODIsNyArMTgyLDcgQEAgdm9pZCBhbmFsb2dpeF9kcF9jb25maWdfaW50ZXJydXB0 KHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwKQo+ID4gICAJd3JpdGVsKDAsIGRwLT5yZWdf YmFzZSArIEFOQUxPR0lYX0RQX0NPTU1PTl9JTlRfTUFTS18yKTsKPiA+ICAgCXdyaXRlbCgwLCBk cC0+cmVnX2Jhc2UgKyBBTkFMT0dJWF9EUF9DT01NT05fSU5UX01BU0tfMyk7Cj4gPiAgIAo+ID4g LQlpZiAoZHAtPmhwZF9ncGlvZCkgewo+ID4gKwlpZiAoZHAtPmhwZF9ncGlvZCB8fCBkcC0+aHBk X2JyaWRnZSkgewo+ID4gICAJCWFuYWxvZ2l4X2RwX211dGVfaHBkX2ludGVycnVwdChkcCwgSFBE X0lSUSk7Cj4gPiAgIAl9IGVsc2Ugewo+ID4gICAJCS8qCj4gPiBAQCAtNDM4LDcgKzQzOCw3IEBA IHZvaWQgYW5hbG9naXhfZHBfaW5pdF9ocGQoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAp Cj4gPiAgIHsKPiA+ICAgCXUzMiByZWc7Cj4gPiAgIAo+ID4gLQlpZiAoZHAtPmhwZF9ncGlvZCkK PiA+ICsJaWYgKGRwLT5ocGRfZ3Bpb2QgfHwgZHAtPmhwZF9icmlkZ2UpCj4gPiAgIAkJcmV0dXJu Owo+ID4gICAKPiA+ICAgCWFuYWxvZ2l4X2RwX2NsZWFyX2hvdHBsdWdfaW50ZXJydXB0cyhkcCwg SFBEX0lSUSk7Cj4gPiBAQCAtNTM5LDYgKzUzOSw5IEBAIGludCBhbmFsb2dpeF9kcF9nZXRfcGx1 Z19pbl9zdGF0dXMoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHApCj4gPiAgIAlpZiAoZHAt PmhwZF9ncGlvZCkgewo+ID4gICAJCWlmIChncGlvZF9nZXRfdmFsdWUoZHAtPmhwZF9ncGlvZCkp Cj4gPiAgIAkJCXJldHVybiAwOwo+ID4gKwl9IGVsc2UgaWYgKGRwLT5ocGRfYnJpZGdlKSB7Cj4g PiArCQlpZiAoZHAtPmNvbm5lY3Rpb25fbm90aWZpZWQpCj4gPiArCQkJcmV0dXJuIDA7Cj4gPiAg IAl9IGVsc2Ugewo+ID4gICAJCXJlZyA9IHJlYWRsKGRwLT5yZWdfYmFzZSArIEFOQUxPR0lYX0RQ X1NZU19DVExfMyk7Cj4gPiAgIAkJaWYgKHJlZyAmIEhQRF9TVEFUVVMpCj4gPiAKPiA+IAo+ID4g Cj4gPiAKPiA+IAo+IAo+IAoKCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkxpbnV4LXJvY2tjaGlwIG1haWxpbmcgbGlzdApMaW51eC1yb2NrY2hpcEBs aXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlz dGluZm8vbGludXgtcm9ja2NoaXAK From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from gloria.sntech.de (gloria.sntech.de [185.11.138.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C3D505A79B; Wed, 5 Aug 2026 23:44:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.11.138.130 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785973479; cv=none; b=HBNrOzMkjlbsE39PThCpGjVJ4oZc93Zp/0mky/nOQfG1lxF05uR7oNacqp2nRIH4fru4yBFzFGH3zHJMLkeSA5S2XUIwGLupNON6ajv2X0nK0Jhkh1M7lypE0ysj28mnMCezWTdAtydM4kbns+Q5Qa1PaOiosliQp9XAUS2z5wQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785973479; c=relaxed/simple; bh=Lh/QJcMnBYuyuJEhXbEP3c1la/jVbcjYTeDGsN7yN94=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=XYzO78KBTEUaN3nkqj/SUZJ+LM2XCJsJmUeDeEcb5CdudsXX2768FlMBBk/o6mVLqKF4nGUI3xxSJyl8PrBEzlTs2mtb+rMmsS/5MO2Um357iTIeSvdqpAqBjedAlR1KfRrcqnNIhgfn1RxS+2GLdbv96evSVWj4Si/3duAiZAY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=sntech.de; spf=pass smtp.mailfrom=sntech.de; dkim=pass (2048-bit key) header.d=sntech.de header.i=@sntech.de header.b=tD1/w/xj; arc=none smtp.client-ip=185.11.138.130 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=sntech.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sntech.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sntech.de header.i=@sntech.de header.b="tD1/w/xj" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sntech.de; s=gloria202408; h=Content-Type:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Reply-To; bh=+FwJkaT/hBuV8xYdPramTwYaDQ7VYGl/Z+umXnAoKIs=; b=tD1/w/xj2z8hREey/TfYF1ABO7 y21ZLsCTa9wIQC3MOjhRpffUlxzN+wxHTLzvM0j476CRWg6G7JlRDpIzJVuQFOwN5NeIDw2TkUGWz QkqymDXgowR2n5S1HHiOEGA8FiCX1skT2BHosPIv4tdO6+ndfv+nbrxQhzm7c9KoMDRI42vECjcIH 0vAvMuBzvvnmB0iHLnKufq20Eb/hcQ58pr16ImBY9wSQjiLINg5KWEtgGqMKrZk8NMQAaMX0jiq/l rN1Yw+qv/uJZZ2ihM0daZxtAEEpVOxHYwVAQ0aaRy1Hkc0s+jOuIl97syFcAj4z4LETom7b3E65rU 5xe1M5dQ==; From: Heiko =?UTF-8?B?U3TDvGJuZXI=?= To: Andrzej Hajda , Neil Armstrong , Robert Foss , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andy Yan , Damon Ding Cc: Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Luca Ceresoli , Dmitry Baryshkov , Marek Szyprowski , Sebastian Reichel , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v2 00/10] Add HPD support for Rockchip Analogix DP Date: Thu, 06 Aug 2026 01:42:14 +0200 Message-ID: <7775230.ejJDZkT8p0@diego> In-Reply-To: <29d483f3-2eb2-4886-a4fe-9b4b6d9d14f3@rock-chips.com> References: <20260804081717.741404-1-damon.ding@rock-chips.com> <5609825.iZASKD2KPV@diego> <29d483f3-2eb2-4886-a4fe-9b4b6d9d14f3@rock-chips.com> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Am Mittwoch, 5. August 2026, 06:06:48 Mitteleurop=C3=A4ische Sommerzeit sch= rieb Damon Ding: > Hi Heiko, >=20 > On 8/5/2026 6:39 AM, Heiko St=C3=BCbner wrote: > > Hi Damon, > >=20 > > Am Dienstag, 4. August 2026, 10:17:07 Mitteleurop=C3=A4ische Sommerzeit= schrieb Damon Ding: > >> Display-connector mode (DP connector without HPD GPIO): > >> > >> &edp_out_conn { > >> remote-endpoint =3D <&dp_con_in>; > >> }; > >> > >> dp-con { > >> compatible =3D "dp-connector"; > >> label =3D "DP OUT"; > >> type =3D "full-size"; > >> > >> port { > >> dp_con_in: endpoint { > >> remote-endpoint =3D <&edp_out_conn>; > >> }; > >> }; > >> }; > >> > >> Display-connector mode (DP connector with HPD GPIO): > >> > >> dp-con { > >> compatible =3D "dp-connector"; > >> label =3D "DP OUT"; > >> type =3D "full-size"; > >> pinctrl-0 =3D <&edp0_hpd>; > >> pinctrl-names =3D "default"; > >> hpd-gpios =3D <&gpio4 RK_PC1 GPIO_ACTIVE_HIGH>; > >> > >> port { > >> dp_con_in: endpoint { > >> remote-endpoint =3D <&edp_out_conn>; > >> }; > >> }; > >> }; > >> > >> All four configurations detect cable plug/unplug events correctly. >=20 > Thanks a lot for your testing and feedback. :-) >=20 > It seems my test setup gave me the false impression that those cases=20 > worked well. >=20 > >=20 > > hmm, it wasn't working entirely for me though and was still running into > > issues when the display was unplugged on boot. > >=20 >=20 > Are you seeing this boot=E2=80=91unplug issue for both scenarios: DP=E2= =80=91connector=20 > with HPD=E2=80=91gpio paired with eDP without HPD=E2=80=91gpio, and DP=E2= =80=91connector without=20 > HPD=E2=80=91gpio paired with eDP with HPD=E2=80=91gpio? I.e. it wrongly r= eports=20 > connected even with no display plugged in and proceeds into DRM=20 > .atomic_enable()? Yep it's different. The analogix-dp gpio-hpd works correctly, because the analogix driver can do gpiod_get_value() in analogix_dp_get_plug_in_status() The dp-connector does not, as with the patch you pointed to, it lost that ability. So on boot a plugged in display is not detected correctly because there won't be a hotplug interrupt. >=20 > > I wiggled around a bit like in the diff below and am now getting correct > > plug and unplug events. >=20 > Oh, I see. For the GPIO HPD case, the IRQ needs to be enabled early so=20 > that plug=E2=80=91in interrupts can be properly responded to. However GPI= O HPD=20 > does not require a runtime PM get. I will better separate these two=20 > scenarios in the next version. >=20 > >=20 > > But of course, as the dp-variant of the connector does not provide > > a "detect" and just the "hpd" functionality, it's missing the initial s= tate. > >=20 > > I'm currently not sure how to find out _if_ a panel is connected on boo= t. > >=20 >=20 > Based on Dmitry's commit cb640b2ca546 ("drm/bridge: display=E2=80=91conne= ctor:=20 > don't set OP_DETECT for DisplayPorts"), HPD events from DP=E2=80=91varian= t=20 > connector should be handled by the upstream DP controller. Hence I added= =20 > analogix_dp_bridge_notify() to retrieve HPD status coming from downstream. >=20 > As expected, under the bridge=E2=80=91connector framework, the detect res= ult=20 > from Analogix DP should in theory reflect the actual connection status. > Let's dig into this boot=E2=80=91time initial=E2=80=91state issue togethe= r. One idea I had was, is it possible to do a drm_dp_read_dpcd_caps() read during bind/... to see if something answers? Thanks for all your work Heiko > > In other review comments: > > - the bridge could use devm_drm_of_get_bridge() as suggested in > > the documentation of drm_of_find_panel_or_bridge(), as that would > > remove the separate panel_bridge creation > > - instead of using plat_data->next_bridge _inside_ the driver > > struct drm_bridge has a field next_bridge already. >=20 > Great suggestions, I will incorporate them for the next version=20 > alongside Sashiko's comments. >=20 > Best regards, > Damon >=20 > >=20 > >=20 > > Heiko > >=20 > >=20 > > ------- 8< ------- > > diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drive= rs/gpu/drm/bridge/analogix/analogix_dp_core.c > > index 877e1b3ca7525..1388640a27de7 100644 > > --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > > +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > > @@ -43,7 +43,7 @@ static const bool verify_fast_training; > > static bool analogix_dp_require_pm_for_hpd_irq(struct analogix_dp_dev= ice *dp) > > { > > return analogix_dp_is_rockchip(dp->plat_data->dev_type) && !dp->hpd_= gpiod && > > - !dp->force_hpd; > > + !dp->hpd_bridge && !dp->force_hpd; > > } > > =20 > > static void analogix_dp_init_dp(struct analogix_dp_device *dp) > > @@ -72,7 +72,7 @@ static int analogix_dp_detect_hpd(struct analogix_dp_= device *dp) > > * Trust connection status from downstream bridge (e.g., > > * display-connector with hpd-gpios). > > */ > > - if (dp->plat_data->next_bridge && dp->connection_notified) > > + if (dp->hpd_bridge && dp->connection_notified) > > return 0; > > =20 > > while (timeout_loop < DP_TIMEOUT_LOOP_COUNT) { > > @@ -926,10 +926,10 @@ analogix_dp_bridge_detect(struct drm_bridge *brid= ge, struct drm_connector *conne > > */ > > if (dp->plat_data->next_bridge && dp->last_bridge_is_panel) > > status =3D connector_status_connected; > > - > > - if (!analogix_dp_detect_hpd(dp)) > > + else if (!analogix_dp_detect_hpd(dp)) > > status =3D connector_status_connected; > > =20 > > +printk("---> %s status %d\n", __func__, status); > > return status; > > } > > =20 > > @@ -1044,7 +1044,7 @@ static int analogix_dp_set_bridge(struct analogix= _dp_device *dp) > > goto out_dp_init; > > } > > =20 > > - if (!analogix_dp_require_pm_for_hpd_irq(dp)) > > + if (!analogix_dp_require_pm_for_hpd_irq(dp) && !dp->hpd_bridge) > > enable_irq(dp->irq); > > return 0; > > =20 > > @@ -1187,7 +1187,7 @@ static void analogix_dp_bridge_disable(struct drm= _bridge *bridge) > > if (dp->dpms_mode !=3D DRM_MODE_DPMS_ON) > > return; > > =20 > > - if (!analogix_dp_require_pm_for_hpd_irq(dp)) > > + if (!analogix_dp_require_pm_for_hpd_irq(dp) && !dp->hpd_bridge) > > disable_irq(dp->irq); > > =20 > > analogix_dp_set_analog_power_down(dp, POWER_ALL, 1); > > @@ -1264,6 +1264,7 @@ static void analogix_dp_bridge_notify(struct drm_= bridge *bridge, struct drm_conn > > struct analogix_dp_device *dp =3D to_dp(bridge); > > =20 > > dp->connection_notified =3D (status =3D=3D connector_status_connecte= d); > > +printk("---> %s connection_notified %d\n", __func__, dp->connection_no= tified); > > } > > =20 > > static const struct drm_bridge_funcs analogix_dp_bridge_funcs =3D { > > @@ -1641,6 +1642,13 @@ static int analogix_dp_aux_done_probing(struct d= rm_dp_aux *aux) > > if (ret && ret !=3D -ENODEV) > > return ret; > > =20 > > + /* > > + * There is a next link in the chain which is not a panel, we should > > + * expect hotplug-information coming from there. > > + */ > > + if (plat_data->next_bridge && !drm_bridge_is_panel(plat_data->next_br= idge)) > > + dp->hpd_bridge =3D true; > > + > > return component_add(dp->dev, plat_data->ops); > > } > > =20 > > diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h b/drive= rs/gpu/drm/bridge/analogix/analogix_dp_core.h > > index d0fb25e543ea0..ecca3b87b4456 100644 > > --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h > > +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h > > @@ -169,6 +169,7 @@ struct analogix_dp_device { > > bool fast_train_enable; > > bool psr_supported; > > bool last_bridge_is_panel; > > + bool hpd_bridge; > > bool connection_notified; > > =20 > > u8 dpcd[DP_RECEIVER_CAP_SIZE]; > > diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c b/driver= s/gpu/drm/bridge/analogix/analogix_dp_reg.c > > index ec5950066f838..6f0d642739ffd 100644 > > --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c > > +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c > > @@ -182,7 +182,7 @@ void analogix_dp_config_interrupt(struct analogix_d= p_device *dp) > > writel(0, dp->reg_base + ANALOGIX_DP_COMMON_INT_MASK_2); > > writel(0, dp->reg_base + ANALOGIX_DP_COMMON_INT_MASK_3); > > =20 > > - if (dp->hpd_gpiod) { > > + if (dp->hpd_gpiod || dp->hpd_bridge) { > > analogix_dp_mute_hpd_interrupt(dp, HPD_IRQ); > > } else { > > /* > > @@ -438,7 +438,7 @@ void analogix_dp_init_hpd(struct analogix_dp_device= *dp) > > { > > u32 reg; > > =20 > > - if (dp->hpd_gpiod) > > + if (dp->hpd_gpiod || dp->hpd_bridge) > > return; > > =20 > > analogix_dp_clear_hotplug_interrupts(dp, HPD_IRQ); > > @@ -539,6 +539,9 @@ int analogix_dp_get_plug_in_status(struct analogix_= dp_device *dp) > > if (dp->hpd_gpiod) { > > if (gpiod_get_value(dp->hpd_gpiod)) > > return 0; > > + } else if (dp->hpd_bridge) { > > + if (dp->connection_notified) > > + return 0; > > } else { > > reg =3D readl(dp->reg_base + ANALOGIX_DP_SYS_CTL_3); > > if (reg & HPD_STATUS) > >=20 > >=20 > >=20 > >=20 > >=20 >=20 >=20