Skip to content

libata: legacy mode fixes , take #2

Unicorn Chang linux-ide 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest2 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2libata: make both legacy ports share one host_set , take #2drivers/scsi/ata_piix.c drivers/scsi/libata-bmdma.c drivers/scsi/libata-core.c +1 more+128 -751 reply
2/2libata: replace ap->hard_port_no with ap->port_no , take #2drivers/scsi/ata_piix.c drivers/scsi/libata-core.c include/linux/libata.h+8 -110 replies

Reviews trailers per patch

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

Read the v1 thread

Cover letter [PATCH 0/2] libata: legacy mode fixes , take #2

For a legacy ATA controller, libata registers two separate host sets problems. There are two patch use the same way to fix this problems, but the SIMPLEX flag is still assigned to both host_sets of legacy primary/secondary port.

http://marc.theaimsgroup.com/?l=linux-ide&m=115012115213127&w=2
http://marc.theaimsgroup.com/?l=linux-ide&m=114475219522457&w=2

This patch try to fix the problems by

1. Let both legacy ports share the same host_set for the ATA_HOST_SIMPLEX to work.
2. Add per port irq to ata_ioports for legacy irq 14/15 since host_set is shared now.
3. Add legacy irq handler (ata_nonshared_interrupt) to support legacy mode irq.
4. Pass struct ata_port* to request_irq() on legacy mode.

(Patch against the upstream branch)

Unicorn Chang