Re: [PATCH V7 11/12] Documentation: bridge: Add documentation for ps8622 DT properties

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Tue, Sep 23, 2014 at 03:00:37AM +0300, Laurent Pinchart wrote:
> On Monday 22 September 2014 13:35:15 Thierry Reding wrote:
> > On Mon, Sep 22, 2014 at 04:53:22PM +0530, Ajay kumar wrote:
> > > On Mon, Sep 22, 2014 at 4:11 PM, Thierry Reding wrote:
> > > > On Mon, Sep 22, 2014 at 02:01:38PM +0530, Ajay kumar wrote:
> > > >> On Mon, Sep 22, 2014 at 1:40 PM, Thierry Reding wrote:
> > > >> > On Thu, Sep 18, 2014 at 11:20:40AM +0530, Ajay kumar wrote:
> > > >> >> On Wed, Sep 17, 2014 at 9:52 PM, Tomi Valkeinen wrote:
> > > >> >> > On 17/09/14 17:29, Ajay kumar wrote:
> > > >> >> >> On Wed, Sep 17, 2014 at 5:22 PM, Tomi Valkeinen wrote:
> > > >> >> >>> On 27/08/14 17:39, Ajay Kumar wrote:
> > > >> >> >>>> Add documentation for DT properties supported by ps8622/ps8625
> > > >> >> >>>> eDP-LVDS converter.
> > > >> >> >>>> 
> > > >> >> >>>> Signed-off-by: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx>
> > > >> >> >>>> ---
> > > >> >> >>>> 
> > > >> >> >>>>  .../devicetree/bindings/video/bridge/ps8622.txt    |   20
> > > >> >> >>>>  ++++++++++++++++++++ 1 file changed, 20 insertions(+)
> > > >> >> >>>>  create mode 100644
> > > >> >> >>>>  Documentation/devicetree/bindings/video/bridge/ps8622.txt
> > > >> >> >>>>
> > > >> >> >>>> diff --git
> > > >> >> >>>> a/Documentation/devicetree/bindings/video/bridge/ps8622.txt
> > > >> >> >>>> b/Documentation/devicetree/bindings/video/bridge/ps8622.txt
> > > >> >> >>>> new file mode 100644
> > > >> >> >>>> index 0000000..0ec8172
> > > >> >> >>>> --- /dev/null
> > > >> >> >>>> +++ b/Documentation/devicetree/bindings/video/bridge/ps8622.txt
> > > >> >> >>>> @@ -0,0 +1,20 @@
> > > >> >> >>>> +ps8622-bridge bindings
> > > >> >> >>>> +
> > > >> >> >>>> +Required properties:
> > > >> >> >>>> +     - compatible: "parade,ps8622" or "parade,ps8625"
> > > >> >> >>>> +     - reg: first i2c address of the bridge
> > > >> >> >>>> +     - sleep-gpios: OF device-tree gpio specification for PD_
> > > >> >> >>>> pin.
> > > >> >> >>>> +     - reset-gpios: OF device-tree gpio specification for RST_
> > > >> >> >>>> pin.
> > > >> >> >>>> +
> > > >> >> >>>> +Optional properties:
> > > >> >> >>>> +     - lane-count: number of DP lanes to use
> > > >> >> >>>> +     - use-external-pwm: backlight will be controlled by an
> > > >> >> >>>> external PWM
> > > >> >> >>> 
> > > >> >> >>> What does this mean? That the backlight support from ps8625 is
> > > >> >> >>> not used? If so, maybe "disable-pwm" or something?
> > > >> >> >> 
> > > >> >> >> "use-external-pwm" or "disable-bridge-pwm" would be better.
> > > >> >> > 
> > > >> >> > Well, the properties are about the bridge. "use-external-pwm"
> > > >> >> > means that the bridge uses an external PWM, which, if I understood
> > > >> >> > correctly, is not what the property is about.
> > > >> >> > 
> > > >> >> > "disable-bridge-pwm" is ok, but the "bridge" there is extra. The
> > > >> >> > properties are about the bridge, so it's implicit.
> > > >> >> 
> > > >> >> Ok. I will use "disable-pwm".
> > > >> > 
> > > >> > Why is this even necessary? According to the datasheet this device
> > > >> > has circuitry for backlight control. If so, I'd expect it to expose
> > > >> > either a backlight device or a PWM device. That way unless somebody
> > > >> > is using the backlight/PWM exposed by the bridge the bridge can
> > > >> > simply disable PWM.
> > > >> 
> > > >> The driver does expose a backlight device.
> > > >> And, the decision(whether to expose a backlight device or not) is made
> > > >> based on the DT flag "use-external-pwm".
> > > >> This was discussed before, and you suggested to use the boolean
> > > >> property, refer to this link:
> > > >> http://lists.freedesktop.org/archives/dri-devel/2014-July/065048.html
> > > > 
> > > > I think you misunderstood what I said, or maybe I didn't explain clearly
> > > > what I meant. If the PS8622 provides a backlight there's nothing wrong
> > > > with always exposing it. The bridge itself isn't going to be using the
> > > > backlight anyway. Rather the panel itself should be using the backlight
> > > > device exposed by PS8622 or some separate backlight device.
> > > > 
> > > > To illustrate by an example:
> > > >         ps8622: ... {
> > > >         
> > > >                 compatible = "parade,ps8622";
> > > >                 ...
> > > >         
> > > >         };
> > > >         
> > > >         panel {
> > > >         
> > > >                 ...
> > > >                 backlight = <&ps8622>;
> > > >                 ...
> > > >         
> > > >         };
> > > 
> > > No, if ps8622 backlight control is used, we need not specify the backlight
> > > phandle for the panel driver. Somehow, ps8622 internal circuitry keeps
> > > the bootup glitch free :)
> > > Backlight control and panel controls can be separate then.
> > 
> > But they shouldn't. Your panel driver should always be the one to
> > control backlight. How else is the bridge supposed to know when to turn
> > backlight on or off?
> > 
> > > > What you did in v6 of this series was look up a backlight device and
> > > > then not use it. That seemed unnecessary. Looking at v6 again the reason
> > > > for getting a phandle to the backlight was so that the device itself did
> > > > not expose its own backlight controlling circuitry if an external one
> > > > was being used. But since the bridge has no business controlling the
> > > > backlight, having the backlight phandle in the bridge is not correct.
> > > > 
> > > > So I think what you could do in the driver instead is always expose the
> > > > backlight device. If the panel used a different backlight, the PS8622's
> > > > internal on simply wouldn't be accessed. It would still be possible to
> > > > control the backlight in sysfs, but that shouldn't be a problem (only
> > > > root can access it)
> > > 
> > > That would be like simple exposing a feature which cannot be used
> > > by the user, ideally which "should not be" used by the user.
> > 
> > And it won't be used unless they access the sysfs files directly. There
> > are a lot of cases where we expose functionality that cannot be
> > meaningfully used by the user. For example, a GPIO may not be routed to
> > anything on a board, yet we don't explicitly hide any specific GPIOs
> > from users.
> > 
> > > > That said, I have no strong objections to the boolean property if you
> > > > feel like it's really necessary.
> > > 
> > > Won't you think having a boolean property for an optional
> > > feature of the device, is better than all these?
> > 
> > Like I said, I'm indifferent on the matter. I don't think it's necessary
> > to hide the backlight device, but if you want to, please feel free to do
> > so.
> 
> DT typically use
> 
> 	status = "disabled"
> 
> to disable devices. In this case we don't want to disable the ps8622 
> completely, but just one of its functions. Maybe a "backlight-status" property 
> could be used for that ? If that's considered too verbose, I would be fine 
> with a "disable-<feature>" boolean property too.

Another alternative would be to make the backlight a subnode:

	ps8622: bridge@... {
		compatible = "parade,ps8622";
		...

		backlight {
			...
			status = "disabled";
			...
		};
	};

Thierry

Attachment: pgpw0xIhjTsrS.pgp
Description: PGP signature


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux