RE: [PATCH] [SCSI] mpt fusion: Fix 32 bit platforms with 64 bit resources.

2009-11-05 Thread Desai, Kashyap


-Original Message-
From: linux-scsi-ow...@vger.kernel.org 
[mailto:linux-scsi-ow...@vger.kernel.org] On Behalf Of Benjamin Herrenschmidt
Sent: Friday, November 06, 2009 1:30 AM
To: James Bottomley
Cc: Josh Boyer; Moore, Eric; pbath...@amcc.com; linux-s...@vger.kernel.org; 
linuxppc-...@ozlabs.org
Subject: Re: [PATCH] [SCSI] mpt fusion: Fix 32 bit platforms with 64 bit 
resources.

On Thu, 2009-11-05 at 10:07 -0600, James Bottomley wrote:

> > >   ioc->memmap = mem;
> > >-  dinitprintk(ioc, printk(MYIOC_s_INFO_FMT "mem = %p, mem_phys = %lx\n",
> > >-  ioc->name, mem, mem_phys));
> > >+  dinitprintk(ioc, printk(MYIOC_s_INFO_FMT "mem = %p, mem_phys = %llx\n",
> > >+  ioc->name, mem, (u64)mem_phys));
> > >
> > >   ioc->mem_phys = mem_phys;
> > >   ioc->chip = (SYSIF_REGS __iomem *)mem;
> > >
> > >   /* Save Port IO values in case we need to do downloadboot */
> > >-  ioc->pio_mem_phys = port;
> > >+  port = ioremap(port_phys, psize);
> > >+  if (port == NULL) {
> > >+  printk(MYIOC_s_ERR_FMT " : ERROR - Unable to map adapter"
> > >+  " port !\n", ioc->name);
> > >+  return -EINVAL;
> 
> So this looks problematic on a few platforms ... what happens to
> platforms that have no IO space?  They automatically fail here and it
> looks like the adapter never attaches.

Yup, that part of the patch looks wrong.

However, a mechanical replacement of unsigned long's with
resource_size_t to hold physical addresses should be fine despite the
lack of feedback from LSI.

--> I was thinking this was actual fix for the issue. Use of resource_size_t is 
understood. Why submitter has added extra ioremap code in this patch? Because 
of ioremap code only this patch was on hold before going for ACK.
Pravin, Any specific reason to add above code?

Pravin, that ioremap definitely seems like it has nothing to do there,
port IO is already remapped for you by the core PCI code and should work
"as is". Please respin without that change.

Cheers,
Ben.


--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


RE: [PATCH] [SCSI] mpt fusion: Fix 32 bit platforms with 64 bit resources.

2009-12-02 Thread Desai, Kashyap

This patch looks OK. Please consider it as ACKed by me on behalf of LSI.

- Kashyap

> -Original Message-
> From: linux-scsi-ow...@vger.kernel.org [mailto:linux-scsi-
> ow...@vger.kernel.org] On Behalf Of Benjamin Herrenschmidt
> Sent: Thursday, December 03, 2009 8:30 AM
> To: Pravin Bathija
> Cc: linux-s...@vger.kernel.org; linuxppc-...@ozlabs.org;
> jwbo...@linux.vnet.ibm.com; Moore, Eric
> Subject: Re: [PATCH] [SCSI] mpt fusion: Fix 32 bit platforms with 64 bit
> resources.
> 
> On Wed, 2009-12-02 at 17:51 -0800, Pravin Bathija wrote:
> > Powerpc 44x uses 36 bit real address while the real address defined
> > in MPT Fusion driver is of type 32 bit. This causes ioremap to fail
> and driver
> > fails to initialize. This fix changes the data types representing
> the real
> > address from unsigned long 32-bit types to resource_size_t which is
> 64-bit. The
> > driver has been tested, the disks get discovered correctly and can
> do IO.
> >
> > Signed-off-by: Pravin Bathija 
> 
> Acked-by: Benjamin Herrenschmidt 
> ---
> 
> James, this one should be good ;-)
> 
> > Acked-by: Feng Kan 
> > Acked-by: Fushen Chen 
> > Acked-by: Loc Ho 
> > Acked-by: Tirumala Reddy Marri 
> > Acked-by: Victor Gallardo 
> > ---
> >  drivers/message/fusion/mptbase.c |2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/drivers/message/fusion/mptbase.c
> b/drivers/message/fusion/mptbase.c
> > index 5d496a9..9f14a60 100644
> > --- a/drivers/message/fusion/mptbase.c
> > +++ b/drivers/message/fusion/mptbase.c
> > @@ -1511,7 +1511,7 @@ mpt_mapresources(MPT_ADAPTER *ioc)
> >  {
> > u8  __iomem *mem;
> > int  ii;
> > -   unsigned longmem_phys;
> > +   resource_size_t  mem_phys;
> > unsigned longport;
> > u32  msize;
> > u32  psize;
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev