Hi Tomi, On 04/01/2016 12:35 AM, Tomi Valkeinen wrote: > > On 01/04/16 10:03, Tomi Valkeinen wrote: > >> So probably we could just fix hdmi_core_powerdown_disable(), so that it >> sets PD to 1, which is what it was meant to do. This assumes that there >> are no bad side effects having PD 1 even if the HDMI is blanked, which >> is something we need to verify. I can do a few tests with that. > > I can't see any bad side effects with fixing the function. So here:
Thanks for the patch. It will have to wait until I'm back from the ELC, but I'll test it as soon as I can. BTW, do you know if the omap3 (beagleboard) has the same CEC block? Regards, Hans > From 5cddaa31e28c059ea99a21ab03c4c1864bf5e610 Mon Sep 17 00:00:00 2001 > From: Tomi Valkeinen <tomi.valkeinen at ti.com> > Date: Fri, 1 Apr 2016 10:29:29 +0300 > Subject: [PATCH] drm/omap: fix OMAP4 hdmi_core_powerdown_disable() > > hdmi_core_powerdown_disable() is supposed to disable HDMI core's > power-down mode. Howver, the function sets the power-down bit to 0, > which means "enable power-down". > > This hasn't caused any issues as the PD seems to affect only interrupts > from HDMI core, and none of those interrupts are used at the moment. CEC > functionality requires core interrupts, and the PD mode needs to be > fixed. > > This patch fixes hdmi_core_powerdown_disable() to actually disable the > PD mode. > > Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com> > Reported-by: Hans Verkuil <hverkuil at xs4all.nl> > > diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c > b/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c > index fa72e735dad2..ef3afe99e487 100644 > --- a/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c > +++ b/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c > @@ -211,7 +211,7 @@ static void hdmi_core_init(struct hdmi_core_video_config > *video_cfg) > static void hdmi_core_powerdown_disable(struct hdmi_core_data *core) > { > DSSDBG("Enter hdmi_core_powerdown_disable\n"); > - REG_FLD_MOD(core->base, HDMI_CORE_SYS_SYS_CTRL1, 0x0, 0, 0); > + REG_FLD_MOD(core->base, HDMI_CORE_SYS_SYS_CTRL1, 0x1, 0, 0); > } > > static void hdmi_core_swreset_release(struct hdmi_core_data *core) >