Thread (1 message) 1 message, 1 author, 2010-07-28

Re: [PATCH v4 1/5] fsl-diu-fb: fix issue with re-enabling DIU area descriptor

flat view

From: Anatolij Gustschin <agust@denx.de>
Date: 2010-07-28 07:56:55
Also in: linux-devicetree, linux-fbdev

On Wed, 28 Jul 2010 01:02:59 -0600
Grant Likely [off-list ref] wrote:
...
quoted
=C2=A0drivers/video/fsl-diu-fb.c | =C2=A0 38 +++++++++++++++++++++++---=
------------
quoted
=C2=A01 files changed, 23 insertions(+), 15 deletions(-)
diff --git a/drivers/video/fsl-diu-fb.c b/drivers/video/fsl-diu-fb.c
index 27455ce..9b8c991 100644
--- a/drivers/video/fsl-diu-fb.c
+++ b/drivers/video/fsl-diu-fb.c
@@ -317,6 +317,17 @@ static void fsl_diu_free(void *virt, size_t size)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0free_pages_exact=
(virt, size);
quoted
=C2=A0}

+/*
+ * Workaround for failed writing desc register of planes.
+ * Needed with MPC5121 DIU rev 2.0 silicon.
+ */
+void wr_reg_wa(u32 *reg, u32 val)
+{
+ =C2=A0 =C2=A0 =C2=A0 do {
+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 out_be32(reg, val);
+ =C2=A0 =C2=A0 =C2=A0 } while (in_be32(reg) !=3D val);
+}
=20
I'll apply this one, but it looks like a potential problem.  What
happens if the write never succeeds?  The kernel then gets stuck in a
forever busy loop.  You should look at reworking it.
I'll submit an incremental patch that prevents looping forever in
the case if the write never succeeds. Thanks!

Anatolij
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help