Re: [PATCH 19/19] ide: use PIO/MMIO operations directly where possible

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/12/07, Alan <[email protected]> wrote:
On Fri, 12 Jan 2007 05:28:07 +0100
Bartlomiej Zolnierkiewicz <[email protected]> wrote:

> [PATCH] ide: use PIO/MMIO operations directly where possible
>
> This results in smaller/faster/simpler code and allows future optimizations.
> Also remove no longer needed ide[_mm]_{inl,outl}() and ide_hwif_t.{INL,OUTL}.
>
> Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]>

> --- a.orig/drivers/ide/ide-dma.c
> +++ a/drivers/ide/ide-dma.c
> @@ -565,7 +565,10 @@ int ide_dma_setup(ide_drive_t *drive)
>       }
>
>       /* PRD table */
> -     hwif->OUTL(hwif->dmatable_dma, hwif->dma_prdtable);
> +     if (hwif->mmio == 2)
> +             writel(hwif->dmatable_dma, (void __iomem *)hwif->dma_prdtable);
> +     else
> +             outl(hwif->dmatable_dma, hwif->dma_prdtable);


This should simply be if (hwif->mmio)

mmio = 1 is still used by some amiga and other oddments and indicates
mmio in old form. I don't think this causes a bug as they don't use the
DMA layer, but its a bug waiting to happen if the mmio==1 case doesn't
get handled correctly or BUG()

mmio = 1 isn't used in the current IDE code and we have BUG_ON()
for it in ide.c:ide_hwif_request_regions() so the above change is safe.

Anyway thanks for bringing mmio = 1 issue - it can be converted
to flag now (will let us avoid similar confusions in the future).

Bart
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux