Unverified Commit 8e3d857c authored by Xin Ji's avatar Xin Ji Committed by Robert Foss
Browse files

drm/bridge: anx7625: Set HPD irq detect window to 2ms



Some panels trigger HPD irq due to noise, the HPD debounce
may be 1.8ms, exceeding the default irq detect window, ~1.4ms.
This patch set HPD irq detection window to 2ms to
tolerate the HPD noise.

Signed-off-by: default avatarXin Ji <xji@analogixsemi.com>
Reviewed-by: default avatarRobert Foss <robert.foss@linaro.org>
Signed-off-by: default avatarRobert Foss <robert.foss@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20220903130833.541463-1-xji@analogixsemi.com
parent 396369d6
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -1440,6 +1440,20 @@ static void anx7625_start_dp_work(struct anx7625_data *ctx)

static int anx7625_read_hpd_status_p0(struct anx7625_data *ctx)
{
	int ret;

	/* Set irq detect window to 2ms */
	ret = anx7625_reg_write(ctx, ctx->i2c.tx_p2_client,
				HPD_DET_TIMER_BIT0_7, HPD_TIME & 0xFF);
	ret |= anx7625_reg_write(ctx, ctx->i2c.tx_p2_client,
				 HPD_DET_TIMER_BIT8_15,
				 (HPD_TIME >> 8) & 0xFF);
	ret |= anx7625_reg_write(ctx, ctx->i2c.tx_p2_client,
				 HPD_DET_TIMER_BIT16_23,
				 (HPD_TIME >> 16) & 0xFF);
	if (ret < 0)
		return ret;

	return anx7625_reg_read(ctx, ctx->i2c.rx_p0_client, SYSTEM_STSTUS);
}

+6 −0
Original line number Diff line number Diff line
@@ -132,6 +132,12 @@
#define I2S_SLAVE_MODE 0x08
#define AUDIO_LAYOUT   0x01

#define HPD_DET_TIMER_BIT0_7   0xea
#define HPD_DET_TIMER_BIT8_15  0xeb
#define HPD_DET_TIMER_BIT16_23 0xec
/* HPD debounce time 2ms for 27M clock */
#define HPD_TIME               54000

#define AUDIO_CONTROL_REGISTER 0xe6
#define TDM_TIMING_MODE 0x08