On 2009.03.27 07:07:35 +0800, Jacques, Hugo wrote:
> Hi xf86-video-intel folks,
> 
> I just gave a try to a recent driver (xf86-video-intel-2.7-rc1) to see how it 
> went driving an SDVO TV output.
> 
> I am using an Add2 card with a CH7021 on SDVO-B (component output = CVBS) and 
> a CH7307 for DVI-D on SDVO-C.

CVBS is composite output, component is YPrPb.

> 
> Launching X with a VGA monitor connected to the Mobo and a plain old TV set 
> to the Add2's CVBS, the TV gets no signal.
> 
> In the Xorg.0.log, I got:
> 
> (WW) intel(0): SDVOB: Unknown SDVO output type (0x0400)

Interesting, this looks violate SDVO spec. As device shouldn't have xxxx1 output
unless it has xxxx0 output, and only one TV output, so 0x0400 (CVBS1) should 
always
be invalid. But real hw vendor could possibly break this as your case.

> 
> In i830_sdvo.c, function i830_sdvo_output_setup, it seems that the cases with 
> flag = SDVO_OUTPUT_CVBS0 or SDVO_OUTPUT_CVBS1 or SDVO_OUTPUT_SVID1 are not 
> handled.
> 
> I am not sure why this is so, but I took a chance (I am a newbie with this 
> code) and added some code to do handle the above cases.

Because we don't have hardware for verify this.

> 
> I made the thing working.
> 
> Below is the diff between the original code and my modifs.
> 
> Feel free to integrate it. (Should I be entering this into Bugzilla?)
> 

Looks ok to me, except it's not in diff format.
Anyway I'll try to integrate it. Thanks.

> 
> diff i830_sdvo.c i830_sdvo.c.modif
> 
> 1561a1562,1585
> >     else if (flag & SDVO_OUTPUT_SVID1)
> >     {
> >       dev_priv->controlled_output = SDVO_OUTPUT_SVID1;
> >       output->subpixel_order = SubPixelHorizontalRGB; /* XXX */
> >       name_prefix="TV";
> >       dev_priv->is_tv = TRUE;
> >       intel_output->needs_tv_clock = TRUE;
> >     }
> >     else if (flag & SDVO_OUTPUT_CVBS0)
> >     {
> >       dev_priv->controlled_output = SDVO_OUTPUT_CVBS0;
> >       output->subpixel_order = SubPixelHorizontalRGB; /* XXX */
> >       name_prefix="TV";
> >       dev_priv->is_tv = TRUE;
> >       intel_output->needs_tv_clock = TRUE;
> >     }
> >     else if (flag & SDVO_OUTPUT_CVBS1)
> >     {
> >       dev_priv->controlled_output = SDVO_OUTPUT_CVBS1;
> >       output->subpixel_order = SubPixelHorizontalRGB; /* XXX */
> >       name_prefix="TV";
> >       dev_priv->is_tv = TRUE;
> >       intel_output->needs_tv_clock = TRUE;
> >     } 
> 
> Hugo Jacques
> This electronic message may contain proprietary and confidential information 
> of Verint Systems Inc., its affiliates and/or subsidiaries.
> The information is intended to be for the use of the individual(s) or
> entity(ies) named above.  If you are not the intended recipient (or 
> authorized to receive this e-mail for the intended recipient), you may not 
> use, copy, disclose or distribute to anyone this message or any information 
> contained in this message.  If you have received this electronic message in 
> error, please notify us by replying to this e-mail.
> 
> _______________________________________________
> xorg mailing list
> xorg@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg

-- 
Open Source Technology Center, Intel ltd.

$gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827

Attachment: signature.asc
Description: Digital signature

_______________________________________________
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Reply via email to