[PATCH] video: hdmi: request underscan by default (original) (raw)

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 drmhdmiaviinfoframefromdisplaymode()?

--- 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 hdmiaviinfoframeinit(struct hdmiaviinfoframe *frame) frame->type = HDMIINFOFRAMETYPEAVI; frame->version = 2; frame->length = HDMIAVIINFOFRAMESIZE; + frame->scanmode = HDMISCANMODEUNDERSCAN; 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