From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Stuebner Subject: Re: [PATCH v4 5/5] drm: bridge: add support for Cadence MHDP DPI/DP bridge Date: Mon, 24 Sep 2018 14:28:07 +0200 Message-ID: <6154358.J9crsCiUTz@phil> References: <1537455288-20223-1-git-send-email-dkos@cadence.com> <1903708.pJTgKoWLiI@phil> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Damian Kos , Artur Jedrysek , "jbergsagel@ti.com" Cc: Mark Rutland , "devicetree@vger.kernel.org" , "linux-rockchip@lists.infradead.org" , David Airlie , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , Rob Herring , Quentin Schulz , Laurent Pinchart , Sean Paul , "linux-arm-kernel@lists.infradead.org" , Piotr Sroka List-Id: linux-rockchip.vger.kernel.org SGkgRGFtaWFuLAoKQW0gTW9udGFnLCAyNC4gU2VwdGVtYmVyIDIwMTgsIDEzOjQwOjAzIENFU1Qg c2NocmllYiBEYW1pYW4gS29zOgo+ID4gQW0gRG9ubmVyc3RhZywgMjAuIFNlcHRlbWJlciAyMDE4 LCAxNjo1NDo0MCBDRVNUIHNjaHJpZWIgRGFtaWFuIEtvczoKPiA+ID4gRnJvbTogUXVlbnRpbiBT Y2h1bHogPHF1ZW50aW4uc2NodWx6QGZyZWUtZWxlY3Ryb25zLmNvbT4KPiA+ID4gCj4gPiA+IFRo aXMgYWRkcyBiYXNpYyBzdXBwb3J0IGZvciBDYWRlbmNlIE1IRFAgRFBJIHRvIERQIGJyaWRnZS4K PiA+ID4gCj4gPiA+IEJhc2ljYWxseSwgaXQgdGFrZXMgYSBEUEkgc3RyZWFtIGFzIGlucHV0IGFu ZCBvdXRwdXQgaXQgZW5jb2RlZCBpbiBEUCAKPiA+ID4gZm9ybWF0LiBJdCdzIG1pc3NpbmcgcHJv cGVyIEhQRCwgSERDUCBhbmQgY3VycmVudGx5IHN1cHBvcnRzIG9ubHkgU1NUIAo+ID4gPiBtb2Rl Lgo+ID4gPiAKPiA+ID4gQ2hhbmdlcyBtYWRlIGluIHRoZSBsb3cgbGV2ZWwgZHJpdmVyIChjZG4t ZHAtcmVnLiopOgo+ID4gPiAtIG1vdmVkIGl0IHRvIGZyb20gZHJpdmVycy9ncHUvZHJtL3JvY2tj aGlwIHRvCj4gPiA+ICAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9jZG5zLW1oZHAtY29tbW9uLioK PiA+ID4gLSBmdW5jdGlvbnMgZm9yIHNlbmRpbmcvcmVjZWl2aW5nIGNvbW1hbmRzIGFyZSBub3cg cHVibGljCj4gPiA+IC0gYWRkZWQgZnVuY3Rpb25zIGZvciByZWFkaW5nIHJlZ2lzdGVycyBhbmQg bGluayB0cmFpbmluZwo+ID4gPiAgIGFkanVzdG1lbnQKPiA+ID4gCj4gPiA+IENoYW5nZXMgbWFk ZSBpbiBSSydzIGRyaXZlciAoY2RuLWRwLWNvcmUuKik6Cj4gPiA+IC0gTW92ZWQgYXVkaW9faW5m byBhbmQgYXVkaW9fcGRldiBmaWVsZHMgZnJvbSBjZG5fZHBfZGV2aWNlIHRvCj4gPiA+ICAgY2Ru c19taGRwX2RldmljZSBzdHJ1Y3R1cmUuCj4gPiA+IAo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBRdWVu dGluIFNjaHVseiA8cXVlbnRpbi5zY2h1bHpAZnJlZS1lbGVjdHJvbnMuY29tPgo+ID4gPiBTaWdu ZWQtb2ZmLWJ5OiBEYW1pYW4gS29zIDxka29zQGNhZGVuY2UuY29tPgo+ID4gCj4gPiBbLi4uXQo+ ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvS2NvbmZpZyAK PiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvS2NvbmZpZwo+ID4gPiBpbmRleCAwY2Nj NzYyMTdlZTQuLjEyOWIwNTI5ZjNlMSAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL0tjb25maWcKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL0tj b25maWcKPiA+ID4gQEAgLTI3LDcgKzI3LDkgQEAgY29uZmlnIFJPQ0tDSElQX0FOQUxPR0lYX0RQ Cj4gPiA+ICAKPiA+ID4gIGNvbmZpZyBST0NLQ0hJUF9DRE5fRFAKPiA+ID4gICAgICAgICAgYm9v bCAiUm9ja2NoaXAgY2RuIERQIgo+ID4gPiAtCWRlcGVuZHMgb24gRVhUQ09OPXkgfHwgKEVYVENP Tj1tICYmIERSTV9ST0NLQ0hJUD1tKQo+ID4gPiArCWRlcGVuZHMgb24gRFJNX1JPQ0tDSElQPW0K PiA+IAo+ID4gU29ycnksIEkgd2Fzbid0IGZhc3QgZW5vdWdoIGluIG15IHJlcGx5IHRvIHlvdSBt YWlsIHRvIGNhdGNoIHRoYXQgYmVmb3JlIHlvdXIgdjQsIGJ1dCBJIGRvbid0IHRoaW5rIHRoaXMg aXMgbmVjZXNzYXJ5Lgo+ID4gSW5zdGVhZCBJIGRvIGd1ZXNzLCB0aGUgc2VsZWN0IGJlbG93IHNo b3VsZCBkbyB0aGUgcmlnaHQgdGhpbmcgYnkgbWFraW5nIEVYVENPTj15IGlmIERSTV9ST0NLQ0hJ UD15Lgo+ID4gCj4gPiBTb21ld2hhdCBjbHVtc2lseSB2ZXJpZmllZCBieSBtYWtpbmcgRVhUQ09O PW0gaW4gbXkgZGVmY29uZmlnIGFuZCBzZWVpbmcgZ2V0IGNoYW5nZWQgdG8geSB1cG9uIGJ1aWxk LCB3aGljaCBJIGd1ZXNzIGNvbWVzIGZyb20gYSBkaWZmZXJlbnQgInNlbGVjdCIgaW4gdGhlIGNv bmZpZy4KPiA+IAo+IAo+IEkndmUgY2hhbmdlZCBpdCB0bzoKPiAKPiBjb25maWcgUk9DS0NISVBf Q0ROX0RQCj4gICAgICAgICBib29sICJSb2NrY2hpcCBjZG4gRFAiCj4gICAgICAgICBkZXBlbmRz IG9uIERSTV9ST0NLQ0hJUAo+ICAgICAgICAgc2VsZWN0IEVYVENPTiBpZiBEUk1fUk9DS0NISVA9 eQo+ICAgICAgICAgc2VsZWN0IERSTV9DRE5TX01IRFAKPiAgICAgICAgIGhlbHAuLi4KPiAKPiBh bmQgaXQgc2VlbXMgdGhhdCB0aGVyZSBhcmUgbm8gaXNzdWVzLiBBdCBsZWFzdCBmb3IgbWUuCj4g Cj4gUGxlYXNlIGxldCBtZSBrbm93IGlmIHRoYXQncyBPSy4KCm5vcGUsIGp1c3QgZG8gInNlbGVj dCBFWFRDT04iIC4gSXQgd29ya3MgbmljZWx5IGFuZCB0aGUgYWJvdmUgd291bGQKbm90IHNlbGVj dCBFWFRDT04gYXQgYWxsIGlmIHRoZSB0aGUgcm9ja2NoaXAtZHJtIGRyaXZlciBnZXRzIGJ1aWx0 IGludG8KdGhlIGtlcm5lbC4KClRvIGJlIHN1cmUgSSBqdXN0IGRpZCBhIGxpdHRsZSBleHBlcmlt ZW50IGFuZCBhZGRlZDoKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL0tjb25m aWcgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL0tjb25maWcKaW5kZXggNGFkODVjMDQ2ZGNkLi42 NGUyYjA5NmFmZDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvS2NvbmZpZwor KysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL0tjb25maWcKQEAgLTE1NCw0ICsxNTQsMTEgQEAg c291cmNlICJkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2l0ZS9LY29uZmlnIgogCiBzb3VyY2UgImRy aXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvS2NvbmZpZyIKIAorY29uZmlnIERSTV9UTVAx CisgICAgICAgdHJpc3RhdGUgIm9wdGlvbiB0byBzZWxlY3QiCisKK2NvbmZpZyBEUk1fVE1QMgor ICAgICAgIHRyaXN0YXRlICJvcHRpb24gZG9pbmcgdGhlIHNlbGVjdGluZyIKKyAgICAgICBzZWxl Y3QgRFJNX1RNUDEKKwoKSWYgSSBzZWxlY3QgRFJNX1RNUDI9bSBhcyBtb2R1bGUgSSBlbmQgdXAg d2l0aApDT05GSUdfRFJNX1RNUDE9bQpDT05GSUdfRFJNX1RNUDI9bQppbiB0aGUgZGVmY29uZmln IGFuZCB3aXQgRFJNX1RNUDI9eSBpdCBjaGFuZ2VzIHRvCkNPTkZJR19EUk1fVE1QMT15CkNPTkZJ R19EUk1fVE1QMj15CgpzbyBhbGwgaXMgd2VsbCB3aXRoIGp1c3QgZG9pbmcgInNlbGVjdCBFWFRD T04iIGFib3ZlIGFuZCB3aWxsCnNlbGVjdCB0aGUgY29ycmVjdCAibSIgb3IgInkiIHN0YW5jZSBh cyBuZWVkZWQuCgoKSGVpa28KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: heiko@sntech.de (Heiko Stuebner) Date: Mon, 24 Sep 2018 14:28:07 +0200 Subject: [PATCH v4 5/5] drm: bridge: add support for Cadence MHDP DPI/DP bridge In-Reply-To: References: <1537455288-20223-1-git-send-email-dkos@cadence.com> <1903708.pJTgKoWLiI@phil> Message-ID: <6154358.J9crsCiUTz@phil> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Damian, Am Montag, 24. September 2018, 13:40:03 CEST schrieb Damian Kos: > > Am Donnerstag, 20. September 2018, 16:54:40 CEST schrieb Damian Kos: > > > From: Quentin Schulz > > > > > > This adds basic support for Cadence MHDP DPI to DP bridge. > > > > > > Basically, it takes a DPI stream as input and output it encoded in DP > > > format. It's missing proper HPD, HDCP and currently supports only SST > > > mode. > > > > > > Changes made in the low level driver (cdn-dp-reg.*): > > > - moved it to from drivers/gpu/drm/rockchip to > > > drivers/gpu/drm/bridge/cdns-mhdp-common.* > > > - functions for sending/receiving commands are now public > > > - added functions for reading registers and link training > > > adjustment > > > > > > Changes made in RK's driver (cdn-dp-core.*): > > > - Moved audio_info and audio_pdev fields from cdn_dp_device to > > > cdns_mhdp_device structure. > > > > > > Signed-off-by: Quentin Schulz > > > Signed-off-by: Damian Kos > > > > [...] > > > > > diff --git a/drivers/gpu/drm/rockchip/Kconfig > > > b/drivers/gpu/drm/rockchip/Kconfig > > > index 0ccc76217ee4..129b0529f3e1 100644 > > > --- a/drivers/gpu/drm/rockchip/Kconfig > > > +++ b/drivers/gpu/drm/rockchip/Kconfig > > > @@ -27,7 +27,9 @@ config ROCKCHIP_ANALOGIX_DP > > > > > > config ROCKCHIP_CDN_DP > > > bool "Rockchip cdn DP" > > > - depends on EXTCON=y || (EXTCON=m && DRM_ROCKCHIP=m) > > > + depends on DRM_ROCKCHIP=m > > > > Sorry, I wasn't fast enough in my reply to you mail to catch that before your v4, but I don't think this is necessary. > > Instead I do guess, the select below should do the right thing by making EXTCON=y if DRM_ROCKCHIP=y. > > > > Somewhat clumsily verified by making EXTCON=m in my defconfig and seeing get changed to y upon build, which I guess comes from a different "select" in the config. > > > > I've changed it to: > > config ROCKCHIP_CDN_DP > bool "Rockchip cdn DP" > depends on DRM_ROCKCHIP > select EXTCON if DRM_ROCKCHIP=y > select DRM_CDNS_MHDP > help... > > and it seems that there are no issues. At least for me. > > Please let me know if that's OK. nope, just do "select EXTCON" . It works nicely and the above would not select EXTCON at all if the the rockchip-drm driver gets built into the kernel. To be sure I just did a little experiment and added: diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig index 4ad85c046dcd..64e2b096afd8 100644 --- a/drivers/gpu/drm/bridge/Kconfig +++ b/drivers/gpu/drm/bridge/Kconfig @@ -154,4 +154,11 @@ source "drivers/gpu/drm/bridge/ite/Kconfig" source "drivers/gpu/drm/bridge/synopsys/Kconfig" +config DRM_TMP1 + tristate "option to select" + +config DRM_TMP2 + tristate "option doing the selecting" + select DRM_TMP1 + If I select DRM_TMP2=m as module I end up with CONFIG_DRM_TMP1=m CONFIG_DRM_TMP2=m in the defconfig and wit DRM_TMP2=y it changes to CONFIG_DRM_TMP1=y CONFIG_DRM_TMP2=y so all is well with just doing "select EXTCON" above and will select the correct "m" or "y" stance as needed. Heiko 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 X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BF437ECE561 for ; Mon, 24 Sep 2018 12:28:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 77FE221486 for ; Mon, 24 Sep 2018 12:28:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 77FE221486 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=sntech.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387557AbeIXSaX (ORCPT ); Mon, 24 Sep 2018 14:30:23 -0400 Received: from gloria.sntech.de ([185.11.138.130]:52634 "EHLO gloria.sntech.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730233AbeIXSaV (ORCPT ); Mon, 24 Sep 2018 14:30:21 -0400 Received: from wd0156.dip.tu-dresden.de ([141.76.108.156] helo=phil.localnet) by gloria.sntech.de with esmtpsa (TLS1.0:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1g4PyC-00019j-Kg; Mon, 24 Sep 2018 14:28:08 +0200 From: Heiko Stuebner To: Damian Kos , Artur Jedrysek , "jbergsagel@ti.com" Cc: David Airlie , Rob Herring , Mark Rutland , Archit Taneja , Andrzej Hajda , Laurent Pinchart , Gustavo Padovan , Maarten Lankhorst , Sean Paul , Sandy Huang , "dri-devel@lists.freedesktop.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-rockchip@lists.infradead.org" , Piotr Sroka , Quentin Schulz Subject: Re: [PATCH v4 5/5] drm: bridge: add support for Cadence MHDP DPI/DP bridge Date: Mon, 24 Sep 2018 14:28:07 +0200 Message-ID: <6154358.J9crsCiUTz@phil> In-Reply-To: References: <1537455288-20223-1-git-send-email-dkos@cadence.com> <1903708.pJTgKoWLiI@phil> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Damian, Am Montag, 24. September 2018, 13:40:03 CEST schrieb Damian Kos: > > Am Donnerstag, 20. September 2018, 16:54:40 CEST schrieb Damian Kos: > > > From: Quentin Schulz > > > > > > This adds basic support for Cadence MHDP DPI to DP bridge. > > > > > > Basically, it takes a DPI stream as input and output it encoded in DP > > > format. It's missing proper HPD, HDCP and currently supports only SST > > > mode. > > > > > > Changes made in the low level driver (cdn-dp-reg.*): > > > - moved it to from drivers/gpu/drm/rockchip to > > > drivers/gpu/drm/bridge/cdns-mhdp-common.* > > > - functions for sending/receiving commands are now public > > > - added functions for reading registers and link training > > > adjustment > > > > > > Changes made in RK's driver (cdn-dp-core.*): > > > - Moved audio_info and audio_pdev fields from cdn_dp_device to > > > cdns_mhdp_device structure. > > > > > > Signed-off-by: Quentin Schulz > > > Signed-off-by: Damian Kos > > > > [...] > > > > > diff --git a/drivers/gpu/drm/rockchip/Kconfig > > > b/drivers/gpu/drm/rockchip/Kconfig > > > index 0ccc76217ee4..129b0529f3e1 100644 > > > --- a/drivers/gpu/drm/rockchip/Kconfig > > > +++ b/drivers/gpu/drm/rockchip/Kconfig > > > @@ -27,7 +27,9 @@ config ROCKCHIP_ANALOGIX_DP > > > > > > config ROCKCHIP_CDN_DP > > > bool "Rockchip cdn DP" > > > - depends on EXTCON=y || (EXTCON=m && DRM_ROCKCHIP=m) > > > + depends on DRM_ROCKCHIP=m > > > > Sorry, I wasn't fast enough in my reply to you mail to catch that before your v4, but I don't think this is necessary. > > Instead I do guess, the select below should do the right thing by making EXTCON=y if DRM_ROCKCHIP=y. > > > > Somewhat clumsily verified by making EXTCON=m in my defconfig and seeing get changed to y upon build, which I guess comes from a different "select" in the config. > > > > I've changed it to: > > config ROCKCHIP_CDN_DP > bool "Rockchip cdn DP" > depends on DRM_ROCKCHIP > select EXTCON if DRM_ROCKCHIP=y > select DRM_CDNS_MHDP > help... > > and it seems that there are no issues. At least for me. > > Please let me know if that's OK. nope, just do "select EXTCON" . It works nicely and the above would not select EXTCON at all if the the rockchip-drm driver gets built into the kernel. To be sure I just did a little experiment and added: diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig index 4ad85c046dcd..64e2b096afd8 100644 --- a/drivers/gpu/drm/bridge/Kconfig +++ b/drivers/gpu/drm/bridge/Kconfig @@ -154,4 +154,11 @@ source "drivers/gpu/drm/bridge/ite/Kconfig" source "drivers/gpu/drm/bridge/synopsys/Kconfig" +config DRM_TMP1 + tristate "option to select" + +config DRM_TMP2 + tristate "option doing the selecting" + select DRM_TMP1 + If I select DRM_TMP2=m as module I end up with CONFIG_DRM_TMP1=m CONFIG_DRM_TMP2=m in the defconfig and wit DRM_TMP2=y it changes to CONFIG_DRM_TMP1=y CONFIG_DRM_TMP2=y so all is well with just doing "select EXTCON" above and will select the correct "m" or "y" stance as needed. Heiko