ide-cris: fix DMA methods
PATCH 10/13 ide-cris: fix DMA methods
* Rename cris_dma_{on,off}() to cris_dma_host_{on,off}().
* Remove no longer needed ->dma_off_quietly
(IDE core has the needed code now).
* Make cris_dma_host_on() void.
--- drivers/ide/cris/ide-cris.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-)
drivers/ide/cris/ide-cris.c +7 -11
@@ -673,9 +673,12 @@ static void cris_ide_input_data (ide_dristatic void cris_ide_output_data (ide_drive_t *drive,void *,unsigned int );static void cris_atapi_input_bytes (ide_drive_t *drive,void *,unsigned int );static void cris_atapi_output_bytes (ide_drive_t *drive,void *,unsigned int ); -static int cris_dma_on (ide_drive_t *drive); -static void cris_dma_off (ide_drive_t *drive) +static void cris_dma_host_off (ide_drive_t *drive) +{ +} + +static void cris_dma_host_on (ide_drive_t *drive) { }
@@ -798,9 +801,8 @@ init_e100_ide (void) hwif->OUTBSYNC = &cris_ide_outbsync; hwif->INB = &cris_ide_inb; hwif->INW = &cris_ide_inw; - hwif->dma_host_off = &cris_dma_off; - hwif->dma_host_on = &cris_dma_on; - hwif->dma_off_quietly = &cris_dma_off; + hwif->dma_host_off = &cris_dma_host_off; + hwif->dma_host_on = &cris_dma_host_on; hwif->cbl =ATA_CBL_PATA40 ; hwif->host_flags |=IDE_HFLAG_NO_ATAPI_DMA ; hwif->pio_mask = ATA_PIO4,
@@ -822,12 +824,6 @@ init_e100_ide (void)cris_ide_set_speed (TYPE_UDMA ,ATA_UDMA2_CYC ,ATA_UDMA2_DVS ,0 ); } -static int cris_dma_on (ide_drive_t *drive) -{ -return 0 ; -} - - static cris_dma_descr_type mydescr __attribute__ ((__aligned__(16)));/*
Quoted 1 line · Bartlomiej Zolnierkiewicz
* Rename cris_dma_{on,off}() to cris_dma_host_{on,off}().
Haven't you killed dma_on/dma_off_quietly() methods in the previosu patch?
Quoted 7 lines
* Remove no longer needed ->dma_off_quietly
(IDE core has the needed code now).* Make
cris_dma_host_on()void.Cc Mikael Starvik <[email protected]>Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
MBR, Sergei
Quoted 5 lines · Sergei Shtylyov
Quoted 1 line · Bartlomiej Zolnierkiewicz
* Rename cris_dma_{on,off}() to cris_dma_host_{on,off}().
Haven't you killed dma_on/dma_off_quietly() methods in the previosu patch?
Yes, I did.
I left fixing ide-cris after "kill dma_on/dma_off_quietly() methods" patch because:
* Currently this driver is broken: cris_dma_on() (returns 'int') is assigned to hwif->dma_host_on (returns 'void') so the driver won't build.
* ->ide_dma_on method was missing so the driver OOPS-es on attempt to enable DMA.
* drive->using_dma was never set/cleared so DMA wouldn't be used anyway.
Unfortunately it seems that ide-cris stays broken even after this patch:
* V10: <asm/arch-v10/ide.h> needs fixing
- ide_init_default_hwifs() should be removed
(IDE core no longer uses it)
- same for ide_init_hwif_ports() and ide_default_{irq,io_base}() (they shouldn't be needed for ide-cris host driver)
* V32: I'm unable to find a place which defines ETRAX_ARCH_V32
but I'm leaving fixing this to CRIS gurus. :)
[ I added the above explanation to the patch description. ]
Quoted 7 lines
Quoted 7 lines
* Remove no longer needed ->dma_off_quietly
(IDE core has the needed code now).* Make
cris_dma_host_on()void.Cc Mikael Starvik <[email protected]>Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
Quoted 9 lines · Bartlomiej Zolnierkiewicz
* Rename cris_dma_{on,off}() to cris_dma_host_{on,off}().
* Remove no longer needed ->dma_off_quietly
(IDE core has the needed code now).* Make
cris_dma_host_on()void.Cc Mikael Starvik <[email protected]>Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
MBR, Sergei