Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-08 Thread Steffen Trumtrar
Hi!

On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > *fbmode)
> > +{
> > +   fbmode->xres = vm->hactive;
> > +   fbmode->left_margin = vm->hback_porch;
> > +   fbmode->right_margin = vm->hfront_porch;
> > +   fbmode->hsync_len = vm->hsync_len;
> > +
> > +   fbmode->yres = vm->vactive;
> > +   fbmode->upper_margin = vm->vback_porch;
> > +   fbmode->lower_margin = vm->vfront_porch;
> > +   fbmode->vsync_len = vm->vsync_len;
> > +
> > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > +
> > +   fbmode->sync = 0;
> > +   fbmode->vmode = 0;
> > +   if (vm->hah)
> > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > +   if (vm->vah)
> > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > +   if (vm->interlaced)
> > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > +   if (vm->doublescan)
> > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > +
> 
> "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> Please let me know if I am missing something.
> 

The next version is almost finished. Only thing I'm missing is this.
And I actually do not know which flag would represent an inverted pixelclock
in fb_videomode. Does anybody have any idea what I have to do here?

if (vm->pixelclk_pol)
fbmode->sync = ???

That's as far as I have come and I don't see a flag that seems right.
Is this even a valid property of fb_videomode?

Regards,
Steffen

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-09 Thread Steffen Trumtrar
Hi!

On Fri, Nov 09, 2012 at 04:54:16PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> > Hi!
> > 
> > On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > > Hi Steffen,
> > > 
> > > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > > +int videomode_to_fb_videomode(struct videomode *vm, struct 
> > > > fb_videomode *fbmode)
> > > > +{
> > > > +   fbmode->xres = vm->hactive;
> > > > +   fbmode->left_margin = vm->hback_porch;
> > > > +   fbmode->right_margin = vm->hfront_porch;
> > > > +   fbmode->hsync_len = vm->hsync_len;
> > > > +
> > > > +   fbmode->yres = vm->vactive;
> > > > +   fbmode->upper_margin = vm->vback_porch;
> > > > +   fbmode->lower_margin = vm->vfront_porch;
> > > > +   fbmode->vsync_len = vm->vsync_len;
> > > > +
> > > > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > > +
> > > > +   fbmode->sync = 0;
> > > > +   fbmode->vmode = 0;
> > > > +   if (vm->hah)
> > > > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > > +   if (vm->vah)
> > > > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > > +   if (vm->interlaced)
> > > > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > > > +   if (vm->doublescan)
> > > > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > > > +
> > > 
> > > "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> > > Please let me know if I am missing something.
> > > 
> > 
> > The next version is almost finished. Only thing I'm missing is this.
> > And I actually do not know which flag would represent an inverted pixelclock
> > in fb_videomode. Does anybody have any idea what I have to do here?
> > 
> > if (vm->pixelclk_pol)
> > fbmode->sync = ???
> > 
> > That's as far as I have come and I don't see a flag that seems right.
> > Is this even a valid property of fb_videomode?
> > 
> 
> Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_ 
> flag.
> FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h
> 

No problem. So, it seems this flag has to be set in some imx-specific
videomode_to_fb_videomode function. It is included in the
struct videomode, so that should be no problem. But it will not be
part of this series.

Regards,
Steffen

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


RE: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-12 Thread Manjunathappa, Prakash
Hi Steffen,

On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> Hi!
> 
> On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > Hi Steffen,
> > 
> > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > > *fbmode)
> > > +{
> > > + fbmode->xres = vm->hactive;
> > > + fbmode->left_margin = vm->hback_porch;
> > > + fbmode->right_margin = vm->hfront_porch;
> > > + fbmode->hsync_len = vm->hsync_len;
> > > +
> > > + fbmode->yres = vm->vactive;
> > > + fbmode->upper_margin = vm->vback_porch;
> > > + fbmode->lower_margin = vm->vfront_porch;
> > > + fbmode->vsync_len = vm->vsync_len;
> > > +
> > > + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > +
> > > + fbmode->sync = 0;
> > > + fbmode->vmode = 0;
> > > + if (vm->hah)
> > > + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > + if (vm->vah)
> > > + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > + if (vm->interlaced)
> > > + fbmode->vmode |= FB_VMODE_INTERLACED;
> > > + if (vm->doublescan)
> > > + fbmode->vmode |= FB_VMODE_DOUBLE;
> > > +
> > 
> > "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> > Please let me know if I am missing something.
> > 
> 
> The next version is almost finished. Only thing I'm missing is this.
> And I actually do not know which flag would represent an inverted pixelclock
> in fb_videomode. Does anybody have any idea what I have to do here?
> 
>   if (vm->pixelclk_pol)
>   fbmode->sync = ???
> 
> That's as far as I have come and I don't see a flag that seems right.
> Is this even a valid property of fb_videomode?
> 

Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_ flag.
FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h

Thanks,
Prakash

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-12 Thread Laurent Pinchart
Hi Steffen,

On Friday 09 November 2012 20:31:33 Steffen Trumtrar wrote:
> On Fri, Nov 09, 2012 at 04:54:16PM +, Manjunathappa, Prakash wrote:
> > On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> > > On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > > > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > > > +int videomode_to_fb_videomode(struct videomode *vm, struct
> > > > > fb_videomode *fbmode) +{
> > > > > + fbmode->xres = vm->hactive;
> > > > > + fbmode->left_margin = vm->hback_porch;
> > > > > + fbmode->right_margin = vm->hfront_porch;
> > > > > + fbmode->hsync_len = vm->hsync_len;
> > > > > +
> > > > > + fbmode->yres = vm->vactive;
> > > > > + fbmode->upper_margin = vm->vback_porch;
> > > > > + fbmode->lower_margin = vm->vfront_porch;
> > > > > + fbmode->vsync_len = vm->vsync_len;
> > > > > +
> > > > > + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > > > +
> > > > > + fbmode->sync = 0;
> > > > > + fbmode->vmode = 0;
> > > > > + if (vm->hah)
> > > > > + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > > > + if (vm->vah)
> > > > > + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > > > + if (vm->interlaced)
> > > > > + fbmode->vmode |= FB_VMODE_INTERLACED;
> > > > > + if (vm->doublescan)
> > > > > + fbmode->vmode |= FB_VMODE_DOUBLE;
> > > > > +
> > > > 
> > > > "pixelclk-inverted" property of the panel is not percolated
> > > > fb_videomode.
> > > > Please let me know if I am missing something.
> > > 
> > > The next version is almost finished. Only thing I'm missing is this.
> > > And I actually do not know which flag would represent an inverted
> > > pixelclock in fb_videomode. Does anybody have any idea what I have to
> > > do here?> > 
> > >   if (vm->pixelclk_pol)
> > >   
> > >   fbmode->sync = ???
> > > 
> > > That's as far as I have come and I don't see a flag that seems right.
> > > Is this even a valid property of fb_videomode?
> > 
> > Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_
> > flag. FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h
> 
> No problem. So, it seems this flag has to be set in some imx-specific
> videomode_to_fb_videomode function. It is included in the
> struct videomode, so that should be no problem. But it will not be
> part of this series.

A possible solution would be to standardize the FB_SYNC_CLK_INVERT flag in 
fbdev, but that's in my opinion out of scope of this patch series. iMX3 
developers, feel free to send patches :-)

-- 
Regards,

Laurent Pinchart

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-10-31 Thread Steffen Trumtrar
Hi Prakash!

On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > Add a function to convert from the generic videomode to a fb_videomode.
> > 
> > Signed-off-by: Steffen Trumtrar 
> > ---
> >  drivers/video/fbmon.c |   36 
> >  include/linux/fb.h|2 ++
> >  2 files changed, 38 insertions(+)
> > 
> > diff --git a/drivers/video/fbmon.c b/drivers/video/fbmon.c
> > index cef6557..b9e6ab3 100644
> > --- a/drivers/video/fbmon.c
> > +++ b/drivers/video/fbmon.c
> > @@ -1373,6 +1373,42 @@ int fb_get_mode(int flags, u32 val, struct 
> > fb_var_screeninfo *var, struct fb_inf
> > kfree(timings);
> > return err;
> >  }
> > +
> > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > *fbmode)
> > +{
> > +   fbmode->xres = vm->hactive;
> > +   fbmode->left_margin = vm->hback_porch;
> > +   fbmode->right_margin = vm->hfront_porch;
> > +   fbmode->hsync_len = vm->hsync_len;
> > +
> > +   fbmode->yres = vm->vactive;
> > +   fbmode->upper_margin = vm->vback_porch;
> > +   fbmode->lower_margin = vm->vfront_porch;
> > +   fbmode->vsync_len = vm->vsync_len;
> > +
> > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > +
> > +   fbmode->sync = 0;
> > +   fbmode->vmode = 0;
> > +   if (vm->hah)
> > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > +   if (vm->vah)
> > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > +   if (vm->interlaced)
> > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > +   if (vm->doublescan)
> > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > +
> 
> "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> Please let me know if I am missing something.
> 

You are right. I forgot that :(

Regards,
Steffen


-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


RE: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-01 Thread Manjunathappa, Prakash
Hi Steffen,

On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> Add a function to convert from the generic videomode to a fb_videomode.
> 
> Signed-off-by: Steffen Trumtrar 
> ---
>  drivers/video/fbmon.c |   36 
>  include/linux/fb.h|2 ++
>  2 files changed, 38 insertions(+)
> 
> diff --git a/drivers/video/fbmon.c b/drivers/video/fbmon.c
> index cef6557..b9e6ab3 100644
> --- a/drivers/video/fbmon.c
> +++ b/drivers/video/fbmon.c
> @@ -1373,6 +1373,42 @@ int fb_get_mode(int flags, u32 val, struct 
> fb_var_screeninfo *var, struct fb_inf
>   kfree(timings);
>   return err;
>  }
> +
> +#if IS_ENABLED(CONFIG_VIDEOMODE)
> +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> *fbmode)
> +{
> + fbmode->xres = vm->hactive;
> + fbmode->left_margin = vm->hback_porch;
> + fbmode->right_margin = vm->hfront_porch;
> + fbmode->hsync_len = vm->hsync_len;
> +
> + fbmode->yres = vm->vactive;
> + fbmode->upper_margin = vm->vback_porch;
> + fbmode->lower_margin = vm->vfront_porch;
> + fbmode->vsync_len = vm->vsync_len;
> +
> + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> +
> + fbmode->sync = 0;
> + fbmode->vmode = 0;
> + if (vm->hah)
> + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> + if (vm->vah)
> + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> + if (vm->interlaced)
> + fbmode->vmode |= FB_VMODE_INTERLACED;
> + if (vm->doublescan)
> + fbmode->vmode |= FB_VMODE_DOUBLE;
> +

"pixelclk-inverted" property of the panel is not percolated fb_videomode.
Please let me know if I am missing something.

Thanks,
Prakash

> + fbmode->refresh = 60;
> + fbmode->flag = 0;
> +
> + return 0;
> +}
> +EXPORT_SYMBOL_GPL(videomode_to_fb_videomode);
> +#endif
> +
> +
>  #else
>  int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var)
>  {
> diff --git a/include/linux/fb.h b/include/linux/fb.h
> index c7a9571..46c665b 100644
> --- a/include/linux/fb.h
> +++ b/include/linux/fb.h
> @@ -714,6 +714,8 @@ extern void fb_destroy_modedb(struct fb_videomode 
> *modedb);
>  extern int fb_find_mode_cvt(struct fb_videomode *mode, int margins, int rb);
>  extern unsigned char *fb_ddc_read(struct i2c_adapter *adapter);
>  
> +extern int videomode_to_fb_videomode(struct videomode *vm, struct 
> fb_videomode *fbmode);
> +
>  /* drivers/video/modedb.c */
>  #define VESA_MODEDB_SIZE 34
>  extern void fb_var_to_videomode(struct fb_videomode *mode,
> -- 
> 1.7.10.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-10-31 Thread Steffen Trumtrar
Hi Prakash!

On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > Add a function to convert from the generic videomode to a fb_videomode.
> > 
> > Signed-off-by: Steffen Trumtrar 
> > ---
> >  drivers/video/fbmon.c |   36 
> >  include/linux/fb.h|2 ++
> >  2 files changed, 38 insertions(+)
> > 
> > diff --git a/drivers/video/fbmon.c b/drivers/video/fbmon.c
> > index cef6557..b9e6ab3 100644
> > --- a/drivers/video/fbmon.c
> > +++ b/drivers/video/fbmon.c
> > @@ -1373,6 +1373,42 @@ int fb_get_mode(int flags, u32 val, struct 
> > fb_var_screeninfo *var, struct fb_inf
> > kfree(timings);
> > return err;
> >  }
> > +
> > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > *fbmode)
> > +{
> > +   fbmode->xres = vm->hactive;
> > +   fbmode->left_margin = vm->hback_porch;
> > +   fbmode->right_margin = vm->hfront_porch;
> > +   fbmode->hsync_len = vm->hsync_len;
> > +
> > +   fbmode->yres = vm->vactive;
> > +   fbmode->upper_margin = vm->vback_porch;
> > +   fbmode->lower_margin = vm->vfront_porch;
> > +   fbmode->vsync_len = vm->vsync_len;
> > +
> > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > +
> > +   fbmode->sync = 0;
> > +   fbmode->vmode = 0;
> > +   if (vm->hah)
> > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > +   if (vm->vah)
> > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > +   if (vm->interlaced)
> > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > +   if (vm->doublescan)
> > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > +
> 
> "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> Please let me know if I am missing something.
> 

You are right. I forgot that :(

Regards,
Steffen


-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


RE: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-01 Thread Manjunathappa, Prakash
Hi Steffen,

On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> Add a function to convert from the generic videomode to a fb_videomode.
> 
> Signed-off-by: Steffen Trumtrar 
> ---
>  drivers/video/fbmon.c |   36 
>  include/linux/fb.h|2 ++
>  2 files changed, 38 insertions(+)
> 
> diff --git a/drivers/video/fbmon.c b/drivers/video/fbmon.c
> index cef6557..b9e6ab3 100644
> --- a/drivers/video/fbmon.c
> +++ b/drivers/video/fbmon.c
> @@ -1373,6 +1373,42 @@ int fb_get_mode(int flags, u32 val, struct 
> fb_var_screeninfo *var, struct fb_inf
>   kfree(timings);
>   return err;
>  }
> +
> +#if IS_ENABLED(CONFIG_VIDEOMODE)
> +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> *fbmode)
> +{
> + fbmode->xres = vm->hactive;
> + fbmode->left_margin = vm->hback_porch;
> + fbmode->right_margin = vm->hfront_porch;
> + fbmode->hsync_len = vm->hsync_len;
> +
> + fbmode->yres = vm->vactive;
> + fbmode->upper_margin = vm->vback_porch;
> + fbmode->lower_margin = vm->vfront_porch;
> + fbmode->vsync_len = vm->vsync_len;
> +
> + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> +
> + fbmode->sync = 0;
> + fbmode->vmode = 0;
> + if (vm->hah)
> + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> + if (vm->vah)
> + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> + if (vm->interlaced)
> + fbmode->vmode |= FB_VMODE_INTERLACED;
> + if (vm->doublescan)
> + fbmode->vmode |= FB_VMODE_DOUBLE;
> +

"pixelclk-inverted" property of the panel is not percolated fb_videomode.
Please let me know if I am missing something.

Thanks,
Prakash

> + fbmode->refresh = 60;
> + fbmode->flag = 0;
> +
> + return 0;
> +}
> +EXPORT_SYMBOL_GPL(videomode_to_fb_videomode);
> +#endif
> +
> +
>  #else
>  int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var)
>  {
> diff --git a/include/linux/fb.h b/include/linux/fb.h
> index c7a9571..46c665b 100644
> --- a/include/linux/fb.h
> +++ b/include/linux/fb.h
> @@ -714,6 +714,8 @@ extern void fb_destroy_modedb(struct fb_videomode 
> *modedb);
>  extern int fb_find_mode_cvt(struct fb_videomode *mode, int margins, int rb);
>  extern unsigned char *fb_ddc_read(struct i2c_adapter *adapter);
>  
> +extern int videomode_to_fb_videomode(struct videomode *vm, struct 
> fb_videomode *fbmode);
> +
>  /* drivers/video/modedb.c */
>  #define VESA_MODEDB_SIZE 34
>  extern void fb_var_to_videomode(struct fb_videomode *mode,
> -- 
> 1.7.10.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-08 Thread Steffen Trumtrar
Hi!

On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > *fbmode)
> > +{
> > +   fbmode->xres = vm->hactive;
> > +   fbmode->left_margin = vm->hback_porch;
> > +   fbmode->right_margin = vm->hfront_porch;
> > +   fbmode->hsync_len = vm->hsync_len;
> > +
> > +   fbmode->yres = vm->vactive;
> > +   fbmode->upper_margin = vm->vback_porch;
> > +   fbmode->lower_margin = vm->vfront_porch;
> > +   fbmode->vsync_len = vm->vsync_len;
> > +
> > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > +
> > +   fbmode->sync = 0;
> > +   fbmode->vmode = 0;
> > +   if (vm->hah)
> > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > +   if (vm->vah)
> > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > +   if (vm->interlaced)
> > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > +   if (vm->doublescan)
> > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > +
> 
> "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> Please let me know if I am missing something.
> 

The next version is almost finished. Only thing I'm missing is this.
And I actually do not know which flag would represent an inverted pixelclock
in fb_videomode. Does anybody have any idea what I have to do here?

if (vm->pixelclk_pol)
fbmode->sync = ???

That's as far as I have come and I don't see a flag that seems right.
Is this even a valid property of fb_videomode?

Regards,
Steffen

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-09 Thread Steffen Trumtrar
Hi!

On Fri, Nov 09, 2012 at 04:54:16PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> > Hi!
> > 
> > On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > > Hi Steffen,
> > > 
> > > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > > +int videomode_to_fb_videomode(struct videomode *vm, struct 
> > > > fb_videomode *fbmode)
> > > > +{
> > > > +   fbmode->xres = vm->hactive;
> > > > +   fbmode->left_margin = vm->hback_porch;
> > > > +   fbmode->right_margin = vm->hfront_porch;
> > > > +   fbmode->hsync_len = vm->hsync_len;
> > > > +
> > > > +   fbmode->yres = vm->vactive;
> > > > +   fbmode->upper_margin = vm->vback_porch;
> > > > +   fbmode->lower_margin = vm->vfront_porch;
> > > > +   fbmode->vsync_len = vm->vsync_len;
> > > > +
> > > > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > > +
> > > > +   fbmode->sync = 0;
> > > > +   fbmode->vmode = 0;
> > > > +   if (vm->hah)
> > > > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > > +   if (vm->vah)
> > > > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > > +   if (vm->interlaced)
> > > > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > > > +   if (vm->doublescan)
> > > > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > > > +
> > > 
> > > "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> > > Please let me know if I am missing something.
> > > 
> > 
> > The next version is almost finished. Only thing I'm missing is this.
> > And I actually do not know which flag would represent an inverted pixelclock
> > in fb_videomode. Does anybody have any idea what I have to do here?
> > 
> > if (vm->pixelclk_pol)
> > fbmode->sync = ???
> > 
> > That's as far as I have come and I don't see a flag that seems right.
> > Is this even a valid property of fb_videomode?
> > 
> 
> Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_ 
> flag.
> FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h
> 

No problem. So, it seems this flag has to be set in some imx-specific
videomode_to_fb_videomode function. It is included in the
struct videomode, so that should be no problem. But it will not be
part of this series.

Regards,
Steffen

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


RE: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-12 Thread Manjunathappa, Prakash
Hi Steffen,

On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> Hi!
> 
> On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > Hi Steffen,
> > 
> > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > > *fbmode)
> > > +{
> > > + fbmode->xres = vm->hactive;
> > > + fbmode->left_margin = vm->hback_porch;
> > > + fbmode->right_margin = vm->hfront_porch;
> > > + fbmode->hsync_len = vm->hsync_len;
> > > +
> > > + fbmode->yres = vm->vactive;
> > > + fbmode->upper_margin = vm->vback_porch;
> > > + fbmode->lower_margin = vm->vfront_porch;
> > > + fbmode->vsync_len = vm->vsync_len;
> > > +
> > > + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > +
> > > + fbmode->sync = 0;
> > > + fbmode->vmode = 0;
> > > + if (vm->hah)
> > > + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > + if (vm->vah)
> > > + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > + if (vm->interlaced)
> > > + fbmode->vmode |= FB_VMODE_INTERLACED;
> > > + if (vm->doublescan)
> > > + fbmode->vmode |= FB_VMODE_DOUBLE;
> > > +
> > 
> > "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> > Please let me know if I am missing something.
> > 
> 
> The next version is almost finished. Only thing I'm missing is this.
> And I actually do not know which flag would represent an inverted pixelclock
> in fb_videomode. Does anybody have any idea what I have to do here?
> 
>   if (vm->pixelclk_pol)
>   fbmode->sync = ???
> 
> That's as far as I have come and I don't see a flag that seems right.
> Is this even a valid property of fb_videomode?
> 

Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_ flag.
FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h

Thanks,
Prakash

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-12 Thread Laurent Pinchart
Hi Steffen,

On Friday 09 November 2012 20:31:33 Steffen Trumtrar wrote:
> On Fri, Nov 09, 2012 at 04:54:16PM +, Manjunathappa, Prakash wrote:
> > On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> > > On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > > > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > > > +int videomode_to_fb_videomode(struct videomode *vm, struct
> > > > > fb_videomode *fbmode) +{
> > > > > + fbmode->xres = vm->hactive;
> > > > > + fbmode->left_margin = vm->hback_porch;
> > > > > + fbmode->right_margin = vm->hfront_porch;
> > > > > + fbmode->hsync_len = vm->hsync_len;
> > > > > +
> > > > > + fbmode->yres = vm->vactive;
> > > > > + fbmode->upper_margin = vm->vback_porch;
> > > > > + fbmode->lower_margin = vm->vfront_porch;
> > > > > + fbmode->vsync_len = vm->vsync_len;
> > > > > +
> > > > > + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > > > +
> > > > > + fbmode->sync = 0;
> > > > > + fbmode->vmode = 0;
> > > > > + if (vm->hah)
> > > > > + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > > > + if (vm->vah)
> > > > > + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > > > + if (vm->interlaced)
> > > > > + fbmode->vmode |= FB_VMODE_INTERLACED;
> > > > > + if (vm->doublescan)
> > > > > + fbmode->vmode |= FB_VMODE_DOUBLE;
> > > > > +
> > > > 
> > > > "pixelclk-inverted" property of the panel is not percolated
> > > > fb_videomode.
> > > > Please let me know if I am missing something.
> > > 
> > > The next version is almost finished. Only thing I'm missing is this.
> > > And I actually do not know which flag would represent an inverted
> > > pixelclock in fb_videomode. Does anybody have any idea what I have to
> > > do here?> > 
> > >   if (vm->pixelclk_pol)
> > >   
> > >   fbmode->sync = ???
> > > 
> > > That's as far as I have come and I don't see a flag that seems right.
> > > Is this even a valid property of fb_videomode?
> > 
> > Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_
> > flag. FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h
> 
> No problem. So, it seems this flag has to be set in some imx-specific
> videomode_to_fb_videomode function. It is included in the
> struct videomode, so that should be no problem. But it will not be
> part of this series.

A possible solution would be to standardize the FB_SYNC_CLK_INVERT flag in 
fbdev, but that's in my opinion out of scope of this patch series. iMX3 
developers, feel free to send patches :-)

-- 
Regards,

Laurent Pinchart

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-10-31 Thread Steffen Trumtrar
Hi Prakash!

On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > Add a function to convert from the generic videomode to a fb_videomode.
> > 
> > Signed-off-by: Steffen Trumtrar 
> > ---
> >  drivers/video/fbmon.c |   36 
> >  include/linux/fb.h|2 ++
> >  2 files changed, 38 insertions(+)
> > 
> > diff --git a/drivers/video/fbmon.c b/drivers/video/fbmon.c
> > index cef6557..b9e6ab3 100644
> > --- a/drivers/video/fbmon.c
> > +++ b/drivers/video/fbmon.c
> > @@ -1373,6 +1373,42 @@ int fb_get_mode(int flags, u32 val, struct 
> > fb_var_screeninfo *var, struct fb_inf
> > kfree(timings);
> > return err;
> >  }
> > +
> > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > *fbmode)
> > +{
> > +   fbmode->xres = vm->hactive;
> > +   fbmode->left_margin = vm->hback_porch;
> > +   fbmode->right_margin = vm->hfront_porch;
> > +   fbmode->hsync_len = vm->hsync_len;
> > +
> > +   fbmode->yres = vm->vactive;
> > +   fbmode->upper_margin = vm->vback_porch;
> > +   fbmode->lower_margin = vm->vfront_porch;
> > +   fbmode->vsync_len = vm->vsync_len;
> > +
> > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > +
> > +   fbmode->sync = 0;
> > +   fbmode->vmode = 0;
> > +   if (vm->hah)
> > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > +   if (vm->vah)
> > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > +   if (vm->interlaced)
> > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > +   if (vm->doublescan)
> > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > +
> 
> "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> Please let me know if I am missing something.
> 

You are right. I forgot that :(

Regards,
Steffen


-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


RE: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-01 Thread Manjunathappa, Prakash
Hi Steffen,

On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> Add a function to convert from the generic videomode to a fb_videomode.
> 
> Signed-off-by: Steffen Trumtrar 
> ---
>  drivers/video/fbmon.c |   36 
>  include/linux/fb.h|2 ++
>  2 files changed, 38 insertions(+)
> 
> diff --git a/drivers/video/fbmon.c b/drivers/video/fbmon.c
> index cef6557..b9e6ab3 100644
> --- a/drivers/video/fbmon.c
> +++ b/drivers/video/fbmon.c
> @@ -1373,6 +1373,42 @@ int fb_get_mode(int flags, u32 val, struct 
> fb_var_screeninfo *var, struct fb_inf
>   kfree(timings);
>   return err;
>  }
> +
> +#if IS_ENABLED(CONFIG_VIDEOMODE)
> +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> *fbmode)
> +{
> + fbmode->xres = vm->hactive;
> + fbmode->left_margin = vm->hback_porch;
> + fbmode->right_margin = vm->hfront_porch;
> + fbmode->hsync_len = vm->hsync_len;
> +
> + fbmode->yres = vm->vactive;
> + fbmode->upper_margin = vm->vback_porch;
> + fbmode->lower_margin = vm->vfront_porch;
> + fbmode->vsync_len = vm->vsync_len;
> +
> + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> +
> + fbmode->sync = 0;
> + fbmode->vmode = 0;
> + if (vm->hah)
> + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> + if (vm->vah)
> + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> + if (vm->interlaced)
> + fbmode->vmode |= FB_VMODE_INTERLACED;
> + if (vm->doublescan)
> + fbmode->vmode |= FB_VMODE_DOUBLE;
> +

"pixelclk-inverted" property of the panel is not percolated fb_videomode.
Please let me know if I am missing something.

Thanks,
Prakash

> + fbmode->refresh = 60;
> + fbmode->flag = 0;
> +
> + return 0;
> +}
> +EXPORT_SYMBOL_GPL(videomode_to_fb_videomode);
> +#endif
> +
> +
>  #else
>  int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var)
>  {
> diff --git a/include/linux/fb.h b/include/linux/fb.h
> index c7a9571..46c665b 100644
> --- a/include/linux/fb.h
> +++ b/include/linux/fb.h
> @@ -714,6 +714,8 @@ extern void fb_destroy_modedb(struct fb_videomode 
> *modedb);
>  extern int fb_find_mode_cvt(struct fb_videomode *mode, int margins, int rb);
>  extern unsigned char *fb_ddc_read(struct i2c_adapter *adapter);
>  
> +extern int videomode_to_fb_videomode(struct videomode *vm, struct 
> fb_videomode *fbmode);
> +
>  /* drivers/video/modedb.c */
>  #define VESA_MODEDB_SIZE 34
>  extern void fb_var_to_videomode(struct fb_videomode *mode,
> -- 
> 1.7.10.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-08 Thread Steffen Trumtrar
Hi!

On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > *fbmode)
> > +{
> > +   fbmode->xres = vm->hactive;
> > +   fbmode->left_margin = vm->hback_porch;
> > +   fbmode->right_margin = vm->hfront_porch;
> > +   fbmode->hsync_len = vm->hsync_len;
> > +
> > +   fbmode->yres = vm->vactive;
> > +   fbmode->upper_margin = vm->vback_porch;
> > +   fbmode->lower_margin = vm->vfront_porch;
> > +   fbmode->vsync_len = vm->vsync_len;
> > +
> > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > +
> > +   fbmode->sync = 0;
> > +   fbmode->vmode = 0;
> > +   if (vm->hah)
> > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > +   if (vm->vah)
> > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > +   if (vm->interlaced)
> > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > +   if (vm->doublescan)
> > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > +
> 
> "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> Please let me know if I am missing something.
> 

The next version is almost finished. Only thing I'm missing is this.
And I actually do not know which flag would represent an inverted pixelclock
in fb_videomode. Does anybody have any idea what I have to do here?

if (vm->pixelclk_pol)
fbmode->sync = ???

That's as far as I have come and I don't see a flag that seems right.
Is this even a valid property of fb_videomode?

Regards,
Steffen

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-09 Thread Steffen Trumtrar
Hi!

On Fri, Nov 09, 2012 at 04:54:16PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> > Hi!
> > 
> > On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > > Hi Steffen,
> > > 
> > > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > > +int videomode_to_fb_videomode(struct videomode *vm, struct 
> > > > fb_videomode *fbmode)
> > > > +{
> > > > +   fbmode->xres = vm->hactive;
> > > > +   fbmode->left_margin = vm->hback_porch;
> > > > +   fbmode->right_margin = vm->hfront_porch;
> > > > +   fbmode->hsync_len = vm->hsync_len;
> > > > +
> > > > +   fbmode->yres = vm->vactive;
> > > > +   fbmode->upper_margin = vm->vback_porch;
> > > > +   fbmode->lower_margin = vm->vfront_porch;
> > > > +   fbmode->vsync_len = vm->vsync_len;
> > > > +
> > > > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > > +
> > > > +   fbmode->sync = 0;
> > > > +   fbmode->vmode = 0;
> > > > +   if (vm->hah)
> > > > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > > +   if (vm->vah)
> > > > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > > +   if (vm->interlaced)
> > > > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > > > +   if (vm->doublescan)
> > > > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > > > +
> > > 
> > > "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> > > Please let me know if I am missing something.
> > > 
> > 
> > The next version is almost finished. Only thing I'm missing is this.
> > And I actually do not know which flag would represent an inverted pixelclock
> > in fb_videomode. Does anybody have any idea what I have to do here?
> > 
> > if (vm->pixelclk_pol)
> > fbmode->sync = ???
> > 
> > That's as far as I have come and I don't see a flag that seems right.
> > Is this even a valid property of fb_videomode?
> > 
> 
> Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_ 
> flag.
> FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h
> 

No problem. So, it seems this flag has to be set in some imx-specific
videomode_to_fb_videomode function. It is included in the
struct videomode, so that should be no problem. But it will not be
part of this series.

Regards,
Steffen

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


RE: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-12 Thread Manjunathappa, Prakash
Hi Steffen,

On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> Hi!
> 
> On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > Hi Steffen,
> > 
> > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > > *fbmode)
> > > +{
> > > + fbmode->xres = vm->hactive;
> > > + fbmode->left_margin = vm->hback_porch;
> > > + fbmode->right_margin = vm->hfront_porch;
> > > + fbmode->hsync_len = vm->hsync_len;
> > > +
> > > + fbmode->yres = vm->vactive;
> > > + fbmode->upper_margin = vm->vback_porch;
> > > + fbmode->lower_margin = vm->vfront_porch;
> > > + fbmode->vsync_len = vm->vsync_len;
> > > +
> > > + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > +
> > > + fbmode->sync = 0;
> > > + fbmode->vmode = 0;
> > > + if (vm->hah)
> > > + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > + if (vm->vah)
> > > + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > + if (vm->interlaced)
> > > + fbmode->vmode |= FB_VMODE_INTERLACED;
> > > + if (vm->doublescan)
> > > + fbmode->vmode |= FB_VMODE_DOUBLE;
> > > +
> > 
> > "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> > Please let me know if I am missing something.
> > 
> 
> The next version is almost finished. Only thing I'm missing is this.
> And I actually do not know which flag would represent an inverted pixelclock
> in fb_videomode. Does anybody have any idea what I have to do here?
> 
>   if (vm->pixelclk_pol)
>   fbmode->sync = ???
> 
> That's as far as I have come and I don't see a flag that seems right.
> Is this even a valid property of fb_videomode?
> 

Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_ flag.
FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h

Thanks,
Prakash

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-12 Thread Laurent Pinchart
Hi Steffen,

On Friday 09 November 2012 20:31:33 Steffen Trumtrar wrote:
> On Fri, Nov 09, 2012 at 04:54:16PM +, Manjunathappa, Prakash wrote:
> > On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> > > On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > > > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > > > +int videomode_to_fb_videomode(struct videomode *vm, struct
> > > > > fb_videomode *fbmode) +{
> > > > > + fbmode->xres = vm->hactive;
> > > > > + fbmode->left_margin = vm->hback_porch;
> > > > > + fbmode->right_margin = vm->hfront_porch;
> > > > > + fbmode->hsync_len = vm->hsync_len;
> > > > > +
> > > > > + fbmode->yres = vm->vactive;
> > > > > + fbmode->upper_margin = vm->vback_porch;
> > > > > + fbmode->lower_margin = vm->vfront_porch;
> > > > > + fbmode->vsync_len = vm->vsync_len;
> > > > > +
> > > > > + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > > > +
> > > > > + fbmode->sync = 0;
> > > > > + fbmode->vmode = 0;
> > > > > + if (vm->hah)
> > > > > + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > > > + if (vm->vah)
> > > > > + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > > > + if (vm->interlaced)
> > > > > + fbmode->vmode |= FB_VMODE_INTERLACED;
> > > > > + if (vm->doublescan)
> > > > > + fbmode->vmode |= FB_VMODE_DOUBLE;
> > > > > +
> > > > 
> > > > "pixelclk-inverted" property of the panel is not percolated
> > > > fb_videomode.
> > > > Please let me know if I am missing something.
> > > 
> > > The next version is almost finished. Only thing I'm missing is this.
> > > And I actually do not know which flag would represent an inverted
> > > pixelclock in fb_videomode. Does anybody have any idea what I have to
> > > do here?> > 
> > >   if (vm->pixelclk_pol)
> > >   
> > >   fbmode->sync = ???
> > > 
> > > That's as far as I have come and I don't see a flag that seems right.
> > > Is this even a valid property of fb_videomode?
> > 
> > Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_
> > flag. FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h
> 
> No problem. So, it seems this flag has to be set in some imx-specific
> videomode_to_fb_videomode function. It is included in the
> struct videomode, so that should be no problem. But it will not be
> part of this series.

A possible solution would be to standardize the FB_SYNC_CLK_INVERT flag in 
fbdev, but that's in my opinion out of scope of this patch series. iMX3 
developers, feel free to send patches :-)

-- 
Regards,

Laurent Pinchart

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-09 Thread Steffen Trumtrar
Hi!

On Fri, Nov 09, 2012 at 04:54:16PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> > Hi!
> > 
> > On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > > Hi Steffen,
> > > 
> > > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > > +int videomode_to_fb_videomode(struct videomode *vm, struct 
> > > > fb_videomode *fbmode)
> > > > +{
> > > > +   fbmode->xres = vm->hactive;
> > > > +   fbmode->left_margin = vm->hback_porch;
> > > > +   fbmode->right_margin = vm->hfront_porch;
> > > > +   fbmode->hsync_len = vm->hsync_len;
> > > > +
> > > > +   fbmode->yres = vm->vactive;
> > > > +   fbmode->upper_margin = vm->vback_porch;
> > > > +   fbmode->lower_margin = vm->vfront_porch;
> > > > +   fbmode->vsync_len = vm->vsync_len;
> > > > +
> > > > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > > +
> > > > +   fbmode->sync = 0;
> > > > +   fbmode->vmode = 0;
> > > > +   if (vm->hah)
> > > > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > > +   if (vm->vah)
> > > > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > > +   if (vm->interlaced)
> > > > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > > > +   if (vm->doublescan)
> > > > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > > > +
> > > 
> > > "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> > > Please let me know if I am missing something.
> > > 
> > 
> > The next version is almost finished. Only thing I'm missing is this.
> > And I actually do not know which flag would represent an inverted pixelclock
> > in fb_videomode. Does anybody have any idea what I have to do here?
> > 
> > if (vm->pixelclk_pol)
> > fbmode->sync = ???
> > 
> > That's as far as I have come and I don't see a flag that seems right.
> > Is this even a valid property of fb_videomode?
> > 
> 
> Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_ 
> flag.
> FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h
> 

No problem. So, it seems this flag has to be set in some imx-specific
videomode_to_fb_videomode function. It is included in the
struct videomode, so that should be no problem. But it will not be
part of this series.

Regards,
Steffen

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


RE: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-12 Thread Manjunathappa, Prakash
Hi Steffen,

On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> Hi!
> 
> On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > Hi Steffen,
> > 
> > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > > *fbmode)
> > > +{
> > > + fbmode->xres = vm->hactive;
> > > + fbmode->left_margin = vm->hback_porch;
> > > + fbmode->right_margin = vm->hfront_porch;
> > > + fbmode->hsync_len = vm->hsync_len;
> > > +
> > > + fbmode->yres = vm->vactive;
> > > + fbmode->upper_margin = vm->vback_porch;
> > > + fbmode->lower_margin = vm->vfront_porch;
> > > + fbmode->vsync_len = vm->vsync_len;
> > > +
> > > + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > +
> > > + fbmode->sync = 0;
> > > + fbmode->vmode = 0;
> > > + if (vm->hah)
> > > + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > + if (vm->vah)
> > > + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > + if (vm->interlaced)
> > > + fbmode->vmode |= FB_VMODE_INTERLACED;
> > > + if (vm->doublescan)
> > > + fbmode->vmode |= FB_VMODE_DOUBLE;
> > > +
> > 
> > "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> > Please let me know if I am missing something.
> > 
> 
> The next version is almost finished. Only thing I'm missing is this.
> And I actually do not know which flag would represent an inverted pixelclock
> in fb_videomode. Does anybody have any idea what I have to do here?
> 
>   if (vm->pixelclk_pol)
>   fbmode->sync = ???
> 
> That's as far as I have come and I don't see a flag that seems right.
> Is this even a valid property of fb_videomode?
> 

Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_ flag.
FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h

Thanks,
Prakash

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-12 Thread Laurent Pinchart
Hi Steffen,

On Friday 09 November 2012 20:31:33 Steffen Trumtrar wrote:
> On Fri, Nov 09, 2012 at 04:54:16PM +, Manjunathappa, Prakash wrote:
> > On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> > > On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > > > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > > > +int videomode_to_fb_videomode(struct videomode *vm, struct
> > > > > fb_videomode *fbmode) +{
> > > > > + fbmode->xres = vm->hactive;
> > > > > + fbmode->left_margin = vm->hback_porch;
> > > > > + fbmode->right_margin = vm->hfront_porch;
> > > > > + fbmode->hsync_len = vm->hsync_len;
> > > > > +
> > > > > + fbmode->yres = vm->vactive;
> > > > > + fbmode->upper_margin = vm->vback_porch;
> > > > > + fbmode->lower_margin = vm->vfront_porch;
> > > > > + fbmode->vsync_len = vm->vsync_len;
> > > > > +
> > > > > + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > > > +
> > > > > + fbmode->sync = 0;
> > > > > + fbmode->vmode = 0;
> > > > > + if (vm->hah)
> > > > > + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > > > + if (vm->vah)
> > > > > + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > > > + if (vm->interlaced)
> > > > > + fbmode->vmode |= FB_VMODE_INTERLACED;
> > > > > + if (vm->doublescan)
> > > > > + fbmode->vmode |= FB_VMODE_DOUBLE;
> > > > > +
> > > > 
> > > > "pixelclk-inverted" property of the panel is not percolated
> > > > fb_videomode.
> > > > Please let me know if I am missing something.
> > > 
> > > The next version is almost finished. Only thing I'm missing is this.
> > > And I actually do not know which flag would represent an inverted
> > > pixelclock in fb_videomode. Does anybody have any idea what I have to
> > > do here?> > 
> > >   if (vm->pixelclk_pol)
> > >   
> > >   fbmode->sync = ???
> > > 
> > > That's as far as I have come and I don't see a flag that seems right.
> > > Is this even a valid property of fb_videomode?
> > 
> > Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_
> > flag. FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h
> 
> No problem. So, it seems this flag has to be set in some imx-specific
> videomode_to_fb_videomode function. It is included in the
> struct videomode, so that should be no problem. But it will not be
> part of this series.

A possible solution would be to standardize the FB_SYNC_CLK_INVERT flag in 
fbdev, but that's in my opinion out of scope of this patch series. iMX3 
developers, feel free to send patches :-)

-- 
Regards,

Laurent Pinchart

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-10-31 Thread Steffen Trumtrar
Hi Prakash!

On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > Add a function to convert from the generic videomode to a fb_videomode.
> > 
> > Signed-off-by: Steffen Trumtrar 
> > ---
> >  drivers/video/fbmon.c |   36 
> >  include/linux/fb.h|2 ++
> >  2 files changed, 38 insertions(+)
> > 
> > diff --git a/drivers/video/fbmon.c b/drivers/video/fbmon.c
> > index cef6557..b9e6ab3 100644
> > --- a/drivers/video/fbmon.c
> > +++ b/drivers/video/fbmon.c
> > @@ -1373,6 +1373,42 @@ int fb_get_mode(int flags, u32 val, struct 
> > fb_var_screeninfo *var, struct fb_inf
> > kfree(timings);
> > return err;
> >  }
> > +
> > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > *fbmode)
> > +{
> > +   fbmode->xres = vm->hactive;
> > +   fbmode->left_margin = vm->hback_porch;
> > +   fbmode->right_margin = vm->hfront_porch;
> > +   fbmode->hsync_len = vm->hsync_len;
> > +
> > +   fbmode->yres = vm->vactive;
> > +   fbmode->upper_margin = vm->vback_porch;
> > +   fbmode->lower_margin = vm->vfront_porch;
> > +   fbmode->vsync_len = vm->vsync_len;
> > +
> > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > +
> > +   fbmode->sync = 0;
> > +   fbmode->vmode = 0;
> > +   if (vm->hah)
> > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > +   if (vm->vah)
> > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > +   if (vm->interlaced)
> > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > +   if (vm->doublescan)
> > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > +
> 
> "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> Please let me know if I am missing something.
> 

You are right. I forgot that :(

Regards,
Steffen


-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


RE: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-01 Thread Manjunathappa, Prakash
Hi Steffen,

On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> Add a function to convert from the generic videomode to a fb_videomode.
> 
> Signed-off-by: Steffen Trumtrar 
> ---
>  drivers/video/fbmon.c |   36 
>  include/linux/fb.h|2 ++
>  2 files changed, 38 insertions(+)
> 
> diff --git a/drivers/video/fbmon.c b/drivers/video/fbmon.c
> index cef6557..b9e6ab3 100644
> --- a/drivers/video/fbmon.c
> +++ b/drivers/video/fbmon.c
> @@ -1373,6 +1373,42 @@ int fb_get_mode(int flags, u32 val, struct 
> fb_var_screeninfo *var, struct fb_inf
>   kfree(timings);
>   return err;
>  }
> +
> +#if IS_ENABLED(CONFIG_VIDEOMODE)
> +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> *fbmode)
> +{
> + fbmode->xres = vm->hactive;
> + fbmode->left_margin = vm->hback_porch;
> + fbmode->right_margin = vm->hfront_porch;
> + fbmode->hsync_len = vm->hsync_len;
> +
> + fbmode->yres = vm->vactive;
> + fbmode->upper_margin = vm->vback_porch;
> + fbmode->lower_margin = vm->vfront_porch;
> + fbmode->vsync_len = vm->vsync_len;
> +
> + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> +
> + fbmode->sync = 0;
> + fbmode->vmode = 0;
> + if (vm->hah)
> + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> + if (vm->vah)
> + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> + if (vm->interlaced)
> + fbmode->vmode |= FB_VMODE_INTERLACED;
> + if (vm->doublescan)
> + fbmode->vmode |= FB_VMODE_DOUBLE;
> +

"pixelclk-inverted" property of the panel is not percolated fb_videomode.
Please let me know if I am missing something.

Thanks,
Prakash

> + fbmode->refresh = 60;
> + fbmode->flag = 0;
> +
> + return 0;
> +}
> +EXPORT_SYMBOL_GPL(videomode_to_fb_videomode);
> +#endif
> +
> +
>  #else
>  int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var)
>  {
> diff --git a/include/linux/fb.h b/include/linux/fb.h
> index c7a9571..46c665b 100644
> --- a/include/linux/fb.h
> +++ b/include/linux/fb.h
> @@ -714,6 +714,8 @@ extern void fb_destroy_modedb(struct fb_videomode 
> *modedb);
>  extern int fb_find_mode_cvt(struct fb_videomode *mode, int margins, int rb);
>  extern unsigned char *fb_ddc_read(struct i2c_adapter *adapter);
>  
> +extern int videomode_to_fb_videomode(struct videomode *vm, struct 
> fb_videomode *fbmode);
> +
>  /* drivers/video/modedb.c */
>  #define VESA_MODEDB_SIZE 34
>  extern void fb_var_to_videomode(struct fb_videomode *mode,
> -- 
> 1.7.10.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-08 Thread Steffen Trumtrar
Hi!

On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > *fbmode)
> > +{
> > +   fbmode->xres = vm->hactive;
> > +   fbmode->left_margin = vm->hback_porch;
> > +   fbmode->right_margin = vm->hfront_porch;
> > +   fbmode->hsync_len = vm->hsync_len;
> > +
> > +   fbmode->yres = vm->vactive;
> > +   fbmode->upper_margin = vm->vback_porch;
> > +   fbmode->lower_margin = vm->vfront_porch;
> > +   fbmode->vsync_len = vm->vsync_len;
> > +
> > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > +
> > +   fbmode->sync = 0;
> > +   fbmode->vmode = 0;
> > +   if (vm->hah)
> > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > +   if (vm->vah)
> > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > +   if (vm->interlaced)
> > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > +   if (vm->doublescan)
> > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > +
> 
> "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> Please let me know if I am missing something.
> 

The next version is almost finished. Only thing I'm missing is this.
And I actually do not know which flag would represent an inverted pixelclock
in fb_videomode. Does anybody have any idea what I have to do here?

if (vm->pixelclk_pol)
fbmode->sync = ???

That's as far as I have come and I don't see a flag that seems right.
Is this even a valid property of fb_videomode?

Regards,
Steffen

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-10-31 Thread Steffen Trumtrar
Hi Prakash!

On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > Add a function to convert from the generic videomode to a fb_videomode.
> > 
> > Signed-off-by: Steffen Trumtrar 
> > ---
> >  drivers/video/fbmon.c |   36 
> >  include/linux/fb.h|2 ++
> >  2 files changed, 38 insertions(+)
> > 
> > diff --git a/drivers/video/fbmon.c b/drivers/video/fbmon.c
> > index cef6557..b9e6ab3 100644
> > --- a/drivers/video/fbmon.c
> > +++ b/drivers/video/fbmon.c
> > @@ -1373,6 +1373,42 @@ int fb_get_mode(int flags, u32 val, struct 
> > fb_var_screeninfo *var, struct fb_inf
> > kfree(timings);
> > return err;
> >  }
> > +
> > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > *fbmode)
> > +{
> > +   fbmode->xres = vm->hactive;
> > +   fbmode->left_margin = vm->hback_porch;
> > +   fbmode->right_margin = vm->hfront_porch;
> > +   fbmode->hsync_len = vm->hsync_len;
> > +
> > +   fbmode->yres = vm->vactive;
> > +   fbmode->upper_margin = vm->vback_porch;
> > +   fbmode->lower_margin = vm->vfront_porch;
> > +   fbmode->vsync_len = vm->vsync_len;
> > +
> > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > +
> > +   fbmode->sync = 0;
> > +   fbmode->vmode = 0;
> > +   if (vm->hah)
> > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > +   if (vm->vah)
> > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > +   if (vm->interlaced)
> > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > +   if (vm->doublescan)
> > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > +
> 
> "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> Please let me know if I am missing something.
> 

You are right. I forgot that :(

Regards,
Steffen


-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


RE: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-01 Thread Manjunathappa, Prakash
Hi Steffen,

On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> Add a function to convert from the generic videomode to a fb_videomode.
> 
> Signed-off-by: Steffen Trumtrar 
> ---
>  drivers/video/fbmon.c |   36 
>  include/linux/fb.h|2 ++
>  2 files changed, 38 insertions(+)
> 
> diff --git a/drivers/video/fbmon.c b/drivers/video/fbmon.c
> index cef6557..b9e6ab3 100644
> --- a/drivers/video/fbmon.c
> +++ b/drivers/video/fbmon.c
> @@ -1373,6 +1373,42 @@ int fb_get_mode(int flags, u32 val, struct 
> fb_var_screeninfo *var, struct fb_inf
>   kfree(timings);
>   return err;
>  }
> +
> +#if IS_ENABLED(CONFIG_VIDEOMODE)
> +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> *fbmode)
> +{
> + fbmode->xres = vm->hactive;
> + fbmode->left_margin = vm->hback_porch;
> + fbmode->right_margin = vm->hfront_porch;
> + fbmode->hsync_len = vm->hsync_len;
> +
> + fbmode->yres = vm->vactive;
> + fbmode->upper_margin = vm->vback_porch;
> + fbmode->lower_margin = vm->vfront_porch;
> + fbmode->vsync_len = vm->vsync_len;
> +
> + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> +
> + fbmode->sync = 0;
> + fbmode->vmode = 0;
> + if (vm->hah)
> + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> + if (vm->vah)
> + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> + if (vm->interlaced)
> + fbmode->vmode |= FB_VMODE_INTERLACED;
> + if (vm->doublescan)
> + fbmode->vmode |= FB_VMODE_DOUBLE;
> +

"pixelclk-inverted" property of the panel is not percolated fb_videomode.
Please let me know if I am missing something.

Thanks,
Prakash

> + fbmode->refresh = 60;
> + fbmode->flag = 0;
> +
> + return 0;
> +}
> +EXPORT_SYMBOL_GPL(videomode_to_fb_videomode);
> +#endif
> +
> +
>  #else
>  int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var)
>  {
> diff --git a/include/linux/fb.h b/include/linux/fb.h
> index c7a9571..46c665b 100644
> --- a/include/linux/fb.h
> +++ b/include/linux/fb.h
> @@ -714,6 +714,8 @@ extern void fb_destroy_modedb(struct fb_videomode 
> *modedb);
>  extern int fb_find_mode_cvt(struct fb_videomode *mode, int margins, int rb);
>  extern unsigned char *fb_ddc_read(struct i2c_adapter *adapter);
>  
> +extern int videomode_to_fb_videomode(struct videomode *vm, struct 
> fb_videomode *fbmode);
> +
>  /* drivers/video/modedb.c */
>  #define VESA_MODEDB_SIZE 34
>  extern void fb_var_to_videomode(struct fb_videomode *mode,
> -- 
> 1.7.10.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-08 Thread Steffen Trumtrar
Hi!

On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > *fbmode)
> > +{
> > +   fbmode->xres = vm->hactive;
> > +   fbmode->left_margin = vm->hback_porch;
> > +   fbmode->right_margin = vm->hfront_porch;
> > +   fbmode->hsync_len = vm->hsync_len;
> > +
> > +   fbmode->yres = vm->vactive;
> > +   fbmode->upper_margin = vm->vback_porch;
> > +   fbmode->lower_margin = vm->vfront_porch;
> > +   fbmode->vsync_len = vm->vsync_len;
> > +
> > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > +
> > +   fbmode->sync = 0;
> > +   fbmode->vmode = 0;
> > +   if (vm->hah)
> > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > +   if (vm->vah)
> > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > +   if (vm->interlaced)
> > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > +   if (vm->doublescan)
> > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > +
> 
> "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> Please let me know if I am missing something.
> 

The next version is almost finished. Only thing I'm missing is this.
And I actually do not know which flag would represent an inverted pixelclock
in fb_videomode. Does anybody have any idea what I have to do here?

if (vm->pixelclk_pol)
fbmode->sync = ???

That's as far as I have come and I don't see a flag that seems right.
Is this even a valid property of fb_videomode?

Regards,
Steffen

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-09 Thread Steffen Trumtrar
Hi!

On Fri, Nov 09, 2012 at 04:54:16PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> > Hi!
> > 
> > On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > > Hi Steffen,
> > > 
> > > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > > +int videomode_to_fb_videomode(struct videomode *vm, struct 
> > > > fb_videomode *fbmode)
> > > > +{
> > > > +   fbmode->xres = vm->hactive;
> > > > +   fbmode->left_margin = vm->hback_porch;
> > > > +   fbmode->right_margin = vm->hfront_porch;
> > > > +   fbmode->hsync_len = vm->hsync_len;
> > > > +
> > > > +   fbmode->yres = vm->vactive;
> > > > +   fbmode->upper_margin = vm->vback_porch;
> > > > +   fbmode->lower_margin = vm->vfront_porch;
> > > > +   fbmode->vsync_len = vm->vsync_len;
> > > > +
> > > > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > > +
> > > > +   fbmode->sync = 0;
> > > > +   fbmode->vmode = 0;
> > > > +   if (vm->hah)
> > > > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > > +   if (vm->vah)
> > > > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > > +   if (vm->interlaced)
> > > > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > > > +   if (vm->doublescan)
> > > > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > > > +
> > > 
> > > "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> > > Please let me know if I am missing something.
> > > 
> > 
> > The next version is almost finished. Only thing I'm missing is this.
> > And I actually do not know which flag would represent an inverted pixelclock
> > in fb_videomode. Does anybody have any idea what I have to do here?
> > 
> > if (vm->pixelclk_pol)
> > fbmode->sync = ???
> > 
> > That's as far as I have come and I don't see a flag that seems right.
> > Is this even a valid property of fb_videomode?
> > 
> 
> Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_ 
> flag.
> FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h
> 

No problem. So, it seems this flag has to be set in some imx-specific
videomode_to_fb_videomode function. It is included in the
struct videomode, so that should be no problem. But it will not be
part of this series.

Regards,
Steffen

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


RE: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-12 Thread Manjunathappa, Prakash
Hi Steffen,

On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> Hi!
> 
> On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > Hi Steffen,
> > 
> > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > > *fbmode)
> > > +{
> > > + fbmode->xres = vm->hactive;
> > > + fbmode->left_margin = vm->hback_porch;
> > > + fbmode->right_margin = vm->hfront_porch;
> > > + fbmode->hsync_len = vm->hsync_len;
> > > +
> > > + fbmode->yres = vm->vactive;
> > > + fbmode->upper_margin = vm->vback_porch;
> > > + fbmode->lower_margin = vm->vfront_porch;
> > > + fbmode->vsync_len = vm->vsync_len;
> > > +
> > > + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > +
> > > + fbmode->sync = 0;
> > > + fbmode->vmode = 0;
> > > + if (vm->hah)
> > > + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > + if (vm->vah)
> > > + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > + if (vm->interlaced)
> > > + fbmode->vmode |= FB_VMODE_INTERLACED;
> > > + if (vm->doublescan)
> > > + fbmode->vmode |= FB_VMODE_DOUBLE;
> > > +
> > 
> > "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> > Please let me know if I am missing something.
> > 
> 
> The next version is almost finished. Only thing I'm missing is this.
> And I actually do not know which flag would represent an inverted pixelclock
> in fb_videomode. Does anybody have any idea what I have to do here?
> 
>   if (vm->pixelclk_pol)
>   fbmode->sync = ???
> 
> That's as far as I have come and I don't see a flag that seems right.
> Is this even a valid property of fb_videomode?
> 

Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_ flag.
FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h

Thanks,
Prakash

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-12 Thread Laurent Pinchart
Hi Steffen,

On Friday 09 November 2012 20:31:33 Steffen Trumtrar wrote:
> On Fri, Nov 09, 2012 at 04:54:16PM +, Manjunathappa, Prakash wrote:
> > On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> > > On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > > > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > > > +int videomode_to_fb_videomode(struct videomode *vm, struct
> > > > > fb_videomode *fbmode) +{
> > > > > + fbmode->xres = vm->hactive;
> > > > > + fbmode->left_margin = vm->hback_porch;
> > > > > + fbmode->right_margin = vm->hfront_porch;
> > > > > + fbmode->hsync_len = vm->hsync_len;
> > > > > +
> > > > > + fbmode->yres = vm->vactive;
> > > > > + fbmode->upper_margin = vm->vback_porch;
> > > > > + fbmode->lower_margin = vm->vfront_porch;
> > > > > + fbmode->vsync_len = vm->vsync_len;
> > > > > +
> > > > > + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > > > +
> > > > > + fbmode->sync = 0;
> > > > > + fbmode->vmode = 0;
> > > > > + if (vm->hah)
> > > > > + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > > > + if (vm->vah)
> > > > > + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > > > + if (vm->interlaced)
> > > > > + fbmode->vmode |= FB_VMODE_INTERLACED;
> > > > > + if (vm->doublescan)
> > > > > + fbmode->vmode |= FB_VMODE_DOUBLE;
> > > > > +
> > > > 
> > > > "pixelclk-inverted" property of the panel is not percolated
> > > > fb_videomode.
> > > > Please let me know if I am missing something.
> > > 
> > > The next version is almost finished. Only thing I'm missing is this.
> > > And I actually do not know which flag would represent an inverted
> > > pixelclock in fb_videomode. Does anybody have any idea what I have to
> > > do here?> > 
> > >   if (vm->pixelclk_pol)
> > >   
> > >   fbmode->sync = ???
> > > 
> > > That's as far as I have come and I don't see a flag that seems right.
> > > Is this even a valid property of fb_videomode?
> > 
> > Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_
> > flag. FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h
> 
> No problem. So, it seems this flag has to be set in some imx-specific
> videomode_to_fb_videomode function. It is included in the
> struct videomode, so that should be no problem. But it will not be
> part of this series.

A possible solution would be to standardize the FB_SYNC_CLK_INVERT flag in 
fbdev, but that's in my opinion out of scope of this patch series. iMX3 
developers, feel free to send patches :-)

-- 
Regards,

Laurent Pinchart

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-10-31 Thread Steffen Trumtrar
Hi Prakash!

On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > Add a function to convert from the generic videomode to a fb_videomode.
> > 
> > Signed-off-by: Steffen Trumtrar 
> > ---
> >  drivers/video/fbmon.c |   36 
> >  include/linux/fb.h|2 ++
> >  2 files changed, 38 insertions(+)
> > 
> > diff --git a/drivers/video/fbmon.c b/drivers/video/fbmon.c
> > index cef6557..b9e6ab3 100644
> > --- a/drivers/video/fbmon.c
> > +++ b/drivers/video/fbmon.c
> > @@ -1373,6 +1373,42 @@ int fb_get_mode(int flags, u32 val, struct 
> > fb_var_screeninfo *var, struct fb_inf
> > kfree(timings);
> > return err;
> >  }
> > +
> > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > *fbmode)
> > +{
> > +   fbmode->xres = vm->hactive;
> > +   fbmode->left_margin = vm->hback_porch;
> > +   fbmode->right_margin = vm->hfront_porch;
> > +   fbmode->hsync_len = vm->hsync_len;
> > +
> > +   fbmode->yres = vm->vactive;
> > +   fbmode->upper_margin = vm->vback_porch;
> > +   fbmode->lower_margin = vm->vfront_porch;
> > +   fbmode->vsync_len = vm->vsync_len;
> > +
> > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > +
> > +   fbmode->sync = 0;
> > +   fbmode->vmode = 0;
> > +   if (vm->hah)
> > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > +   if (vm->vah)
> > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > +   if (vm->interlaced)
> > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > +   if (vm->doublescan)
> > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > +
> 
> "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> Please let me know if I am missing something.
> 

You are right. I forgot that :(

Regards,
Steffen


-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


RE: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-01 Thread Manjunathappa, Prakash
Hi Steffen,

On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> Add a function to convert from the generic videomode to a fb_videomode.
> 
> Signed-off-by: Steffen Trumtrar 
> ---
>  drivers/video/fbmon.c |   36 
>  include/linux/fb.h|2 ++
>  2 files changed, 38 insertions(+)
> 
> diff --git a/drivers/video/fbmon.c b/drivers/video/fbmon.c
> index cef6557..b9e6ab3 100644
> --- a/drivers/video/fbmon.c
> +++ b/drivers/video/fbmon.c
> @@ -1373,6 +1373,42 @@ int fb_get_mode(int flags, u32 val, struct 
> fb_var_screeninfo *var, struct fb_inf
>   kfree(timings);
>   return err;
>  }
> +
> +#if IS_ENABLED(CONFIG_VIDEOMODE)
> +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> *fbmode)
> +{
> + fbmode->xres = vm->hactive;
> + fbmode->left_margin = vm->hback_porch;
> + fbmode->right_margin = vm->hfront_porch;
> + fbmode->hsync_len = vm->hsync_len;
> +
> + fbmode->yres = vm->vactive;
> + fbmode->upper_margin = vm->vback_porch;
> + fbmode->lower_margin = vm->vfront_porch;
> + fbmode->vsync_len = vm->vsync_len;
> +
> + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> +
> + fbmode->sync = 0;
> + fbmode->vmode = 0;
> + if (vm->hah)
> + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> + if (vm->vah)
> + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> + if (vm->interlaced)
> + fbmode->vmode |= FB_VMODE_INTERLACED;
> + if (vm->doublescan)
> + fbmode->vmode |= FB_VMODE_DOUBLE;
> +

"pixelclk-inverted" property of the panel is not percolated fb_videomode.
Please let me know if I am missing something.

Thanks,
Prakash

> + fbmode->refresh = 60;
> + fbmode->flag = 0;
> +
> + return 0;
> +}
> +EXPORT_SYMBOL_GPL(videomode_to_fb_videomode);
> +#endif
> +
> +
>  #else
>  int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var)
>  {
> diff --git a/include/linux/fb.h b/include/linux/fb.h
> index c7a9571..46c665b 100644
> --- a/include/linux/fb.h
> +++ b/include/linux/fb.h
> @@ -714,6 +714,8 @@ extern void fb_destroy_modedb(struct fb_videomode 
> *modedb);
>  extern int fb_find_mode_cvt(struct fb_videomode *mode, int margins, int rb);
>  extern unsigned char *fb_ddc_read(struct i2c_adapter *adapter);
>  
> +extern int videomode_to_fb_videomode(struct videomode *vm, struct 
> fb_videomode *fbmode);
> +
>  /* drivers/video/modedb.c */
>  #define VESA_MODEDB_SIZE 34
>  extern void fb_var_to_videomode(struct fb_videomode *mode,
> -- 
> 1.7.10.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-08 Thread Steffen Trumtrar
Hi!

On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > *fbmode)
> > +{
> > +   fbmode->xres = vm->hactive;
> > +   fbmode->left_margin = vm->hback_porch;
> > +   fbmode->right_margin = vm->hfront_porch;
> > +   fbmode->hsync_len = vm->hsync_len;
> > +
> > +   fbmode->yres = vm->vactive;
> > +   fbmode->upper_margin = vm->vback_porch;
> > +   fbmode->lower_margin = vm->vfront_porch;
> > +   fbmode->vsync_len = vm->vsync_len;
> > +
> > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > +
> > +   fbmode->sync = 0;
> > +   fbmode->vmode = 0;
> > +   if (vm->hah)
> > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > +   if (vm->vah)
> > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > +   if (vm->interlaced)
> > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > +   if (vm->doublescan)
> > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > +
> 
> "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> Please let me know if I am missing something.
> 

The next version is almost finished. Only thing I'm missing is this.
And I actually do not know which flag would represent an inverted pixelclock
in fb_videomode. Does anybody have any idea what I have to do here?

if (vm->pixelclk_pol)
fbmode->sync = ???

That's as far as I have come and I don't see a flag that seems right.
Is this even a valid property of fb_videomode?

Regards,
Steffen

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-09 Thread Steffen Trumtrar
Hi!

On Fri, Nov 09, 2012 at 04:54:16PM +, Manjunathappa, Prakash wrote:
> Hi Steffen,
> 
> On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> > Hi!
> > 
> > On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > > Hi Steffen,
> > > 
> > > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > > +int videomode_to_fb_videomode(struct videomode *vm, struct 
> > > > fb_videomode *fbmode)
> > > > +{
> > > > +   fbmode->xres = vm->hactive;
> > > > +   fbmode->left_margin = vm->hback_porch;
> > > > +   fbmode->right_margin = vm->hfront_porch;
> > > > +   fbmode->hsync_len = vm->hsync_len;
> > > > +
> > > > +   fbmode->yres = vm->vactive;
> > > > +   fbmode->upper_margin = vm->vback_porch;
> > > > +   fbmode->lower_margin = vm->vfront_porch;
> > > > +   fbmode->vsync_len = vm->vsync_len;
> > > > +
> > > > +   fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > > +
> > > > +   fbmode->sync = 0;
> > > > +   fbmode->vmode = 0;
> > > > +   if (vm->hah)
> > > > +   fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > > +   if (vm->vah)
> > > > +   fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > > +   if (vm->interlaced)
> > > > +   fbmode->vmode |= FB_VMODE_INTERLACED;
> > > > +   if (vm->doublescan)
> > > > +   fbmode->vmode |= FB_VMODE_DOUBLE;
> > > > +
> > > 
> > > "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> > > Please let me know if I am missing something.
> > > 
> > 
> > The next version is almost finished. Only thing I'm missing is this.
> > And I actually do not know which flag would represent an inverted pixelclock
> > in fb_videomode. Does anybody have any idea what I have to do here?
> > 
> > if (vm->pixelclk_pol)
> > fbmode->sync = ???
> > 
> > That's as far as I have come and I don't see a flag that seems right.
> > Is this even a valid property of fb_videomode?
> > 
> 
> Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_ 
> flag.
> FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h
> 

No problem. So, it seems this flag has to be set in some imx-specific
videomode_to_fb_videomode function. It is included in the
struct videomode, so that should be no problem. But it will not be
part of this series.

Regards,
Steffen

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


RE: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-12 Thread Manjunathappa, Prakash
Hi Steffen,

On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> Hi!
> 
> On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > Hi Steffen,
> > 
> > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > +int videomode_to_fb_videomode(struct videomode *vm, struct fb_videomode 
> > > *fbmode)
> > > +{
> > > + fbmode->xres = vm->hactive;
> > > + fbmode->left_margin = vm->hback_porch;
> > > + fbmode->right_margin = vm->hfront_porch;
> > > + fbmode->hsync_len = vm->hsync_len;
> > > +
> > > + fbmode->yres = vm->vactive;
> > > + fbmode->upper_margin = vm->vback_porch;
> > > + fbmode->lower_margin = vm->vfront_porch;
> > > + fbmode->vsync_len = vm->vsync_len;
> > > +
> > > + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > +
> > > + fbmode->sync = 0;
> > > + fbmode->vmode = 0;
> > > + if (vm->hah)
> > > + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > + if (vm->vah)
> > > + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > + if (vm->interlaced)
> > > + fbmode->vmode |= FB_VMODE_INTERLACED;
> > > + if (vm->doublescan)
> > > + fbmode->vmode |= FB_VMODE_DOUBLE;
> > > +
> > 
> > "pixelclk-inverted" property of the panel is not percolated fb_videomode.
> > Please let me know if I am missing something.
> > 
> 
> The next version is almost finished. Only thing I'm missing is this.
> And I actually do not know which flag would represent an inverted pixelclock
> in fb_videomode. Does anybody have any idea what I have to do here?
> 
>   if (vm->pixelclk_pol)
>   fbmode->sync = ???
> 
> That's as far as I have come and I don't see a flag that seems right.
> Is this even a valid property of fb_videomode?
> 

Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_ flag.
FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h

Thanks,
Prakash

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v7 5/8] fbmon: add videomode helpers

2012-11-12 Thread Laurent Pinchart
Hi Steffen,

On Friday 09 November 2012 20:31:33 Steffen Trumtrar wrote:
> On Fri, Nov 09, 2012 at 04:54:16PM +, Manjunathappa, Prakash wrote:
> > On Fri, Nov 09, 2012 at 02:55:45, Steffen Trumtrar wrote:
> > > On Wed, Oct 31, 2012 at 03:30:03PM +, Manjunathappa, Prakash wrote:
> > > > On Wed, Oct 31, 2012 at 14:58:05, Steffen Trumtrar wrote:
> > > > > +#if IS_ENABLED(CONFIG_VIDEOMODE)
> > > > > +int videomode_to_fb_videomode(struct videomode *vm, struct
> > > > > fb_videomode *fbmode) +{
> > > > > + fbmode->xres = vm->hactive;
> > > > > + fbmode->left_margin = vm->hback_porch;
> > > > > + fbmode->right_margin = vm->hfront_porch;
> > > > > + fbmode->hsync_len = vm->hsync_len;
> > > > > +
> > > > > + fbmode->yres = vm->vactive;
> > > > > + fbmode->upper_margin = vm->vback_porch;
> > > > > + fbmode->lower_margin = vm->vfront_porch;
> > > > > + fbmode->vsync_len = vm->vsync_len;
> > > > > +
> > > > > + fbmode->pixclock = KHZ2PICOS(vm->pixelclock / 1000);
> > > > > +
> > > > > + fbmode->sync = 0;
> > > > > + fbmode->vmode = 0;
> > > > > + if (vm->hah)
> > > > > + fbmode->sync |= FB_SYNC_HOR_HIGH_ACT;
> > > > > + if (vm->vah)
> > > > > + fbmode->sync |= FB_SYNC_VERT_HIGH_ACT;
> > > > > + if (vm->interlaced)
> > > > > + fbmode->vmode |= FB_VMODE_INTERLACED;
> > > > > + if (vm->doublescan)
> > > > > + fbmode->vmode |= FB_VMODE_DOUBLE;
> > > > > +
> > > > 
> > > > "pixelclk-inverted" property of the panel is not percolated
> > > > fb_videomode.
> > > > Please let me know if I am missing something.
> > > 
> > > The next version is almost finished. Only thing I'm missing is this.
> > > And I actually do not know which flag would represent an inverted
> > > pixelclock in fb_videomode. Does anybody have any idea what I have to
> > > do here?> > 
> > >   if (vm->pixelclk_pol)
> > >   
> > >   fbmode->sync = ???
> > > 
> > > That's as far as I have come and I don't see a flag that seems right.
> > > Is this even a valid property of fb_videomode?
> > 
> > Thanks for considering it, I see IMX addresses it as proprietary FB_SYNC_
> > flag. FB_SYNC_CLK_INVERT: arch/arm/plat-mxc/include/mach/mx3fb.h
> 
> No problem. So, it seems this flag has to be set in some imx-specific
> videomode_to_fb_videomode function. It is included in the
> struct videomode, so that should be no problem. But it will not be
> part of this series.

A possible solution would be to standardize the FB_SYNC_CLK_INVERT flag in 
fbdev, but that's in my opinion out of scope of this patch series. iMX3 
developers, feel free to send patches :-)

-- 
Regards,

Laurent Pinchart

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel