Skip to content

libata: more irq driven pio follow-up patches

Albert Lee linux-ide 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 1 replyIn review

Changes from the cover letter

1. merge the ata_dataout_task workqueue with the ata_pio_task workqueue
2. add read/write multiple support

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4irq-pio: misc fixesdrivers/scsi/libata-core.c+6 -31 reply
2/4irq-pio: merge the ata_dataout_task workqueue with ata_pio_task workqueuedrivers/scsi/libata-core.c include/linux/libata.h+11 -110 replies
3/4irq-pio: eliminate unnecessary queuing in ata_pio_first_block()drivers/scsi/libata-core.c+33 -200 replies
4/4irq-pio: add read/write multiple supportdrivers/scsi/libata-core.c include/linux/ata.h+46 -60 replies

Reviews trailers per patch

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

Read the v1 thread

Cover letter [PATCH/RFC 0/4] libata: more irq driven pio follow-up patches

Dear all,

More irq driven PIO follow-up patches (revised).

Changes:
1. merge the ata_dataout_task workqueue with the ata_pio_task workqueue
2. add read/write multiple support

patch 1/4: misc fixes
- ata_pio_block(): add ata_altstatus(ap) to prevent reading device status before it is valid
- remove the unnecessary HSM_ST_IDLE state from ata_pio_task()
- raise BUG() when unknown state is found in ata_pio_task()

patch 2/4: merge the ata_dataout_task workqueue with the ata_pio_task workqueue
- remove ap->dataout_task from struct ata_port
- let ata_pio_task() handle the HSM_ST_FIRST state.
- rename ata_dataout_task() to ata_pio_first_block()

patch 3/4: eliminate unnecessary queuing in ata_pio_first_block()
- change the return value of ata_pio_complete()
- add return value to ata_pio_first_block()
- rename the variable "qc_completed" to "has_next" in ata_pio_task()
- use "has_next" to eliminate unnecessary queuing in ata_pio_first_block()

patch 4/4: add read/write multiple support
- add is_multi_taskfile() to ata.h
- initialize ata_device->multi_count with device identify data
- use ata_pio_sectors() to support r/w multiple commands

Patch against the libata-dev irq-pio branch (cd8200e6d4f9f05e6ea48f7c000be890337396ac).

For your review and advice, thanks.

Albert