|
@@ -314,6 +314,21 @@ static uint32_t aic79xx_seltime;
|
|
*/
|
|
*/
|
|
uint32_t aic79xx_periodic_otag;
|
|
uint32_t aic79xx_periodic_otag;
|
|
|
|
|
|
|
|
+/* Some storage boxes are using an LSI chip which has a bug making it
|
|
|
|
+ * impossible to use aic79xx Rev B chip in 320 speeds. The following
|
|
|
|
+ * storage boxes have been reported to be buggy:
|
|
|
|
+ * EonStor 3U 16-Bay: U16U-G3A3
|
|
|
|
+ * EonStor 2U 12-Bay: U12U-G3A3
|
|
|
|
+ * SentinelRAID: 2500F R5 / R6
|
|
|
|
+ * SentinelRAID: 2500F R1
|
|
|
|
+ * SentinelRAID: 2500F/1500F
|
|
|
|
+ * SentinelRAID: 150F
|
|
|
|
+ *
|
|
|
|
+ * To get around this LSI bug, you can set your board to 160 mode
|
|
|
|
+ * or you can enable the SLOWCRC bit.
|
|
|
|
+ */
|
|
|
|
+uint32_t aic79xx_slowcrc;
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* Module information and settable options.
|
|
* Module information and settable options.
|
|
*/
|
|
*/
|
|
@@ -343,6 +358,7 @@ MODULE_PARM_DESC(aic79xx,
|
|
" amplitude:<int> Set the signal amplitude (0-7).\n"
|
|
" amplitude:<int> Set the signal amplitude (0-7).\n"
|
|
" seltime:<int> Selection Timeout:\n"
|
|
" seltime:<int> Selection Timeout:\n"
|
|
" (0/256ms,1/128ms,2/64ms,3/32ms)\n"
|
|
" (0/256ms,1/128ms,2/64ms,3/32ms)\n"
|
|
|
|
+" slowcrc Turn on the SLOWCRC bit (Rev B only)\n"
|
|
"\n"
|
|
"\n"
|
|
" Sample /etc/modprobe.conf line:\n"
|
|
" Sample /etc/modprobe.conf line:\n"
|
|
" Enable verbose logging\n"
|
|
" Enable verbose logging\n"
|
|
@@ -1003,6 +1019,7 @@ aic79xx_setup(char *s)
|
|
{ "slewrate", NULL },
|
|
{ "slewrate", NULL },
|
|
{ "precomp", NULL },
|
|
{ "precomp", NULL },
|
|
{ "amplitude", NULL },
|
|
{ "amplitude", NULL },
|
|
|
|
+ { "slowcrc", &aic79xx_slowcrc },
|
|
};
|
|
};
|
|
|
|
|
|
end = strchr(s, '\0');
|
|
end = strchr(s, '\0');
|