Subject: Re: [IOC3] IP27: Really set PCI64_ATTR_VIRTUAL, not PCI64_ATTR_PREC.

From: Ralf Baechle <[email-masked]>
Date: Tue, 20 Jun 2006 11:02:36 +0100

On Tue, Jun 20, 2006 at 10:15:01AM +0200, Ingo Oeser wrote:
> From:	Ingo Oeser <[email-masked]>
> To:	Ralf Baechle <[email-masked]>
> Subject: Re: [IOC3] IP27: Really set PCI64_ATTR_VIRTUAL, not PCI64_ATTR_PREC.
> Date:	Tue, 20 Jun 2006 10:15:01 +0200
> Cc:	[email-masked], Jeff Garzik <[email-masked]>
> Content-Type: text/plain;
>   charset="iso-8859-1"
> 
> Hi Ralf,
> 
> Ralf Baechle :
> > IOC3's homegrown DMA mapping functions that are used to optimize things
> > a little on IP27 set the wrong bit.
> 
> What about using a symbol instead of magic numbers?
> That way one at least sees the intention of the coder.
>  
> > Signed-off-by: Ralf Baechle <[email-masked]>
> > 
> > diff --git a/drivers/net/ioc3-eth.c b/drivers/net/ioc3-eth.c
> > index ae71ed5..e76e6e7 100644
> > --- a/drivers/net/ioc3-eth.c
> > +++ b/drivers/net/ioc3-eth.c
> > @@ -145,7 +145,7 @@ static inline struct sk_buff * ioc3_allo
> >  static inline unsigned long ioc3_map(void *ptr, unsigned long vdev)
> >  {
> >  #ifdef CONFIG_SGI_IP27
> > -	vdev <<= 58;   /* Shift to PCI64_ATTR_VIRTUAL */
> > +	vdev <<= 57;   /* Shift to PCI64_ATTR_VIRTUAL */
> 
> So please use a symbolic value here.

It is a hack and meant to look like one, loudly marked with #ifdef.

  Ralf