From: Noriyuki Fujii <n-fujii@np.css.fujitsu.com>
To: megaraidlinux@lsi.com, linux-scsi@vger.kernel.org
Subject: [PATCH 2nd try] PCI legacy I/O port free driver - Making MegaRAID SAS driver
Date: Wed, 14 Oct 2009 10:03:35 +0900 [thread overview]
Message-ID: <4AD52367.7050500@np.css.fujitsu.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 660 bytes --]
Hi,
Here's my 2nd try of the following post.
http://marc.info/?l=linux-scsi&m=124962265606425&w=2
I made a patch for MegaRAID sas driver to make PCI legacy I/O port free.
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.
I'm not in the linux-scsi mailing list.
Please reply to the following address.
E-Mail: n-fujii@np.css.fujitsu.com
Thanks,
Noriyuki Fujii
[-- Attachment #2: linux-2.6-scsi-megaraid-sas-make-legacy-i-o-port-free.patch --]
[-- Type: text/plain, Size: 1617 bytes --]
--- megaraid_sasOrg.c 2009-07-02 16:31:17.000000000 +0900
+++ megaraid_sasMod.c 2009-08-06 11:24:42.000000000 +0900
@@ -2573,7 +2573,9 @@ static int megasas_init_mfi(struct megas
instance->base_addr = pci_resource_start(instance->pdev, 0);
}
- if (pci_request_regions(instance->pdev, "megasas: LSI")) {
+ if (pci_request_selected_regions(instance->pdev,
+ pci_select_bars(instance->pdev, IORESOURCE_MEM),
+ "megasas: LSI")) {
printk(KERN_DEBUG "megasas: IO memory region busy!\n");
return -EBUSY;
}
@@ -2719,7 +2721,8 @@ static int megasas_init_mfi(struct megas
iounmap(instance->reg_set);
fail_ioremap:
- pci_release_regions(instance->pdev);
+ pci_release_selected_regions(instance->pdev,
+ pci_select_bars(instance->pdev, IORESOURCE_MEM));
return -EINVAL;
}
@@ -2739,7 +2742,8 @@ static void megasas_release_mfi(struct m
iounmap(instance->reg_set);
- pci_release_regions(instance->pdev);
+ pci_release_selected_regions(instance->pdev,
+ pci_select_bars(instance->pdev, IORESOURCE_MEM));
}
/**
@@ -3049,7 +3053,7 @@ megasas_probe_one(struct pci_dev *pdev,
/*
* PCI prepping: enable device set bus mastering and dma mask
*/
- rval = pci_enable_device(pdev);
+ rval = pci_enable_device_mem(pdev);
if (rval) {
return rval;
@@ -3343,7 +3347,7 @@ megasas_resume(struct pci_dev *pdev)
/*
* PCI prepping: enable device set bus mastering and dma mask
*/
- rval = pci_enable_device(pdev);
+ rval = pci_enable_device_mem(pdev);
if (rval) {
printk(KERN_INFO "megasas: Enable device failed\n");
next reply other threads:[~2009-10-14 1:05 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-14 1:03 Noriyuki Fujii [this message]
2009-11-30 19:14 ` [PATCH 2nd try] PCI legacy I/O port free driver - Making MegaRAID SAS driver Yang, Bo
2009-11-30 20:49 ` James Bottomley
2009-12-01 1:15 ` Noriyuki Fujii
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=4AD52367.7050500@np.css.fujitsu.com \
--to=n-fujii@np.css.fujitsu.com \
--cc=linux-scsi@vger.kernel.org \
--cc=megaraidlinux@lsi.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).