Skip to content

libata: irq_on/off restructuring

Albert Lee linux-ide 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest10 patches 6 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/10libata: remove irq_on from ata_bus_reset() and ata_std_postreset()drivers/ata/libata-core.c drivers/ata/pata_scc.c+0 -111 reply
2/10libata: add irq_offdrivers/ata/libata-core.c drivers/ata/libata-sff.c drivers/ata/libata.h +1 more+38 -20 replies
3/10libata: implement ->irq_off in LLDDsdrivers/ata/ahci.c drivers/ata/ata_generic.c drivers/ata/ata_piix.c +60 more+130 -00 replies
4/10libata: call irq_off from bmdma_freeze()drivers/ata/libata-sff.c drivers/ata/pata_scc.c+2 -280 replies
5/10libata: use freeze/thaw for pollingdrivers/ata/libata-core.c include/linux/libata.h+5 -100 replies
6/10libata: add freeze/thaw to old EH LLDDsdrivers/ata/pata_ixp4xx_cf.c drivers/ata/pata_scc.c drivers/ata/pdc_adma.c +3 more+31 -00 replies
7/10libata: pdc_freeze() semantic changedrivers/ata/sata_promise.c+0 -10 replies
8/10libata: remove writing of tf->ctl from ata_tf_load()drivers/ata/libata-sff.c drivers/ata/pata_scc.c drivers/ata/sata_svw.c +1 more+7 -413 replies
9/10libata: Integrate freeze/thaw with irq_on/offdrivers/ata/libata-core.c drivers/ata/libata-eh.c drivers/ata/libata-sff.c +1 more+19 -660 replies
10/10libata: Integrate freeze/thaw with irq_on/off in LLDDsdrivers/ata/ahci.c drivers/ata/ata_generic.c drivers/ata/ata_piix.c +60 more+74 -3200 replies

Reviews trailers per patch

1 of 10 patches has a Reviewed-by or Acked-by.

PatchTejun Heo
1/10A-b
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/10] libata: irq_on/off restructuring

For ATA, there are two levels of mechanism available to turn irq on/off.
- device level: nIEN bit in the control register. This masks INTRQ from the device.
- host adapter level: some controller can mask out per-port irq from the host adapter.

Currently various parts of libata deal with irq on/off.
ex. tf_load() can alter the nIEN bit.
ex. irq_on() also alters the device level nIEN bit. ex. freeze()/thaw() deal with the host adapter irq mask.

It seems these irq on/off codes could be better structured. Patches against libata-dev tree for your review/advice, thanks.

1/10: remove irq_on from ata_bus_reset() and ata_std_postreset() 2/10: add ->irq_off() for symmetry
3/10: implement ->irq_off() in LLDDs
4/10: use irq_off from bmdma_freeze()
5/10: use freeze()/thaw() for polling
6/10: add freeze()/thaw() to old EH LLDDs
7/10: pdc_freeze() semantic change
8/10: remove writing of tf->ctl from ata_tf_load() 9/10: integrate freeze()/thaw() with irq_on/off. 10/10: integrate freeze/thaw with irq_on/off in LLDDs