[U-Boot] [PATCH] cmd_ide: Convert to [read,write][b,w]

Marek Vasut marek.vasut at gmail.com
Thu Jul 1 02:09:32 CEST 2010


Dne Čt 24. června 2010 02:36:00 Marek Vasut napsal(a):
> Dne St 23. června 2010 22:51:28 Wolfgang Denk napsal(a):
> > Dear Marek Vasut,
> > 
> > In message <1277320683-2057-1-git-send-email-marek.vasut at gmail.com> you 
wrote:
> > > Signed-off-by: Marek Vasut <marek.vasut at gmail.com>
> > > ---
> > > 
> > >  common/cmd_ide.c |   22 +++++++++++++---------
> > >  1 files changed, 13 insertions(+), 9 deletions(-)
> > 
> > I don't see the big advantage of this patch yet.
> 
> It won't compile at least on ARM. Same case as with the dm9000 ethernet
> adapter.
> 
> > >  #ifndef CONFIG_SYS_ATA_PORT_ADDR
> > > 
> > > @@ -526,7 +526,7 @@ __ide_outb(int dev, int port, unsigned char val)
> > > 
> > >  {
> > >  
> > >  	debug ("ide_outb (dev= %d, port= 0x%x, val= 0x%02x) : @ 0x%08lx\n",
> > >  	
> > >  		dev, port, val,
> 
> (ATA_CURR_BASE(dev)+CONFIG_SYS_ATA_PORT_ADDR(port)));
> 
> > > -	outb(val, (ATA_CURR_BASE(dev)+CONFIG_SYS_ATA_PORT_ADDR(port)));
> > > +	writeb(val, (ATA_CURR_BASE(dev)+CONFIG_SYS_ATA_PORT_ADDR(port)));
> > 
> > So we replace outb() => writeb(), but the function where this is used
> > is still __ide_outb() ?
> > 
> > The __ide_outb() => outb() mapping looks more logical to me.
> 
> See above.
> 
> > > -output_data(int dev, ulong *sect_buf, int words)
> > > +output_data(int dev, uint16_t *sect_buf, int words)
> > > 
> > >  {
> > > 
> > > -	outsw(ATA_CURR_BASE(dev)+ATA_DATA_REG, sect_buf, words<<1);
> > > +	int i;
> > > +	for (i = 0; i < (words << 1); i++)
> > > +		writew(sect_buf[i], ATA_CURR_BASE(dev)+ATA_DATA_REG);
> > 
> > And here the code size is growing, too.
> 
> Possibly, I was unsure if there is some implementation of writesw/readsw
> elsewhere then on PPC.
> 
> > What are the exact advantages of your version?
> 
> That it actually compiles and works on other architectures than ppc.
> 
> > Best regards,
> > 
> > Wolfgang Denk
> 
> Cheers

Any updates ?


More information about the U-Boot mailing list