On Tue, Jul 25, 2006 at 12:25:50AM +0400, Sergei Shtylyov wrote: > Hello. > > Alan and Andrew wanted me to coordinate the change with SGI before > recasting this patch because the sgiioc4.c is the only real user of the > 'dma_base2' field which the IDE maintaner wanted me to remove. The use of > this field in this driver doesn't seem necessary or even well grounded -- > hwif_data seem to fit the task better... Will you ACK this change? > > WBR, Sergei This patch won't apply with the line wrapping in the email. Can you please resend? You can turn off the "format=flowed" tag in your mailer or send as an attachment. The field is necessary for proper operation of the driver. jeremy > -------- Original Message -------- > Subject: - ide-remove-dma_base2-field-form-ide_hwif_t.patch removed from > -mm tree > Date: Mon, 26 Jun 2006 11:19:17 -0700 > From: akpm@xxxxxxxx > To: sshtylyov@xxxxxxxxxxxxx, alan@xxxxxxxxxxxxxxxxxxx, > B.Zolnierkiewicz@xxxxxxxxxxxxxx, mm-commits@xxxxxxxxxxxxxxx > > > The patch titled > > IDE: remove 'dma_base2' field form 'ide_hwif_t' > > has been removed from the -mm tree. Its filename is > > ide-remove-dma_base2-field-form-ide_hwif_t.patch > > This patch was dropped because it conflicts with ide-clean-up-siimage.patch > > ------------------------------------------------------ > Subject: IDE: remove 'dma_base2' field form 'ide_hwif_t' > From: Sergei Shtylylov <sshtylyov@xxxxxxxxxxxxx> > > > Remove 'dma_base2' field from 'ide_hwif_t' as it's used only by 2 drivers > and without a great need. > > Signed-off-by: Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx> > Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@xxxxxxxxxxxxxx> > Cc: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxx> > --- > > drivers/ide/ide-dma.c | 14 +------------- > drivers/ide/pci/sgiioc4.c | 22 ++++++++++------------ > include/linux/ide.h | 1 - > 3 files changed, 11 insertions(+), 26 deletions(-) > > diff -puN drivers/ide/ide-dma.c~ide-remove-dma_base2-field-form-ide_hwif_t > drivers/ide/ide-dma.c > --- a/drivers/ide/ide-dma.c~ide-remove-dma_base2-field-form-ide_hwif_t > +++ a/drivers/ide/ide-dma.c > @@ -802,8 +802,6 @@ static int ide_release_iomio_dma(ide_hwi > release_region(hwif->dma_base, 8); > if (hwif->extra_ports) > release_region(hwif->extra_base, hwif->extra_ports); > - if (hwif->dma_base2) > - release_region(hwif->dma_base, 8); > return 1; > } > > @@ -877,19 +875,9 @@ static int ide_iomio_dma(ide_hwif_t *hwi > } > > if(hwif->mate) > - hwif->dma_master = (hwif->channel) ? hwif->mate->dma_base : > base; > + hwif->dma_master = (hwif->channel) ? > hwif->mate->dma_base:base; > else > hwif->dma_master = base; > - if (hwif->dma_base2) { > - if (!request_region(hwif->dma_base2, ports, hwif->name)) > - { > - printk(" -- Error, secondary ports in use.\n"); > - release_region(base, ports); > - if (hwif->extra_ports) > - release_region(hwif->extra_base, > hwif->extra_ports); > - return 1; > - } > - } > return 0; > } > > diff -puN > drivers/ide/pci/sgiioc4.c~ide-remove-dma_base2-field-form-ide_hwif_t > drivers/ide/pci/sgiioc4.c > --- a/drivers/ide/pci/sgiioc4.c~ide-remove-dma_base2-field-form-ide_hwif_t > +++ a/drivers/ide/pci/sgiioc4.c > @@ -220,7 +220,7 @@ sgiioc4_ide_dma_end(ide_drive_t * drive) > ide_hwif_t *hwif = HWIF(drive); > u64 dma_base = hwif->dma_base; > int dma_stat = 0; > - unsigned long *ending_dma = (unsigned long *) hwif->dma_base2; > + unsigned long *ending_dma = ide_get_hwifdata(hwif); > > hwif->OUTL(IOC4_S_DMA_STOP, dma_base + IOC4_DMA_CTRL * 4); > > @@ -367,7 +367,8 @@ sgiioc4_INB(unsigned long port) > static void __devinit > ide_dma_sgiioc4(ide_hwif_t * hwif, unsigned long dma_base) > { > - int num_ports = sizeof (ioc4_dma_regs_t); > + int num_ports = sizeof(ioc4_dma_regs_t); > + void *pad; > > printk(KERN_INFO "%s: BM-DMA at 0x%04lx-0x%04lx\n", hwif->name, > dma_base, dma_base + num_ports - 1); > @@ -391,17 +392,14 @@ ide_dma_sgiioc4(ide_hwif_t * hwif, unsig > > hwif->sg_max_nents = IOC4_PRD_ENTRIES; > > - hwif->dma_base2 = (unsigned long) > - pci_alloc_consistent(hwif->pci_dev, > - IOC4_IDE_CACHELINE_SIZE, > - (dma_addr_t *) &(hwif->dma_status)); > + pad = pci_alloc_consistent(hwif->pci_dev, IOC4_IDE_CACHELINE_SIZE, > + (dma_addr_t *) &(hwif->dma_status)); > > - if (!hwif->dma_base2) > - goto dma_base2alloc_failure; > - > - return; > + if (pad) { > + ide_set_hwifdata(hwif, pad); > + return; > + } > > -dma_base2alloc_failure: > pci_free_consistent(hwif->pci_dev, > IOC4_PRD_ENTRIES * IOC4_PRD_BYTES, > hwif->dmatable_cpu, hwif->dmatable_dma); > @@ -461,7 +459,7 @@ sgiioc4_configure_for_dma(int dma_direct > hwif->OUTL(dma_addr, dma_base + IOC4_DMA_PTR_L * 4); > > /* Address of the Ending DMA */ > - memset((unsigned int *) hwif->dma_base2, 0, IOC4_IDE_CACHELINE_SIZE); > + memset(ide_get_hwifdata(hwif), 0, IOC4_IDE_CACHELINE_SIZE); > ending_dma_addr = cpu_to_le32(hwif->dma_status); > hwif->OUTL(ending_dma_addr, dma_base + IOC4_DMA_END_ADDR * 4); > > diff -puN > drivers/ide/pci/siimage.c~ide-remove-dma_base2-field-form-ide_hwif_t > drivers/ide/pci/siimage.c > diff -puN include/linux/ide.h~ide-remove-dma_base2-field-form-ide_hwif_t > include/linux/ide.h > --- a/include/linux/ide.h~ide-remove-dma_base2-field-form-ide_hwif_t > +++ a/include/linux/ide.h > @@ -773,7 +773,6 @@ typedef struct hwif_s { > unsigned long dma_status; /* dma status register */ > unsigned long dma_vendor3; /* dma vendor 3 register */ > unsigned long dma_prdtable; /* actual prd table address */ > - unsigned long dma_base2; /* extended base addr for dma ports > */ > > unsigned long config_data; /* for use by chipset-specific code > */ > unsigned long select_data; /* for use by chipset-specific code > */ > _ > > Patches currently in -mm which might be from sshtylyov@xxxxxxxxxxxxx are > > origin.patch > ide-actually-honor-drives-minimum-pio-dma-cycle-times.patch > ide-pdc202xx_old-remove-the-obsolete-busproc.patch > pdc202xx_old-depends-on-config_blk_dev_idedma.patch > remove-code-that-has-long-been-commented-out-from-pdc20265_old.patch > ide-clean-up-siimage.patch > ide-claim-extra-dma-ports-regardless-of-channel.patch > ide-remove-dma_base2-field-form-ide_hwif_t.patch > ide-always-release-dma-engine.patch > ide-hpt3xxn-clocking-fixes.patch > ide-fix-hpt37x-timing-tables.patch > ide-optimize-hpt37x-timing-tables.patch > ide-fix-hpt3xx-hotswap-support.patch > ide-fix-the-case-of-multiple-hpt3xx-chips-present.patch > ide-hpt3xx-fix-pci-clock-detection.patch > ide-hpt3xx-fix-pci-clock-detection-fix-2.patch > piix-fix-82371mx-enablebits.patch > piix-remove-check-for-broken-mw-dma-mode-0.patch > piix-slc90e66-pio-mode-fallback-fix.patch > ide_dma_speed-fixes.patch > hpt3xx-rework-rate-filtering.patch > hpt3xx-rework-rate-filtering-tidy.patch > hpt3xx-print-the-real-chip-name-at-startup.patch > hpt3xx-switch-to-using-pci_get_slot.patch > hpt3xx-cache-channels-mcr-address.patch > hpt3x7-merge-speedproc-handlers.patch > hpt370-clean-up-dma-timeout-handling.patch > enable-cdrom-dma-access-with-pdc20265_old.patch - : 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