Re: [PATCH] pata_pcmcia: Minor cleanups and support for dual channel cards
Alan Cox wrote: Signed-off-by: Alan Cox [EMAIL PROTECTED] applied #upstream - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] pata_pcmcia: Minor cleanups and support for dual channel cards
Alan Cox wrote: setup and it821x fixes can go to mainstream for 2.6.25 I think - no bad reports yet. BTW so we don't duplicate work right now I'm working on a full DMA engine based driver for the INIC162x. Dunno if I'll ever get it to work as the docs are a bit minimal but we shall see. - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Can you be a bit more specific, or confirm my guesses? In #for-testing I have Alan Cox (4): libata: fix (hopefully) all the remaining problems with devices failing setup pata_pcmcia: Add support for dumb 8bit IDE emulations libata-core: Don't have screaming fits over DF/ERR combinations libata/pata_it821x: Improve handling of poorly compatible emulations it sounds like all patches in the branch except for DF/ERR should go upstream for 2.6.25? And in addition, pata_pcmcia: Minor cleanups and support for dual channel cards should go upstream after the above pata_pcmcia change is applied? Jeff - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] pata_pcmcia: Minor cleanups and support for dual channel cards
it sounds like all patches in the branch except for DF/ERR should go upstream for 2.6.25? Yes And in addition, pata_pcmcia: Minor cleanups and support for dual channel cards should go upstream after the above pata_pcmcia change is applied? Yes and DF/ERR goes in the bin obsoleted by Mark/Tejuns changes to handle sticky error on tapes - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] pata_pcmcia: Minor cleanups and support for dual channel cards
Alan Cox wrote: setup and it821x fixes can go to mainstream for 2.6.25 I think - no bad reports yet. BTW so we don't duplicate work right now I'm working on a full DMA engine based driver for the INIC162x. Dunno if I'll ever get it to work as the docs are a bit minimal but we shall see. Great, are you gonna use the ADMA interface? -- tejun - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] pata_pcmcia: Minor cleanups and support for dual channel cards
setup and it821x fixes can go to mainstream for 2.6.25 I think - no bad reports yet. BTW so we don't duplicate work right now I'm working on a full DMA engine based driver for the INIC162x. Dunno if I'll ever get it to work as the docs are a bit minimal but we shall see. - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] pata_pcmcia: Minor cleanups and support for dual channel cards
Alan Cox wrote: Signed-off-by: Alan Cox [EMAIL PROTECTED] diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.24-rc2-mm1/drivers/ata/pata_pcmcia.c linux-2.6.24-rc2-mm1/drivers/ata/pata_pcmcia.c --- linux.vanilla-2.6.24-rc2-mm1/drivers/ata/pata_pcmcia.c 2007-11-16 17:55:11.0 + +++ linux-2.6.24-rc2-mm1/drivers/ata/pata_pcmcia.c 2007-11-16 18:18:38.0 + @@ -42,7 +42,7 @@ #define DRV_NAME pata_pcmcia -#define DRV_VERSION 0.3.2 +#define DRV_VERSION 0.3.3 /* * Private data structure to glue stuff together @@ -198,7 +198,6 @@ /** * pcmcia_init_one - attach a PCMCIA interface * @pdev: pcmcia device - * @ops: operations for this device * * Register a PCMCIA IDE interface. Such interfaces are PIO 0 and * shared IRQ. @@ -217,9 +216,10 @@ cistpl_cftable_entry_t dflt; } *stk = NULL; cistpl_cftable_entry_t *cfg; - int pass, last_ret = 0, last_fn = 0, is_kme = 0, ret = -ENOMEM; + int pass, last_ret = 0, last_fn = 0, is_kme = 0, ret = -ENOMEM, p; unsigned long io_base, ctl_base; void __iomem *io_addr, *ctl_addr; + int n_ports = 1; struct ata_port_operations *ops = pcmcia_port_ops; @@ -348,7 +348,7 @@ /* FIXME: Could be more ports at base + 0x10 but we only deal with one right now */ if (pdev-io.NumPorts1 = 0x20) - printk(KERN_WARNING DRV_NAME : second channel not yet supported.\n); + n_ports = 2; if (pdev-manf_id == 0x0097 pdev-card_id == 0x1620) ops = pcmcia_8bit_port_ops; @@ -357,20 +357,23 @@ * sane. */ ret = -ENOMEM; - host = ata_host_alloc(pdev-dev, 1); + host = ata_host_alloc(pdev-dev, n_ports); if (!host) goto failed; - ap = host-ports[0]; - ap-ops = ops; - ap-pio_mask = 1;/* ISA so PIO 0 cycles */ - ap-flags |= ATA_FLAG_SLAVE_POSS; - ap-ioaddr.cmd_addr = io_addr; - ap-ioaddr.altstatus_addr = ctl_addr; - ap-ioaddr.ctl_addr = ctl_addr; - ata_std_ports(ap-ioaddr); + for (p = 0; p n_ports; p++) { + ap = host-ports[p]; - ata_port_desc(ap, cmd 0x%lx ctl 0x%lx, io_base, ctl_base); + ap-ops = ops; + ap-pio_mask = 1;/* ISA so PIO 0 cycles */ + ap-flags |= ATA_FLAG_SLAVE_POSS; + ap-ioaddr.cmd_addr = io_addr + 0x10 * p; + ap-ioaddr.altstatus_addr = ctl_addr + 0x10 * p; + ap-ioaddr.ctl_addr = ctl_addr + 0x10 * p; + ata_std_ports(ap-ioaddr); a bit of coordination confusion here... This patch requires commit 33a2d9226557c298a5df13b95bd31b8b1d749918 Author: Alan Cox [EMAIL PROTECTED] Date: Mon Oct 15 20:44:11 2007 +0100 pata_pcmcia: Add support for dumb 8bit IDE emulations found in #for-testing. Should that patch be promoted to #upstream (queued for 2.6.25), and then this patch applied on top, also in #upstream? If you're curious, here is the current content of #for-testing (attached). You need to poke me to move stuff from #for-testing to #upstream, since I dropped it into #for-testing at your direction. (for other readers, #for-testing is a branch always merged into #ALL and thus -mm) Jeff Alan Cox (4): libata: fix (hopefully) all the remaining problems with devices failing setup/identify pata_pcmcia: Add support for dumb 8bit IDE emulations libata-core: Don't have screaming fits over DF/ERR combinations libata/pata_it821x: Improve handling of poorly compatible emulations drivers/ata/libata-core.c | 61 --- drivers/ata/pata_it821x.c | 35 +- drivers/ata/pata_pcmcia.c | 71 +- 3 files changed, 147 insertions(+), 20 deletions(-)
[PATCH] pata_pcmcia: Minor cleanups and support for dual channel cards
Signed-off-by: Alan Cox [EMAIL PROTECTED] diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.24-rc2-mm1/drivers/ata/pata_pcmcia.c linux-2.6.24-rc2-mm1/drivers/ata/pata_pcmcia.c --- linux.vanilla-2.6.24-rc2-mm1/drivers/ata/pata_pcmcia.c 2007-11-16 17:55:11.0 + +++ linux-2.6.24-rc2-mm1/drivers/ata/pata_pcmcia.c 2007-11-16 18:18:38.0 + @@ -42,7 +42,7 @@ #define DRV_NAME pata_pcmcia -#define DRV_VERSION 0.3.2 +#define DRV_VERSION 0.3.3 /* * Private data structure to glue stuff together @@ -198,7 +198,6 @@ /** * pcmcia_init_one - attach a PCMCIA interface * @pdev: pcmcia device - * @ops: operations for this device * * Register a PCMCIA IDE interface. Such interfaces are PIO 0 and * shared IRQ. @@ -217,9 +216,10 @@ cistpl_cftable_entry_t dflt; } *stk = NULL; cistpl_cftable_entry_t *cfg; - int pass, last_ret = 0, last_fn = 0, is_kme = 0, ret = -ENOMEM; + int pass, last_ret = 0, last_fn = 0, is_kme = 0, ret = -ENOMEM, p; unsigned long io_base, ctl_base; void __iomem *io_addr, *ctl_addr; + int n_ports = 1; struct ata_port_operations *ops = pcmcia_port_ops; @@ -348,7 +348,7 @@ /* FIXME: Could be more ports at base + 0x10 but we only deal with one right now */ if (pdev-io.NumPorts1 = 0x20) - printk(KERN_WARNING DRV_NAME : second channel not yet supported.\n); + n_ports = 2; if (pdev-manf_id == 0x0097 pdev-card_id == 0x1620) ops = pcmcia_8bit_port_ops; @@ -357,20 +357,23 @@ * sane. */ ret = -ENOMEM; - host = ata_host_alloc(pdev-dev, 1); + host = ata_host_alloc(pdev-dev, n_ports); if (!host) goto failed; - ap = host-ports[0]; - ap-ops = ops; - ap-pio_mask = 1; /* ISA so PIO 0 cycles */ - ap-flags |= ATA_FLAG_SLAVE_POSS; - ap-ioaddr.cmd_addr = io_addr; - ap-ioaddr.altstatus_addr = ctl_addr; - ap-ioaddr.ctl_addr = ctl_addr; - ata_std_ports(ap-ioaddr); + for (p = 0; p n_ports; p++) { + ap = host-ports[p]; - ata_port_desc(ap, cmd 0x%lx ctl 0x%lx, io_base, ctl_base); + ap-ops = ops; + ap-pio_mask = 1; /* ISA so PIO 0 cycles */ + ap-flags |= ATA_FLAG_SLAVE_POSS; + ap-ioaddr.cmd_addr = io_addr + 0x10 * p; + ap-ioaddr.altstatus_addr = ctl_addr + 0x10 * p; + ap-ioaddr.ctl_addr = ctl_addr + 0x10 * p; + ata_std_ports(ap-ioaddr); + + ata_port_desc(ap, cmd 0x%lx ctl 0x%lx, io_base, ctl_base); + } /* activate */ ret = ata_host_activate(host, pdev-irq.AssignedIRQ, ata_interrupt, - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html