[SCSI] aacraid: pci_set_dma_max_seg_size opened up for late model controllers

This patch ensures that the modern adapters get a maximum sg segment
size on par with the maximum transfer size. Added some localized
janitor fixes to the discussion patch I used with Fujita.

FUJITA Tomonori [mailto:fujita.tomonori@lab.ntt.co.jp] sez:
> I think that setting the proper maximum segment size for the late
> model cards (as you did above) makes sense.

Signed-off-by: Mark Salyzyn <aacraid@adaptec.com>
Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

authored by Salyzyn, Mark and committed by James Bottomley 62e9f5c4 4d2de3a5

+13 -15
+13 -15
drivers/scsi/aacraid/linit.c
··· 1130 if (error < 0) 1131 goto out_deinit; 1132 1133 - if (!(aac->adapter_info.options & AAC_OPT_NEW_COMM)) { 1134 - error = pci_set_dma_max_seg_size(pdev, 65536); 1135 - if (error) 1136 - goto out_deinit; 1137 - } 1138 - 1139 /* 1140 * Lets override negotiations and drop the maximum SG limit to 34 1141 */ 1142 if ((aac_drivers[index].quirks & AAC_QUIRK_34SG) && 1143 - (aac->scsi_host_ptr->sg_tablesize > 34)) { 1144 - aac->scsi_host_ptr->sg_tablesize = 34; 1145 - aac->scsi_host_ptr->max_sectors 1146 - = (aac->scsi_host_ptr->sg_tablesize * 8) + 112; 1147 } 1148 1149 if ((aac_drivers[index].quirks & AAC_QUIRK_17SG) && 1150 - (aac->scsi_host_ptr->sg_tablesize > 17)) { 1151 - aac->scsi_host_ptr->sg_tablesize = 17; 1152 - aac->scsi_host_ptr->max_sectors 1153 - = (aac->scsi_host_ptr->sg_tablesize * 8) + 112; 1154 } 1155 1156 /* 1157 - * Firware printf works only with older firmware. 1158 */ 1159 if (aac_drivers[index].quirks & AAC_QUIRK_34SG) 1160 aac->printf_enabled = 1;
··· 1130 if (error < 0) 1131 goto out_deinit; 1132 1133 /* 1134 * Lets override negotiations and drop the maximum SG limit to 34 1135 */ 1136 if ((aac_drivers[index].quirks & AAC_QUIRK_34SG) && 1137 + (shost->sg_tablesize > 34)) { 1138 + shost->sg_tablesize = 34; 1139 + shost->max_sectors = (shost->sg_tablesize * 8) + 112; 1140 } 1141 1142 if ((aac_drivers[index].quirks & AAC_QUIRK_17SG) && 1143 + (shost->sg_tablesize > 17)) { 1144 + shost->sg_tablesize = 17; 1145 + shost->max_sectors = (shost->sg_tablesize * 8) + 112; 1146 } 1147 1148 + error = pci_set_dma_max_seg_size(pdev, 1149 + (aac->adapter_info.options & AAC_OPT_NEW_COMM) ? 1150 + (shost->max_sectors << 9) : 65536); 1151 + if (error) 1152 + goto out_deinit; 1153 + 1154 /* 1155 + * Firmware printf works only with older firmware. 1156 */ 1157 if (aac_drivers[index].quirks & AAC_QUIRK_34SG) 1158 aac->printf_enabled = 1;