RE: [PATCH] OMAP: DSS: Fix for dsi_pll to dpll4 clk switch

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

 



On Tue, 2010-06-29 at 16:13 +0200, ext Nagarajan, Rajkumar wrote:
> 
> > -----Original Message-----
> > From: Tomi Valkeinen [mailto:tomi.valkeinen@xxxxxxxxx] 
> > Sent: Thursday, June 24, 2010 4:21 PM
> > To: Nagarajan, Rajkumar
> > Cc: linux-omap@xxxxxxxxxxxxxxx
> > Subject: Re: [PATCH] OMAP: DSS: Fix for dsi_pll to dpll4 clk switch
> > 
> > On Thu, 2010-06-17 at 07:12 +0200, ext Nagarajan, Rajkumar wrote:
> > > When switching between clocks, The new functional clock is
> > > effective when the next vertical blanking interval occurs.
> > > GOLCD bit has to be set for the new clock to take effect.
> > 
> > Where did you encounter this problem?
> > 
> Raj: The below experiments will make you to understand the significance of the patch:
> 
> 1. Select "dsi_pll" as default clock.
> 2. After the zoom3 display comes up,switch the default screen on LCD to TV using below commands.
> 	echo "0" > /sys/devices/platform/omapdss/overlay0/enabled
> 	echo "720,574" > /sys/devices/platform/omapdss/overlay0/input_size
> 	echo "720,574" > /sys/devices/platform/omapdss/overlay0/output_size
> 	echo "tv" >  /sys/devices/platform/omapdss/overlay0/manager
> 	echo "1" > /sys/devices/platform/omapdss/display1/enabled
> 	echo "1" > /sys/devices/platform/omapdss/overlay0/enabled
> 3. Now the display is appearing on TV.So, Now switch the display back to LCD using the below commands.
> 	echo "0" > /sys/devices/platform/omapdss/overlay0/enabled
> 	echo "800,480" > /sys/devices/platform/omapdss/overlay0/input_size
> 	echo "800,480" > /sys/devices/platform/omapdss/overlay0/output_size
> 	echo "lcd" >  /sys/devices/platform/omapdss/overlay0/manager
> 	echo "1" > /sys/devices/platform/omapdss/display1/enabled
> 	echo "1" > /sys/devices/platform/omapdss/overlay0/enabled
> 4. Now the display will not appear on LCD,if the patch is not included.
>     But,the display will appear on LCD, if the patch is included.

The LCD is never turned off in the sequence above. Was that supposed to
be there somewhere?

> > > Signed-off-by: Kishore Y <kishore.y@xxxxxx>
> > > Signed-off-by: Mukund Mittal <mmittal@xxxxxx>
> > > Signed-off-by: Rajkumar N <rajkumar.nagarajan@xxxxxx>
> > > ---
> > >  drivers/video/omap2/dss/dpi.c |    5 +++++
> > >  1 files changed, 5 insertions(+), 0 deletions(-)
> > > 
> > > diff --git a/drivers/video/omap2/dss/dpi.c 
> > b/drivers/video/omap2/dss/dpi.c
> > > index 960e977..5d778d6 100644
> > > --- a/drivers/video/omap2/dss/dpi.c
> > > +++ b/drivers/video/omap2/dss/dpi.c
> > > @@ -214,10 +214,15 @@ void 
> > omapdss_dpi_display_disable(struct omap_dss_device *dssdev)
> > >  
> > >  #ifdef CONFIG_OMAP2_DSS_USE_DSI_PLL
> > >  	dss_select_dispc_clk_source(DSS_SRC_DSS1_ALWON_FCLK);
> > > +	dispc_go(OMAP_DSS_CHANNEL_LCD);
> > 
> > I don't think GO does anything here, as the channel has already been
> > disabled.
> Raj:This is the actual fix.So, the above experiment that I explained will be the usecase to understand the need of this statement.

So, how does the OMAP DSS HW actually work then? My understanding was
that GO bit doesn't do anything if the channel is disabled. It's only
used when the channel is enabled.

Setting the GO bit should make the new register changes to be effective
after next VFP. If the channel is disabled, there's no VFP, thus it
shouldn't do anything...?

Also related to using DSI PLL, there's an OMAP bug that causes glitches
on TV-out if DSI PLL is used for DISPC fclk, basically making DSI PLL
unusable for DISPC fclk. Have you encountered this?

 Tomi


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux