Re: 2.6.19: ALi M5229 - CD-ROM not found with pata_ali

From: Randy Dunlap
Date: Fri Dec 01 2006 - 15:48:39 EST


On Fri, 1 Dec 2006 23:35:28 +0300 Andrey Borzenkov wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On Thursday 22 June 2006 00:04, Andrey Borzenkov wrote:
> > Just in case you have missed this on LKML :)
> >
> > Alan Cox wrote:
> > > http://zeniv.linux.org.uk/~alan/IDE
> > >
> > > This is basically a resync versus 2.6.17, the head of the PATA tree is
> > > now built against Jeffs tree with revised error handling and the like.
> >
> > Running vanilla 2.6.17 + ide1 patch on ALi M5229 does not find CD-ROM.
> > Notice "ata2: command 0xa0 timeout" below.
> >
>
> Still the same in 2.6.19 + suspend pata_ali patch. The only way I can get
> CD-ROM is with
>
> options pata_ali atapi_max_xfer_mask=0x7f
>
> and patch
>
> diff --git a/drivers/ata/pata_ali.c b/drivers/ata/pata_ali.c
> index 1d695df..a0b9e49 100644
> - --- a/drivers/ata/pata_ali.c
> +++ b/drivers/ata/pata_ali.c
> @@ -329,6 +329,16 @@ static void ali_lock_sectors(struct ata_
> adev->max_sectors = 255;
> }
>
> +static unsigned long atapi_max_xfer_mask = ~0;
> +module_param(atapi_max_xfer_mask, ulong, 644);
^^^
BTW: 0644


> +
> +static unsigned long ali_mode_filter(const struct ata_port *ap, struct
> ata_devi
> ce *adev, unsigned long xfer_mask)
> +{
> + if (adev->class == ATA_DEV_ATAPI)
> + xfer_mask &= atapi_max_xfer_mask;
> + return ata_pci_default_filter(ap, adev, xfer_mask);
> +}
> +
> static struct scsi_host_template ali_sht = {
> .module = THIS_MODULE,
> .name = DRV_NAME,
> @@ -428,7 +438,7 @@ static struct ata_port_operations ali_c2
> .port_disable = ata_port_disable,
> .set_piomode = ali_set_piomode,
> .set_dmamode = ali_set_dmamode,
> - - .mode_filter = ata_pci_default_filter,
> + .mode_filter = ali_mode_filter,
> .tf_load = ata_tf_load,
> .tf_read = ata_tf_read,
> .check_status = ata_check_status,
>
> allowing even MWDMA results in the same timeouts and CD-ROM not found.

---
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/