* sata_mv errata function
@ 2008-04-21 12:42 Sylver Bruneau
2008-04-21 13:20 ` Morrison, Tom
2008-04-21 13:35 ` Mark Lord
0 siblings, 2 replies; 6+ messages in thread
From: Sylver Bruneau @ 2008-04-21 12:42 UTC (permalink / raw)
To: linux-ide; +Cc: jeff
Hello,
during my analysis of some recent patches [1] from Marvell for several
ARM based (88f5182 & 88f5281) NAS devices, i've found that some
errata stuff are a little bit different from what is done in sata_mv.c
mainline code.
I don't know if there is a reason for the code not to be the same, but
I think that it could be useful to bring that to you.
Here are the facts ...
First, the fix value for phyMode 3 is a little bit different :
while sata_mv.c is applying a
tmp &= ~0x7F800000;
the patch from Marvell (check _fixPhyParams function in
arch/arm/mach-feroceon/Board
/SATA/CoreDriver/mvSata.c file) is applying a
regVal &= ~0x7F900000;
The fix value for phyMode 4 is also different for GEN IIE (6042 &
7042) devices :
in Marvell patch, there is an additional fix for this case (where nothing
seems to be done for this in sata_mv.c) :
/* phy mode 4 register of Gen IIE devices has some restriction */
if (pAdapter->sataAdapterGeneration >= MV_SATA_GEN_IIE)
{
phyMode4Value &= ~0x5DE3FFFC;
phyMode4Value |= MV_BIT2;
}
I understand that what is done in this function is not well documented,
but as it's what is done by Marvell in their patches, do you think that it
should be merged in sata_mv.c ?
If so, I will post a proper patch to add this !
Thanks,
Sylver Bruneau
[1] Marvell/QNAP patch for the TS-409 NAS (88f5281 based + PCIe
88SX7042 SATA controller)
http://qnap.free.fr/kernel/stock/linux-2.6.21.1.patch
^ permalink raw reply [flat|nested] 6+ messages in thread* RE: sata_mv errata function 2008-04-21 12:42 sata_mv errata function Sylver Bruneau @ 2008-04-21 13:20 ` Morrison, Tom 2008-04-21 13:41 ` Mark Lord 2008-04-21 13:35 ` Mark Lord 1 sibling, 1 reply; 6+ messages in thread From: Morrison, Tom @ 2008-04-21 13:20 UTC (permalink / raw) To: Sylver Bruneau, linux-ide; +Cc: jeff Interesting - I was just looking at this code this morning - and comparing with the reference driver Marvell has given us - this was one of the differences I was looking at because with this new driver and the old reference driver we were having performance problems due to vibrations or something that is causing the disk write performance to go very low (<5Mbytes/second)... I'd be very interested what Mark has to say about this - he just made some update to the driver - perhaps he has updated these values... t -----Original Message----- From: linux-ide-owner@vger.kernel.org [mailto:linux-ide-owner@vger.kernel.org] On Behalf Of Sylver Bruneau Sent: Monday, April 21, 2008 8:43 AM To: linux-ide@vger.kernel.org Cc: jeff@garzik.org Subject: sata_mv errata function Hello, during my analysis of some recent patches [1] from Marvell for several ARM based (88f5182 & 88f5281) NAS devices, i've found that some errata stuff are a little bit different from what is done in sata_mv.c mainline code. I don't know if there is a reason for the code not to be the same, but I think that it could be useful to bring that to you. Here are the facts ... First, the fix value for phyMode 3 is a little bit different : while sata_mv.c is applying a tmp &= ~0x7F800000; the patch from Marvell (check _fixPhyParams function in arch/arm/mach-feroceon/Board /SATA/CoreDriver/mvSata.c file) is applying a regVal &= ~0x7F900000; The fix value for phyMode 4 is also different for GEN IIE (6042 & 7042) devices : in Marvell patch, there is an additional fix for this case (where nothing seems to be done for this in sata_mv.c) : /* phy mode 4 register of Gen IIE devices has some restriction */ if (pAdapter->sataAdapterGeneration >= MV_SATA_GEN_IIE) { phyMode4Value &= ~0x5DE3FFFC; phyMode4Value |= MV_BIT2; } I understand that what is done in this function is not well documented, but as it's what is done by Marvell in their patches, do you think that it should be merged in sata_mv.c ? If so, I will post a proper patch to add this ! Thanks, Sylver Bruneau [1] Marvell/QNAP patch for the TS-409 NAS (88f5281 based + PCIe 88SX7042 SATA controller) http://qnap.free.fr/kernel/stock/linux-2.6.21.1.patch -- To unsubscribe from this list: send the line "unsubscribe linux-ide" 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] 6+ messages in thread
* Re: sata_mv errata function 2008-04-21 13:20 ` Morrison, Tom @ 2008-04-21 13:41 ` Mark Lord 2008-04-21 13:51 ` Morrison, Tom 0 siblings, 1 reply; 6+ messages in thread From: Mark Lord @ 2008-04-21 13:41 UTC (permalink / raw) To: Morrison, Tom; +Cc: Sylver Bruneau, linux-ide, jeff Morrison, Tom wrote: > Interesting - I was just looking at this code this morning - and > comparing with the reference driver Marvell has given us - this was > one of the differences I was looking at because with this new driver > and the old reference driver we were having performance problems > due to vibrations or something that is causing the disk write > performance > to go very low (<5Mbytes/second)... > > I'd be very interested what Mark has to say about this - he just > made some update to the driver - perhaps he has updated these values... .. I've replied separately to Sylver's original post, but just to keep me on all branches of this thread I'm replying again now to you. :) Most errata fixes are on my menu here for the next few weeks, so the ones pointed out by Sylver will get fixed as part of that. As to the current state of sata_mv, it is *still* deservedly marked as "HIGHLY EXPERIMENTAL". I would not trust my own data to it yet. In practice, I believe it is actually working well now, on non-PCIX systems at least. But, as you see, there are still missing workarounds for various errata, and I am not yet totally finished with the error-handling logic. That still needs just a little more TLC to be reliable/correct with NCQ. So the "HIGHLY EXPERIMENTAL" label remains, for now, but I do plan to strip it away entirely within a few weeks of now. Cheers ^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: sata_mv errata function 2008-04-21 13:41 ` Mark Lord @ 2008-04-21 13:51 ` Morrison, Tom 2008-05-07 16:02 ` Grant Grundler 0 siblings, 1 reply; 6+ messages in thread From: Morrison, Tom @ 2008-04-21 13:51 UTC (permalink / raw) To: Mark Lord; +Cc: linux-ide Understood Mark - I wasn't expecting that this was complete! I think we'll all clap very hard when you say - DONE! Also, I've got to say, that you've been so helpful with my problems with this chip in the past, I've really appreciated all your help! As you saw in my post - we have a vibration problem - that seems to cause some type of performance problem without any errors occurring. Very weird! IFF we completely isolate the disk from the chassis - the write performances goes up to what we expect ~75Mbs - but with it in the box - based upon how much vibration (directly related to heat - you can figure out what is causing vibration) - the performance goes down to the tube. We see NO errors at the sata level - and using SMART/smartctl we do not seem to see any errors that point to something we can fix easily... Our hardware engineer is looking into the affect of changing these values: SQ (squelch detector threshold) in PHY Mode 3 register. TxPRE (transmitter pre-emphasis) in PHY Mode 2 register. TXAmp (transmitter differential Amplitude) in PHY mode 2 register. I believe he has gotten some suggestions from the disk manufacturer and Marvell - so we shall see what comes of it! I'll keep you all updated... Tom Ps: this is also related to the Western Digital Green thread...:-)... -----Original Message----- From: Mark Lord [mailto:liml@rtr.ca] Sent: Monday, April 21, 2008 9:42 AM To: Morrison, Tom Cc: Sylver Bruneau; linux-ide@vger.kernel.org; jeff@garzik.org Subject: Re: sata_mv errata function Morrison, Tom wrote: > Interesting - I was just looking at this code this morning - and > comparing with the reference driver Marvell has given us - this was > one of the differences I was looking at because with this new driver > and the old reference driver we were having performance problems > due to vibrations or something that is causing the disk write > performance > to go very low (<5Mbytes/second)... > > I'd be very interested what Mark has to say about this - he just > made some update to the driver - perhaps he has updated these values... .. I've replied separately to Sylver's original post, but just to keep me on all branches of this thread I'm replying again now to you. :) Most errata fixes are on my menu here for the next few weeks, so the ones pointed out by Sylver will get fixed as part of that. As to the current state of sata_mv, it is *still* deservedly marked as "HIGHLY EXPERIMENTAL". I would not trust my own data to it yet. In practice, I believe it is actually working well now, on non-PCIX systems at least. But, as you see, there are still missing workarounds for various errata, and I am not yet totally finished with the error-handling logic. That still needs just a little more TLC to be reliable/correct with NCQ. So the "HIGHLY EXPERIMENTAL" label remains, for now, but I do plan to strip it away entirely within a few weeks of now. Cheers ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: sata_mv errata function 2008-04-21 13:51 ` Morrison, Tom @ 2008-05-07 16:02 ` Grant Grundler 0 siblings, 0 replies; 6+ messages in thread From: Grant Grundler @ 2008-05-07 16:02 UTC (permalink / raw) To: Morrison, Tom; +Cc: Mark Lord, linux-ide On Mon, Apr 21, 2008 at 6:51 AM, Morrison, Tom <tmorrison@empirix.com> wrote: > Understood Mark - I wasn't expecting that this was complete! I think > we'll all clap very hard when you say - DONE! > > Also, I've got to say, that you've been so helpful with my problems > with this chip in the past, I've really appreciated all your help! > > As you saw in my post - we have a vibration problem - that seems to > cause some type of performance problem without any errors occurring. > > Very weird! IFF we completely isolate the disk from the chassis - > the write performances goes up to what we expect ~75Mbs - but with it > in the box - based upon how much vibration (directly related to > heat - you can figure out what is causing vibration) heat and vibration are separate issues. Please don't confuse them. Each vendor responds to "overtemp" differently but they all result in some sort of performance degradation since they (a) attempt to validate data and (b) conserve power. Drives report their internal temp via SMART data. See "ID" 194 as documented in wikipedia: http://en.wikipedia.org/wiki/Self-Monitoring,_Analysis,_and_Reporting_Technology Use smartctl (part of smartmontools package) to read that data. > - the performance > goes down to the tube. We see NO errors at the sata level - and > using SMART/smartctl we do not seem to see any errors that point to > something we can fix easily... AFAIK, there is no access to the accelerometers that are built in to "near line" and "enterprise" disk drives. SMART data _might_ tell you why. Check "reallocated sectors count" and "Seek Error Count" before and after your test runs. They might correlate slightly with vibration but I've not heard any vendor confirm that. > Our hardware engineer is looking into the affect of changing these > values: > > SQ (squelch detector threshold) in PHY Mode 3 register. > TxPRE (transmitter pre-emphasis) in PHY Mode 2 register. > TXAmp (transmitter differential Amplitude) in PHY mode 2 register. These have nothing to do with vibration. This has to do with TX signal strength and RX filtering. If the drives perform fine outside the disk enclosure while sitting on foam, then this isn't the problem. grant > > I believe he has gotten some suggestions from the disk manufacturer and > Marvell - so we shall see what comes of it! > > I'll keep you all updated... > > Tom > > Ps: this is also related to the Western Digital Green thread...:-)... > > > > > -----Original Message----- > From: Mark Lord [mailto:liml@rtr.ca] > Sent: Monday, April 21, 2008 9:42 AM > To: Morrison, Tom > Cc: Sylver Bruneau; linux-ide@vger.kernel.org; jeff@garzik.org > Subject: Re: sata_mv errata function > > Morrison, Tom wrote: > > Interesting - I was just looking at this code this morning - and > > comparing with the reference driver Marvell has given us - this was > > one of the differences I was looking at because with this new driver > > and the old reference driver we were having performance problems > > due to vibrations or something that is causing the disk write > > performance > > to go very low (<5Mbytes/second)... > > > > I'd be very interested what Mark has to say about this - he just > > made some update to the driver - perhaps he has updated these > values... > .. > > I've replied separately to Sylver's original post, > but just to keep me on all branches of this thread I'm > replying again now to you. :) > > Most errata fixes are on my menu here for the next few weeks, > so the ones pointed out by Sylver will get fixed as part of that. > > As to the current state of sata_mv, it is *still* deservedly marked > as "HIGHLY EXPERIMENTAL". I would not trust my own data to it yet. > > In practice, I believe it is actually working well now, > on non-PCIX systems at least. > > But, as you see, there are still missing workarounds for various errata, > and I am not yet totally finished with the error-handling logic. > That still needs just a little more TLC to be reliable/correct with NCQ. > > So the "HIGHLY EXPERIMENTAL" label remains, for now, but I do plan to > strip it away entirely within a few weeks of now. > > Cheers > -- > To unsubscribe from this list: send the line "unsubscribe linux-ide" 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] 6+ messages in thread
* Re: sata_mv errata function 2008-04-21 12:42 sata_mv errata function Sylver Bruneau 2008-04-21 13:20 ` Morrison, Tom @ 2008-04-21 13:35 ` Mark Lord 1 sibling, 0 replies; 6+ messages in thread From: Mark Lord @ 2008-04-21 13:35 UTC (permalink / raw) To: Sylver Bruneau; +Cc: linux-ide, jeff Sylver Bruneau wrote: > Hello, > during my analysis of some recent patches [1] from Marvell for several > ARM based (88f5182 & 88f5281) NAS devices, i've found that some > errata stuff are a little bit different from what is done in sata_mv.c > mainline code. > > I don't know if there is a reason for the code not to be the same, but > I think that it could be useful to bring that to you. > > Here are the facts ... > First, the fix value for phyMode 3 is a little bit different : > while sata_mv.c is applying a > tmp &= ~0x7F800000; > the patch from Marvell (check _fixPhyParams function in > arch/arm/mach-feroceon/Board > /SATA/CoreDriver/mvSata.c file) is applying a > regVal &= ~0x7F900000; > > The fix value for phyMode 4 is also different for GEN IIE (6042 & > 7042) devices : > in Marvell patch, there is an additional fix for this case (where nothing > seems to be done for this in sata_mv.c) : > /* phy mode 4 register of Gen IIE devices has some restriction */ > if (pAdapter->sataAdapterGeneration >= MV_SATA_GEN_IIE) > { > phyMode4Value &= ~0x5DE3FFFC; > phyMode4Value |= MV_BIT2; > } > > I understand that what is done in this function is not well documented, > but as it's what is done by Marvell in their patches, do you think that it > should be merged in sata_mv.c ? > > If so, I will post a proper patch to add this ! .. Thanks, Sylver. I am currently working on sata_mv on behalf of Marvell, and a full errata overhaul is in the works for the next 2-3 weeks here. So those bits will get fixed by me as part of this effort. But I will keep your description above in my inbox as a reminder to double-check those specific items, just in case it differs from the detailed errata information Marvell has provided to me (under NDA). Thanks again. Mark ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-05-07 16:02 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-04-21 12:42 sata_mv errata function Sylver Bruneau 2008-04-21 13:20 ` Morrison, Tom 2008-04-21 13:41 ` Mark Lord 2008-04-21 13:51 ` Morrison, Tom 2008-05-07 16:02 ` Grant Grundler 2008-04-21 13:35 ` Mark Lord
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).