* 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.