2003-05-10 09:38:51

by David Mosberger

[permalink] [raw]
Subject: qla1280 mem-mapped I/O fix

With the fix in the second hunk, I don't see any reason not to turn on
MEMORY_MAPPED_IO in qla1280. It seems to work fine on my machine
with this controller (ia64 Big Sur).

--david

diff -Nru a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c
--- a/drivers/scsi/qla1280.c Sat May 10 01:47:43 2003
+++ b/drivers/scsi/qla1280.c Sat May 10 01:47:43 2003
@@ -284,7 +284,7 @@
#define QL1280_TARGET_MODE_SUPPORT 0 /* Target mode support */
#define QL1280_LUN_SUPPORT 0
#define WATCHDOGTIMER 0
-#define MEMORY_MAPPED_IO 0
+#define MEMORY_MAPPED_IO 1
#define DEBUG_QLA1280_INTR 0
#define USE_NVRAM_DEFAULTS 0
#define DEBUG_PRINT_NVRAM 0
@@ -2634,7 +2634,7 @@
/*
* Get memory mapped I/O address.
*/
- pci_read_config_word (ha->pdev, PCI_BASE_ADDRESS_1, &mmapbase);
+ pci_read_config_dword (ha->pdev, PCI_BASE_ADDRESS_1, &mmapbase);
mmapbase &= PCI_BASE_ADDRESS_MEM_MASK;

/*


2003-05-10 10:02:40

by Arjan van de Ven

[permalink] [raw]
Subject: Re: qla1280 mem-mapped I/O fix


> @@ -2634,7 +2634,7 @@
> /*
> * Get memory mapped I/O address.
> */
> - pci_read_config_word (ha->pdev, PCI_BASE_ADDRESS_1, &mmapbase);
> + pci_read_config_dword (ha->pdev, PCI_BASE_ADDRESS_1, &mmapbase);
> mmapbase &= PCI_BASE_ADDRESS_MEM_MASK;
>
>
shouldn't this be pci_resource_start() ?


Attachments:
signature.asc (189.00 B)
This is a digitally signed message part

2003-05-10 10:13:02

by David Mosberger

[permalink] [raw]
Subject: Re: qla1280 mem-mapped I/O fix

>>>>> On 10 May 2003 12:15:08 +0200, Arjan van de Ven <[email protected]> said:

>> @@ -2634,7 +2634,7 @@
>> /*
>> * Get memory mapped I/O address.
>> */
>> - pci_read_config_word (ha->pdev, PCI_BASE_ADDRESS_1, &mmapbase);
>> + pci_read_config_dword (ha->pdev, PCI_BASE_ADDRESS_1, &mmapbase);
>> mmapbase &= PCI_BASE_ADDRESS_MEM_MASK;

Arjan> shouldn't this be pci_resource_start() ?

Probably should be. I wanted a minimal fix, because if you start
cleaning up qla1280, it won't stop there... ;-(

--david

2003-05-10 11:17:35

by David Miller

[permalink] [raw]
Subject: Re: qla1280 mem-mapped I/O fix

On Sat, 2003-05-10 at 02:51, David Mosberger wrote:
> With the fix in the second hunk, I don't see any reason not to turn on
> MEMORY_MAPPED_IO in qla1280. It seems to work fine on my machine
> with this controller (ia64 Big Sur).

David, you absolute MAY NOT pass this:

> - pci_read_config_word (ha->pdev, PCI_BASE_ADDRESS_1, &mmapbase);
> + pci_read_config_dword (ha->pdev, PCI_BASE_ADDRESS_1, &mmapbase);

into ioremap() which is exactly what this driver is doing.
One must use the PCI device struct resource values.

--
David S. Miller <[email protected]>

2003-05-10 11:22:05

by David Mosberger

[permalink] [raw]
Subject: Re: qla1280 mem-mapped I/O fix

>>>>> On 10 May 2003 04:30:11 -0700, "David S. Miller" <[email protected]> said:

DaveM> On Sat, 2003-05-10 at 02:51, David Mosberger wrote:
>> With the fix in the second hunk, I don't see any reason not to turn on
>> MEMORY_MAPPED_IO in qla1280. It seems to work fine on my machine
>> with this controller (ia64 Big Sur).

DaveM> David, you absolute MAY NOT pass this:

Me? It's the driver that's doing it! ;-)

--david

2003-05-10 12:01:15

by David Miller

[permalink] [raw]
Subject: Re: qla1280 mem-mapped I/O fix

From: David Mosberger <[email protected]>
Date: Sat, 10 May 2003 04:34:42 -0700

>>>>> On 10 May 2003 04:30:11 -0700, "David S. Miller" <[email protected]> said:

DaveM> David, you absolute MAY NOT pass this:

Me? It's the driver that's doing it! ;-)

It won't do it until your changes :-)

2003-05-15 15:39:57

by Jes Sorensen

[permalink] [raw]
Subject: Re: qla1280 mem-mapped I/O fix

>>>>> "Arjan" == Arjan van de Ven <[email protected]> writes:

>> @@ -2634,7 +2634,7 @@ /* * Get memory mapped I/O address. */ -
>> pci_read_config_word (ha->pdev, PCI_BASE_ADDRESS_1, &mmapbase); +
>> pci_read_config_dword (ha->pdev, PCI_BASE_ADDRESS_1, &mmapbase);
>> mmapbase &= PCI_BASE_ADDRESS_MEM_MASK;
>>
>>
Arjan> shouldn't this be pci_resource_start() ?

Yep,

The existing code is a nightmare, I am working on cleaning this up so
we can get rid of all the I/O ports crap.

Jes

2003-05-16 03:53:42

by Andrey Panin

[permalink] [raw]
Subject: Re: qla1280 mem-mapped I/O fix

On 135, 05 15, 2003 at 11:52:45AM -0400, Jes Sorensen wrote:
> >>>>> "Arjan" == Arjan van de Ven <[email protected]> writes:
>
> >> @@ -2634,7 +2634,7 @@ /* * Get memory mapped I/O address. */ -
> >> pci_read_config_word (ha->pdev, PCI_BASE_ADDRESS_1, &mmapbase); +
> >> pci_read_config_dword (ha->pdev, PCI_BASE_ADDRESS_1, &mmapbase);
> >> mmapbase &= PCI_BASE_ADDRESS_MEM_MASK;
> >>
> >>
> Arjan> shouldn't this be pci_resource_start() ?
>
> Yep,
>
> The existing code is a nightmare, I am working on cleaning this up so
> we can get rid of all the I/O ports crap.

Do you want to convert this driver to use memmaped io only ?

That's bad news for me and visws subarch.

--
Andrey Panin | Embedded systems software developer
[email protected] | PGP key: wwwkeys.pgp.net