From: Archit Taneja <a0393947@ti.com>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: linux-omap@vger.kernel.org, linux-fbdev@vger.kernel.org
Subject: Re: [PATCH v3 4/5] OMAPDSS: APPLY: Remove display dependency from overlay and manager checks
Date: Wed, 09 May 2012 09:56:21 +0000 [thread overview]
Message-ID: <4FAA3E8E.4000904@ti.com> (raw)
In-Reply-To: <4FA912F5.9030604@ti.com>
On Tuesday 08 May 2012 06:05 PM, Archit Taneja wrote:
> On Tuesday 08 May 2012 05:25 PM, Tomi Valkeinen wrote:
>> On Tue, 2012-05-08 at 16:52 +0530, Archit Taneja wrote:
>>> On Tuesday 08 May 2012 04:20 PM, Tomi Valkeinen wrote:
>>
>>>> Checking the validity of all the settings is a bit tricky, but
>>>> currently
>>>> I think, as a rule of thumb, we should accept any settings when things
>>>> are disabled. So, until the interface driver sets the timings before
>>>> enabling the output, all ovl/mgr settings should be allowed. And we
>>>
>>> We have 2 ways to go about this, one is to have an initial set of
>>> 'always valid' values like I have done, the other option is to ignore
>>> manager timing related checks if the manager is disabled, i.e all
>>> configs are okay. To implement the second option, I think our function
>>> dss_check_settings_low() would get more complicated. We would now have
>>> to pass mp->enabled outside of apply, and pass it to dss_mgr_check()
>>> which would further need to pass this to dss_ovl_check(). Hence I used
>>> the first approach.
>>
>> I'm not sure about that. We already do it for overlay. In ovl.c we have
>> dss_ovl_simple_check() and dss_ovl_check(). The simple check sees if the
>> settings pass basic sanity check. The check sees if all the ovl& mgr
>> settings are compatible with each other.
>>
>> Simple check is done when setting the config, called from
>> dss_ovl_set_info(). The proper check is done later when the actual
>> config is about to be taken into use.
>>
>> If mp->enabled = false, can't we just skip dss_check_settings_low()
>> totally for that manager? We skip the check for ovls the same way.
>
> Okay, this would work better I guess. If someone tries to enable the
> manager without setting the timings, that check should fail, and in my
> approach, it would have passed, and would have led to bad stuff later.
One change in behaviour with the patch series I see is with the
following use case when connected to Pandaboad's DVI interface:
- Bootup with 1080p resolution
- Try to set 640x480 timings with sysfs.
The older behaviour was that the timings were taken, and a skewed image
was seen(because the overlay size is larger in deimension)
The behaviour after this series is that the mgr_set_timings fails with
the error:
omapdss OVERLAY error: overlay 0 horizontally not inside the display
area (0 + 1920 >= 640)
I guess this is better in a way, a user of DSS is supposed to reallocate
the framebuffer with the desired size and then change the timings.
But with DVI, the problem is that dpi_set_timings already does a ton of
stuff before dss_mgr_set_timings() is called, so we change the dividers
to get the new clock, and then realise that the overlay can't fit
inside, and we are left nowhere. I guess this is a separate problem and
we could tackle it later.
Archit
>
>>
>>>> shouldn't even write any shadow registers until the moment the
>>>> output is
>>>> enabled.
>>>
>>> That's being done correctly even now I guess, with the checks for
>>> mp->enabled in wrtie_regs() and set_go_bits().
>>
>> Yes, for timings. I was thinking more about the other settings done in
>> dpi.c currently, like dispc_mgr_set_pol_freq(). That writes directly to
>> registers, so we need runtime_get for that.
>
> Ok.
>
> Archit
>
>>
>> Tomi
>>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
WARNING: multiple messages have this Message-ID (diff)
From: Archit Taneja <a0393947@ti.com>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: linux-omap@vger.kernel.org, linux-fbdev@vger.kernel.org
Subject: Re: [PATCH v3 4/5] OMAPDSS: APPLY: Remove display dependency from overlay and manager checks
Date: Wed, 9 May 2012 15:23:18 +0530 [thread overview]
Message-ID: <4FAA3E8E.4000904@ti.com> (raw)
In-Reply-To: <4FA912F5.9030604@ti.com>
On Tuesday 08 May 2012 06:05 PM, Archit Taneja wrote:
> On Tuesday 08 May 2012 05:25 PM, Tomi Valkeinen wrote:
>> On Tue, 2012-05-08 at 16:52 +0530, Archit Taneja wrote:
>>> On Tuesday 08 May 2012 04:20 PM, Tomi Valkeinen wrote:
>>
>>>> Checking the validity of all the settings is a bit tricky, but
>>>> currently
>>>> I think, as a rule of thumb, we should accept any settings when things
>>>> are disabled. So, until the interface driver sets the timings before
>>>> enabling the output, all ovl/mgr settings should be allowed. And we
>>>
>>> We have 2 ways to go about this, one is to have an initial set of
>>> 'always valid' values like I have done, the other option is to ignore
>>> manager timing related checks if the manager is disabled, i.e all
>>> configs are okay. To implement the second option, I think our function
>>> dss_check_settings_low() would get more complicated. We would now have
>>> to pass mp->enabled outside of apply, and pass it to dss_mgr_check()
>>> which would further need to pass this to dss_ovl_check(). Hence I used
>>> the first approach.
>>
>> I'm not sure about that. We already do it for overlay. In ovl.c we have
>> dss_ovl_simple_check() and dss_ovl_check(). The simple check sees if the
>> settings pass basic sanity check. The check sees if all the ovl& mgr
>> settings are compatible with each other.
>>
>> Simple check is done when setting the config, called from
>> dss_ovl_set_info(). The proper check is done later when the actual
>> config is about to be taken into use.
>>
>> If mp->enabled == false, can't we just skip dss_check_settings_low()
>> totally for that manager? We skip the check for ovls the same way.
>
> Okay, this would work better I guess. If someone tries to enable the
> manager without setting the timings, that check should fail, and in my
> approach, it would have passed, and would have led to bad stuff later.
One change in behaviour with the patch series I see is with the
following use case when connected to Pandaboad's DVI interface:
- Bootup with 1080p resolution
- Try to set 640x480 timings with sysfs.
The older behaviour was that the timings were taken, and a skewed image
was seen(because the overlay size is larger in deimension)
The behaviour after this series is that the mgr_set_timings fails with
the error:
omapdss OVERLAY error: overlay 0 horizontally not inside the display
area (0 + 1920 >= 640)
I guess this is better in a way, a user of DSS is supposed to reallocate
the framebuffer with the desired size and then change the timings.
But with DVI, the problem is that dpi_set_timings already does a ton of
stuff before dss_mgr_set_timings() is called, so we change the dividers
to get the new clock, and then realise that the overlay can't fit
inside, and we are left nowhere. I guess this is a separate problem and
we could tackle it later.
Archit
>
>>
>>>> shouldn't even write any shadow registers until the moment the
>>>> output is
>>>> enabled.
>>>
>>> That's being done correctly even now I guess, with the checks for
>>> mp->enabled in wrtie_regs() and set_go_bits().
>>
>> Yes, for timings. I was thinking more about the other settings done in
>> dpi.c currently, like dispc_mgr_set_pol_freq(). That writes directly to
>> registers, so we need runtime_get for that.
>
> Ok.
>
> Archit
>
>>
>> Tomi
>>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2012-05-09 9:56 UTC|newest]
Thread overview: 110+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-16 7:23 [PATCH 0/6] OMAPDSS: APPLY: Treat overlay manager timings as shadow registers Archit Taneja
2012-04-16 7:35 ` Archit Taneja
2012-04-16 7:23 ` [PATCH 1/6] OMAPDSS: DISPC/RFBI: Use dispc_mgr_set_lcd_timings() for setting lcd size Archit Taneja
2012-04-16 7:35 ` Archit Taneja
2012-04-16 7:23 ` [PATCH 2/6] OMAPDSS: DISPC: Use a common function to set manager timings Archit Taneja
2012-04-16 7:35 ` Archit Taneja
2012-04-16 7:23 ` [PATCH 3/6] OMAPDSS: DISPC: Clean up manager timing/size functions Archit Taneja
2012-04-16 7:35 ` Archit Taneja
2012-04-16 7:23 ` [PATCH 4/6] OMAPDSS: MANAGER: Make DISPC timings a manager_info parameter Archit Taneja
2012-04-16 7:35 ` Archit Taneja
2012-04-18 14:58 ` Tomi Valkeinen
2012-04-18 14:58 ` Tomi Valkeinen
2012-04-19 6:13 ` Archit Taneja
2012-04-19 6:25 ` Archit Taneja
2012-04-19 6:37 ` Tomi Valkeinen
2012-04-19 6:37 ` Tomi Valkeinen
2012-04-19 10:08 ` Archit Taneja
2012-04-19 10:20 ` Archit Taneja
2012-04-19 11:37 ` Tomi Valkeinen
2012-04-19 11:37 ` Tomi Valkeinen
2012-04-16 7:23 ` [PATCH 5/6] OMAPDSS: MANAGER: Check validity of manager timings Archit Taneja
2012-04-16 7:35 ` Archit Taneja
2012-04-16 7:23 ` [PATCH 6/6] OMAPDSS: APPLY: Remove display dependency from overlay and manager checks Archit Taneja
2012-04-16 7:35 ` Archit Taneja
2012-04-19 11:48 ` [PATCH 0/6] OMAPDSS: APPLY: Treat overlay manager timings as shadow registers Tomi Valkeinen
2012-04-19 11:48 ` Tomi Valkeinen
2012-04-19 11:58 ` Archit Taneja
2012-04-19 12:10 ` Archit Taneja
2012-04-19 12:00 ` Tomi Valkeinen
2012-04-19 12:00 ` Tomi Valkeinen
2012-05-03 7:07 ` [PATCH v2 0/4] " Archit Taneja
2012-05-03 7:19 ` Archit Taneja
2012-05-03 7:07 ` [PATCH v2 1/4] OMAPDSS: APPLY: Add manager timings as extra_info in private data Archit Taneja
2012-05-03 7:19 ` Archit Taneja
2012-05-07 14:47 ` Tomi Valkeinen
2012-05-07 14:47 ` Tomi Valkeinen
2012-05-08 4:24 ` Archit Taneja
2012-05-08 4:36 ` Archit Taneja
2012-05-08 7:01 ` Tomi Valkeinen
2012-05-08 7:01 ` Tomi Valkeinen
2012-05-03 7:07 ` [PATCH v2 2/4] OMAPDSS: Apply manager timings instead of direct DISPC writes Archit Taneja
2012-05-03 7:19 ` Archit Taneja
2012-05-03 7:07 ` [PATCH v2 3/4] OMAPDSS: MANAGER: Create a function to check manager timings Archit Taneja
2012-05-03 7:19 ` Archit Taneja
2012-05-03 7:07 ` [PATCH v2 4/4] OMAPDSS: APPLY: Remove display dependency from overlay and manager checks Archit Taneja
2012-05-03 7:19 ` Archit Taneja
2012-05-07 15:03 ` Tomi Valkeinen
2012-05-07 15:03 ` Tomi Valkeinen
2012-05-08 5:03 ` Archit Taneja
2012-05-08 5:15 ` Archit Taneja
2012-05-08 7:16 ` Tomi Valkeinen
2012-05-08 7:16 ` Tomi Valkeinen
2012-05-08 7:38 ` Archit Taneja
2012-05-08 7:50 ` Archit Taneja
2012-05-08 8:52 ` Tomi Valkeinen
2012-05-08 8:52 ` Tomi Valkeinen
2012-05-08 9:07 ` Archit Taneja
2012-05-08 9:19 ` Archit Taneja
2012-05-08 9:58 ` [PATCH v3 0/5] OMAPDSS: APPLY: Treat overlay manager timings as shadow registers Archit Taneja
2012-05-08 10:10 ` Archit Taneja
2012-05-08 9:58 ` [PATCH v3 1/5] OMAPDSS: APPLY: Add manager timings as extra_info in private data Archit Taneja
2012-05-08 10:10 ` Archit Taneja
2012-05-08 9:58 ` [PATCH v3 2/5] OMAPDSS: Apply manager timings instead of direct DISPC writes Archit Taneja
2012-05-08 10:10 ` Archit Taneja
2012-05-08 10:59 ` Tomi Valkeinen
2012-05-08 10:59 ` Tomi Valkeinen
2012-05-08 9:58 ` [PATCH v3 3/5] OMAPDSS: MANAGER: Create a function to check manager timings Archit Taneja
2012-05-08 10:10 ` Archit Taneja
2012-05-08 9:58 ` [PATCH v3 4/5] OMAPDSS: APPLY: Remove display dependency from overlay and manager checks Archit Taneja
2012-05-08 10:10 ` Archit Taneja
2012-05-08 10:50 ` Tomi Valkeinen
2012-05-08 10:50 ` Tomi Valkeinen
2012-05-08 11:22 ` Archit Taneja
2012-05-08 11:34 ` Archit Taneja
2012-05-08 11:55 ` Tomi Valkeinen
2012-05-08 11:55 ` Tomi Valkeinen
2012-05-08 12:35 ` Archit Taneja
2012-05-08 12:47 ` Archit Taneja
2012-05-09 9:53 ` Archit Taneja [this message]
2012-05-09 9:56 ` Archit Taneja
2012-05-09 10:15 ` Tomi Valkeinen
2012-05-09 10:15 ` Tomi Valkeinen
2012-05-08 9:58 ` [PATCH v3 5/5] OMAPDSS: DPI/HDMI: Apply manager timings even if panel is disabled Archit Taneja
2012-05-08 10:10 ` Archit Taneja
2012-05-09 10:10 ` [PATCH v4 0/9] OMAPDSS: APPLY: Treat overlay manager timings as shadow registers Archit Taneja
2012-05-09 10:22 ` Archit Taneja
2012-05-09 10:10 ` [PATCH v4 1/9] OMAPDSS: APPLY: Add manager timings as extra_info in private data Archit Taneja
2012-05-09 10:22 ` Archit Taneja
2012-05-09 10:10 ` [PATCH v4 2/9] OMAPDSS: Apply manager timings instead of direct DISPC writes Archit Taneja
2012-05-09 10:22 ` Archit Taneja
2012-05-09 10:10 ` [PATCH v4 3/9] OMAPDSS: MANAGER: Create a function to check manager timings Archit Taneja
2012-05-09 10:22 ` Archit Taneja
2012-05-09 10:10 ` [PATCH v4 4/9] OMAPDSS: APPLY: Don't check manager settings if it is disabled Archit Taneja
2012-05-09 10:22 ` Archit Taneja
2012-05-09 10:10 ` [PATCH v4 5/9] OMAPDSS: APPLY: Remove display dependency from overlay and manager checks Archit Taneja
2012-05-09 10:22 ` Archit Taneja
2012-05-09 10:10 ` [PATCH v4 6/9] OMAPDSS: DPI/HDMI: Apply manager timings even if panel is disabled Archit Taneja
2012-05-09 10:22 ` Archit Taneja
2012-05-09 10:10 ` [PATCH v4 7/9] OMAPDSS: APPLY: Remove an unnecessary omap_dss_device pointer Archit Taneja
2012-05-09 10:22 ` Archit Taneja
2012-05-09 10:10 ` [PATCH v4 8/9] OMAPDSS: DISPC: Remove omap_dss_device pointer usage from dispc_mgr_pclk_rate() Archit Taneja
2012-05-09 10:22 ` Archit Taneja
2012-05-09 10:10 ` [PATCH v4 9/9] OMAPDSS: DISPC: Remove usage of dispc_mgr_get_device() Archit Taneja
2012-05-09 10:22 ` Archit Taneja
2012-05-09 11:13 ` [PATCH v4 0/9] OMAPDSS: APPLY: Treat overlay manager timings as shadow registers Tomi Valkeinen
2012-05-09 11:13 ` Tomi Valkeinen
2012-05-09 11:24 ` Archit Taneja
2012-05-09 11:36 ` Archit Taneja
2012-05-09 11:51 ` Tomi Valkeinen
2012-05-09 11:51 ` Tomi Valkeinen
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=4FAA3E8E.4000904@ti.com \
--to=a0393947@ti.com \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=tomi.valkeinen@ti.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.