At the moment, the transport class blindly tries to set things like
QAS and IU, even if the drive won't support them. It's best not to
annoy the devices like this and instead only set what the drive says
is actually supported.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
There are several extra things that have to be considered when running
Domain Validation on a u320 target (notably how you fall back).
Hopefully this should help us when someone adds this transport class to
aic79xx.
I've tested this on the lsi1030, so I know it works correctly up to
u320.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
There's a basic need not to have parameters go under or over certain
values when doing domain validation. The basic ones are
max_offset, max_width and min_period
This patch makes the transport class take and enforce these three
limits. Currently they can be set by the user, although they could
obviously be read from the HBA's on-board NVRAM area during
slave_configure (if it has one).
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
The premise is that domain validation is likely to trigger errors which
it wants to know about, so the only time it should be retrying them is
when it gets a unit attention (likely as the result of a previous bus or
device reset). Ironically, the previous coding retried three times in
all cases except those of unit attention. The attached fixes this to do
the right thing.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!