From: Andrzej Hajda Date: Tue, 22 Nov 2016 15:39:09 +0000 (+0100) Subject: drm/bridge/sii8620: fix peer device capabilities read code X-Git-Tag: submit/tizen/20161216.052309~39 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a0dd723946e06a4b53f35c9e02413671812c0a45;p=platform%2Fkernel%2Flinux-exynos.git drm/bridge/sii8620: fix peer device capabilities read code Peer capabilities should be read differently depending on protocol version. Change-Id: I3344af6068da07ccc7842a6e8affc63ee31a33a0 Signed-off-by: Andrzej Hajda --- diff --git a/drivers/gpu/drm/bridge/sil-sii8620.c b/drivers/gpu/drm/bridge/sil-sii8620.c index 7fdd50791b27..c9341a4fe67c 100644 --- a/drivers/gpu/drm/bridge/sil-sii8620.c +++ b/drivers/gpu/drm/bridge/sil-sii8620.c @@ -1409,7 +1409,8 @@ static void sii8620_status_changed_path(struct sii8620 *ctx) sii8620_mt_write_stat(ctx, MHL_DST_REG(LINK_MODE), MHL_DST_LM_CLK_MODE_NORMAL | MHL_DST_LM_PATH_ENABLED); - sii8620_mt_read_devcap(ctx, false); + if (ctx->mode < CM_MHL3) + sii8620_mt_read_devcap(ctx, false); } else { sii8620_mt_write_stat(ctx, MHL_DST_REG(LINK_MODE), MHL_DST_LM_CLK_MODE_NORMAL); @@ -1661,6 +1662,11 @@ static void sii8620_irq_infr(struct sii8620 *ctx) sii8620_start_video(ctx); } +static void sii8620_got_xdevcap(struct sii8620 *ctx, int ret) +{ + sii8620_mt_read_devcap(ctx, false); +} + static void sii8620_irq_tdm(struct sii8620 *ctx) { u8 stat = sii8620_readb(ctx, REG_TRXINTH); @@ -1672,6 +1678,7 @@ static void sii8620_irq_tdm(struct sii8620 *ctx) ctx->burst.r_size = SII8620_BURST_BUF_LEN; sii8620_burst_tx_rbuf_info(ctx, SII8620_BURST_BUF_LEN); sii8620_mt_read_devcap(ctx, true); + sii8620_mt_set_cont(ctx, sii8620_got_xdevcap); } else { sii8620_write_seq_static(ctx, REG_MHL_PLL_CTL2, 0,