Re: [PATCH] 2.5.29 IDE 109

From: Alan Cox (alan@lxorguk.ukuu.org.uk)
Date: Tue Jul 30 2002 - 05:59:48 EST


Martin. The CS5530 one seems unneeded looking at the databook. Try the
patch below instead, which removes the irq lock and uses the proper
kernel functions to enable MWI and master.

I'm not sure I like the fact you've deleted the ide-tape documentation.
IDE tape is a pretty tricky thing, especially all the command handling
weirdnesses. How about moving it into Changelog.idetape if you dont want
it in the code itself ?

diff -u --exclude-from /usr/src/exclude --new-file --recursive linux-2.5.29/drivers/ide/cs5530.c linux-2.5.29-ac1/drivers/ide/cs5530.c
--- linux-2.5.29/drivers/ide/cs5530.c 2002-07-27 15:33:52.000000000 +0100
+++ linux-2.5.29-ac1/drivers/ide/cs5530.c 2002-07-28 00:41:53.000000000 +0100
@@ -218,6 +218,7 @@
                         }
                 }
         }
+
         if (!master_0) {
                 printk("%s: unable to locate PCI MASTER function\n", dev->name);
                 return 0;
@@ -227,15 +228,13 @@
                 return 0;
         }
 
- save_flags(flags);
- cli(); /* all CPUs (there should only be one CPU with this chipset) */
-
         /*
          * Enable BusMaster and MemoryWriteAndInvalidate for the cs5530:
          * --> OR 0x14 into 16-bit PCI COMMAND reg of function 0 of the cs5530
          */
- pci_read_config_word (cs5530_0, PCI_COMMAND, &pcicmd);
- pci_write_config_word(cs5530_0, PCI_COMMAND, pcicmd | PCI_COMMAND_MASTER | PCI_COMMAND_INVALIDATE);
+
+ pci_set_master(cs5530_0);
+ pci_set_mwi(cs5530_0);
 
         /*
          * Set PCI CacheLineSize to 16-bytes:
@@ -274,8 +273,6 @@
         pci_write_config_byte(master_0, 0x42, 0x00);
         pci_write_config_byte(master_0, 0x43, 0xc1);
 
- restore_flags(flags);
-
         return 0;
 }
 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Jul 30 2002 - 14:00:36 EST