• Maciej W. Rozycki's avatar
    pata_legacy: Add `probe_mask' parameter like with ide-generic · 7d33004d
    Maciej W. Rozycki authored
    Carry the `probe_mask' parameter over from ide-generic to pata_legacy so
    that there is a way to prevent random poking at ISA port I/O locations
    in attempt to discover adapter option cards with libata like with the
    old IDE driver.  By default all enabled locations are tried, however it
    may interfere with a different kind of hardware responding there.
    
    For example with a plain (E)ISA system the driver tries all the six
    possible locations:
    
    scsi host0: pata_legacy
    ata1: PATA max PIO4 cmd 0x1f0 ctl 0x3f6 irq 14
    ata1.00: ATA-4: ST310211A, 3.54, max UDMA/100
    ata1.00: 19541088 sectors, multi 16: LBA
    ata1.00: configured for PIO
    scsi 0:0:0:0: Direct-Access     ATA      ST310211A        3.54 PQ: 0 ANSI: 5
    scsi 0:0:0:0: Attached scsi generic sg0 type 0
    sd 0:0:0:0: [sda] 19541088 512-byte logical blocks: (10.0 GB/9.32 GiB)
    sd 0:0:0:0: [sda] Write Protect is off
    sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
    sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
     sda: sda1 sda2 sda3
    sd 0:0:0:0: [sda] Attached SCSI disk
    scsi host1: pata_legacy
    ata2: PATA max PIO4 cmd 0x170 ctl 0x376 irq 15
    scsi host1: pata_legacy
    ata3: PATA max PIO4 cmd 0x1e8 ctl 0x3ee irq 11
    scsi host1: pata_legacy
    ata4: PATA max PIO4 cmd 0x168 ctl 0x36e irq 10
    scsi host1: pata_legacy
    ata5: PATA max PIO4 cmd 0x1e0 ctl 0x3e6 irq 8
    scsi host1: pata_legacy
    ata6: PATA max PIO4 cmd 0x160 ctl 0x366 irq 12
    
    however giving the kernel "pata_legacy.probe_mask=21" makes it try every
    other location only:
    
    scsi host0: pata_legacy
    ata1: PATA max PIO4 cmd 0x1f0 ctl 0x3f6 irq 14
    ata1.00: ATA-4: ST310211A, 3.54, max UDMA/100
    ata1.00: 19541088 sectors, multi 16: LBA
    ata1.00: configured for PIO
    scsi 0:0:0:0: Direct-Access     ATA      ST310211A        3.54 PQ: 0 ANSI: 5
    scsi 0:0:0:0: Attached scsi generic sg0 type 0
    sd 0:0:0:0: [sda] 19541088 512-byte logical blocks: (10.0 GB/9.32 GiB)
    sd 0:0:0:0: [sda] Write Protect is off
    sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
    sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
     sda: sda1 sda2 sda3
    sd 0:0:0:0: [sda] Attached SCSI disk
    scsi host1: pata_legacy
    ata2: PATA max PIO4 cmd 0x1e8 ctl 0x3ee irq 11
    scsi host1: pata_legacy
    ata3: PATA max PIO4 cmd 0x1e0 ctl 0x3e6 irq 8
    Signed-off-by: default avatarMaciej W. Rozycki <macro@orcam.me.uk>
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/alpine.DEB.2.21.2103211800110.21463@angie.orcam.me.ukSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
    7d33004d
pata_legacy.c 33 KB