diff options
Diffstat (limited to 'drivers/scsi/sd_dif.c')
-rw-r--r-- | drivers/scsi/sd_dif.c | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/drivers/scsi/sd_dif.c b/drivers/scsi/sd_dif.c index 82f14a9482d0..88da97745710 100644 --- a/drivers/scsi/sd_dif.c +++ b/drivers/scsi/sd_dif.c | |||
@@ -320,15 +320,6 @@ void sd_dif_config_host(struct scsi_disk *sdkp) | |||
320 | dif = 0; dix = 1; | 320 | dif = 0; dix = 1; |
321 | } | 321 | } |
322 | 322 | ||
323 | if (type) { | ||
324 | if (dif) | ||
325 | sd_printk(KERN_NOTICE, sdkp, | ||
326 | "Enabling DIF Type %d protection\n", type); | ||
327 | else | ||
328 | sd_printk(KERN_NOTICE, sdkp, | ||
329 | "Disabling DIF Type %d protection\n", type); | ||
330 | } | ||
331 | |||
332 | if (!dix) | 323 | if (!dix) |
333 | return; | 324 | return; |
334 | 325 | ||
@@ -360,62 +351,6 @@ void sd_dif_config_host(struct scsi_disk *sdkp) | |||
360 | } | 351 | } |
361 | 352 | ||
362 | /* | 353 | /* |
363 | * DIF DMA operation magic decoder ring. | ||
364 | */ | ||
365 | void sd_dif_op(struct scsi_cmnd *scmd, unsigned int dif, unsigned int dix, unsigned int type) | ||
366 | { | ||
367 | int csum_convert, prot_op; | ||
368 | |||
369 | prot_op = 0; | ||
370 | |||
371 | /* Convert checksum? */ | ||
372 | if (scsi_host_get_guard(scmd->device->host) != SHOST_DIX_GUARD_CRC) | ||
373 | csum_convert = 1; | ||
374 | else | ||
375 | csum_convert = 0; | ||
376 | |||
377 | BUG_ON(dif && (scmd->cmnd[0] == READ_6 || scmd->cmnd[0] == WRITE_6)); | ||
378 | |||
379 | switch (scmd->cmnd[0]) { | ||
380 | case READ_6: | ||
381 | case READ_10: | ||
382 | case READ_12: | ||
383 | case READ_16: | ||
384 | if (dif && dix) | ||
385 | if (csum_convert) | ||
386 | prot_op = SCSI_PROT_READ_CONVERT; | ||
387 | else | ||
388 | prot_op = SCSI_PROT_READ_PASS; | ||
389 | else if (dif && !dix) | ||
390 | prot_op = SCSI_PROT_READ_STRIP; | ||
391 | else if (!dif && dix) | ||
392 | prot_op = SCSI_PROT_READ_INSERT; | ||
393 | |||
394 | break; | ||
395 | |||
396 | case WRITE_6: | ||
397 | case WRITE_10: | ||
398 | case WRITE_12: | ||
399 | case WRITE_16: | ||
400 | if (dif && dix) | ||
401 | if (csum_convert) | ||
402 | prot_op = SCSI_PROT_WRITE_CONVERT; | ||
403 | else | ||
404 | prot_op = SCSI_PROT_WRITE_PASS; | ||
405 | else if (dif && !dix) | ||
406 | prot_op = SCSI_PROT_WRITE_INSERT; | ||
407 | else if (!dif && dix) | ||
408 | prot_op = SCSI_PROT_WRITE_STRIP; | ||
409 | |||
410 | break; | ||
411 | } | ||
412 | |||
413 | scsi_set_prot_op(scmd, prot_op); | ||
414 | if (dif) | ||
415 | scsi_set_prot_type(scmd, type); | ||
416 | } | ||
417 | |||
418 | /* | ||
419 | * The virtual start sector is the one that was originally submitted | 354 | * The virtual start sector is the one that was originally submitted |
420 | * by the block layer. Due to partitioning, MD/DM cloning, etc. the | 355 | * by the block layer. Due to partitioning, MD/DM cloning, etc. the |
421 | * actual physical start sector is likely to be different. Remap | 356 | * actual physical start sector is likely to be different. Remap |