Skip to contentSkip to conversation

libata: improve initialization and legacy handling, take #3

git-patch Tejun Heo 2 participants 3 messages Aug 6, 2006 – Aug 9, 2006

Subsystems (2)
lore
Share & tools
lore

Tejun Heo

author
#0 lore raw

Hello,

tj-upstream, tj-pata-drivers, tj-ALL have been updated per Alan's comment[1]. tj-upstream-fixes isn't affected. Diff against the last take[L] is attached.

Updated git trees are available at...

http://htj.dyndns.org/git/?p=libata-tj.git;a=shortlog;h=tj-upstream-fixes
git://htj.dyndns.org/libata-tj tj-upstream-fixes

http://htj.dyndns.org/git/?p=libata-tj.git;a=shortlog;h=tj-upstream
git://htj.dyndns.org/libata-tj tj-upstream

http://htj.dyndns.org/git/?p=libata-tj.git;a=shortlog;h=tj-pata-drivers
git://htj.dyndns.org/libata-tj tj-pata-drivers

http://htj.dyndns.org/git/?p=libata-tj.git;a=shortlog;h=tj-ALL
git://htj.dyndns.org/libata-tj tj-ALL

Thanks.

Signature · 4 lines
tejun

[L] http://article.gmane.org/gmane.linux.ide/12401
[1] http://article.gmane.org/gmane.linux.ide/12412
drivers/scsi/libata-core.c +11 -0
index 0bcf867..d3dd8e6 100644
@@ -3048,6 +3048,7 @@ static void ata_dev_xfermask(struct ata_
 	struct ata_port *ap = dev->ap;
 	struct ata_host_set *hs = ap->host_set;
 	unsigned long xfer_mask;
+	int i;
 
 	/* controller modes available */
 	xfer_mask = ata_pack_xfermask(ap->pio_mask,
@@ -3075,6 +3076,16 @@ static void ata_dev_xfermask(struct ata_
 			       "other device, disabling DMA\n");
 	}
 
+	/* Use the lowest common PIO mode to avoid violating device
+	 * selection timing.
+	 */
+	for (i = 0; i < ATA_MAX_DEVICES; i++) {
+		struct ata_device *d = &ap->device[i];
+		if (!ata_dev_absent(d))
+			xfer_mask &= ata_pack_xfermask(d->pio_mask,
+						       UINT_MAX, UINT_MAX);
+	}
+
 	if (ap->ops->mode_filter)
 		xfer_mask = ap->ops->mode_filter(ap, dev, xfer_mask);
 
#1 lore raw
Quoted 3 lines · Tejun Heo

Hello,

tj-upstream, tj-pata-drivers, tj-ALL have been updated per Alan's comment[1]. tj-upstream-fixes isn't affected. Diff against the last take[L] is attached.

What's the difference?

The patch you attached seems to be exactly the same as what Alan objected to...

Jeff

author
#2 lore raw
Quoted 8 lines · Jeff Garzik
Quoted 3 lines · Tejun Heo

Hello,

tj-upstream, tj-pata-drivers, tj-ALL have been updated per Alan's comment[1]. tj-upstream-fixes isn't affected. Diff against the last take[L] is attached.

What's the difference?

The patch you attached seems to be exactly the same as what Alan objected to...

Sorry, diff was done the other way around. That part is removed.

Signature · 1 line
tejun