linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: pbathija@amcc.com
Cc: linuxppc-dev@ozlabs.org, Eric.Moore@lsi.com, linux-scsi@vger.kernel.org
Subject: Re: [PATCH]  [SCSI] mpt fusion: Fix 32 bit platforms with 64 bit resources.
Date: Wed, 18 Nov 2009 16:41:29 +1100	[thread overview]
Message-ID: <1258522889.2140.659.camel@pasglop> (raw)
In-Reply-To: <1258503401-7779-1-git-send-email-pbathija@amcc.com>

On Tue, 2009-11-17 at 16:16 -0800, pbathija@amcc.com wrote:
> From: Pravin Bathija <pbathija@amcc.com>
> 
>   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 "phys_addr_t" which is 64-bit. The
>   driver has been tested, the disks get discovered correctly and can do IO. Removed
>   ioremap and used hose->io_base_virt for IO space to make it platform independent.
> Content-Type: text/plain; charset=utf-8

Except that this is all wrong :-) You basically made it powerpc specific
since none of that pci controller stuff is generic. I don't understand
what you are trying to do though. The -only- change you need to do is
to change the longs into resource_size_t.

IO Port numbers are "special" and handled as such already (and besides
are never bigger than 32-bit neither, at least on x86 and powerpc).

Just leave the PIO code alone, hopefully, if the driver isn't full of
crack, the code should be fine already. If the driver does something
wrong then you can attempt to fix it separately.

The only problem that you need to address afaik, is purely that
pci_resource_start() can return a resource_size_t which can be 64-bit,
and as such it is broken for the driver to manipulate and store that
value as an unsigned long or a u32.

Cheers,
Ben.

  reply	other threads:[~2009-11-18  5:41 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-18  0:16 [PATCH] [SCSI] mpt fusion: Fix 32 bit platforms with 64 bit resources pbathija
2009-11-18  5:41 ` Benjamin Herrenschmidt [this message]
  -- strict thread matches above, loose matches on Subject: below --
2009-12-03  1:51 Pravin Bathija
2009-12-03  2:59 ` Benjamin Herrenschmidt
2009-12-03  5:26   ` Desai, Kashyap
2009-12-03  8:56 ` Wolfgang Denk
2009-12-03 23:21   ` Pravin Bathija
2009-12-03 23:48     ` Benjamin Herrenschmidt
2009-12-10 15:43 ` James Bottomley
2009-12-10 16:36   ` Anatolij Gustschin
2009-09-15 22:25 pbathija
2009-11-05 13:43 ` Josh Boyer
2009-11-05 16:07   ` James Bottomley
2009-11-05 16:25     ` Josh Boyer
2009-11-05 20:00     ` Benjamin Herrenschmidt
2009-11-06  4:59       ` Desai, Kashyap
2009-11-06  5:49       ` Pravin Bathija
2009-11-06  5:57       ` Pravin Bathija
2009-09-09  0:15 pbathija
2009-09-15 10:29 ` Benjamin Herrenschmidt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1258522889.2140.659.camel@pasglop \
    --to=benh@kernel.crashing.org \
    --cc=Eric.Moore@lsi.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=pbathija@amcc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).