Skip to content

ide: generic ATAPI support

Bartlomiej Zolnierkiewicz linux-ide lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest40 patches 10 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/40ide-scsi: fix race in idescsi_transfer_pc()drivers/scsi/ide-scsi.c+4 -30 replies
2/40ide-scsi: fix DRQ checking for DMA transfers in idescsi_pc_intr()drivers/scsi/ide-scsi.c+8 -10 replies
3/40ide-scsi: fix handling of DMA errors in idescsi_pc_intr()drivers/scsi/ide-scsi.c+5 -30 replies
4/40ide-scsi: fix Interrupt Reason checking in idescsi_pc_intr()drivers/scsi/ide-scsi.c+11 -62 replies
5/40ide-scsi: merge idescsi_input_buffers() and idescsi_output_buffers()drivers/scsi/ide-scsi.c+24 -570 replies
6/40ide-scsi: remove superfluous BUG_ON() from idescsi_transfer_pc()drivers/scsi/ide-scsi.c+1 -10 replies
7/40ide-scsi: add debug_log() macrodrivers/scsi/ide-scsi.c+25 -260 replies
8/40ide-tape: idetape_pc_intr() should use local_irq_enable_in_hardirq()drivers/ide/ide-tape.c+1 -10 replies
9/40ide-tape: remove superfluous error message from idetape_pc_intr()drivers/ide/ide-tape.c+0 -10 replies
10/40ide-tape: remove superfluous warning message from idetape_issue_pc()drivers/ide/ide-tape.c+0 -20 replies
11/40ide-tape: remove unneeded CONFIG_BLK_DEV_IDEDMA ifdefdrivers/ide/ide-tape.c+2 -20 replies
12/40ide-tape: remove stale comments from idetape_pc_intr()drivers/ide/ide-tape.c+0 -210 replies
13/40ide-tape: remove SIMULATE_ERRORS debug codedrivers/ide/ide-tape.c+0 -140 replies
14/40ide-floppy: merge idefloppy_transfer_pc() and idefloppy_transfer_pc1()drivers/ide/ide-floppy.c+17 -484 replies
15/40ide-{floppy,tape,scsi}: log device name instead of driver namedrivers/ide/ide-floppy.c drivers/ide/ide-tape.c drivers/scsi/ide-scsi.c+53 -480 replies
16/40ide-tape: make idetape_retry_pc() voiddrivers/ide/ide-tape.c+5 -40 replies
17/40ide-tape: merge callbacksdrivers/ide/ide-tape.c+64 -1040 replies
18/40ide-tape: make pc->idetape_callback voiddrivers/ide/ide-tape.c include/linux/ide.h+8 -70 replies
19/40ide-floppy: merge callbacksdrivers/ide/ide-floppy.c+24 -470 replies
20/40ide-{floppy,tape}: merge pc->idefloppy_callback and pc->idetape_callbackdrivers/ide/ide-floppy.c drivers/ide/ide-tape.c include/linux/ide.h+9 -90 replies
21/40ide-{floppy,tape}: PC_FLAG_DMA_RECOMMENDED -> PC_FLAG_DMA_OKdrivers/ide/ide-floppy.c drivers/ide/ide-tape.c include/linux/ide.h+10 -110 replies
22/40ide-floppy: start DMA engine in idefloppy_transfer_pc1()drivers/ide/ide-floppy.c+10 -62 replies
23/40ide-tape: set PC_FLAG_DMA_IN_PROGRESS flag in idetape_transfer_pc()drivers/ide/ide-tape.c+6 -40 replies
24/40ide-tape: factor out waiting for good ireason from idetape_transfer_pc()drivers/ide/ide-tape.c+23 -110 replies
25/40ide: add PC_FLAG_ZIP_DRIVE pc flagdrivers/ide/ide-floppy.c include/linux/ide.h+7 -20 replies
26/40ide-{cd,floppy,tape}: remove checking for drive->scsidrivers/ide/ide-cd.c drivers/ide/ide-floppy.c drivers/ide/ide-tape.c+0 -150 replies
27/40ide-scsi: set drive->scsi flag for devices handled by the driverdrivers/scsi/ide-scsi.c+5 -00 replies
28/40ide: add ide_transfer_pc() helperdrivers/ide/Kconfig drivers/ide/Makefile drivers/ide/ide-atapi.c +4 more+85 -1090 replies
29/40ide-scsi: move idescsi_map_sg() call out from idescsi_issue_pc()drivers/scsi/ide-scsi.c+10 -60 replies
30/40ide: add PC_FLAG_DRQ_INTERRUPT pc flagdrivers/ide/ide-floppy.c drivers/ide/ide-tape.c drivers/scsi/ide-scsi.c +1 more+18 -50 replies
31/40ide: add ide_issue_pc() helperdrivers/ide/ide-atapi.c drivers/ide/ide-floppy.c drivers/ide/ide-tape.c +2 more+60 -920 replies
32/40ide-{floppy,tape}: move checking of ->failed_pc to ->callbackdrivers/ide/ide-floppy.c drivers/ide/ide-tape.c+6 -60 replies
33/40ide-tape: factor out DSC handling from idetape_pc_intr()drivers/ide/ide-tape.c+13 -60 replies
34/40ide-tape: add ide_tape_io_buffers() helperdrivers/ide/ide-tape.c+10 -50 replies
35/40ide-tape: always log debug info in idetape_pc_intr() if debugging is enableddrivers/ide/ide-tape.c+10 -90 replies
36/40ide-floppy: add more debugging to idefloppy_pc_intr()drivers/ide/ide-floppy.c+8 -20 replies
37/40ide-scsi: use pc->callbackdrivers/scsi/ide-scsi.c+22 -100 replies
38/40ide-scsi: add more debugging to idescsi_pc_intr()drivers/scsi/ide-scsi.c+11 -20 replies
39/40ide-{floppy,scsi}: read Status Register before stopping DMA enginedrivers/ide/ide-floppy.c drivers/scsi/ide-scsi.c+7 -60 replies
40/40ide: add ide_pc_intr() helperdrivers/ide/ide-atapi.c drivers/ide/ide-floppy.c drivers/ide/ide-tape.c +2 more+195 -3630 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/40] ide: generic ATAPI support

Hi,

This patch series unifies ATAPI support present in ide-{floppy,tape,scsi} device drivers and moves it out to the core IDE code (new ide-atapi.c file).

In the process many bugs were shaken out and ~300 LOC were removed.

diffstat:

 drivers/ide/Kconfig      |    6 
 drivers/ide/Makefile     |    1 
 drivers/ide/ide-atapi.c  |  296 ++++++++++++++++++++++
 drivers/ide/ide-cd.c     |    5 
 drivers/ide/ide-floppy.c |  431 +++++++-------------------------
 drivers/ide/ide-tape.c   |  630 ++++++++++++++---------------------------------
 drivers/scsi/ide-scsi.c  |  455 +++++++++++----------------------
 include/linux/ide.h      |   28 +-
 8 files changed, 777 insertions(+), 1075 deletions(-)

Now, while this is a big step in the right direction there are still some things left on TODO for generic ATAPI support to be complete:

- convert ide-cd to use generic ATAPI code

- kill pc and rq stacks in ide-{floppy,tape}

- generic handling of REQUEST SENSE command

- generic handling of MODE SENSE command for ide-{floppy,tape}

- convert ide-{cd,floppy,tape} to use scatterlists for PIO transers (ala ide-scsi)

I know that Borislav is working on the first two items but other ones are free at the moment so if you feel brave you may give it a try :-).

PS I'll be travelling during this weekend and be rather busy with day job
so replies from me may be delayed a bit.

Thanks,
Bart