From: Paul M. <pau...@us...> - 2009-03-10 16:17:33
Attachments:
linux-2.6.27-gentoo-r8-interlace.diff
|
Dear developers, using for example a VGA-to-SCART-adapter the VGA2SCART¹ project [1] tries to drive for example a TV set by the graphic card. To get a picture right from the beginning, Thomas Hilber wrote some patches, we would like to get merged upstream. Unfortunately this is my first contact to the kernel and I do not know if what I am doing is the adheres to the standard procedure. The patch [2] would be for radeon and intel cards, but for starters I am just including directly those for the intel one. It is adapted by Petric Frank for Gentoo. I guess additional modelines to modedb.c should not be a problem. How about the other changes? Could a new kernel option be introduced to disable DPLL_A VCO and to lower MIN_CLOCK, or should 12000 be safe? After your response, we would clean up the patch and resubmit. I’m afraid, I did not find clear instructions how to do it. The DRI website [3] mostly still talks about CVS. Is this message from Dave [4] the up to date one? What repository should I use for cloning drm-intel [5] or drm-2.6 from Dave? If you could give me or point me to some instructions I would be very thankful. Thanks a lot, Paul ¹ This name is just temporary. [1] http://vga2scart.gw90.de/ [2] http://git.hellersdorfer-jugendchor.de/?p=vga2scart.git;a=blob;f=patches/fb-radeon-intel.patch;h=6292c031f8ab67ac0fc7f2d031870fe994eed57a;hb=f560a83274cf13f7fe99a9f4d9e9ef1ccf69b0c4 [3] http://dri.freedesktop.org/wiki/Development [4] http://git.kernel.org/?p=linux/kernel/git/airlied/drm-2.6.git;a=summary [5] http://intellinuxgraphics.org/download.html diff -urN linux-2.6.27-gentoo-r8.org/drivers/video/intelfb/intelfbdrv.c linux-2.6.27-gentoo-r8/drivers/video/intelfb/intelfbdrv.c --- linux-2.6.27-gentoo-r8.org/drivers/video/intelfb/intelfbdrv.c 2008-10-10 00:13:53.000000000 +0200 +++ linux-2.6.27-gentoo-r8/drivers/video/intelfb/intelfbdrv.c 2009-03-09 18:09:09.000000000 +0100 @@ -1359,6 +1359,9 @@ DBG_MSG("intelfb_set_par (%dx%d-%d)\n", info->var.xres, info->var.yres, info->var.bits_per_pixel); + WRN_MSG("disabled DPLL_A VCO for interlaced mode 800x520@50i\n"); + OUTREG(DPLL_A, INREG(DPLL_A) & ~DPLL_VCO_ENABLE); + intelfb_blank(FB_BLANK_POWERDOWN, info); if (ACCEL(dinfo, info)) diff -urN linux-2.6.27-gentoo-r8.org/drivers/video/intelfb/intelfbhw.c linux-2.6.27-gentoo-r8/drivers/video/intelfb/intelfbhw.c --- linux-2.6.27-gentoo-r8.org/drivers/video/intelfb/intelfbhw.c 2008-10-10 00:13:53.000000000 +0200 +++ linux-2.6.27-gentoo-r8/drivers/video/intelfb/intelfbhw.c 2009-03-09 18:11:31.000000000 +0100 @@ -353,6 +353,12 @@ /* Check if clock is OK. */ tmp = 1000000000 / var->pixclock; + + WRN_MSG("lowered MIN_CLOCK from %d MHz -> ", MIN_CLOCK / 1000); +#undef MIN_CLOCK +#define MIN_CLOCK 12000 + printk("%d MHz\n", MIN_CLOCK / 1000); + if (tmp < MIN_CLOCK) { WRN_MSG("Pixel clock is too low (%d MHz vs %d MHz).\n", (tmp + 500) / 1000, MIN_CLOCK / 1000); diff -urN linux-2.6.27-gentoo-r8.org/drivers/video/modedb.c linux-2.6.27-gentoo-r8/drivers/video/modedb.c --- linux-2.6.27-gentoo-r8.org/drivers/video/modedb.c 2008-10-10 00:13:53.000000000 +0200 +++ linux-2.6.27-gentoo-r8/drivers/video/modedb.c 2009-03-09 18:15:17.000000000 +0100 @@ -264,6 +264,14 @@ /* 1280x800, 60 Hz, 47.403 kHz hsync, WXGA 16:10 aspect ratio */ NULL, 60, 1280, 800, 12048, 200, 64, 24, 1, 136, 3, 0, FB_VMODE_NONINTERLACED + }, { + /* 720x576i @ 50 Hz, 15.625 kHz hsync (PAL RGB) */ + NULL, 50, 720, 576, 74074, 64, 16, 39, 5, 64, 5, + 0, FB_VMODE_INTERLACED + }, { + /* 800x520i @ 50 Hz, 15.625 kHz hsync (PAL RGB) */ + NULL, 50, 800, 520, 58823, 144, 64, 72, 28, 80, 5, + 0, FB_VMODE_INTERLACED }, }; |
From: Paul M. <pau...@us...> - 2009-03-11 13:04:55
|
Sorry guys, I just noticed that the archive on Sourceforge.net displays the message not correctly (just with HTML-attachment) [1]. It is a multipart message due to the attachment and gpg-signature. I hope it is displayed correctly in your MUA. If not, please drop a note and I will resend. Thanks, Paul [1] http://sourceforge.net/mailarchive/forum.php?thread_name=1236701836.4068.85.camel%40mattotaupa.wohnung.familie-menzel.net&forum_name=linux-fbdev-devel |
From: Krzysztof H. <krz...@po...> - 2009-03-11 21:29:45
|
On Tue, 10 Mar 2009 17:17:16 +0100 Paul Menzel <pau...@us...> wrote: > Dear developers, > > > using for example a VGA-to-SCART-adapter the VGA2SCART¹ project [1] > tries to drive for example a TV set by the graphic card. > > To get a picture right from the beginning, Thomas Hilber wrote some > patches, we would like to get merged upstream. Unfortunately this is my > first contact to the kernel and I do not know if what I am doing is the > adheres to the standard procedure. > > The patch [2] would be for radeon and intel cards, but for starters I am > just including directly those for the intel one. It is adapted by Petric > Frank for Gentoo. > > I guess additional modelines to modedb.c should not be a problem. How > about the other changes? Could a new kernel option be introduced to > disable DPLL_A VCO and to lower MIN_CLOCK, or should 12000 be safe? > Please divide your work into 3 patches: general (new modes), intel and radeon. The new modes are no problem. > After your response, we would clean up the patch and resubmit. I’m > afraid, I did not find clear instructions how to do it. The DRI website > [3] mostly still talks about CVS. Is this message from Dave [4] the up > to date one? > > What repository should I use for cloning drm-intel [5] or drm-2.6 from > Dave? > I think that the linux-next tree is the best repository to base patches on. The drm patches are not directly related to the fbdev layer (I can be wrong for the intel driver, though) > > diff -urN linux-2.6.27-gentoo-r8.org/drivers/video/intelfb/intelfbdrv.c linux-2.6.27-gentoo-r8/drivers/video/intelfb/intelfbdrv.c > --- linux-2.6.27-gentoo-r8.org/drivers/video/intelfb/intelfbdrv.c 2008-10-10 00:13:53.000000000 +0200 > +++ linux-2.6.27-gentoo-r8/drivers/video/intelfb/intelfbdrv.c 2009-03-09 18:09:09.000000000 +0100 > @@ -1359,6 +1359,9 @@ > DBG_MSG("intelfb_set_par (%dx%d-%d)\n", info->var.xres, > info->var.yres, info->var.bits_per_pixel); > > + WRN_MSG("disabled DPLL_A VCO for interlaced mode 800x520@50i\n"); > + OUTREG(DPLL_A, INREG(DPLL_A) & ~DPLL_VCO_ENABLE); > + > intelfb_blank(FB_BLANK_POWERDOWN, info); > > if (ACCEL(dinfo, info)) This one is easy: just switch off the VCO only if required pixclock is too low for the VCO to work. > diff -urN linux-2.6.27-gentoo-r8.org/drivers/video/intelfb/intelfbhw.c linux-2.6.27-gentoo-r8/drivers/video/intelfb/intelfbhw.c > --- linux-2.6.27-gentoo-r8.org/drivers/video/intelfb/intelfbhw.c 2008-10-10 00:13:53.000000000 +0200 > +++ linux-2.6.27-gentoo-r8/drivers/video/intelfb/intelfbhw.c 2009-03-09 18:11:31.000000000 +0100 > @@ -353,6 +353,12 @@ > > /* Check if clock is OK. */ > tmp = 1000000000 / var->pixclock; > + > + WRN_MSG("lowered MIN_CLOCK from %d MHz -> ", MIN_CLOCK / 1000); > +#undef MIN_CLOCK > +#define MIN_CLOCK 12000 > + printk("%d MHz\n", MIN_CLOCK / 1000); > + > if (tmp < MIN_CLOCK) { > WRN_MSG("Pixel clock is too low (%d MHz vs %d MHz).\n", > (tmp + 500) / 1000, MIN_CLOCK / 1000); This one is harder because I don't know if the 12MHz clock is safe for intel chips. If it is the MIN_CLOCK can be changed without a warning. If it can be dangerous, please add a module option to enable this (e.g. "vga2scart" or "allow_low_pixclocks"). The option can enable switching the VCO as well (still checking the pixclock so old (standard) modes should work even with the new option set). Kind regards, Krzysztof ---------------------------------------------------------------------- Zawsze winny jest mezczyzna?! >>> http://link.interia.pl/f2084 |
From: Paul M. <pau...@us...> - 2009-03-13 23:15:26
|
Dear Krzysztof, thanks for your answer. Am Mittwoch, den 11.03.2009, 22:35 +0100 schrieb Krzysztof Helt: > On Tue, 10 Mar 2009 17:17:16 +0100 > Paul Menzel <pau...@us...> wrote: […] > > After your response, we would clean up the patch and resubmit. I’m > > afraid, I did not find clear instructions how to do it. The DRI website > > [3] mostly still talks about CVS. Is this message from Dave [4] the up > > to date one? > > > > What repository should I use for cloning drm-intel [5] or drm-2.6 from > > Dave? > > > > I think that the linux-next tree is the best repository to base patches on. > The drm patches are not directly related to the fbdev layer (I can be > wrong for the intel driver, though) I created a repository [1] based on linux-next and pushed the (old) patches there before I start cleaning up. We will report back. Thanks, Paul [1] http://git.hellersdorfer-jugendchor.de/?p=linux-next.git;a=summary |