From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anatolij Gustschin Date: Wed, 28 Jul 2010 07:56:55 +0000 Subject: Re: [PATCH v4 1/5] fsl-diu-fb: fix issue with re-enabling DIU area Message-Id: <20100728095655.0e1c81eb@wker> List-Id: References: <1279893639-24333-1-git-send-email-agust@denx.de> <1279893639-24333-2-git-send-email-agust@denx.de> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: Grant Likely Cc: linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org, linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, Detlev Zundel , Wolfgang Denk On Wed, 28 Jul 2010 01:02:59 -0600 Grant Likely wrote: ... > >  drivers/video/fsl-diu-fb.c |   38 +++++++++++++++++++++++--------------- > >  1 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) > >                free_pages_exact(virt, size); > >  } > > > > +/* > > + * Workaround for failed writing desc register of planes. > > + * Needed with MPC5121 DIU rev 2.0 silicon. > > + */ > > +void wr_reg_wa(u32 *reg, u32 val) > > +{ > > +       do { > > +               out_be32(reg, val); > > +       } while (in_be32(reg) != val); > > +} > > 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 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-out.m-online.net (mail-out.m-online.net [212.18.0.9]) by ozlabs.org (Postfix) with ESMTP id 7838F1007D2 for ; Wed, 28 Jul 2010 17:57:05 +1000 (EST) Date: Wed, 28 Jul 2010 09:56:55 +0200 From: Anatolij Gustschin To: Grant Likely Subject: Re: [PATCH v4 1/5] fsl-diu-fb: fix issue with re-enabling DIU area descriptor Message-ID: <20100728095655.0e1c81eb@wker> In-Reply-To: References: <1279893639-24333-1-git-send-email-agust@denx.de> <1279893639-24333-2-git-send-email-agust@denx.de> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: linuxppc-dev@ozlabs.org, linux-fbdev@vger.kernel.org, devicetree-discuss@lists.ozlabs.org, Detlev Zundel , Wolfgang Denk List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Wed, 28 Jul 2010 01:02:59 -0600 Grant Likely wrote: ... > > =C2=A0drivers/video/fsl-diu-fb.c | =C2=A0 38 +++++++++++++++++++++++---= ------------ > > =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); > > =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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anatolij Gustschin Subject: Re: [PATCH v4 1/5] fsl-diu-fb: fix issue with re-enabling DIU area descriptor Date: Wed, 28 Jul 2010 09:56:55 +0200 Message-ID: <20100728095655.0e1c81eb@wker> References: <1279893639-24333-1-git-send-email-agust@denx.de> <1279893639-24333-2-git-send-email-agust@denx.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Errors-To: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org To: Grant Likely Cc: linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org, linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, Detlev Zundel , Wolfgang Denk List-Id: devicetree@vger.kernel.org T24gV2VkLCAyOCBKdWwgMjAxMCAwMTowMjo1OSAtMDYwMApHcmFudCBMaWtlbHkgPGdyYW50Lmxp a2VseUBzZWNyZXRsYWIuY2E+IHdyb3RlOgouLi4KPiA+IMKgZHJpdmVycy92aWRlby9mc2wtZGl1 LWZiLmMgfCDCoCAzOCArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQo+ID4g wqAxIGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQo+ID4K PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZzbC1kaXUtZmIuYyBiL2RyaXZlcnMvdmlk ZW8vZnNsLWRpdS1mYi5jCj4gPiBpbmRleCAyNzQ1NWNlLi45YjhjOTkxIDEwMDY0NAo+ID4gLS0t IGEvZHJpdmVycy92aWRlby9mc2wtZGl1LWZiLmMKPiA+ICsrKyBiL2RyaXZlcnMvdmlkZW8vZnNs LWRpdS1mYi5jCj4gPiBAQCAtMzE3LDYgKzMxNywxNyBAQCBzdGF0aWMgdm9pZCBmc2xfZGl1X2Zy ZWUodm9pZCAqdmlydCwgc2l6ZV90IHNpemUpCj4gPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGZy ZWVfcGFnZXNfZXhhY3QodmlydCwgc2l6ZSk7Cj4gPiDCoH0KPiA+Cj4gPiArLyoKPiA+ICsgKiBX b3JrYXJvdW5kIGZvciBmYWlsZWQgd3JpdGluZyBkZXNjIHJlZ2lzdGVyIG9mIHBsYW5lcy4KPiA+ ICsgKiBOZWVkZWQgd2l0aCBNUEM1MTIxIERJVSByZXYgMi4wIHNpbGljb24uCj4gPiArICovCj4g PiArdm9pZCB3cl9yZWdfd2EodTMyICpyZWcsIHUzMiB2YWwpCj4gPiArewo+ID4gKyDCoCDCoCDC oCBkbyB7Cj4gPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIG91dF9iZTMyKHJlZywgdmFsKTsKPiA+ ICsgwqAgwqAgwqAgfSB3aGlsZSAoaW5fYmUzMihyZWcpICE9IHZhbCk7Cj4gPiArfQo+IAo+IEkn bGwgYXBwbHkgdGhpcyBvbmUsIGJ1dCBpdCBsb29rcyBsaWtlIGEgcG90ZW50aWFsIHByb2JsZW0u ICBXaGF0Cj4gaGFwcGVucyBpZiB0aGUgd3JpdGUgbmV2ZXIgc3VjY2VlZHM/ICBUaGUga2VybmVs IHRoZW4gZ2V0cyBzdHVjayBpbiBhCj4gZm9yZXZlciBidXN5IGxvb3AuICBZb3Ugc2hvdWxkIGxv b2sgYXQgcmV3b3JraW5nIGl0LgoKSSdsbCBzdWJtaXQgYW4gaW5jcmVtZW50YWwgcGF0Y2ggdGhh dCBwcmV2ZW50cyBsb29waW5nIGZvcmV2ZXIgaW4KdGhlIGNhc2UgaWYgdGhlIHdyaXRlIG5ldmVy IHN1Y2NlZWRzLiBUaGFua3MhCgpBbmF0b2xpagpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkZXZpY2V0cmVlLWRpc2N1c3MgbWFpbGluZyBsaXN0CmRldmlj ZXRyZWUtZGlzY3Vzc0BsaXN0cy5vemxhYnMub3JnCmh0dHBzOi8vbGlzdHMub3psYWJzLm9yZy9s aXN0aW5mby9kZXZpY2V0cmVlLWRpc2N1c3MK