linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] sata_sx4: speed up ECC initialization
@ 2009-04-14  2:26 Alexander Beregalov
  2009-04-14 11:57 ` Jeff Garzik
  0 siblings, 1 reply; 10+ messages in thread
From: Alexander Beregalov @ 2009-04-14  2:26 UTC (permalink / raw)
  To: jeff; +Cc: linux-ide, Alexander Beregalov

ECC initialization takes too long. It writes zeroes by portions of 4
byte, it takes more than 6 minutes to initialize 512Mb DIMM module.
Change portion to 1Mb.

before:
[10857.207576] pdc20621_dimm_init: Start ECC initialization
[11235.333118] pdc20621_dimm_init: Finish ECC initialization

after:
[ 1005.126437] pdc20621_dimm_init: Local DIMM Speed = 100
[ 1005.128111] pdc20621_dimm_init: Local DIMM Size = 512MB
[ 1005.133508] Local DIMM ECC Enabled
[ 1005.236482] pdc20621_dimm_init: Start ECC initialization
[ 1031.278098] pdc20621_dimm_init: Finish ECC initialization

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
---
 drivers/ata/sata_sx4.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c
index dce3dcc..d329501 100644
--- a/drivers/ata/sata_sx4.c
+++ b/drivers/ata/sata_sx4.c
@@ -1208,7 +1208,6 @@ static unsigned int pdc20621_dimm_init(struct ata_host *host)
 {
 	int speed, size, length;
 	u32 addr, spd0, pci_status;
-	u32 tmp = 0;
 	u32 time_period = 0;
 	u32 tcount = 0;
 	u32 ticks = 0;
@@ -1323,14 +1322,17 @@ static unsigned int pdc20621_dimm_init(struct ata_host *host)
 	pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS,
 			  PDC_DIMM_SPD_TYPE, &spd0);
 	if (spd0 == 0x02) {
+		void *buf;
 		VPRINTK("Start ECC initialization\n");
 		addr = 0;
 		length = size * 1024 * 1024;
+		buf = kzalloc(PDC_20621_PAGE_SIZE * 32, GFP_KERNEL);
 		while (addr < length) {
-			pdc20621_put_to_dimm(host, (void *) &tmp, addr,
-					     sizeof(u32));
-			addr += sizeof(u32);
+			pdc20621_put_to_dimm(host, buf, addr,
+					     PDC_20621_PAGE_SIZE * 32);
+			addr += PDC_20621_PAGE_SIZE * 32;
 		}
+		kfree(buf);
 		VPRINTK("Finish ECC initialization\n");
 	}
 	return 0;
-- 
1.6.2.2


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

* Re: [PATCH] sata_sx4: speed up ECC initialization
  2009-04-14  2:26 [PATCH] sata_sx4: speed up ECC initialization Alexander Beregalov
@ 2009-04-14 11:57 ` Jeff Garzik
  2009-04-14 20:00   ` Alexander Beregalov
  0 siblings, 1 reply; 10+ messages in thread
From: Jeff Garzik @ 2009-04-14 11:57 UTC (permalink / raw)
  To: Alexander Beregalov; +Cc: linux-ide

Alexander Beregalov wrote:
> ECC initialization takes too long. It writes zeroes by portions of 4
> byte, it takes more than 6 minutes to initialize 512Mb DIMM module.
> Change portion to 1Mb.
> 
> before:
> [10857.207576] pdc20621_dimm_init: Start ECC initialization
> [11235.333118] pdc20621_dimm_init: Finish ECC initialization
> 
> after:
> [ 1005.126437] pdc20621_dimm_init: Local DIMM Speed = 100
> [ 1005.128111] pdc20621_dimm_init: Local DIMM Size = 512MB
> [ 1005.133508] Local DIMM ECC Enabled
> [ 1005.236482] pdc20621_dimm_init: Start ECC initialization
> [ 1031.278098] pdc20621_dimm_init: Finish ECC initialization
> 
> Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
> ---
>  drivers/ata/sata_sx4.c |   10 ++++++----
>  1 files changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c
> index dce3dcc..d329501 100644
> --- a/drivers/ata/sata_sx4.c
> +++ b/drivers/ata/sata_sx4.c
> @@ -1208,7 +1208,6 @@ static unsigned int pdc20621_dimm_init(struct ata_host *host)
>  {
>  	int speed, size, length;
>  	u32 addr, spd0, pci_status;
> -	u32 tmp = 0;
>  	u32 time_period = 0;
>  	u32 tcount = 0;
>  	u32 ticks = 0;
> @@ -1323,14 +1322,17 @@ static unsigned int pdc20621_dimm_init(struct ata_host *host)
>  	pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS,
>  			  PDC_DIMM_SPD_TYPE, &spd0);
>  	if (spd0 == 0x02) {
> +		void *buf;
>  		VPRINTK("Start ECC initialization\n");
>  		addr = 0;
>  		length = size * 1024 * 1024;
> +		buf = kzalloc(PDC_20621_PAGE_SIZE * 32, GFP_KERNEL);
>  		while (addr < length) {
> -			pdc20621_put_to_dimm(host, (void *) &tmp, addr,
> -					     sizeof(u32));
> -			addr += sizeof(u32);
> +			pdc20621_put_to_dimm(host, buf, addr,
> +					     PDC_20621_PAGE_SIZE * 32);
> +			addr += PDC_20621_PAGE_SIZE * 32;
>  		}
> +		kfree(buf);

Comments:

1) on an older machine, where these things might be found, 1MB might be 
a lot -- particularly if there is a lot of VM fragmentation.  Please 
reduce the size a bit -- I suppose 128k is not unbearably slow?

2) Rather than repeating 'page size * 32' calculation multiple times, 
put it into a named constant somewhere.

Other than that, looks ok!

	Jeff






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

* Re: [PATCH] sata_sx4: speed up ECC initialization
  2009-04-14 11:57 ` Jeff Garzik
@ 2009-04-14 20:00   ` Alexander Beregalov
  2009-04-14 20:21     ` Jeff Garzik
  0 siblings, 1 reply; 10+ messages in thread
From: Alexander Beregalov @ 2009-04-14 20:00 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-ide

On Tue, Apr 14, 2009 at 07:57:57AM -0400, Jeff Garzik wrote:
> Alexander Beregalov wrote:
> > ECC initialization takes too long. It writes zeroes by portions of 4
> > byte, it takes more than 6 minutes to initialize 512Mb DIMM module.
> > Change portion to 1Mb.
> > 
> > before:
> > [10857.207576] pdc20621_dimm_init: Start ECC initialization
> > [11235.333118] pdc20621_dimm_init: Finish ECC initialization
> > 
> > after:
> > [ 1005.126437] pdc20621_dimm_init: Local DIMM Speed = 100
> > [ 1005.128111] pdc20621_dimm_init: Local DIMM Size = 512MB
> > [ 1005.133508] Local DIMM ECC Enabled
> > [ 1005.236482] pdc20621_dimm_init: Start ECC initialization
> > [ 1031.278098] pdc20621_dimm_init: Finish ECC initialization
> > 
> Comments:
> 
> 1) on an older machine, where these things might be found, 1MB might be 
> a lot -- particularly if there is a lot of VM fragmentation.  Please 
> reduce the size a bit -- I suppose 128k is not unbearably slow?
> 
> 2) Rather than repeating 'page size * 32' calculation multiple times, 
> put it into a named constant somewhere.
> 
> Other than that, looks ok!


>From 00e980a4651ef12811fbe9a893a7e72510b955d1 Mon Sep 17 00:00:00 2001
From: Alexander Beregalov <a.beregalov@gmail.com>
Date: Tue, 14 Apr 2009 23:55:52 +0400
Subject: [PATCH v2] sata_sx4: speed up ECC initialization

ECC initialization takes too long. It writes zeroes by portions
of 4 byte, it takes more than 6 minutes on my machine to initialize
512Mb ECC DIMM module. Change portion to 128Kb - it significantly
reduces initialization time.

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
---
 drivers/ata/sata_sx4.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c
index dce3dcc..197a4d7 100644
--- a/drivers/ata/sata_sx4.c
+++ b/drivers/ata/sata_sx4.c
@@ -193,6 +193,7 @@ enum {
 					  PDC_TIMER_MASK_INT,
 };
 
+#define ECC_ERASE_BUF 128 * 1024;
 
 struct pdc_port_priv {
 	u8			dimm_buf[(ATA_PRD_SZ * ATA_MAX_PRD) + 512];
@@ -1208,7 +1209,6 @@ static unsigned int pdc20621_dimm_init(struct ata_host *host)
 {
 	int speed, size, length;
 	u32 addr, spd0, pci_status;
-	u32 tmp = 0;
 	u32 time_period = 0;
 	u32 tcount = 0;
 	u32 ticks = 0;
@@ -1323,14 +1323,17 @@ static unsigned int pdc20621_dimm_init(struct ata_host *host)
 	pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS,
 			  PDC_DIMM_SPD_TYPE, &spd0);
 	if (spd0 == 0x02) {
+		void *buf;
 		VPRINTK("Start ECC initialization\n");
 		addr = 0;
 		length = size * 1024 * 1024;
+		buf = kzalloc(ECC_ERASE_BUF, GFP_KERNEL);
 		while (addr < length) {
-			pdc20621_put_to_dimm(host, (void *) &tmp, addr,
-					     sizeof(u32));
-			addr += sizeof(u32);
+			pdc20621_put_to_dimm(host, buf, addr,
+					     ECC_ERASE_BUF);
+			addr += ECC_ERASE_BUF;
 		}
+		kfree(buf);
 		VPRINTK("Finish ECC initialization\n");
 	}
 	return 0;
-- 
1.6.2.3


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

* Re: [PATCH] sata_sx4: speed up ECC initialization
  2009-04-14 20:00   ` Alexander Beregalov
@ 2009-04-14 20:21     ` Jeff Garzik
  2009-04-14 20:51       ` Alexander Beregalov
  0 siblings, 1 reply; 10+ messages in thread
From: Jeff Garzik @ 2009-04-14 20:21 UTC (permalink / raw)
  To: Alexander Beregalov; +Cc: linux-ide

Alexander Beregalov wrote:
> On Tue, Apr 14, 2009 at 07:57:57AM -0400, Jeff Garzik wrote:
>> Alexander Beregalov wrote:
>>> ECC initialization takes too long. It writes zeroes by portions of 4
>>> byte, it takes more than 6 minutes to initialize 512Mb DIMM module.
>>> Change portion to 1Mb.
>>>
>>> before:
>>> [10857.207576] pdc20621_dimm_init: Start ECC initialization
>>> [11235.333118] pdc20621_dimm_init: Finish ECC initialization
>>>
>>> after:
>>> [ 1005.126437] pdc20621_dimm_init: Local DIMM Speed = 100
>>> [ 1005.128111] pdc20621_dimm_init: Local DIMM Size = 512MB
>>> [ 1005.133508] Local DIMM ECC Enabled
>>> [ 1005.236482] pdc20621_dimm_init: Start ECC initialization
>>> [ 1031.278098] pdc20621_dimm_init: Finish ECC initialization
>>>
>> Comments:
>>
>> 1) on an older machine, where these things might be found, 1MB might be 
>> a lot -- particularly if there is a lot of VM fragmentation.  Please 
>> reduce the size a bit -- I suppose 128k is not unbearably slow?
>>
>> 2) Rather than repeating 'page size * 32' calculation multiple times, 
>> put it into a named constant somewhere.
>>
>> Other than that, looks ok!
> 
> 
>>From 00e980a4651ef12811fbe9a893a7e72510b955d1 Mon Sep 17 00:00:00 2001
> From: Alexander Beregalov <a.beregalov@gmail.com>
> Date: Tue, 14 Apr 2009 23:55:52 +0400
> Subject: [PATCH v2] sata_sx4: speed up ECC initialization
> 
> ECC initialization takes too long. It writes zeroes by portions
> of 4 byte, it takes more than 6 minutes on my machine to initialize
> 512Mb ECC DIMM module. Change portion to 128Kb - it significantly
> reduces initialization time.
> 
> Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
> ---
>  drivers/ata/sata_sx4.c |   11 +++++++----
>  1 files changed, 7 insertions(+), 4 deletions(-)


Applied, to libata-dev.git#upstream

Thanks!

So...   the $64,000 question:  does sata_sx4 work for you?


> diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c
> index dce3dcc..197a4d7 100644
> --- a/drivers/ata/sata_sx4.c
> +++ b/drivers/ata/sata_sx4.c
> @@ -193,6 +193,7 @@ enum {
>  					  PDC_TIMER_MASK_INT,
>  };
>  
> +#define ECC_ERASE_BUF_SZ (128 * 1024)

I made two minor edits:

1) Macros should always be guarded by parens

2) Added "_SZ" suffix to make purpose even more obvious



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

* Re: [PATCH] sata_sx4: speed up ECC initialization
  2009-04-14 20:21     ` Jeff Garzik
@ 2009-04-14 20:51       ` Alexander Beregalov
  2009-04-15  8:02         ` Mikael Pettersson
  2009-05-16  6:29         ` Jeff Garzik
  0 siblings, 2 replies; 10+ messages in thread
From: Alexander Beregalov @ 2009-04-14 20:51 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-ide

2009/4/15 Jeff Garzik <jeff@garzik.org>:
> Alexander Beregalov wrote:
>>
>> On Tue, Apr 14, 2009 at 07:57:57AM -0400, Jeff Garzik wrote:
>>>
>>> Alexander Beregalov wrote:
>>>>
>>>> ECC initialization takes too long. It writes zeroes by portions of 4
>>>> byte, it takes more than 6 minutes to initialize 512Mb DIMM module.
>>>> Change portion to 1Mb.
>>>>
>>>> before:
>>>> [10857.207576] pdc20621_dimm_init: Start ECC initialization
>>>> [11235.333118] pdc20621_dimm_init: Finish ECC initialization
>>>>
>>>> after:
>>>> [ 1005.126437] pdc20621_dimm_init: Local DIMM Speed = 100
>>>> [ 1005.128111] pdc20621_dimm_init: Local DIMM Size = 512MB
>>>> [ 1005.133508] Local DIMM ECC Enabled
>>>> [ 1005.236482] pdc20621_dimm_init: Start ECC initialization
>>>> [ 1031.278098] pdc20621_dimm_init: Finish ECC initialization
>>>>
>>> Comments:
>>>
>>> 1) on an older machine, where these things might be found, 1MB might be a
>>> lot -- particularly if there is a lot of VM fragmentation.  Please reduce
>>> the size a bit -- I suppose 128k is not unbearably slow?
>>>
>>> 2) Rather than repeating 'page size * 32' calculation multiple times, put
>>> it into a named constant somewhere.
>>>
>>> Other than that, looks ok!
>>
>>
>>> From 00e980a4651ef12811fbe9a893a7e72510b955d1 Mon Sep 17 00:00:00 2001
>>
>> From: Alexander Beregalov <a.beregalov@gmail.com>
>> Date: Tue, 14 Apr 2009 23:55:52 +0400
>> Subject: [PATCH v2] sata_sx4: speed up ECC initialization
>>
>> ECC initialization takes too long. It writes zeroes by portions
>> of 4 byte, it takes more than 6 minutes on my machine to initialize
>> 512Mb ECC DIMM module. Change portion to 128Kb - it significantly
>> reduces initialization time.
>>
>> Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
>> ---
>>  drivers/ata/sata_sx4.c |   11 +++++++----
>>  1 files changed, 7 insertions(+), 4 deletions(-)
>
>
> Applied, to libata-dev.git#upstream
>
> Thanks!
>
> So...   the $64,000 question:  does sata_sx4 work for you?

No, not yet! :)
It works without disks ;)
It has found disks, but got timeout from them.
Some specific functions should be added to ops structure.

At first I am trying to understand how to detect cable type.
I have two examples: from Promise partial source code and from FreeBSD.

But PGuide says the chip automatically detects cable type.
Does it mean the driver should not do anything with it? - I will try it.

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

* Re: [PATCH] sata_sx4: speed up ECC initialization
  2009-04-14 20:51       ` Alexander Beregalov
@ 2009-04-15  8:02         ` Mikael Pettersson
  2009-05-16  6:29         ` Jeff Garzik
  1 sibling, 0 replies; 10+ messages in thread
From: Mikael Pettersson @ 2009-04-15  8:02 UTC (permalink / raw)
  To: Alexander Beregalov; +Cc: Jeff Garzik, linux-ide

Alexander Beregalov writes:
 > >> From: Alexander Beregalov <a.beregalov@gmail.com>
 > >> Date: Tue, 14 Apr 2009 23:55:52 +0400
 > >> Subject: [PATCH v2] sata_sx4: speed up ECC initialization
 > >>
 > >> ECC initialization takes too long. It writes zeroes by portions
 > >> of 4 byte, it takes more than 6 minutes on my machine to initialize
 > >> 512Mb ECC DIMM module. Change portion to 128Kb - it significantly
 > >> reduces initialization time.
 > >>
 > >> Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
 > >> ---
 > >>  drivers/ata/sata_sx4.c |   11 +++++++----
 > >>  1 files changed, 7 insertions(+), 4 deletions(-)
 > >
 > >
 > > Applied, to libata-dev.git#upstream
 > >
 > > Thanks!
 > >
 > > So...   the $64,000 question:  does sata_sx4 work for you?
 > 
 > No, not yet! :)
 > It works without disks ;)
 > It has found disks, but got timeout from them.
 > Some specific functions should be added to ops structure.
 > 
 > At first I am trying to understand how to detect cable type.
 > I have two examples: from Promise partial source code and from FreeBSD.
 > 
 > But PGuide says the chip automatically detects cable type.
 > Does it mean the driver should not do anything with it? - I will try it.

No, it means you query the chip and report what it detected
to libata. The cable type affects speed settings.

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

* Re: [PATCH] sata_sx4: speed up ECC initialization
  2009-04-14 20:51       ` Alexander Beregalov
  2009-04-15  8:02         ` Mikael Pettersson
@ 2009-05-16  6:29         ` Jeff Garzik
  2009-05-16 13:29           ` Alexander Beregalov
  1 sibling, 1 reply; 10+ messages in thread
From: Jeff Garzik @ 2009-05-16  6:29 UTC (permalink / raw)
  To: Alexander Beregalov; +Cc: linux-ide

Alexander Beregalov wrote:
> 2009/4/15 Jeff Garzik <jeff@garzik.org>:
>> Alexander Beregalov wrote:
>>> On Tue, Apr 14, 2009 at 07:57:57AM -0400, Jeff Garzik wrote:
>>>> Alexander Beregalov wrote:
>>>>> ECC initialization takes too long. It writes zeroes by portions of 4
>>>>> byte, it takes more than 6 minutes to initialize 512Mb DIMM module.
>>>>> Change portion to 1Mb.
>>>>>
>>>>> before:
>>>>> [10857.207576] pdc20621_dimm_init: Start ECC initialization
>>>>> [11235.333118] pdc20621_dimm_init: Finish ECC initialization
>>>>>
>>>>> after:
>>>>> [ 1005.126437] pdc20621_dimm_init: Local DIMM Speed = 100
>>>>> [ 1005.128111] pdc20621_dimm_init: Local DIMM Size = 512MB
>>>>> [ 1005.133508] Local DIMM ECC Enabled
>>>>> [ 1005.236482] pdc20621_dimm_init: Start ECC initialization
>>>>> [ 1031.278098] pdc20621_dimm_init: Finish ECC initialization
>>>>>
>>>> Comments:
>>>>
>>>> 1) on an older machine, where these things might be found, 1MB might be a
>>>> lot -- particularly if there is a lot of VM fragmentation.  Please reduce
>>>> the size a bit -- I suppose 128k is not unbearably slow?
>>>>
>>>> 2) Rather than repeating 'page size * 32' calculation multiple times, put
>>>> it into a named constant somewhere.
>>>>
>>>> Other than that, looks ok!
>>>
>>>> From 00e980a4651ef12811fbe9a893a7e72510b955d1 Mon Sep 17 00:00:00 2001
>>> From: Alexander Beregalov <a.beregalov@gmail.com>
>>> Date: Tue, 14 Apr 2009 23:55:52 +0400
>>> Subject: [PATCH v2] sata_sx4: speed up ECC initialization
>>>
>>> ECC initialization takes too long. It writes zeroes by portions
>>> of 4 byte, it takes more than 6 minutes on my machine to initialize
>>> 512Mb ECC DIMM module. Change portion to 128Kb - it significantly
>>> reduces initialization time.
>>>
>>> Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
>>> ---
>>>  drivers/ata/sata_sx4.c |   11 +++++++----
>>>  1 files changed, 7 insertions(+), 4 deletions(-)
>>
>> Applied, to libata-dev.git#upstream
>>
>> Thanks!
>>
>> So...   the $64,000 question:  does sata_sx4 work for you?
> 
> No, not yet! :)
> It works without disks ;)
> It has found disks, but got timeout from them.
> Some specific functions should be added to ops structure.
> 
> At first I am trying to understand how to detect cable type.
> I have two examples: from Promise partial source code and from FreeBSD.
> 
> But PGuide says the chip automatically detects cable type.
> Does it mean the driver should not do anything with it? - I will try it.

Check out 2.6.30-rc6, sata_sx4 received several major bug fixes...

	Jeff





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

* Re: [PATCH] sata_sx4: speed up ECC initialization
  2009-05-16  6:29         ` Jeff Garzik
@ 2009-05-16 13:29           ` Alexander Beregalov
  2009-05-16 19:11             ` Jeff Garzik
  0 siblings, 1 reply; 10+ messages in thread
From: Alexander Beregalov @ 2009-05-16 13:29 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-ide

On Sat, May 16, 2009 at 02:29:51AM -0400, Jeff Garzik wrote:
> Check out 2.6.30-rc6, sata_sx4 received several major bug fixes...

Thanks, but it still does not work.


bus: 'pci': add driver sata_sx4
bus: 'pci': driver_probe_device: matched device 0000:02:04.0 with driver sata_sx4
bus: 'pci': really_probe: probing driver sata_sx4 with device 0000:02:04.0
sata_sx4 0000:02:04.0: version 0.12
PCI: Enabling device: (0000:02:04.0), cmd 3
pdc20621_dimm_init: Time Period Register (0x40): 0xffffffff
pdc20621_dimm_init: Time Counter Register (0x44): 0xf71a3f65
pdc20621_dimm_init: Num counters 0x8e5c09a (149274778)
pdc20621_dimm_init: 10 * Internal clk = 0x1f1 (497)
pdc20621_dimm_init: 10 * Internal clk * 33 = 0x4011 (16401)
pdc20621_dimm_init: PLL F Param: 0x53 (83)
pdc20621_dimm_init: pci_status: 0x8a531824
pdc20621_dimm_init: Local DIMM Speed = 100
pdc20621_dimm_init: Local DIMM Size = 512MB
Local DIMM ECC Enabled
ff, 0, 
ff, 0, 
ff, 0, 
pdc20621_dimm_init: Start ECC initialization
pdc20621_dimm_init: Finish ECC initialization
sata_sx4 0000:02:04.0: enabling bus mastering
pdc20621_interrupt: ENTER
pdc20621_interrupt: mask == 0x0
pdc20621_interrupt: QUICK EXIT 3
scsi2 : sata_sx4
device: 'host2': device_add
bus: 'scsi': add device host2
device: 'host2': device_add
scsi3 : sata_sx4
device: 'host3': device_add
bus: 'scsi': add device host3
device: 'host3': device_add
scsi4 : sata_sx4
device: 'host4': device_add
bus: 'scsi': add device host4
device: 'host4': device_add
scsi5 : sata_sx4
device: 'host5': device_add
bus: 'scsi': add device host5
device: 'host5': device_add
ata3: PATA max UDMA/133 mmio m1048576@0x1ff00300000 dimm m32768@0x1ff00400000 port 0x1ff00300200 irq 16
ata4: PATA max UDMA/133 mmio m1048576@0x1ff00300000 dimm m32768@0x1ff00400000 port 0x1ff00300280 irq 16
ata5: PATA max UDMA/133 mmio m1048576@0x1ff00300000 dimm m32768@0x1ff00400000 port 0x1ff00300300 irq 16
ata6: PATA max UDMA/133 mmio m1048576@0x1ff00300000 dimm m32768@0x1ff00400000 port 0x1ff00300380 irq 16
driver: '0000:02:04.0': driver_bound: bound to device 'sata_sx4'
bus: 'pci': really_probe: bound device 0000:02:04.0 to driver sata_sx4
ata3.00: ATA-5: ST320414A, 3.28, max UDMA/100
ata3.00: 39851760 sectors, multi 0: LBA 
pdc20621_nodata_prep: ata3: ENTER
pdc20621_ata_pkt: ENTER, dimm_sg == 0x200180, 2097536
pdc20621_nodata_prep: ata pkt buf ofs 282, mmio copied
ata3.00: configured for UDMA/100
scsi 2:0:0:0: Direct-Access     ATA      ST320414A        3.28 PQ: 0 ANSI: 5
device: 'target2:0:0': device_add
bus: 'scsi': add device target2:0:0
device: '2:0:0:0': device_add
bus: 'scsi': add device 2:0:0:0
bus: 'scsi': driver_probe_device: matched device 2:0:0:0 with driver sd
bus: 'scsi': really_probe: probing driver sd with device 2:0:0:0
driver: '2:0:0:0': driver_bound: bound to device 'sd'
bus: 'scsi': really_probe: bound device 2:0:0:0 to driver sd
device: '2:0:0:0': device_add
device: 'sg1': device_add
sd 2:0:0:0: Attached scsi generic sg1 type 0
device: '2:0:0:0': device_add
sd 2:0:0:0: [sdb] 39851760 512-byte hardware sectors: (20.4 GB/19.0 GiB)
sd 2:0:0:0: [sdb] Write Protect is off
sd 2:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
device: 'sdb': device_add
 sdb:<3>pdc20621_dma_prep: ata3: ENTER
pdc20621_host_sg: HOST PSG @ 200080 == (0x2100, 0x200080)
pdc20621_host_pkt: ENTER, dimm_sg == 0x200080, 2097280
pdc20621_host_pkt: host_sg == 0x201800, 2103296
pdc20621_host_pkt: HOST PKT @ 200000 == (0x40005ff 0x182000 0x80002000 0x0)
pdc20621_ata_sg: ATA sg addr 0x210000, 2162688
pdc20621_ata_sg: ATA PSG @ 200180 == (0x2100, 0x200080)
pdc20621_ata_pkt: ENTER, dimm_sg == 0x200180, 2097536
pdc20621_dma_prep: ata pkt buf ofs 282, prd size 8, mmio copied
pdc20621_packet_start: ata3: ENTER
pdc20621_packet_start: submitted ofs 0x200100 (2097408), seq 1
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
ata3.00: cmd c8/00:10:00:00:00/00:00:00:00:00/e0 tag 0 dma 8192 in
         res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
ata3.00: status: { DRDY }
ata3: soft resetting link
pdc20621_nodata_prep: ata3: ENTER
pdc20621_ata_pkt: ENTER, dimm_sg == 0x200180, 2097536
pdc20621_nodata_prep: ata pkt buf ofs 282, mmio copied
ata3.00: configured for UDMA/100
ata3: EH complete
pdc20621_dma_prep: ata3: ENTER
pdc20621_host_sg: HOST PSG @ 200080 == (0x2100, 0x200080)
pdc20621_host_pkt: ENTER, dimm_sg == 0x200080, 2097280
pdc20621_host_pkt: host_sg == 0x201800, 2103296
pdc20621_host_pkt: HOST PKT @ 200000 == (0x40005ff 0x182000 0x80002000 0x0)
pdc20621_ata_sg: ATA sg addr 0x210000, 2162688
pdc20621_ata_sg: ATA PSG @ 200180 == (0x2100, 0x200080)
pdc20621_ata_pkt: ENTER, dimm_sg == 0x200180, 2097536
pdc20621_dma_prep: ata pkt buf ofs 282, prd size 8, mmio copied
pdc20621_packet_start: ata3: ENTER
pdc20621_packet_start: submitted ofs 0x200100 (2097408), seq 1
ata3.00: limiting speed to UDMA/66:PIO4
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
ata3.00: cmd c8/00:10:00:00:00/00:00:00:00:00/e0 tag 0 dma 8192 in
         res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
ata3.00: status: { DRDY }
ata3: soft resetting link

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

* Re: [PATCH] sata_sx4: speed up ECC initialization
  2009-05-16 13:29           ` Alexander Beregalov
@ 2009-05-16 19:11             ` Jeff Garzik
  2009-05-16 19:17               ` Alexander Beregalov
  0 siblings, 1 reply; 10+ messages in thread
From: Jeff Garzik @ 2009-05-16 19:11 UTC (permalink / raw)
  To: Alexander Beregalov; +Cc: linux-ide

Alexander Beregalov wrote:
> On Sat, May 16, 2009 at 02:29:51AM -0400, Jeff Garzik wrote:
>> Check out 2.6.30-rc6, sata_sx4 received several major bug fixes...
> 
> Thanks, but it still does not work.

oh well...   did behavior improve for you, at least?  Did the driver 
make it farther than before?

	Jeff





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

* Re: [PATCH] sata_sx4: speed up ECC initialization
  2009-05-16 19:11             ` Jeff Garzik
@ 2009-05-16 19:17               ` Alexander Beregalov
  0 siblings, 0 replies; 10+ messages in thread
From: Alexander Beregalov @ 2009-05-16 19:17 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-ide

2009/5/16 Jeff Garzik <jeff@garzik.org>:
> Alexander Beregalov wrote:
>>
>> On Sat, May 16, 2009 at 02:29:51AM -0400, Jeff Garzik wrote:
>>>
>>> Check out 2.6.30-rc6, sata_sx4 received several major bug fixes...
>>
>> Thanks, but it still does not work.
>
> oh well...   did behavior improve for you, at least?  Did the driver make it
> farther than before?

No, the same behavior.
My modification is not enough for driver to work as PATA controller.

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

end of thread, other threads:[~2009-05-16 19:17 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-14  2:26 [PATCH] sata_sx4: speed up ECC initialization Alexander Beregalov
2009-04-14 11:57 ` Jeff Garzik
2009-04-14 20:00   ` Alexander Beregalov
2009-04-14 20:21     ` Jeff Garzik
2009-04-14 20:51       ` Alexander Beregalov
2009-04-15  8:02         ` Mikael Pettersson
2009-05-16  6:29         ` Jeff Garzik
2009-05-16 13:29           ` Alexander Beregalov
2009-05-16 19:11             ` Jeff Garzik
2009-05-16 19:17               ` Alexander Beregalov

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