Re: [zfs-discuss] si3124 controller problem and fix (fwd)

2007-07-17 Thread Murray
Hey Johansen,

I can confirm that 6566207 has been fixed by the new driver!

I haven't been able to reproduce 6565894 so cannot confirm whether or not this 
is fixed.

Thanks for the fix, open source rocks :)

Murray
 
 
This message posted from opensolaris.org
___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] si3124 controller problem and fix (fwd)

2007-07-17 Thread johansen-osdev
In an attempt to speed up progress on some of the si3124 bugs that Roger
reported, I've created a workspace with the fixes for:

   6565894 sata drives are not identified by si3124 driver
   6566207 si3124 driver loses interrupts.

I'm attaching a driver which contains these fixes as well as a diff of
the changes I used to produce them.

I don't have access to a si3124 chipset, unfortunately.

Would somebody be able to review these changes and try the new driver on
a si3124 card?

Thanks,

-j

On Tue, Jul 17, 2007 at 02:39:00AM -0700, Nigel Smith wrote:
> You can see the  status of bug here:
> 
> http://bugs.opensolaris.org/view_bug.do?bug_id=6566207
> 
> Unfortunately, it's showing no progress since 20th June.
> 
> This fix really could do to be in place for S10u4 and snv_70.
> Thanks
> Nigel Smith
>  
>  
> This message posted from opensolaris.org
> ___
> zfs-discuss mailing list
> zfs-discuss@opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


si3124.tar.gz
Description: application/tar-gz

--- usr/src/uts/common/io/sata/adapters/si3124/si3124.c ---

Index: usr/src/uts/common/io/sata/adapters/si3124/si3124.c
--- /ws/onnv-clone/usr/src/uts/common/io/sata/adapters/si3124/si3124.c  Mon Nov 
13 23:20:01 2006
+++ 
/export/johansen/si-fixes/usr/src/uts/common/io/sata/adapters/si3124/si3124.c   
Tue Jul 17 14:37:17 2007
@@ -22,11 +22,11 @@
 /*
  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
-#pragma ident  "@(#)si3124.c   1.4 06/11/14 SMI"
+#pragma ident  "@(#)si3124.c   1.5 07/07/17 SMI"
 
 
 
 /*
  * SiliconImage 3124/3132 sata controller driver
@@ -381,11 +381,11 @@
 
 extern struct mod_ops mod_driverops;
 
 static  struct modldrv modldrv = {
&mod_driverops, /* driverops */
-   "si3124 driver v1.4",
+   "si3124 driver v1.5",
&sictl_dev_ops, /* driver ops */
 };
 
 static  struct modlinkage modlinkage = {
MODREV_1,
@@ -2808,10 +2808,13 @@
si_portp = si_ctlp->sictl_ports[port];
mutex_enter(&si_portp->siport_mutex);
 
/* Clear Port Reset. */
ddi_put32(si_ctlp->sictl_port_acc_handle,
+   (uint32_t *)PORT_CONTROL_SET(si_ctlp, port),
+   PORT_CONTROL_SET_BITS_PORT_RESET);
+   ddi_put32(si_ctlp->sictl_port_acc_handle,
(uint32_t *)PORT_CONTROL_CLEAR(si_ctlp, port),
PORT_CONTROL_CLEAR_BITS_PORT_RESET);
 
/*
 * Arm the interrupts for: Cmd completion, Cmd error,
@@ -3509,16 +3512,16 @@
port);
 
if (port_intr_status & INTR_COMMAND_COMPLETE) {
(void) si_intr_command_complete(si_ctlp, si_portp,
port);
-   }
-
+   } else {
/* Clear the interrupts */
ddi_put32(si_ctlp->sictl_port_acc_handle,
(uint32_t *)(PORT_INTERRUPT_STATUS(si_ctlp, port)),
port_intr_status & INTR_MASK);
+   }
 
/*
 * Note that we did not clear the interrupt for command
 * completion interrupt. Reading of slot_status takes care
 * of clearing the interrupt for command completion case.
___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] si3124 controller problem and fix (fwd)

2007-07-17 Thread Al Hopper
On Tue, 17 Jul 2007, Nigel Smith wrote:

> You can see the  status of bug here:
>
> http://bugs.opensolaris.org/view_bug.do?bug_id=6566207
>
> Unfortunately, it's showing no progress since 20th June.
>
> This fix really could do to be in place for S10u4 and snv_70.
>

Drop Roger Fujii <[EMAIL PROTECTED]> an email and ask him for a copy of 
the driver he has fixed.  Tell him I sent you (he may get mad at me!).

Roger is a long time contributor to the Solaris on x86 list at 
solarisx86.yahoogroups.com.  Others x86ers have reported solid 
performance with Rogers updated driver.

Regards,

Al Hopper  Logical Approach Inc, Plano, TX.  [EMAIL PROTECTED]
Voice: 972.379.2133 Fax: 972.379.2134  Timezone: US CDT
OpenSolaris Governing Board (OGB) Member - Apr 2005 to Mar 2007
http://www.opensolaris.org/os/community/ogb/ogb_2005-2007/
___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] si3124 controller problem and fix (fwd)

2007-07-17 Thread Nigel Smith
You can see the  status of bug here:

http://bugs.opensolaris.org/view_bug.do?bug_id=6566207

Unfortunately, it's showing no progress since 20th June.

This fix really could do to be in place for S10u4 and snv_70.
Thanks
Nigel Smith
 
 
This message posted from opensolaris.org
___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] si3124 controller problem and fix (fwd)

2007-07-16 Thread Murray
Does anyone have an update on this bugfix?

I'm trying to use some 3124 cards in production, and its painful!

Thanks,
Murray
 
 
This message posted from opensolaris.org
___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] si3124 controller problem and fix (fwd)

2007-06-07 Thread Dan Mick

[EMAIL PROTECTED] wrote:
it's been assigned CR 6566207 by Linda Bernal.  Basically, if you look 
at si_intr and read the comments in the code, the bug is pretty 
obvious.


si3124 driver's interrupt routine is incorrectly coded.  The ddi_put32 
that clears the interrupts should be enclosed in an "else" block, 
thereby making it consistent with the comment just below.  Otherwise, 
you would be double clearing the interrupts, thus losing pending 
interrupts.


Since this is a simple fix, there's really no point dealing it as a 
contributor.


The bug report for 6566207 states that the submitter is an OpenSolaris
contributor who wishes to work on the fix.  If this is not the case, we
should clarify this CR so it doesn't languish.  It's still sitting in
the dispatched state (hasn't been accepted by anyone).



well, it *just* got filed at 10PM on the 5th...

but I've raised its priority and added the SATA team to the notification. 
I'll follow up with private email pointing out the urgency of the fix.

___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] si3124 controller problem and fix (fwd)

2007-06-07 Thread Al Hopper

On Thu, 7 Jun 2007, Marko Milisavljevic wrote:


Al,

Do you know if this affects Sil3132 cards as well? According to this


I'm sure it would affect any hardware that uses the driver - because 
it'll drop interrupts from the device.  But I have not verified this 
to be the case.



http://www.dansketcher.com/2006/12/09/solaris-sata-chipsets-i-can-run-zsf-with/Sil3124
driver can be persuaded to work with Sil3132 cards with change in
/etc/driver_aliases.


Regards,

Al Hopper  Logical Approach Inc, Plano, TX.  [EMAIL PROTECTED]
   Voice: 972.379.2133 Fax: 972.379.2134  Timezone: US CDT
OpenSolaris Governing Board (OGB) Member - Apr 2005 to Mar 2007
http://www.opensolaris.org/os/community/ogb/ogb_2005-2007/
___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] si3124 controller problem and fix (fwd)

2007-06-07 Thread johansen-osdev
> it's been assigned CR 6566207 by Linda Bernal.  Basically, if you look 
> at si_intr and read the comments in the code, the bug is pretty 
> obvious.
>
> si3124 driver's interrupt routine is incorrectly coded.  The ddi_put32 
> that clears the interrupts should be enclosed in an "else" block, 
> thereby making it consistent with the comment just below.  Otherwise, 
> you would be double clearing the interrupts, thus losing pending 
> interrupts.
> 
> Since this is a simple fix, there's really no point dealing it as a 
> contributor.

The bug report for 6566207 states that the submitter is an OpenSolaris
contributor who wishes to work on the fix.  If this is not the case, we
should clarify this CR so it doesn't languish.  It's still sitting in
the dispatched state (hasn't been accepted by anyone).

-j

___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] si3124 controller problem and fix (fwd)

2007-06-07 Thread Marko Milisavljevic

Al,

Do you know if this affects Sil3132 cards as well? According to this
http://www.dansketcher.com/2006/12/09/solaris-sata-chipsets-i-can-run-zsf-with/Sil3124
driver can be persuaded to work with Sil3132 cards with change in
/etc/driver_aliases.

Marko

On 6/7/07, Al Hopper <[EMAIL PROTECTED]> wrote:



Good news on the si3124 driver bug I mentioned:

http://mail.opensolaris.org/pipermail/zfs-discuss/2007-May/028487.html
http://mail.opensolaris.org/pipermail/storage-discuss/2007-May/001288.html

Roger Fujii, a long time contributor to the Solaris on x86 list
([EMAIL PROTECTED]), root caused the bug, devised and tested
a fix, and passed the required changes upstream.


___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


[zfs-discuss] si3124 controller problem and fix (fwd)

2007-06-07 Thread Al Hopper


Good news on the si3124 driver bug I mentioned:

http://mail.opensolaris.org/pipermail/zfs-discuss/2007-May/028487.html
http://mail.opensolaris.org/pipermail/storage-discuss/2007-May/001288.html

Roger Fujii, a long time contributor to the Solaris on x86 list 
([EMAIL PROTECTED]), root caused the bug, devised and tested 
a fix, and passed the required changes upstream.


I got his permission to forward our email exchange to this list.

PS: will send a separate copy of this email to storage-discuss.

Al Hopper  Logical Approach Inc, Plano, TX.  [EMAIL PROTECTED]
   Voice: 972.379.2133 Fax: 972.379.2134  Timezone: US CDT
OpenSolaris Governing Board (OGB) Member - Apr 2005 to Mar 2007
http://www.opensolaris.org/os/community/ogb/ogb_2005-2007/

-- Forwarded message --
Date: Wed, 06 Jun 2007 12:53:03 -0400
From: Roger Fujii <[EMAIL PROTECTED]>
To: Al Hopper <[EMAIL PROTECTED]>
Subject: Re: [solarisx86] addonics / si3124 controller problem and fix

Al Hopper wrote:

On Wed, 6 Jun 2007, rogerfujii wrote:


Excellent news Roger.  Can you email me details of the fix?


it's been assigned CR 6566207 by Linda Bernal.  Basically, if you look 
at si_intr and read the comments in the code, the bug is pretty 
obvious.


Are you working through the OpenSolaris contributor process to 
integrate the fix (if so can you send me a pointer to the case 
materials)?


Here's what I wrote up:

si3124 driver's interrupt routine is incorrectly coded.  The ddi_put32 
that clears the interrupts should be enclosed in an "else" block, 
thereby making it consistent with the comment just below.  Otherwise, 
you would be double clearing the interrupts, thus losing pending 
interrupts.


Since this is a simple fix, there's really no point dealing it as a 
contributor. There also another initialization "bug" I encountered (CR 
6565894) which fixed a problem where the drives just didn't show up 
after a reboot.



PS: how did you find the bug?


I was determined to add drives to my system.  :)  Luckily, 
SiliconImage has the docs online, plus the code is (relatively) well 
commented.


-r
___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss