RE: [PATCH] [SCSI] mpt fusion: Fix 32 bit platforms with 64 bit resources.
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 pbath...@amcc.com Acked-by: Benjamin Herrenschmidt b...@kernel.crashing.org --- James, this one should be good ;-) Acked-by: Feng Kan f...@amcc.com Acked-by: Fushen Chen fc...@amcc.com Acked-by: Loc Ho l...@amcc.com Acked-by: Tirumala Reddy Marri tma...@amcc.com Acked-by: Victor Gallardo vgalla...@amcc.com --- 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
RE: [PATCH] [SCSI] mpt fusion: Fix 32 bit platforms with 64 bit resources.
-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