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=-8.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_SANE_2 autolearn=unavailable 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 59736C4BA24 for ; Thu, 27 Feb 2020 01:33:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2699524672 for ; Thu, 27 Feb 2020 01:33:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="hVlI8Q9I" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728229AbgB0BdL (ORCPT ); Wed, 26 Feb 2020 20:33:11 -0500 Received: from mailgw02.mediatek.com ([210.61.82.184]:37183 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1727964AbgB0BdK (ORCPT ); Wed, 26 Feb 2020 20:33:10 -0500 X-UUID: 25dbe4fbec83480ba6777e7c0a56384b-20200227 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=CIR9EL5zBnoh8nvfq5nySdNJ6R1FKWqVgskka9d0zdg=; b=hVlI8Q9IQDCf1XeDabUC2Krh4oj6ec4N7a4HdlUrwEzDs2t+N0yPl+z0BSsjXftSiF/kLRJlRqMAm1SPlAoaQhDhTT4tchWiG+9tBYIkKYQ+3SqcHqaJgWdUutMn0CcbTeggntXOv0q1Nxh/lzQHcXO8pTrpGaQ3muFFeW7l4JQ=; X-UUID: 25dbe4fbec83480ba6777e7c0a56384b-20200227 Received: from mtkcas08.mediatek.inc [(172.21.101.126)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 25294029; Thu, 27 Feb 2020 09:33:05 +0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by mtkmbs07n2.mediatek.inc (172.21.101.141) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 27 Feb 2020 09:32:15 +0800 Received: from [172.21.77.4] (172.21.77.4) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Thu, 27 Feb 2020 09:30:45 +0800 Message-ID: <1582767184.20746.6.camel@mtksdaap41> Subject: Re: [PATCH v9 4/4] drm/mediatek: Fix mediatek-drm device probing From: CK Hu To: Enric Balletbo i Serra CC: , , , , , , , , "Mauro Carvalho Chehab" , , , Weiyi Lu , "Seiya Wang" , , "Collabora Kernel ML" , mtk01761 , Allison Randal , Thomas Gleixner , , Kate Stewart , "Greg Kroah-Hartman" , Houlong Wei , Matthias Brugger , , , , , Minghsiu Tsai , Andrew-CT Chen , , , Matthias Brugger , , Richard Fontana , , , Daniel Vetter Date: Thu, 27 Feb 2020 09:33:04 +0800 In-Reply-To: <20200226105419.632771-5-enric.balletbo@collabora.com> References: <20200226105419.632771-1-enric.balletbo@collabora.com> <20200226105419.632771-5-enric.balletbo@collabora.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGksIEVucmljOg0KDQpPbiBXZWQsIDIwMjAtMDItMjYgYXQgMTE6NTQgKzAxMDAsIEVucmljIEJh bGxldGJvIGkgU2VycmEgd3JvdGU6DQo+IEluIHRoZSBhY3R1YWwgaW1wbGVtZW50YXRpb24gdGhl IHNhbWUgY29tcGF0aWJsZSBzdHJpbmcNCj4gIm1lZGlhdGVrLDxjaGlwPi1tbXN5cyIgaXMgdXNl ZCB0byBiaW5kIHRoZSBjbG9jayBkcml2ZXJzDQo+IChkcml2ZXJzL3NvYy9tZWRpYXRlaykgYXMg d2VsbCBhcyB0byB0aGUgZ3B1IGRyaXZlcg0KPiAoZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fZHJ2LmMpLiBUaGlzIGVuZHMgd2l0aCB0aGUgcHJvYmxlbQ0KPiB0aGF0IHRoZSBvbmx5 IHByb2JlZCBkcml2ZXIgaXMgdGhlIGNsb2NrIGRyaXZlciBhbmQgdGhlcmUgaXMgbm8gZGlzcGxh eQ0KPiBhdCBhbGwuDQo+IA0KPiBJbiBhbnkgY2FzZSBoYXZpbmcgdGhlIHNhbWUgY29tcGF0aWJs ZSBzdHJpbmcgZm9yIHR3byBkcml2ZXJzIGlzIG5vdA0KPiBjb3JyZWN0IGFuZCBzaG91bGQgYmUg Zml4ZWQuIFRvIGZpeCB0aGlzLCBhbmQgbWFpbnRhaW4gYmFja3dhcmQNCj4gY29tcGF0aWJpbGl0 eSwgd2UgY2FuIGNvbnNpZGVyIHRoYXQgdGhlIG1tc3lzIGRyaXZlciBpcyB0aGUgdG9wLWxldmVs DQo+IGVudHJ5IHBvaW50IGZvciB0aGUgbXVsdGltZWRpYSBzdWJzeXN0ZW0sIHNvIGlzIG5vdCBh IHB1cmUgY2xvY2sNCj4gY29udHJvbGxlciBidXQgYSBzeXN0ZW0gY29udHJvbGxlciwgYW5kIHRo ZSBkcm0gZHJpdmVyIGlzIGluc3RhbnRpYXRlZA0KPiBieSB0aGF0IE1NU1lTIGRyaXZlci4NCj4g DQoNClJldmlld2VkLWJ5OiBDSyBIdSA8Y2suaHVAbWVkaWF0ZWsuY29tPg0KDQo+IFNpZ25lZC1v ZmYtYnk6IEVucmljIEJhbGxldGJvIGkgU2VycmEgPGVucmljLmJhbGxldGJvQGNvbGxhYm9yYS5j b20+DQo+IC0tLQ0KPiANCj4gQ2hhbmdlcyBpbiB2OToNCj4gLSBEbyBub3QgbW92ZSB0aGUgZGlz cGxheSByb3V0aW5nIGZyb20gdGhlIGRybSBkcml2ZXIgKENLKQ0KPiANCj4gQ2hhbmdlcyBpbiB2 ODoNCj4gLSBOZXcgcGF0Y2ggaW50cm9kdWNlZCBpbiB0aGlzIHNlcmllcy4NCj4gDQo+IENoYW5n ZXMgaW4gdjc6IE5vbmUNCj4gDQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9k cnYuYyB8IDM0ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tDQo+ICBkcml2ZXJzL3NvYy9tZWRp YXRlay9tdDgxNzMtbW1zeXMuYyAgICB8ICA2ICsrKysrDQo+ICAyIGZpbGVzIGNoYW5nZWQsIDI1 IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlh dGVrL210a19kcm1fZHJ2LmMNCj4gaW5kZXggYjY4ODM3ZWEwMmIzLi4xN2YxMThlZTBlNTcgMTAw NjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jDQo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jDQo+IEBAIC00MjIsOSAr NDIyLDIxIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG10a19kZHBfY29tcF9k dF9pZHNbXSA9IHsNCj4gIAl7IH0NCj4gIH07DQo+ICANCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg b2ZfZGV2aWNlX2lkIG10a19kcm1fb2ZfaWRzW10gPSB7DQo+ICsJeyAuY29tcGF0aWJsZSA9ICJt ZWRpYXRlayxtdDI3MDEtbW1zeXMiLA0KPiArCSAgLmRhdGEgPSAmbXQyNzAxX21tc3lzX2RyaXZl cl9kYXRhfSwNCj4gKwl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10MjcxMi1tbXN5cyIsDQo+ ICsJICAuZGF0YSA9ICZtdDI3MTJfbW1zeXNfZHJpdmVyX2RhdGF9LA0KPiArCXsgLmNvbXBhdGli bGUgPSAibWVkaWF0ZWssbXQ4MTczLW1tc3lzIiwNCj4gKwkgIC5kYXRhID0gJm10ODE3M19tbXN5 c19kcml2ZXJfZGF0YX0sDQo+ICsJeyB9DQo+ICt9Ow0KPiArDQo+ICBzdGF0aWMgaW50IG10a19k cm1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4gIHsNCj4gIAlzdHJ1Y3Qg ZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2Ow0KPiArCXN0cnVjdCBkZXZpY2Vfbm9kZSAqcGhhbmRs ZSA9IGRldi0+cGFyZW50LT5vZl9ub2RlOw0KPiArCWNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQg Km9mX2lkOw0KPiAgCXN0cnVjdCBtdGtfZHJtX3ByaXZhdGUgKnByaXZhdGU7DQo+ICAJc3RydWN0 IGRldmljZV9ub2RlICpub2RlOw0KPiAgCXN0cnVjdCBjb21wb25lbnRfbWF0Y2ggKm1hdGNoID0g TlVMTDsNCj4gQEAgLTQzNSwxNSArNDQ3LDE4IEBAIHN0YXRpYyBpbnQgbXRrX2RybV9wcm9iZShz dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiAgCWlmICghcHJpdmF0ZSkNCj4gIAkJcmV0 dXJuIC1FTk9NRU07DQo+ICANCj4gLQlwcml2YXRlLT5kYXRhID0gb2ZfZGV2aWNlX2dldF9tYXRj aF9kYXRhKGRldik7DQo+ICsJb2ZfaWQgPSBvZl9tYXRjaF9ub2RlKG10a19kcm1fb2ZfaWRzLCBw aGFuZGxlKTsNCj4gKwlpZiAoIW9mX2lkKQ0KPiArCQlyZXR1cm4gLUVOT0RFVjsNCj4gKw0KPiAr CXByaXZhdGUtPmRhdGEgPSBvZl9pZC0+ZGF0YTsNCj4gIA0KPiAtCXByaXZhdGUtPmNvbmZpZ19y ZWdzID0gc3lzY29uX25vZGVfdG9fcmVnbWFwKGRldi0+b2Zfbm9kZSk7DQo+ICsJcHJpdmF0ZS0+ Y29uZmlnX3JlZ3MgPSBzeXNjb25fbm9kZV90b19yZWdtYXAocGhhbmRsZSk7DQo+ICAJaWYgKElT X0VSUihwcml2YXRlLT5jb25maWdfcmVncykpDQo+ICAJCXJldHVybiBQVFJfRVJSKHByaXZhdGUt PmNvbmZpZ19yZWdzKTsNCj4gIA0KPiAgCS8qIEl0ZXJhdGUgb3ZlciBzaWJsaW5nIERJU1AgZnVu Y3Rpb24gYmxvY2tzICovDQo+IC0JZm9yX2VhY2hfY2hpbGRfb2Zfbm9kZShkZXYtPm9mX25vZGUt PnBhcmVudCwgbm9kZSkgew0KPiAtCQljb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkICpvZl9pZDsN Cj4gKwlmb3JfZWFjaF9jaGlsZF9vZl9ub2RlKHBoYW5kbGUtPnBhcmVudCwgbm9kZSkgew0KPiAg CQllbnVtIG10a19kZHBfY29tcF90eXBlIGNvbXBfdHlwZTsNCj4gIAkJaW50IGNvbXBfaWQ7DQo+ ICANCj4gQEAgLTU3NiwyMiArNTkxLDExIEBAIHN0YXRpYyBpbnQgbXRrX2RybV9zeXNfcmVzdW1l KHN0cnVjdCBkZXZpY2UgKmRldikNCj4gIHN0YXRpYyBTSU1QTEVfREVWX1BNX09QUyhtdGtfZHJt X3BtX29wcywgbXRrX2RybV9zeXNfc3VzcGVuZCwNCj4gIAkJCSBtdGtfZHJtX3N5c19yZXN1bWUp Ow0KPiAgDQo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBtdGtfZHJtX29mX2lk c1tdID0gew0KPiAtCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQyNzAxLW1tc3lzIiwNCj4g LQkgIC5kYXRhID0gJm10MjcwMV9tbXN5c19kcml2ZXJfZGF0YX0sDQo+IC0JeyAuY29tcGF0aWJs ZSA9ICJtZWRpYXRlayxtdDI3MTItbW1zeXMiLA0KPiAtCSAgLmRhdGEgPSAmbXQyNzEyX21tc3lz X2RyaXZlcl9kYXRhfSwNCj4gLQl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1tbXN5 cyIsDQo+IC0JICAuZGF0YSA9ICZtdDgxNzNfbW1zeXNfZHJpdmVyX2RhdGF9LA0KPiAtCXsgfQ0K PiAtfTsNCj4gLQ0KPiAgc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbXRrX2RybV9wbGF0 Zm9ybV9kcml2ZXIgPSB7DQo+ICAJLnByb2JlCT0gbXRrX2RybV9wcm9iZSwNCj4gIAkucmVtb3Zl CT0gbXRrX2RybV9yZW1vdmUsDQo+ICAJLmRyaXZlcgk9IHsNCj4gIAkJLm5hbWUJPSAibWVkaWF0 ZWstZHJtIiwNCj4gLQkJLm9mX21hdGNoX3RhYmxlID0gbXRrX2RybV9vZl9pZHMsDQo+ICAJCS5w bSAgICAgPSAmbXRrX2RybV9wbV9vcHMsDQo+ICAJfSwNCj4gIH07DQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL3NvYy9tZWRpYXRlay9tdDgxNzMtbW1zeXMuYyBiL2RyaXZlcnMvc29jL21lZGlhdGVr L210ODE3My1tbXN5cy5jDQo+IGluZGV4IDQ4ZTZjMTU3ZDI4ZS4uYzg5NGRiNWI2Y2E5IDEwMDY0 NA0KPiAtLS0gYS9kcml2ZXJzL3NvYy9tZWRpYXRlay9tdDgxNzMtbW1zeXMuYw0KPiArKysgYi9k cml2ZXJzL3NvYy9tZWRpYXRlay9tdDgxNzMtbW1zeXMuYw0KPiBAQCAtMTAzLDYgKzEwMyw3IEBA IHN0YXRpYyBpbnQgbXQ4MTczX21tc3lzX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYpDQo+ICB7DQo+ICAJc3RydWN0IGRldmljZV9ub2RlICpub2RlID0gcGRldi0+ZGV2Lm9mX25v ZGU7DQo+ICAJc3RydWN0IGNsa19vbmVjZWxsX2RhdGEgKmNsa19kYXRhOw0KPiArCXN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKmRybTsNCj4gIAlpbnQgcmV0Ow0KPiAgDQo+ICAJY2xrX2RhdGEgPSBt dGtfYWxsb2NfY2xrX2RhdGEoQ0xLX01NX05SX0NMSyk7DQo+IEBAIC0xMTgsNiArMTE5LDExIEBA IHN0YXRpYyBpbnQgbXQ4MTczX21tc3lzX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYpDQo+ICAJaWYgKHJldCkNCj4gIAkJcmV0dXJuIHJldDsNCj4gIA0KPiArCWRybSA9IHBsYXRm b3JtX2RldmljZV9yZWdpc3Rlcl9kYXRhKCZwZGV2LT5kZXYsICJtZWRpYXRlay1kcm0iLA0KPiAr CQkJCQkgICAgUExBVEZPUk1fREVWSURfTk9ORSwgTlVMTCwgMCk7DQo+ICsJaWYgKElTX0VSUihk cm0pKQ0KPiArCQlyZXR1cm4gUFRSX0VSUihkcm0pOw0KPiArDQo+ICAJcmV0dXJuIDA7DQo+ICB9 DQo+ICANCg0K 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=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_SANE_2 autolearn=unavailable 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 8F1C0C4BA35 for ; Thu, 27 Feb 2020 01:33:19 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 46B9B24650 for ; Thu, 27 Feb 2020 01:33:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="NLSreOXd"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="hVlI8Q9I" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 46B9B24650 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=OGPhMnnYWms9DY1NkbF9fvVOT7IBkVzDhwJBPR+oaY8=; b=NLSreOXdzAOeaK FvN8WGRMCZBzgQsGIJ2uAG6meJcmh8y+X3THrVYLi3StVlIgQVZm/oH6ZtP99WcqWO6BwXsms+CV9 oqBCCfVfbNYJfikyakwAd/CIflHC5bAH0QtZ/gCao/pjpkSvHSTGNJ73xanvvOyX88Exr4h5t3nYR TxELOUsDBacr9og/sgd6lJMCsJI3kpMOPyJslUNO8Nny7fsdzRBbcIK3MUoc773MzCKdzq/ktfKaK JgoMPHuJQngwiXRs+3ALXUbYqSKBBH/3o4sChnGEnOJ6HN4PkApU+QEalI27mGAyH1pGn1+8Crexw M2dUXOCmtHb8PHqtDZkA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1j7835-0001nA-It; Thu, 27 Feb 2020 01:33:11 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1j7832-0001lz-EX; Thu, 27 Feb 2020 01:33:09 +0000 X-UUID: 4fc7d9ee036b4ee89b53846e7a431099-20200226 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=CIR9EL5zBnoh8nvfq5nySdNJ6R1FKWqVgskka9d0zdg=; b=hVlI8Q9IQDCf1XeDabUC2Krh4oj6ec4N7a4HdlUrwEzDs2t+N0yPl+z0BSsjXftSiF/kLRJlRqMAm1SPlAoaQhDhTT4tchWiG+9tBYIkKYQ+3SqcHqaJgWdUutMn0CcbTeggntXOv0q1Nxh/lzQHcXO8pTrpGaQ3muFFeW7l4JQ=; X-UUID: 4fc7d9ee036b4ee89b53846e7a431099-20200226 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 1420142595; Wed, 26 Feb 2020 17:33:07 -0800 Received: from MTKMBS07N2.mediatek.inc (172.21.101.141) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 26 Feb 2020 17:33:05 -0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by mtkmbs07n2.mediatek.inc (172.21.101.141) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 27 Feb 2020 09:32:15 +0800 Received: from [172.21.77.4] (172.21.77.4) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Thu, 27 Feb 2020 09:30:45 +0800 Message-ID: <1582767184.20746.6.camel@mtksdaap41> Subject: Re: [PATCH v9 4/4] drm/mediatek: Fix mediatek-drm device probing From: CK Hu To: Enric Balletbo i Serra Date: Thu, 27 Feb 2020 09:33:04 +0800 In-Reply-To: <20200226105419.632771-5-enric.balletbo@collabora.com> References: <20200226105419.632771-1-enric.balletbo@collabora.com> <20200226105419.632771-5-enric.balletbo@collabora.com> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200226_173308_505448_6D6CEE7A X-CRM114-Status: GOOD ( 22.18 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mark.rutland@arm.com, Kate Stewart , Minghsiu Tsai , Andrew-CT Chen , airlied@linux.ie, mturquette@baylibre.com, dri-devel@lists.freedesktop.org, Richard Fontana , laurent.pinchart@ideasonboard.com, ulrich.hecht+renesas@gmail.com, Collabora Kernel ML , linux-clk@vger.kernel.org, Weiyi Lu , wens@csie.org, linux-arm-kernel@lists.infradead.org, mtk01761 , linux-media@vger.kernel.org, devicetree@vger.kernel.org, Daniel Vetter , frank-w@public-files.de, Seiya Wang , sean.wang@mediatek.com, Houlong Wei , robh+dt@kernel.org, linux-mediatek@lists.infradead.org, hsinyi@chromium.org, Matthias Brugger , Thomas Gleixner , Mauro Carvalho Chehab , Allison Randal , Matthias Brugger , sboyd@kernel.org, Greg Kroah-Hartman , rdunlap@infradead.org, linux-kernel@vger.kernel.org, p.zabel@pengutronix.de, matthias.bgg@kernel.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org Hi, Enric: On Wed, 2020-02-26 at 11:54 +0100, Enric Balletbo i Serra wrote: > In the actual implementation the same compatible string > "mediatek,-mmsys" is used to bind the clock drivers > (drivers/soc/mediatek) as well as to the gpu driver > (drivers/gpu/drm/mediatek/mtk_drm_drv.c). This ends with the problem > that the only probed driver is the clock driver and there is no display > at all. > > In any case having the same compatible string for two drivers is not > correct and should be fixed. To fix this, and maintain backward > compatibility, we can consider that the mmsys driver is the top-level > entry point for the multimedia subsystem, so is not a pure clock > controller but a system controller, and the drm driver is instantiated > by that MMSYS driver. > Reviewed-by: CK Hu > Signed-off-by: Enric Balletbo i Serra > --- > > Changes in v9: > - Do not move the display routing from the drm driver (CK) > > Changes in v8: > - New patch introduced in this series. > > Changes in v7: None > > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 34 ++++++++++++++------------ > drivers/soc/mediatek/mt8173-mmsys.c | 6 +++++ > 2 files changed, 25 insertions(+), 15 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > index b68837ea02b3..17f118ee0e57 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > @@ -422,9 +422,21 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = { > { } > }; > > +static const struct of_device_id mtk_drm_of_ids[] = { > + { .compatible = "mediatek,mt2701-mmsys", > + .data = &mt2701_mmsys_driver_data}, > + { .compatible = "mediatek,mt2712-mmsys", > + .data = &mt2712_mmsys_driver_data}, > + { .compatible = "mediatek,mt8173-mmsys", > + .data = &mt8173_mmsys_driver_data}, > + { } > +}; > + > static int mtk_drm_probe(struct platform_device *pdev) > { > struct device *dev = &pdev->dev; > + struct device_node *phandle = dev->parent->of_node; > + const struct of_device_id *of_id; > struct mtk_drm_private *private; > struct device_node *node; > struct component_match *match = NULL; > @@ -435,15 +447,18 @@ static int mtk_drm_probe(struct platform_device *pdev) > if (!private) > return -ENOMEM; > > - private->data = of_device_get_match_data(dev); > + of_id = of_match_node(mtk_drm_of_ids, phandle); > + if (!of_id) > + return -ENODEV; > + > + private->data = of_id->data; > > - private->config_regs = syscon_node_to_regmap(dev->of_node); > + private->config_regs = syscon_node_to_regmap(phandle); > if (IS_ERR(private->config_regs)) > return PTR_ERR(private->config_regs); > > /* Iterate over sibling DISP function blocks */ > - for_each_child_of_node(dev->of_node->parent, node) { > - const struct of_device_id *of_id; > + for_each_child_of_node(phandle->parent, node) { > enum mtk_ddp_comp_type comp_type; > int comp_id; > > @@ -576,22 +591,11 @@ static int mtk_drm_sys_resume(struct device *dev) > static SIMPLE_DEV_PM_OPS(mtk_drm_pm_ops, mtk_drm_sys_suspend, > mtk_drm_sys_resume); > > -static const struct of_device_id mtk_drm_of_ids[] = { > - { .compatible = "mediatek,mt2701-mmsys", > - .data = &mt2701_mmsys_driver_data}, > - { .compatible = "mediatek,mt2712-mmsys", > - .data = &mt2712_mmsys_driver_data}, > - { .compatible = "mediatek,mt8173-mmsys", > - .data = &mt8173_mmsys_driver_data}, > - { } > -}; > - > static struct platform_driver mtk_drm_platform_driver = { > .probe = mtk_drm_probe, > .remove = mtk_drm_remove, > .driver = { > .name = "mediatek-drm", > - .of_match_table = mtk_drm_of_ids, > .pm = &mtk_drm_pm_ops, > }, > }; > diff --git a/drivers/soc/mediatek/mt8173-mmsys.c b/drivers/soc/mediatek/mt8173-mmsys.c > index 48e6c157d28e..c894db5b6ca9 100644 > --- a/drivers/soc/mediatek/mt8173-mmsys.c > +++ b/drivers/soc/mediatek/mt8173-mmsys.c > @@ -103,6 +103,7 @@ static int mt8173_mmsys_probe(struct platform_device *pdev) > { > struct device_node *node = pdev->dev.of_node; > struct clk_onecell_data *clk_data; > + struct platform_device *drm; > int ret; > > clk_data = mtk_alloc_clk_data(CLK_MM_NR_CLK); > @@ -118,6 +119,11 @@ static int mt8173_mmsys_probe(struct platform_device *pdev) > if (ret) > return ret; > > + drm = platform_device_register_data(&pdev->dev, "mediatek-drm", > + PLATFORM_DEVID_NONE, NULL, 0); > + if (IS_ERR(drm)) > + return PTR_ERR(drm); > + > return 0; > } > _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek 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=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_SANE_2 autolearn=unavailable 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 38719C4BA24 for ; Thu, 27 Feb 2020 01:33:22 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 0EE7524650 for ; Thu, 27 Feb 2020 01:33:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="rMqMyvZP"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="hVlI8Q9I" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0EE7524650 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=UqiKy+fBprb+GTyZhBgs6slgv/bGotgmye86m1jtF0A=; b=rMqMyvZPLH5c8n ulX1u+DKUoErRp0YTYT36jYzWoyQv3j+x2ylmUZ/0VJrCS9n9Sp/dzT7CwDX6vZLbaXii33nneozu c//vgyWobdmetOItj2Ev4Jzlr51uGFXI3jSFtFjYspPJqWANRWktXOglDEDMMQ7v6wZ6rcCy/xtSx x/CV8KhZMeXr6YkR9LeZ08jtQhSPRghRvNJmzQE5dLxvbFwljJErtPo4a/+zYsP4kAiBIBuqpOqma W/s9vAjGU+m8on8zWecyRsZEoW3eASFVw39hZgSYi0Ws4glINLheulHU8LXzizE63jpNj3RHOI8+o sr1//MfTMHfxSU0dV2zQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1j7837-0001o5-C6; Thu, 27 Feb 2020 01:33:13 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1j7832-0001lz-EX; Thu, 27 Feb 2020 01:33:09 +0000 X-UUID: 4fc7d9ee036b4ee89b53846e7a431099-20200226 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=CIR9EL5zBnoh8nvfq5nySdNJ6R1FKWqVgskka9d0zdg=; b=hVlI8Q9IQDCf1XeDabUC2Krh4oj6ec4N7a4HdlUrwEzDs2t+N0yPl+z0BSsjXftSiF/kLRJlRqMAm1SPlAoaQhDhTT4tchWiG+9tBYIkKYQ+3SqcHqaJgWdUutMn0CcbTeggntXOv0q1Nxh/lzQHcXO8pTrpGaQ3muFFeW7l4JQ=; X-UUID: 4fc7d9ee036b4ee89b53846e7a431099-20200226 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 1420142595; Wed, 26 Feb 2020 17:33:07 -0800 Received: from MTKMBS07N2.mediatek.inc (172.21.101.141) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 26 Feb 2020 17:33:05 -0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by mtkmbs07n2.mediatek.inc (172.21.101.141) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 27 Feb 2020 09:32:15 +0800 Received: from [172.21.77.4] (172.21.77.4) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Thu, 27 Feb 2020 09:30:45 +0800 Message-ID: <1582767184.20746.6.camel@mtksdaap41> Subject: Re: [PATCH v9 4/4] drm/mediatek: Fix mediatek-drm device probing From: CK Hu To: Enric Balletbo i Serra Date: Thu, 27 Feb 2020 09:33:04 +0800 In-Reply-To: <20200226105419.632771-5-enric.balletbo@collabora.com> References: <20200226105419.632771-1-enric.balletbo@collabora.com> <20200226105419.632771-5-enric.balletbo@collabora.com> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200226_173308_505448_6D6CEE7A X-CRM114-Status: GOOD ( 22.18 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mark.rutland@arm.com, Kate Stewart , Minghsiu Tsai , Andrew-CT Chen , airlied@linux.ie, mturquette@baylibre.com, dri-devel@lists.freedesktop.org, Richard Fontana , laurent.pinchart@ideasonboard.com, ulrich.hecht+renesas@gmail.com, Collabora Kernel ML , linux-clk@vger.kernel.org, Weiyi Lu , wens@csie.org, linux-arm-kernel@lists.infradead.org, mtk01761 , linux-media@vger.kernel.org, devicetree@vger.kernel.org, Daniel Vetter , frank-w@public-files.de, Seiya Wang , sean.wang@mediatek.com, Houlong Wei , robh+dt@kernel.org, linux-mediatek@lists.infradead.org, hsinyi@chromium.org, Matthias Brugger , Thomas Gleixner , Mauro Carvalho Chehab , Allison Randal , Matthias Brugger , sboyd@kernel.org, Greg Kroah-Hartman , rdunlap@infradead.org, linux-kernel@vger.kernel.org, p.zabel@pengutronix.de, matthias.bgg@kernel.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi, Enric: On Wed, 2020-02-26 at 11:54 +0100, Enric Balletbo i Serra wrote: > In the actual implementation the same compatible string > "mediatek,-mmsys" is used to bind the clock drivers > (drivers/soc/mediatek) as well as to the gpu driver > (drivers/gpu/drm/mediatek/mtk_drm_drv.c). This ends with the problem > that the only probed driver is the clock driver and there is no display > at all. > > In any case having the same compatible string for two drivers is not > correct and should be fixed. To fix this, and maintain backward > compatibility, we can consider that the mmsys driver is the top-level > entry point for the multimedia subsystem, so is not a pure clock > controller but a system controller, and the drm driver is instantiated > by that MMSYS driver. > Reviewed-by: CK Hu > Signed-off-by: Enric Balletbo i Serra > --- > > Changes in v9: > - Do not move the display routing from the drm driver (CK) > > Changes in v8: > - New patch introduced in this series. > > Changes in v7: None > > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 34 ++++++++++++++------------ > drivers/soc/mediatek/mt8173-mmsys.c | 6 +++++ > 2 files changed, 25 insertions(+), 15 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > index b68837ea02b3..17f118ee0e57 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > @@ -422,9 +422,21 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = { > { } > }; > > +static const struct of_device_id mtk_drm_of_ids[] = { > + { .compatible = "mediatek,mt2701-mmsys", > + .data = &mt2701_mmsys_driver_data}, > + { .compatible = "mediatek,mt2712-mmsys", > + .data = &mt2712_mmsys_driver_data}, > + { .compatible = "mediatek,mt8173-mmsys", > + .data = &mt8173_mmsys_driver_data}, > + { } > +}; > + > static int mtk_drm_probe(struct platform_device *pdev) > { > struct device *dev = &pdev->dev; > + struct device_node *phandle = dev->parent->of_node; > + const struct of_device_id *of_id; > struct mtk_drm_private *private; > struct device_node *node; > struct component_match *match = NULL; > @@ -435,15 +447,18 @@ static int mtk_drm_probe(struct platform_device *pdev) > if (!private) > return -ENOMEM; > > - private->data = of_device_get_match_data(dev); > + of_id = of_match_node(mtk_drm_of_ids, phandle); > + if (!of_id) > + return -ENODEV; > + > + private->data = of_id->data; > > - private->config_regs = syscon_node_to_regmap(dev->of_node); > + private->config_regs = syscon_node_to_regmap(phandle); > if (IS_ERR(private->config_regs)) > return PTR_ERR(private->config_regs); > > /* Iterate over sibling DISP function blocks */ > - for_each_child_of_node(dev->of_node->parent, node) { > - const struct of_device_id *of_id; > + for_each_child_of_node(phandle->parent, node) { > enum mtk_ddp_comp_type comp_type; > int comp_id; > > @@ -576,22 +591,11 @@ static int mtk_drm_sys_resume(struct device *dev) > static SIMPLE_DEV_PM_OPS(mtk_drm_pm_ops, mtk_drm_sys_suspend, > mtk_drm_sys_resume); > > -static const struct of_device_id mtk_drm_of_ids[] = { > - { .compatible = "mediatek,mt2701-mmsys", > - .data = &mt2701_mmsys_driver_data}, > - { .compatible = "mediatek,mt2712-mmsys", > - .data = &mt2712_mmsys_driver_data}, > - { .compatible = "mediatek,mt8173-mmsys", > - .data = &mt8173_mmsys_driver_data}, > - { } > -}; > - > static struct platform_driver mtk_drm_platform_driver = { > .probe = mtk_drm_probe, > .remove = mtk_drm_remove, > .driver = { > .name = "mediatek-drm", > - .of_match_table = mtk_drm_of_ids, > .pm = &mtk_drm_pm_ops, > }, > }; > diff --git a/drivers/soc/mediatek/mt8173-mmsys.c b/drivers/soc/mediatek/mt8173-mmsys.c > index 48e6c157d28e..c894db5b6ca9 100644 > --- a/drivers/soc/mediatek/mt8173-mmsys.c > +++ b/drivers/soc/mediatek/mt8173-mmsys.c > @@ -103,6 +103,7 @@ static int mt8173_mmsys_probe(struct platform_device *pdev) > { > struct device_node *node = pdev->dev.of_node; > struct clk_onecell_data *clk_data; > + struct platform_device *drm; > int ret; > > clk_data = mtk_alloc_clk_data(CLK_MM_NR_CLK); > @@ -118,6 +119,11 @@ static int mt8173_mmsys_probe(struct platform_device *pdev) > if (ret) > return ret; > > + drm = platform_device_register_data(&pdev->dev, "mediatek-drm", > + PLATFORM_DEVID_NONE, NULL, 0); > + if (IS_ERR(drm)) > + return PTR_ERR(drm); > + > return 0; > } > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel 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=-8.1 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_SANE_2 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 88EF6C4BA37 for ; Thu, 27 Feb 2020 01:33:09 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5F3A924650 for ; Thu, 27 Feb 2020 01:33:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="hVlI8Q9I" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5F3A924650 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D51A06E4A1; Thu, 27 Feb 2020 01:33:08 +0000 (UTC) Received: from mailgw02.mediatek.com (unknown [210.61.82.184]) by gabe.freedesktop.org (Postfix) with ESMTP id AA7B26E4A1 for ; Thu, 27 Feb 2020 01:33:07 +0000 (UTC) X-UUID: 25dbe4fbec83480ba6777e7c0a56384b-20200227 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=CIR9EL5zBnoh8nvfq5nySdNJ6R1FKWqVgskka9d0zdg=; b=hVlI8Q9IQDCf1XeDabUC2Krh4oj6ec4N7a4HdlUrwEzDs2t+N0yPl+z0BSsjXftSiF/kLRJlRqMAm1SPlAoaQhDhTT4tchWiG+9tBYIkKYQ+3SqcHqaJgWdUutMn0CcbTeggntXOv0q1Nxh/lzQHcXO8pTrpGaQ3muFFeW7l4JQ=; X-UUID: 25dbe4fbec83480ba6777e7c0a56384b-20200227 Received: from mtkcas08.mediatek.inc [(172.21.101.126)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 25294029; Thu, 27 Feb 2020 09:33:05 +0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by mtkmbs07n2.mediatek.inc (172.21.101.141) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 27 Feb 2020 09:32:15 +0800 Received: from [172.21.77.4] (172.21.77.4) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Thu, 27 Feb 2020 09:30:45 +0800 Message-ID: <1582767184.20746.6.camel@mtksdaap41> Subject: Re: [PATCH v9 4/4] drm/mediatek: Fix mediatek-drm device probing From: CK Hu To: Enric Balletbo i Serra Date: Thu, 27 Feb 2020 09:33:04 +0800 In-Reply-To: <20200226105419.632771-5-enric.balletbo@collabora.com> References: <20200226105419.632771-1-enric.balletbo@collabora.com> <20200226105419.632771-5-enric.balletbo@collabora.com> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-MTK: N X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mark.rutland@arm.com, Kate Stewart , Minghsiu Tsai , Andrew-CT Chen , airlied@linux.ie, mturquette@baylibre.com, dri-devel@lists.freedesktop.org, Richard Fontana , laurent.pinchart@ideasonboard.com, ulrich.hecht+renesas@gmail.com, Collabora Kernel ML , linux-clk@vger.kernel.org, Weiyi Lu , wens@csie.org, linux-arm-kernel@lists.infradead.org, mtk01761 , linux-media@vger.kernel.org, devicetree@vger.kernel.org, frank-w@public-files.de, Seiya Wang , sean.wang@mediatek.com, Houlong Wei , robh+dt@kernel.org, linux-mediatek@lists.infradead.org, hsinyi@chromium.org, Matthias Brugger , Thomas Gleixner , Mauro Carvalho Chehab , Allison Randal , Matthias Brugger , sboyd@kernel.org, Greg Kroah-Hartman , rdunlap@infradead.org, linux-kernel@vger.kernel.org, matthias.bgg@kernel.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Hi, Enric: On Wed, 2020-02-26 at 11:54 +0100, Enric Balletbo i Serra wrote: > In the actual implementation the same compatible string > "mediatek,-mmsys" is used to bind the clock drivers > (drivers/soc/mediatek) as well as to the gpu driver > (drivers/gpu/drm/mediatek/mtk_drm_drv.c). This ends with the problem > that the only probed driver is the clock driver and there is no display > at all. > > In any case having the same compatible string for two drivers is not > correct and should be fixed. To fix this, and maintain backward > compatibility, we can consider that the mmsys driver is the top-level > entry point for the multimedia subsystem, so is not a pure clock > controller but a system controller, and the drm driver is instantiated > by that MMSYS driver. > Reviewed-by: CK Hu > Signed-off-by: Enric Balletbo i Serra > --- > > Changes in v9: > - Do not move the display routing from the drm driver (CK) > > Changes in v8: > - New patch introduced in this series. > > Changes in v7: None > > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 34 ++++++++++++++------------ > drivers/soc/mediatek/mt8173-mmsys.c | 6 +++++ > 2 files changed, 25 insertions(+), 15 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > index b68837ea02b3..17f118ee0e57 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > @@ -422,9 +422,21 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = { > { } > }; > > +static const struct of_device_id mtk_drm_of_ids[] = { > + { .compatible = "mediatek,mt2701-mmsys", > + .data = &mt2701_mmsys_driver_data}, > + { .compatible = "mediatek,mt2712-mmsys", > + .data = &mt2712_mmsys_driver_data}, > + { .compatible = "mediatek,mt8173-mmsys", > + .data = &mt8173_mmsys_driver_data}, > + { } > +}; > + > static int mtk_drm_probe(struct platform_device *pdev) > { > struct device *dev = &pdev->dev; > + struct device_node *phandle = dev->parent->of_node; > + const struct of_device_id *of_id; > struct mtk_drm_private *private; > struct device_node *node; > struct component_match *match = NULL; > @@ -435,15 +447,18 @@ static int mtk_drm_probe(struct platform_device *pdev) > if (!private) > return -ENOMEM; > > - private->data = of_device_get_match_data(dev); > + of_id = of_match_node(mtk_drm_of_ids, phandle); > + if (!of_id) > + return -ENODEV; > + > + private->data = of_id->data; > > - private->config_regs = syscon_node_to_regmap(dev->of_node); > + private->config_regs = syscon_node_to_regmap(phandle); > if (IS_ERR(private->config_regs)) > return PTR_ERR(private->config_regs); > > /* Iterate over sibling DISP function blocks */ > - for_each_child_of_node(dev->of_node->parent, node) { > - const struct of_device_id *of_id; > + for_each_child_of_node(phandle->parent, node) { > enum mtk_ddp_comp_type comp_type; > int comp_id; > > @@ -576,22 +591,11 @@ static int mtk_drm_sys_resume(struct device *dev) > static SIMPLE_DEV_PM_OPS(mtk_drm_pm_ops, mtk_drm_sys_suspend, > mtk_drm_sys_resume); > > -static const struct of_device_id mtk_drm_of_ids[] = { > - { .compatible = "mediatek,mt2701-mmsys", > - .data = &mt2701_mmsys_driver_data}, > - { .compatible = "mediatek,mt2712-mmsys", > - .data = &mt2712_mmsys_driver_data}, > - { .compatible = "mediatek,mt8173-mmsys", > - .data = &mt8173_mmsys_driver_data}, > - { } > -}; > - > static struct platform_driver mtk_drm_platform_driver = { > .probe = mtk_drm_probe, > .remove = mtk_drm_remove, > .driver = { > .name = "mediatek-drm", > - .of_match_table = mtk_drm_of_ids, > .pm = &mtk_drm_pm_ops, > }, > }; > diff --git a/drivers/soc/mediatek/mt8173-mmsys.c b/drivers/soc/mediatek/mt8173-mmsys.c > index 48e6c157d28e..c894db5b6ca9 100644 > --- a/drivers/soc/mediatek/mt8173-mmsys.c > +++ b/drivers/soc/mediatek/mt8173-mmsys.c > @@ -103,6 +103,7 @@ static int mt8173_mmsys_probe(struct platform_device *pdev) > { > struct device_node *node = pdev->dev.of_node; > struct clk_onecell_data *clk_data; > + struct platform_device *drm; > int ret; > > clk_data = mtk_alloc_clk_data(CLK_MM_NR_CLK); > @@ -118,6 +119,11 @@ static int mt8173_mmsys_probe(struct platform_device *pdev) > if (ret) > return ret; > > + drm = platform_device_register_data(&pdev->dev, "mediatek-drm", > + PLATFORM_DEVID_NONE, NULL, 0); > + if (IS_ERR(drm)) > + return PTR_ERR(drm); > + > return 0; > } > _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel