<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7653.38">
<TITLE>RE: [PATCH] [SCSI] mpt fusion: Fix 32 bit platforms with 64 bit resources.</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>-----Original Message-----<BR>
From: Benjamin Herrenschmidt [<A HREF="mailto:benh@kernel.crashing.org">mailto:benh@kernel.crashing.org</A>]<BR>
Sent: Thu 11/5/2009 12:00 PM<BR>
To: James Bottomley<BR>
Cc: Josh Boyer; Eric.Moore@lsi.com; Pravin Bathija; linux-scsi@vger.kernel.org; linuxppc-dev@ozlabs.org<BR>
Subject: Re: [PATCH] [SCSI] mpt fusion: Fix 32 bit platforms with 64 bit resources.<BR>
<BR>
On Thu, 2009-11-05 at 10:07 -0600, James Bottomley wrote:<BR>
<BR>
&gt; &gt; &gt; &nbsp; ioc-&gt;memmap = mem;<BR>
&gt; &gt; &gt;-&nbsp; dinitprintk(ioc, printk(MYIOC_s_INFO_FMT &quot;mem = %p, mem_phys = %lx\n&quot;,<BR>
&gt; &gt; &gt;-&nbsp; &nbsp;&nbsp;&nbsp; ioc-&gt;name, mem, mem_phys));<BR>
&gt; &gt; &gt;+&nbsp; dinitprintk(ioc, printk(MYIOC_s_INFO_FMT &quot;mem = %p, mem_phys = %llx\n&quot;,<BR>
&gt; &gt; &gt;+&nbsp; &nbsp;&nbsp;&nbsp; ioc-&gt;name, mem, (u64)mem_phys));<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; &nbsp; ioc-&gt;mem_phys = mem_phys;<BR>
&gt; &gt; &gt; &nbsp; ioc-&gt;chip = (SYSIF_REGS __iomem *)mem;<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; &nbsp; /* Save Port IO values in case we need to do downloadboot */<BR>
&gt; &gt; &gt;-&nbsp; ioc-&gt;pio_mem_phys = port;<BR>
&gt; &gt; &gt;+&nbsp; port = ioremap(port_phys, psize);<BR>
&gt; &gt; &gt;+&nbsp; if (port == NULL) {<BR>
&gt; &gt; &gt;+&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printk(MYIOC_s_ERR_FMT &quot; : ERROR - Unable to map adapter&quot;<BR>
&gt; &gt; &gt;+&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot; port !\n&quot;, ioc-&gt;name);<BR>
&gt; &gt; &gt;+&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return -EINVAL;<BR>
&gt;<BR>
&gt; So this looks problematic on a few platforms ... what happens to<BR>
&gt; platforms that have no IO space?&nbsp; They automatically fail here and it<BR>
&gt; looks like the adapter never attaches.<BR>
<BR>
&gt; Yup, that part of the patch looks wrong.<BR>
<BR>
&gt; However, a mechanical replacement of unsigned long's with<BR>
&gt; resource_size_t to hold physical addresses should be fine despite the<BR>
&gt; lack of feedback from LSI.<BR>
<BR>
&gt; Pravin, that ioremap definitely seems like it has nothing to do there,<BR>
&gt; port IO is already remapped for you by the core PCI code and should work<BR>
&gt; &quot;as is&quot;. Please respin without that change.<BR>
<BR>
&gt; Cheers,<BR>
&gt;Ben.<BR>
<BR>
Thanks for the input. Will make the suggested changes and re-submit the patch.<BR>
<BR>
Regards,<BR>
Pravin<BR>
<BR>
<BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>