[SCSI] megaraid_sas: make driver PCI legacy I/O port free driver
authorNoriyuki Fujii <n-fujii@np.css.fujitsu.com>
Fri, 20 Nov 2009 07:27:20 +0000 (16:27 +0900)
committerJames Bottomley <James.Bottomley@suse.de>
Thu, 10 Dec 2009 14:54:16 +0000 (08:54 -0600)
commitaeab3fd7b865bc4086a80a83cfdd67dded3b41a0
tree131b4232f1406128464d34c0fbbb12ff66aede01
parentd8705f11d89cfabf4a9f0ea234d4809b22abb33e
[SCSI] megaraid_sas: make driver PCI legacy I/O port free driver

On the large servers, I/O port resource may not be assigned to all
the PCI devices since it is limited (to 64KB on Intel Architecture[1])
and it may also be fragmented (I/O base register of PCI-to-PCI bridge
will usually be aligned to a 4KB boundary[2]).
If no I/O port resource is assigned to devices, those devices do not
work.

[1] Some machines support 64KB I/O port space per PCI segment.
[2] Some P2P bridges support optional 1KB aligned I/O base.

Therefore, I made a patch for MegaRAID SAS driver to make PCI legacy
I/O port free.  I have also tested the patch and it had no problem.

The way to make PCI legacy I/O port free is the same as Fusion-MPT
driver's and it has been merged into 2.6.30.4.

This has already been fixed in e1000 and lpfc.

As a result of the above, the driver can handle its device even when
there are a huge number of PCI devices being used on the system and no
I/O port region assigned to the device.

Signed-off-by: Noriyuki Fujii <n-fujii@np.css.fujitsu.com>
Acked-by: "Yang, Bo" <Bo.Yang@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/megaraid/megaraid_sas.c