aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2013-10-28 05:47:30 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2014-01-13 05:19:52 -0500
commit91b53e6a96aa9a6d06f55abfc52440945fc1d82e (patch)
treee9b110600fe9fef84df659e3a032886ef1e6e02e
parentbe07dcd7e239a854ae92041b3eb17863062e52e4 (diff)
OMAPDSS: HDMI: fix hdmi_wait_for_bit_change
hdmi_wait_for_bit_change() has two issues: The register index was passed as u16, even if the register index may be u32. Fix the index to u32. The function was copied from wait_for_bit_change() which waits for a single bit to change, but the hdmi version was changed to wait for a bit field. This change was not done correctly. The function is supposed to return the (last) value of the bit field, but it returned !val in case of timeout. This was correct for the single bit version, but not for the hdmi version. Fix the function to return the actual value in the register. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
-rw-r--r--drivers/video/omap2/dss/hdmi.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/video/omap2/dss/hdmi.h b/drivers/video/omap2/dss/hdmi.h
index b0493768a5d7..855b6b0f250e 100644
--- a/drivers/video/omap2/dss/hdmi.h
+++ b/drivers/video/omap2/dss/hdmi.h
@@ -378,15 +378,15 @@ static inline u32 hdmi_read_reg(void __iomem *base_addr, const u16 idx)
378 FLD_GET(hdmi_read_reg(base, idx), start, end) 378 FLD_GET(hdmi_read_reg(base, idx), start, end)
379 379
380static inline int hdmi_wait_for_bit_change(void __iomem *base_addr, 380static inline int hdmi_wait_for_bit_change(void __iomem *base_addr,
381 const u16 idx, int b2, int b1, u32 val) 381 const u32 idx, int b2, int b1, u32 val)
382{ 382{
383 u32 t = 0; 383 u32 t = 0, v;
384 while (val != REG_GET(base_addr, idx, b2, b1)) { 384 while (val != (v = REG_GET(base_addr, idx, b2, b1))) {
385 udelay(1);
386 if (t++ > 10000) 385 if (t++ > 10000)
387 return !val; 386 return v;
387 udelay(1);
388 } 388 }
389 return val; 389 return v;
390} 390}
391 391
392/* HDMI wrapper funcs */ 392/* HDMI wrapper funcs */