linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
To: Tony Lindgren <tony@atomide.com>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: "Sebastian Reichel" <sre@kernel.org>,
	"Benoît Cousson" <bcousson@baylibre.com>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
	"Rob Herring" <robh+dt@kernel.org>,
	devicetree@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/4] ARM: dts: omap3-n900: fix LCD reset line polarity
Date: Wed, 12 Oct 2022 13:58:15 +0300	[thread overview]
Message-ID: <41373c20-3b97-ac47-81c8-75bf1bbe3a38@ideasonboard.com> (raw)
In-Reply-To: <Y0WCCw8k+KTuvdWX@atomide.com>

Hi,

On 11/10/2022 17:47, Tony Lindgren wrote:
> * Dmitry Torokhov <dmitry.torokhov@gmail.com> [221011 14:30]:
>> On Tue, Oct 11, 2022 at 05:30:12PM +0300, Tony Lindgren wrote:
>>> * Dmitry Torokhov <dmitry.torokhov@gmail.com> [221011 13:57]:
>>>> Hi Sebastian,
>>>>
>>>> On Tue, Oct 11, 2022 at 02:37:26PM +0200, Sebastian Reichel wrote:
>>>>> Hi,
>>>>>
>>>>> On Tue, Oct 11, 2022 at 08:45:54AM +0300, Tony Lindgren wrote:
>>>>>> * Dmitry Torokhov <dmitry.torokhov@gmail.com> [221004 21:26]:
>>>>>>> The LCD driver (panel-sony-acx565akm), when probing, starts with line
>>>>>>> driven low, and then toggles it to high and keeps it there. Also, the
>>>>>>> line is driven low when powering off the device, and ls released when
>>>>>>> powering it back on. This means that the reset line should be described
>>>>>>> as "active low" in DTS. This will be important when the driver is
>>>>>>> converted to gpiod API which respects the polarity declared in DTS.
>>>>>>
>>>>>> We should ensure these patches get merged together with the driver
>>>>>> change to avoid breaking LCD for booting. Probably no need to have
>>>>>> the driver quirk handling for inverted polartity in this case.
>>>>>>
>>>>>> It's probably easiest to have an immutable branch for the driver
>>>>>> changes I can base the dts changes on. Or I can ack the dts changes
>>>>>> if they get merged with the driver.
>>>>>
>>>>> Both drivers are already using gpiod API:
>>>>>
>>>>> drivers/gpu/drm/panel/panel-sony-acx565akm.c
>>>>> drivers/gpu/drm/panel/panel-dsi-cm.c
>>>>
>>>> I was looking at
>>>>
>>>> drivers/video/fbdev/omap2/omapfb/displays/panel-sony-acx565akm.c
>>>> drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.c
>>>
>>> Ah OK that explains :)
>>>
>>>> which are not using gpiod. Should they be retired?
>>>
>>> Yes we should just get rid of them with omapdrm working just fine.
>>
>> Will you be submitting such patches? I'd like to get rid of
>> of_get_named_gpio() and friends if I can...
> 
> Adding Tomi to Cc, my guess is he already has such patches and knows
> better which ones can go :)

To be honest, I haven't really even had a glance towards fbdev for a 
long time.

There is one thing that omapdrm doesn't support, which is VRFB rotation. 
I cannot say if the users of those above-mentioned panels require VRFB.

>>>>> So this just breaks things.
>>>>
>>>> I missed the drivers in drivers/gpu/... and I see that they essentially
>>>> abuse gpiod API as gpiod_set_value() operates on logical level
>>>> (active/inactive) and not absolute (high/low). They should either use
>>>> the gpiod_*_raw() variants, or they should be adjusted to do the proper
>>>> thing together with the accompanying DTS change.
>>>>
>>>> What are your preferences?
>>>
>>> Seems like high/low at the connected device end is what we should use,
>>> right? Otherwise things will misbehave if the panel is connected to
>>> some other SoC possibly.
>>
>> It is exactly because of this case the driver should use active/inactive
>> and follow polarity described in DTS. If the driver does:
>>
>> 	gpiod_set_value_cansleep(d->reset, 1);
>>
>> then if DTS is saying that the reset line is active low, under the wraps
>> the line will be driven to "0", but if DTS is saying that the line is
>> active high, then the very same call will drive the line to "1".
>>
>> This allows accommodating different designs without having to change the
>> driver code.

Isn't breaking an old dts file quite a bad thing? Why not just add a 
comment to the .dts and to the driver about the situation. I don't quite 
see that the fixing the dts (And, if done properly, adding a boot time 
fixup for old dtbs) and changing the drivers is worth the hassle.

Unless we see new users for these drivers, which would require the new 
users to write broken dts files.

  Tomi


  reply	other threads:[~2022-10-12 10:58 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-04 21:35 [PATCH 1/4] ARM: dts: omap3-n900: fix LCD reset line polarity Dmitry Torokhov
2022-10-04 21:35 ` [PATCH 2/4] ARM: dts: omap4-sdp: " Dmitry Torokhov
2022-10-04 21:35 ` [PATCH 3/4] ARM: dts: omap3-n950: " Dmitry Torokhov
2022-10-04 21:35 ` [PATCH 4/4] ARM: dts: motorola-mapphone: " Dmitry Torokhov
2022-10-11  5:45 ` [PATCH 1/4] ARM: dts: omap3-n900: " Tony Lindgren
2022-10-11 12:37   ` Sebastian Reichel
2022-10-11 14:06     ` Dmitry Torokhov
2022-10-11 14:30       ` Tony Lindgren
2022-10-11 14:38         ` Dmitry Torokhov
2022-10-11 14:47           ` Tony Lindgren
2022-10-12 10:58             ` Tomi Valkeinen [this message]
2022-10-12 19:30               ` Dmitry Torokhov
2022-10-13  6:22                 ` Tomi Valkeinen
2022-10-13 11:08                   ` Tony Lindgren
2022-10-13 13:17                     ` Sebastian Reichel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=41373c20-3b97-ac47-81c8-75bf1bbe3a38@ideasonboard.com \
    --to=tomi.valkeinen@ideasonboard.com \
    --cc=bcousson@baylibre.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=sre@kernel.org \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).