[PATCH] video: hdmi: request underscan by default

Alex Deucher alexdeucher at gmail.com
Tue Feb 25 06:56:48 PST 2014


On Tue, Feb 25, 2014 at 5:33 AM, Ville Syrjälä
<ville.syrjala at linux.intel.com> wrote:
> On Mon, Feb 24, 2014 at 04:20:04PM -0600, Daniel Drake wrote:
>> Working with HDMI TVs is a real pain as they tend to overscan by
>> default, meaning that the pixels around the edge of the framebuffer
>> are not displayed. This is well explained here:
>> http://mjg59.dreamwidth.org/8705.html
>>
>> There is a bit in the HDMI info frame that can request that the
>> remote display shows the full pixel data ("underscan"). For the
>> remote display, the HDMI spec states that this is optional - it
>> doesn't have to listen. That means that most TVs will probably ignore
>> this.
>>
>> But, maybe there are a handful of TVs for which this would help
>> the situation. As we live in a digital world, ask the remote
>> display not to overscan by default.
>>
>> Signed-off-by: Daniel Drake <drake at endlessm.com>
>
> Yeah, underscan would seem the saner default value. CEA-861 says that
> the source should always set the S bits appropriately if it knows what
> to put there, even if the sink claims that it won't respect those bits.
> So we're not violating the spec by doing this.
>
> I'm thinking we should also add a connector property to allow userspace
> to choose the scan behaviour. Or perhaps some driver already has such a
> property?
>

We have an underscan connector property in the radeon driver, but it
uses the scaler to underscan the image to compensate for TV's that
overscan by default, so it's not really a good match for this.

Alex

> I'm not sure we want to put this into hdmi.c though. Maybe better to
> avoid such policy in the infoframe code itself, and instead stick this
> into drm_hdmi_avi_infoframe_from_display_mode()?
>
>> ---
>>  drivers/video/hdmi.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/video/hdmi.c b/drivers/video/hdmi.c
>> index 9e758a8..6c2d924 100644
>> --- a/drivers/video/hdmi.c
>> +++ b/drivers/video/hdmi.c
>> @@ -54,6 +54,7 @@ int hdmi_avi_infoframe_init(struct hdmi_avi_infoframe *frame)
>>       frame->type = HDMI_INFOFRAME_TYPE_AVI;
>>       frame->version = 2;
>>       frame->length = HDMI_AVI_INFOFRAME_SIZE;
>> +     frame->scan_mode = HDMI_SCAN_MODE_UNDERSCAN;
>>
>>       return 0;
>>  }
>> --
>> 1.8.3.2
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
> --
> Ville Syrjälä
> Intel OTC
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list