Message ID | 1297702750-32203-1-git-send-email-anarsoul@gmail.com |
---|---|
State | New |
Headers | show |
On Monday 14 February 2011 18:59:10 Vasily Khoruzhick wrote: > RST bit is (1 << 3) bit, not (1 << 2), fix condition > that enables i2s if ENB is set and RST is not set. > Ping
On Mon, Feb 14, 2011 at 06:59:10PM +0200, Vasily Khoruzhick wrote: > RST bit is (1 << 3) bit, not (1 << 2), fix condition > that enables i2s if ENB is set and RST is not set. > > Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> > --- > hw/pxa2xx.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/hw/pxa2xx.c b/hw/pxa2xx.c > index d966846..68b67ae 100644 > --- a/hw/pxa2xx.c > +++ b/hw/pxa2xx.c > @@ -1631,7 +1631,7 @@ static void pxa2xx_i2s_write(void *opaque, target_phys_addr_t addr, > } > if (value & (1 << 4)) /* EFWR */ > printf("%s: Attempt to use special function\n", __FUNCTION__); > - s->enable = ((value ^ 4) & 5) == 5; /* ENB && !RST*/ > + s->enable = ((value ^ (1 << 3)) & 9) == 9; /* ENB && !RST*/ > pxa2xx_i2s_update(s); > break; > case SACR1: The fix looks fine, but the resulting code is probably over engineered... What about: s->enable = (value & 9) == 1; ?
On Sunday 20 February 2011 20:24:46 Aurelien Jarno wrote: > The fix looks fine, but the resulting code is probably over > engineered... What about: > > s->enable = (value & 9) == 1; > > ? Looks OK to me. Regards Vasily
On Sun, Feb 20, 2011 at 08:39:20PM +0200, Vasily Khoruzhick wrote: > On Sunday 20 February 2011 20:24:46 Aurelien Jarno wrote: > > > The fix looks fine, but the resulting code is probably over > > engineered... What about: > > > > s->enable = (value & 9) == 1; > > > > ? > > Looks OK to me. > Can you please provide a new version with that code instead, I'll apply it.
diff --git a/hw/pxa2xx.c b/hw/pxa2xx.c index d966846..68b67ae 100644 --- a/hw/pxa2xx.c +++ b/hw/pxa2xx.c @@ -1631,7 +1631,7 @@ static void pxa2xx_i2s_write(void *opaque, target_phys_addr_t addr, } if (value & (1 << 4)) /* EFWR */ printf("%s: Attempt to use special function\n", __FUNCTION__); - s->enable = ((value ^ 4) & 5) == 5; /* ENB && !RST*/ + s->enable = ((value ^ (1 << 3)) & 9) == 9; /* ENB && !RST*/ pxa2xx_i2s_update(s); break; case SACR1:
RST bit is (1 << 3) bit, not (1 << 2), fix condition that enables i2s if ENB is set and RST is not set. Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> --- hw/pxa2xx.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)