Resent-Date: Thu, 2 Sep 1999 22:46:06 +0200 (MET DST)
Date: Thu, 2 Sep 1999 22:45:57 +0200 (CEST)
From: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Sender: Geert.Uytterhoeven@cs.kuleuven.ac.be
To: Roman Zippel <zippel@fh-brandenburg.de>
cc: linux-m68k@lists.linux-m68k.org
Subject: Re: experimental patch for 2.3.14
In-Reply-To: <m11MDox-002O4SC@zeus.fh-brandenburg.de>
Resent-From: linux-m68k@phil.uni-sb.de

On Wed, 1 Sep 1999, Roman Zippel wrote:
> > > Do you have CONFIG_RMW_INSNS set? It should work without this, but I didn't
> > > test it.
> > 
> > No. I thought RMW wasn't safe on the A6340?
> 
> RMW isn't safe in ZORROII space, but for the rest of the memory it should
> work, as mmu updates also use RMW cycles.
> Anyway, you can also do a s/rt_define/rt_flagsdefine/ in include/linux/rt.h
> to get it working.

I enabled CONFIG_RMW_INSNS and now I finally have 2.3.14 running! Thx a lot!
Time to work on the resource stuff again (if time permits, I have to work on my
Kongreß slides as well)...

All I needed to make it compile was this small patch, though (untested, I don't
do floppies):

--- m68k-2.3.14/drivers/block/amiflop.c.orig	Mon Aug 16 10:12:39 1999
+++ m68k-2.3.14/drivers/block/amiflop.c	Thu Sep  2 22:11:24 1999
@@ -1807,7 +1807,7 @@
   	return -ENOMEM;
   }
 
-  if (request_irq(IRQ_FLOPPY, fd_block_done, 0, "floppy_dma", NULL) != 0) {
+  if (request_irq(IRQ_AMIGA_DSKBLK, fd_block_done, 0, "floppy_dma", NULL) != 0) {
   	printk("fd: cannot get irq for dma\n");
   	amiga_chip_free(raw_buf);
   	unregister_blkdev(MAJOR_NR,"fd");
@@ -1815,14 +1815,14 @@
   }
   if (request_irq(IRQ_AMIGA_CIAA_TB, ms_isr, 0, "floppy_timer", NULL) != 0) {
   	printk("fd: cannot get irq for timer\n");
-  	free_irq(IRQ_FLOPPY, NULL);
+  	free_irq(IRQ_AMIGA_DSKBLK, NULL);
   	amiga_chip_free(raw_buf);
   	unregister_blkdev(MAJOR_NR,"fd");
   	return -EBUSY;
   }
   if (fd_probe_drives() < 1) { /* No usable drives */
   	free_irq(IRQ_AMIGA_CIAA_TB, NULL);
-  	free_irq(IRQ_FLOPPY, NULL);
+  	free_irq(IRQ_AMIGA_DSKBLK, NULL);
   	amiga_chip_free(raw_buf);
   	unregister_blkdev(MAJOR_NR,"fd");
   	return -ENXIO;
@@ -1892,7 +1892,7 @@
   if (unit[i].type->code != FD_NODRIVE)
     kfree(unit[i].trackbuf);
 free_irq(IRQ_AMIGA_CIAA_TB, NULL);
-free_irq(IRQ_FLOPPY, NULL);
+free_irq(IRQ_AMIGA_DSKBLK, NULL);
 custom.dmacon = DMAF_DISK; /* disable DMA */
 amiga_chip_free(raw_buf);
 blk_size[MAJOR_NR] = NULL;

Greetings,

						Geert

--
Geert Uytterhoeven                   Geert.Uytterhoeven@sonycom.com
Sony Suprastructure Center Europe (SUPC-E) --- Brussels --- Belgium

