All of lore.kernel.org
 help / color / mirror / Atom feed
* aic79xx - wrong max memory at driver init
@ 2006-11-30 11:07 Frederic TEMPORELLI
  2006-12-14 10:37 ` Hannes Reinecke
  0 siblings, 1 reply; 3+ messages in thread
From: Frederic TEMPORELLI @ 2006-11-30 11:07 UTC (permalink / raw)
  To: Hannes Reinecke; +Cc: xb, linux-scsi

[-- Attachment #1: Type: text/plain, Size: 506 bytes --]

Hello Hannes,

Aic79xx driver for Adaptec 39320 supports 64-bit addressing, but the
initialization code of the driver is wrong: it tests the available
memory size instead of testing the maximum available memory address.
This is necessary to support servers that provides 1 Terabyte of
physical memory space addressing.

Attached is the suggested patch (made against 2.6.17, but 2.6.19 is
still using the available memory size instead of using the max memory
address) to solve this issue.

regards

--
Fred

[-- Attachment #2: aic-TBytes.patch --]
[-- Type: text/plain, Size: 897 bytes --]

Signed-off-by: xavier.bru@bull.net
Signed-off-by: frederic.temporelli@bull.net

--- linux/drivers/scsi/aic7xxx/aic79xx_osm.c    2006-08-23 23:16:33.000000000 +0200
+++ linux-new/drivers/scsi/aic7xxx/aic79xx_osm.c        2006-09-14 16:44:24.000000000 +0200
@@ -62,6 +62,7 @@

 #include <linux/mm.h>          /* For fetching system memory size */

+extern unsigned long blk_max_pfn;
 static struct scsi_transport_template *ahd_linux_transport_template = NULL;

 #include <linux/init.h>                /* __setup */
@@ -1175,10 +1176,9 @@ ahd_linux_register_host(struct ahd_softc
 uint64_t
 ahd_linux_get_memsize(void)
 {
-       struct sysinfo si;
-
-       si_meminfo(&si);
-       return ((uint64_t)si.totalram << PAGE_SHIFT);
+       /* Need to take in account the max physical address in case
+        * of discontiguous memory. */
+       return ((uint64_t)blk_max_pfn << PAGE_SHIFT);
 }

 /*


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: aic79xx - wrong max memory at driver init
  2006-11-30 11:07 aic79xx - wrong max memory at driver init Frederic TEMPORELLI
@ 2006-12-14 10:37 ` Hannes Reinecke
  2006-12-15 17:47   ` James Bottomley
  0 siblings, 1 reply; 3+ messages in thread
From: Hannes Reinecke @ 2006-12-14 10:37 UTC (permalink / raw)
  To: Frederic TEMPORELLI; +Cc: xb, linux-scsi

Frederic TEMPORELLI wrote:
> Hello Hannes,
> 
> Aic79xx driver for Adaptec 39320 supports 64-bit addressing, but the
> initialization code of the driver is wrong: it tests the available
> memory size instead of testing the maximum available memory address.
> This is necessary to support servers that provides 1 Terabyte of
> physical memory space addressing.
> 
> Attached is the suggested patch (made against 2.6.17, but 2.6.19 is
> still using the available memory size instead of using the max memory
> address) to solve this issue.
> 
> regards
> 
> --
> Fred
> 
> 
Yes, this sound reasonable.

> ------------------------------------------------------------------------
> 
> Signed-off-by: xavier.bru@bull.net
> Signed-off-by: frederic.temporelli@bull.net
> 
Signed-off-by: Hannes Reinecke <hare@suse.de>

-- 
Dr. Hannes Reinecke			hare@suse.de
SuSE Linux Products GmbH		S390 & zSeries
Maxfeldstraße 5				+49 911 74053 688
90409 Nürnberg				http://www.suse.de
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: aic79xx - wrong max memory at driver init
  2006-12-14 10:37 ` Hannes Reinecke
@ 2006-12-15 17:47   ` James Bottomley
  0 siblings, 0 replies; 3+ messages in thread
From: James Bottomley @ 2006-12-15 17:47 UTC (permalink / raw)
  To: Hannes Reinecke; +Cc: Frederic TEMPORELLI, xb, linux-scsi

On Thu, 2006-12-14 at 11:37 +0100, Hannes Reinecke wrote:
> Frederic TEMPORELLI wrote:
> > Hello Hannes,
> > 
> > Aic79xx driver for Adaptec 39320 supports 64-bit addressing, but the
> > initialization code of the driver is wrong: it tests the available
> > memory size instead of testing the maximum available memory address.
> > This is necessary to support servers that provides 1 Terabyte of
> > physical memory space addressing.
> > 
> > Attached is the suggested patch (made against 2.6.17, but 2.6.19 is
> > still using the available memory size instead of using the max memory
> > address) to solve this issue.

Actually, this driver shouldn't be hacking around at all with either the
memory functions or blk_max_pfn, it should be using the provided api,
which is dma_get_required_mask()

James


> > Signed-off-by: xavier.bru@bull.net
> > Signed-off-by: frederic.temporelli@bull.net
> > 
> Signed-off-by: Hannes Reinecke <hare@suse.de>
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-12-15 17:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-30 11:07 aic79xx - wrong max memory at driver init Frederic TEMPORELLI
2006-12-14 10:37 ` Hannes Reinecke
2006-12-15 17:47   ` James Bottomley

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.