lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160530191044.GR19428@n2100.arm.linux.org.uk>
Date:	Mon, 30 May 2016 20:10:44 +0100
From:	Russell King - ARM Linux <linux@...linux.org.uk>
To:	Joao Pinto <Joao.Pinto@...opsys.com>
Cc:	linux-kernel@...r.kernel.org, ijc+devicetree@...lion.org.uk,
	liviu.dudau@....com, ryan.harkin@...aro.org
Subject: Re: [PATCH 3/3] tda998x: add HPD delay to avoid disabling sound when
 EDID checksum fails.

On Mon, May 30, 2016 at 04:15:54PM +0100, Joao Pinto wrote:
> When using ffplay to reproduce video+sound it was noticed that sometimes the
> sound was disabled. The cause was an initial EDID checksum error that disabled
> the HDMI sound. By adding this tweak, it was noticed that the sound is not
> even when initial EDID checksum error ocurres.
> 
> Signed-off-by: Joao Pinto <jpinto@...opsys.com>
> ---
>  drivers/gpu/drm/i2c/tda998x_drv.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
> index 7020b50..fc7c1c3 100644
> --- a/drivers/gpu/drm/i2c/tda998x_drv.c
> +++ b/drivers/gpu/drm/i2c/tda998x_drv.c
> @@ -587,6 +587,17 @@ static void tda998x_detect_work(struct work_struct *work)
>  		drm_kms_helper_hotplug_event(dev);
>  }
>  
> +/* handle HDMI connect/disconnect */
> +static void tda998x_hpd(struct work_struct *work)
> +{
> +	struct delayed_work *dwork = to_delayed_work(work);
> +	struct tda998x_priv *priv =
> +			container_of(dwork, struct tda998x_priv, dwork);
> +
> +	if (&priv->encoder && priv->encoder.dev)
> +		drm_kms_helper_hotplug_event(priv->encoder.dev);
> +}
> +
>  /*
>   * only 2 interrupts may occur: screen plug/unplug and EDID read
>   */
> @@ -1313,6 +1324,7 @@ static int tda998x_create(struct i2c_client *client, struct tda998x_priv *priv)
>  
>  		/* init read EDID waitqueue and HDP work */
>  		init_waitqueue_head(&priv->wq_edid);
> +		INIT_DELAYED_WORK(&priv->dwork, tda998x_hpd);
>  
>  		/* clear pending interrupts */
>  		reg_read(priv, REG_INT_FLAGS_0);

Clearly, this patch is incomplete.  There's nothing that schedules this
work to be run.

In any case, this is reintroducing the code which I deleted when I fixed
the (rather crappy) previous implemention of delaying the EDID read after
a hotplug event.  You should not need this patch.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ