Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp2334483ybi; Mon, 1 Jul 2019 10:09:02 -0700 (PDT) X-Google-Smtp-Source: APXvYqyTuR7+KvHD3YDPkA0Qh+XWWSdoC4ozSt9HeW4f9Y7Q5C2O5vg6CitFFv0SMCAZi1EAy73J X-Received: by 2002:a17:90a:2430:: with SMTP id h45mr395299pje.14.1562000942748; Mon, 01 Jul 2019 10:09:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562000942; cv=none; d=google.com; s=arc-20160816; b=ZvqRCM1f6dSVztgxNPJkFZF54GssPlcy0QLNj2bngV5tcp0hwtjq9PK/LjAC0c0eDm jo/t5jehl0+S2Fwbw4uU4NxfgmCMdLc/L6hDvSizmlxTTky6CfKXpYsdp6imVnFy5Wki on1TSXYPM6UvkXKgEDHXmX8CGNAJEuA6GkiNt90BV1Ptb/Aa25O/UO+Q1F84hYjdwjUZ T2F+vlSq9za9izYEevbdW+fSzcC6AT2hkwJmrceCa4ux1BZIpwUPuUHjwQ23t0AscsDi ILhqWumPWOpQ85Hn7jJgV8rY9DLpfQQ5BdcPwuUywowjMh1So0zjd6AVhSn0rn14b5DX cRmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=JolxjoC61TKJKf0jb4dN4P28SKpb+zH+zGH1st4ym90=; b=ex6RXhEfTUFk4NBG0G9ONKe62tN5lI6sM3Vh3CF33uwACzwD+WA1ItUNlxJzDy/BQe FbPSHm2JHr90CFklvwLP5QWSlXyPbqoULBmY+zgxWrJOO9k1LqrZv1XJuB6srXccMtqJ HVQS1XFnTjq1MTqZW8abY31qtkh4RH1fPpxeYvBdqI/6h3QVxNmWyqYnVm4ZEacPnPuM jGXZRiYJ5QV6QMEw69U6ZPNN1B2S+JPb0mnb1x7O6mWYXlLgJYlPyADbjzllLl8mQuQx NhWgVrefQkXKMd7QDlPjFRTHMxwcHKiUmUfj4Pox4LElZKoBLIzocZTAlO9XVqVlLn4/ YsPg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=Qd4WduNY; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 5si775931pfv.231.2019.07.01.10.08.46; Mon, 01 Jul 2019 10:09:02 -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; dkim=pass header.i=@chromium.org header.s=google header.b=Qd4WduNY; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728721AbfGARFz (ORCPT + 99 others); Mon, 1 Jul 2019 13:05:55 -0400 Received: from mail-io1-f67.google.com ([209.85.166.67]:44881 "EHLO mail-io1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727154AbfGARFz (ORCPT ); Mon, 1 Jul 2019 13:05:55 -0400 Received: by mail-io1-f67.google.com with SMTP id s7so30379684iob.11 for ; Mon, 01 Jul 2019 10:05:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=JolxjoC61TKJKf0jb4dN4P28SKpb+zH+zGH1st4ym90=; b=Qd4WduNYQlNNrJRAp36QmrwJY099eDBeJ105dOffHIB5X7OI66k1xlFc+yOJ0OeT8W JAeFJ2lUgNto0dagfE4x46ArMzjM/yE45uJXQQ80irLhpGEMjpsZkWyFodEwxLWk510o vqEu++m0gselpSMr634ICkAselddnefqJ4+VU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=JolxjoC61TKJKf0jb4dN4P28SKpb+zH+zGH1st4ym90=; b=UyEOSifVrOQXP5Sz06dApjkJ0jjBIj4+zWXzz5z/n7cP2hWY2s0uyxVsKTuojZGVdt 6pMKmvhkcg1/ZVxkQOzdvJjN5zhYOcx5m3p1wgwTykGdBOp2yZvnk7UDxkN4aPdNYQWC WrVPXKBaGcpNLi/vThVSvBah6hBbQK/KVsWWI/onYzvLG40Q7Hj/yOxjy++XDZ4wPdPX 1kbUbJkjmMz55+2oXMP6z9RHXzSXBiDAkvlUlnHkXws90alyKFEo93W+jJvpdhTbDkyI kCZtq2uBaTzyPO5i5IpOqfMvVsPbbAuoZ8aqvBgKJJpmYEIfwfiu+QHQddFXaimG9YVR 8l8w== X-Gm-Message-State: APjAAAWa6Bmq2OtI/LF/KQogp+RgQsCCoimMczGmBE6euDsK+2YQKphe Svq5BNvjxZXsqBHF0aNQ9nZypJ4IKLE= X-Received: by 2002:a02:5a02:: with SMTP id v2mr29210978jaa.124.1562000754269; Mon, 01 Jul 2019 10:05:54 -0700 (PDT) Received: from mail-io1-f44.google.com (mail-io1-f44.google.com. [209.85.166.44]) by smtp.gmail.com with ESMTPSA id p3sm12759482iog.70.2019.07.01.10.05.54 for (version=TLS1_3 cipher=AEAD-AES128-GCM-SHA256 bits=128/128); Mon, 01 Jul 2019 10:05:54 -0700 (PDT) Received: by mail-io1-f44.google.com with SMTP id r185so30445027iod.6 for ; Mon, 01 Jul 2019 10:05:54 -0700 (PDT) X-Received: by 2002:a02:6597:: with SMTP id u145mr30963069jab.26.1562000398582; Mon, 01 Jul 2019 09:59:58 -0700 (PDT) MIME-Version: 1.0 References: <20190401171724.215780-1-dianders@chromium.org> <20190401171724.215780-2-dianders@chromium.org> <20190630200259.GA15102@ravnborg.org> In-Reply-To: <20190630200259.GA15102@ravnborg.org> From: Doug Anderson Date: Mon, 1 Jul 2019 09:59:46 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v5 1/7] dt-bindings: Add panel-timing subnode to simple-panel To: Sam Ravnborg Cc: Thierry Reding , Heiko Stuebner , Sean Paul , Mark Rutland , devicetree@vger.kernel.org, Rob Herring , David Airlie , Jeffy Chen , dri-devel , LKML , "open list:ARM/Rockchip SoC..." , Boris Brezillon , Laurent Pinchart , =?UTF-8?Q?Enric_Balletb=C3=B2?= , =?UTF-8?Q?St=C3=A9phane_Marchesin?= , Ezequiel Garcia , Matthias Kaehlcke Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On Sun, Jun 30, 2019 at 1:03 PM Sam Ravnborg wrote: > > Hi Douglas. > > Some long overdue review feedback. > > On Mon, Apr 01, 2019 at 10:17:18AM -0700, Douglas Anderson wrote: > > From: Sean Paul > > > > This patch adds a new subnode to simple-panel allowing us to override > > the typical timing expressed in the panel's display_timing. > > > > Changes in v2: > > - Split out the binding into a new patch (Rob) > > - display-timings is a new section (Rob) > > - Use the full display-timings subnode instead of picking the timing > > out (Rob/Thierry) > > Changes in v3: > > - Go back to using the timing subnode directly, but rename to > > panel-timing (Rob) > > Changes in v4: > > - Simplify desc. for when override should be used (Thierry/Laurent) > > - Removed Rob H review since it's been a year and wording changed > > Changes in v5: > > - Removed bit about OS may ignore (Rob/Ezequiel) > > > > Cc: Doug Anderson > > Cc: Eric Anholt > > Cc: Heiko Stuebner > > Cc: Jeffy Chen > > Cc: Rob Herring > > Cc: St=C3=A9phane Marchesin > > Cc: Thierry Reding > > Cc: devicetree@vger.kernel.org > > Cc: dri-devel@lists.freedesktop.org > > Cc: linux-rockchip@lists.infradead.org > > Signed-off-by: Sean Paul > > Signed-off-by: Douglas Anderson > > --- > > > > .../bindings/display/panel/simple-panel.txt | 22 +++++++++++++++++++ > > 1 file changed, 22 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/display/panel/simple-pan= el.txt b/Documentation/devicetree/bindings/display/panel/simple-panel.txt > > index b2b872c710f2..93882268c0b9 100644 > > --- a/Documentation/devicetree/bindings/display/panel/simple-panel.txt > > +++ b/Documentation/devicetree/bindings/display/panel/simple-panel.txt > > @@ -15,6 +15,16 @@ Optional properties: > > (hot plug detect) signal, but the signal isn't hooked up so we shoul= d > > hardcode the max delay from the panel spec when powering up the pane= l. > > > > +panel-timing subnode > > +-------------------- > > + > > +This optional subnode is for devices which require a mode differing > > +from the panel's "typical" display timing. > Meybe add here that it is expected that the panel has included timing > in the driver itself, and not as part of DT. > So what is specified here is a more precise variant, within the limits > of what is specified for the panel. See discussions previous versions of this patch. Specifically you can see v4 at and v3 (posted by Sean) at . Specifically: According to Rob H it is generally not required to validate what's in device tree--it can be just blindly applied. Thus the bindings shouldn't really say anything about trying to reconcile with the driver (especially since that's heavily relying on the current driver implementation). At the moment the driver still does validate things and we could discuss removing that in a future patchset if it was deemed important / desirable. > > +Format information on the panel-timing subnode can be found in > > +display-timing.txt. > display-timing defines otional properties: > hsync-active, pixelclk-active, doublescan etc. > It is not from the above obvious which properties from display-timings > that can be specified for a panel-timing sub-node. > Maybe because they can all be specified? > > Display-timing allows timings to be specified as a range. > If it is also OK to specify a range for panle-timing then everythign is > fine. But if the panel-timign subnode do not allow ranges this needs to > be specified. One thing to think about here is that the bindings are a bit divorced from the real world. Specifically the bindings should describe hardware / what's possible and it's OK for bindings to describe things that aren't yet supported in code. You've gotta be really careful here, of course, because it's easy to write ridiculous bindings if there is no implementation backing them up, but in general that's supposed to be the idea. Here it seems like it should be possible to specify timings as a range and that would be a sensible thing to do. ...and we're already using existing code to parse this node, specifically of_get_display_timing(). If simple-panel can't (yet) handle reconciling ranges specified in DT then presumably we shouldn't rely on that yet. ...but if it becomes useful then we can add it later. ...but it's OK to already have it in the bindings. Did that make sense? If I'm misunderstanding something about the situation then please yell! :-) I will also note that perhaps we shouldn't nit-pick too much as per Rob's comment in the cover letter [1] of v5 of the series. Specifically he said this binding is going away anyway. Summary: I think I have no actions here and this could go to drm-misc with Theirry's Ack plus other tags. [1] https://lore.kernel.org/patchwork/cover/1057038/