Mikael Pettersson wrote: > > > With this patch in place the hard reset conversion does seem to > > > work Ok on a SATA300 TX4 card. > > [--snip--] > > > + for(i = 0; i < 4/*XXX: how to detect # ports?*/ && host->ports[i] != ap; ++i) > > > > host->n_ports? > > > > > + ; > > > + if (i >= 4) { > > > + printk(KERN_ERR "%s: unable to map ap to ata_no\n", __FUNCTION__); > > > + return sata_std_hardreset(link, class, deadline); > > > + } > > > + ata_no = pdc_port_no_to_ata_no(i, is_sataii_tx4); > > > + > > > + hotplug_status = readl(mmio_base + hotplug_offset); > > > + > > > + /* clear hotplug flags, mask hotplug ints */ > > > + hotplug_status |= (0x11 << ata_no); > > > + hotplug_status |= (0x11 << ata_no) << 16; > > > + writel(hotplug_status, mmio_base + hotplug_offset); > > > + readl(mmio_base + hotplug_offset); /* flush */ > > > > I think this belongs to ->freeze(). > > > > > + ret = sata_std_hardreset(link, class, deadline); > > > + > > > + /* clear hotplug flags, unmask hotplug ints */ > > > + hotplug_status &= ~((0x11 << ata_no) << 16); > > > + writel(hotplug_status, mmio_base + hotplug_offset); > > > + readl(mmio_base + hotplug_offset); /* flush */ > > > > And this to ->thaw(). > > Thanks, I'll try these suggestions. Expect a new patch in a couple of days. I'll update the patchset such that promise won't use hardreset by default so that cleanup-sht-ops patchset can go in. I'll merge your change when you're ready (shouldn't require too much massaging anyway). Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html