Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp9099352ybi; Wed, 10 Jul 2019 04:42:43 -0700 (PDT) X-Google-Smtp-Source: APXvYqzcXxbut3qB8q2bsOKDFlQTR4VlH3bqxd/x9PNpGUs9KsL8Y1ME6EOBQWozcADn+hOEvnYD X-Received: by 2002:a17:902:5a2:: with SMTP id f31mr37971636plf.72.1562758963030; Wed, 10 Jul 2019 04:42:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562758963; cv=none; d=google.com; s=arc-20160816; b=q5l8k1H9QOzL1a4w7Azld9A0FknsEJKz+iSe84/ROrNIUyOWkePbHdf5sbEjHqJWMC D2+CqIQYs3jBI8CIf7psStc6hoK9//m14tCW4ZQnH1AAcKU4YecVbAxarqFWRXxXIX7V wO8YlL0C+/ASQMHLZgAvcCTaB3bPxVbnq7csxLR4Ba4UnQJ7WXVLD4yhBnc9DaRroQRH jzx9jjFPE6DAOhZUqpmfro/uhah7czLaNP73R8Jbw+ZkN5/GtBNsCWQPoDpi2tgYwjDu ZvccUHSjrZWwov1tGW9DF5/OTs/J/FKYPHfPDSNiRi4dJHa+LmG3lFRgjT800edLFX09 N7Fg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=zj13Vh104+dKw+7DUhZb9Pc/JYI+GGjZCO5iuMDbL9o=; b=zm15BPDS1+WGpWjim8OZdBMpApnFvhBKDogkN4L0m2/K8qBemSPVWvUBiARlG24Uj4 PI0y+ALcy4yTgK64oSmX9aYkRX2+T4caX6IMlyzIs7oHTorCms6t66JENcBuMm35krFp OtM6essSWA5m78mAKiUV2wOf9aYVUgr6usKXEBPWJRwWGlU2NFDi3wwmryEShbUZqx9P Ua5zEJklsSiiRVv2VHDrf5aXNvWZnLlfglfc2A0I1THUTdTdih/CGsdzz0AnEP1jkS4w Tqbe7uMJ85KO+bUWGulvusqz0PAXl6kt8KQ8vVOQ0IqO4bL0oR8LdkxaqVj6IJJMOXMs ugcQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e22si2024727pgj.184.2019.07.10.04.42.27; Wed, 10 Jul 2019 04:42:43 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727123AbfGJLkr (ORCPT + 99 others); Wed, 10 Jul 2019 07:40:47 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:47661 "EHLO relay3-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726043AbfGJLkr (ORCPT ); Wed, 10 Jul 2019 07:40:47 -0400 X-Originating-IP: 86.250.200.211 Received: from localhost (lfbn-1-17395-211.w86-250.abo.wanadoo.fr [86.250.200.211]) (Authenticated sender: maxime.ripard@bootlin.com) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id CFA7B60004; Wed, 10 Jul 2019 11:40:42 +0000 (UTC) Date: Wed, 10 Jul 2019 13:40:42 +0200 From: Maxime Ripard To: Vasily Khoruzhick Cc: Andrzej Hajda , Torsten Duwe , Harald Geyer , Chen-Yu Tsai , Rob Herring , Mark Rutland , Thierry Reding , David Airlie , Daniel Vetter , Laurent Pinchart , Icenowy Zheng , Sean Paul , Greg Kroah-Hartman , Thomas Gleixner , dri-devel , devicetree , arm-linux , linux-kernel Subject: Re: [PATCH v2 7/7] arm64: dts: allwinner: a64: enable ANX6345 bridge on Teres-I Message-ID: <20190710114042.ybgavnxb4hgqrtor@flea> References: <20190607062802.m5wslx3imiqooq5a@flea> <20190607094030.GA12373@lst.de> <66707fcc-b48e-02d3-5ed7-6b7e77d53266@samsung.com> <20190612152022.c3cfhp4cauhzhfyr@flea> <20190701095842.fvganvycce2cy7jn@flea> <20190709085532.cdqv7whuesrjs64c@flea> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="escjyxb6ltmmy4x5" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20180716 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --escjyxb6ltmmy4x5 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Jul 09, 2019 at 01:30:18PM -0700, Vasily Khoruzhick wrote: > On Tue, Jul 9, 2019 at 1:55 AM Maxime Ripard wrote: > > > > On Mon, Jul 08, 2019 at 05:49:21PM -0700, Vasily Khoruzhick wrote: > > > > > Maybe instead of edp-connector one would introduce integrator's specific > > > > > connector, for example with compatible "olimex,teres-edp-connector" > > > > > which should follow edp abstract connector rules? This will be at least > > > > > consistent with below presentation[1] - eDP requirements depends on > > > > > integrator. Then if olimex has standard way of dealing with panels > > > > > present in olimex/teres platforms the driver would then create > > > > > drm_panel/drm_connector/drm_bridge(?) according to these rules, I guess. > > > > > Anyway it still looks fishy for me :), maybe because I am not > > > > > familiarized with details of these platforms. > > > > > > > > That makes sense yes > > > > > > Actually, it makes no sense at all. Current implementation for anx6345 > > > driver works fine as is with any panel specified assuming panel delays > > > are long enough for connected panel. It just doesn't use panel timings > > > from the driver. Creating a platform driver for connector itself looks > > > redundant since it can't be reused, it doesn't describe actual > > > hardware and it's just defeats purpose of DT by introducing > > > board-specific code. > > > > I'm not sure where you got the idea that the purpose of DT is to not > > have any board-specific code. > > I believe DT was an attempt to move to declarative approach for > describing hardware. Yes, we have different compatibles for different > devices but they're specific to particular device rather than > particular board. Device interconnection is described in DT along with > some properties rather than in board-specific C-file. You're right, but it's not incompatible with having some code to deal with some board quirk. > Introducing board-specific compatible for a connector isn't looking > right to me. If that board has a board-specific behaviour for it's connector, then what's the issue? You can't describe all the quirks in the all boards using purely properties. > > It's perfectly fine to have some, that's even why there's a compatible > > assigned to each and every board. > > > > What the DT is about is allowing us to have a generic behaviour that > > we can detect: we can have a given behaviour for a given board, and a > > separate one for another one, and this will be evaluated at runtime. > > > > This is *exactly* what this is about: we can have a compatible that > > sets a given, more specific, behaviour (olimex,teres-edp-connector) > > while saying that this is compatible with the generic behaviour > > (edp-connector). That way, any OS will know what quirk to apply if > > needed, and if not that it can use the generic behaviour. > > > > And we could create a generic driver, for the generic behaviour if > > needed. > > > > > There's another issue: if we introduce edp-connector we'll have to > > > specify power up delays somewhere (in dts? or in platform driver?), so > > > edp-connector doesn't really solve the issue of multiple panels with > > > same motherboard. > > > > And that's what that compatible is about :) > > Sorry, I fail to see how it would be different from using existing > panels infrastructure and different panels compatibles. I think Rob's > idea was to introduce generic edp-connector. Again, there's no such thing as a generic edp-connector. The spec doesn't define anything related to the power sequence for example. > If we can't make it generic then let's use panel infrastructure. Which uses a device specific compatible. Really, I'm not sure what your objection and / or argument is here. In addition, when that was brought up in the discussion, you rejected it because it was inconvenient: https://patchwork.freedesktop.org/patch/283012/?series=56163&rev=1#comment_535206 And I agree with you on that one. > > > I'd say DT overlays should be preferred solution here, not another > > > connector binding. > > > > Overlays are a way to apply a device tree dynamically. It's orthogonal > > to the binding. > > It isn't orthogonal to original problem though. It is. The original problem is that you want to power up whatever is on the other side of a eDP link using an arbitrary regulator. This is a "how do I describe that in my DT" problem, and it really has nothing to do with how the DT is being passed to the kernel. Maxime -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com --escjyxb6ltmmy4x5 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCXSXOugAKCRDj7w1vZxhR xdG+AP9pfxb7uYcDFKG6xikGZewhXzpg/acmPfrETXLF2B1jZQD7Bc2oEF0IKqh7 tiE8F0AU/5LApsNMhblCY9s+dkDrFwU= =gnu6 -----END PGP SIGNATURE----- --escjyxb6ltmmy4x5--