linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nishanth Menon <nm@ti.com>
To: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Cc: ext Laine Walker-Avina <lwalkera@pasco.com>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"linux-fbdev@vger.kernel.org" <linux-fbdev@vger.kernel.org>
Subject: Re: OMAP DSS2 coming out of OFF mode without restoring context
Date: Fri, 30 Jul 2010 13:01:26 +0000	[thread overview]
Message-ID: <4C52CD26.8010908@ti.com> (raw)
In-Reply-To: <1280488679.2427.121.camel@tubuntu.research.nokia.com>

Tomi Valkeinen had written, on 07/30/2010 06:17 AM, the following:
> On Fri, 2010-07-30 at 13:09 +0200, ext Menon, Nishanth wrote:
>> ----- Original message -----
>>> Hi,
>>>
>>> On Thu, 2010-07-29 at 23:29 +0200, ext Laine Walker-Avina wrote:
>>>> Hi,
>>>>
>>>> I'm having a problem where the DSS driver isn't restoring the
>>>> framebuffer parameters after going in and out of blanking with OFF
>>>> mode enabled. The problem appears to be in dss_get_ctx_id() in that
>>>> pdata->get_last_off_on_transaction_id is 0. Commenting out the call to
>>>> dss_need_ctx_restore() in dss_clk_enable() appears to do the right
>>>> thing. I'm using the current master branch of linux-omap.
>>> You need to fill the func pointer in the board file:
>>>
>>> static struct omap_dss_board_info xxx_dss_data = {
>>>                 .get_last_off_on_transaction_id >>> omap_pm_get_dev_context_loss_count,
>>>
>> none of l-o board files seem to do this. I guess
>> with off capable master, we need this to be 
>> defaulted under CONFIG_PM within dss/core itself?
>> I mean the defaults prevent display function
>> at off, so why ask all boards to fill it up?
> 
> If the PM stuff in linux tree starts to be in working order, then yes,
> we need some better solution.
> 
> I'm not quite sure what the options are, but I was told that the correct
> way to get context loss count is as above, fill the platform_data in the
> board file with a pointer to omap_pm_get_dev_context_loss_count().
> 
> So if that is still the proper way, then we need a "DSS platform
> initialization" function that the board files can call, which then fills
> the platform_data with correct data.
> 
> But this will still require modifying every board file that uses DSS.
> Then again, every board file needs anyway DSS code, so perhaps that's
> not such a big issue.
> 
> For this particular case there's not much benefit having a separate
> initialization function. On the contrary, it'll just have more code
> lines. But I think there will be some more platform DSS stuff (like
> pinmuxing) which can then use the same mechanism.
> 
>  Tomi
> 
> 

I was thinking more of the lines of this:
a) omap_pm_get_dev_context_loss_count is exported
OR
b) there is a file arch/arm/mach-omap2/dss.c which would take this..


diff --git a/drivers/video/omap2/dss/core.c b/drivers/video/omap2/dss/core.c
index b3a498f..0b9041a 100644
--- a/drivers/video/omap2/dss/core.c
+++ b/drivers/video/omap2/dss/core.c
@@ -35,6 +35,7 @@

  #include <plat/display.h>
  #include <plat/clock.h>
+#include <plat/omap-pm.h>

  #include "dss.h"

@@ -502,6 +503,10 @@ static int omap_dss_probe(struct platform_device *pdev)

         core.pdev = pdev;

+       if (!core.pdev->get_last_off_on_transaction_id)
+               core.pdev->get_last_off_on_transaction_id +                       omap_pm_get_dev_context_loss_count;
+
         dss_init_overlay_managers(pdev);
         dss_init_overlays(pdev);



-- 
Regards,
Nishanth Menon

  reply	other threads:[~2010-07-30 13:01 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-29 21:29 OMAP DSS2 coming out of OFF mode without restoring context Laine Walker-Avina
2010-07-30  6:57 ` Tomi Valkeinen
2010-07-30 11:09 ` Menon, Nishanth
2010-07-30 11:17   ` Tomi Valkeinen
2010-07-30 13:01     ` Nishanth Menon [this message]
2010-07-30 15:15       ` Aguirre, Sergio

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=4C52CD26.8010908@ti.com \
    --to=nm@ti.com \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=lwalkera@pasco.com \
    --cc=tomi.valkeinen@nokia.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).