All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2.4] enable read prefetch on o2micro bridges to fix HDSP
@ 2004-08-21 21:22 Daniel Ritz
  0 siblings, 0 replies; only message in thread
From: Daniel Ritz @ 2004-08-21 21:22 UTC (permalink / raw)
  To: Marcelo Tosatti; +Cc: linux-kernel

hi marcelo

this is in 2.6 since june 21 and even longer on the linux-pcmcia list (2.6 version).
not a single negative report about this until now.

against 2.4-bknow

rgds
-daniel

--------------------

enable read prefetching on O2micro bridges. It fixes the problems
seen with the RME Hammerfall DSP. it's also known to fix problems
with an external cd-writer on a dell laptop.
Thanks to Eric Still from O2micro for the input.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>

--- 1.17/drivers/pcmcia/yenta.c	Mon May 17 22:09:06 2004
+++ edited/drivers/pcmcia/yenta.c	Fri Jun 25 21:51:44 2004
@@ -845,6 +845,7 @@
 
 #include "ti113x.h"
 #include "ricoh.h"
+#include "o2micro.h"
 
 /*
  * Different cardbus controllers have slightly different
@@ -879,6 +880,8 @@
 	{ PD(ENE,1225),  &ti_ops },
 	{ PD(ENE,1410),  &ti_ops },
 	{ PD(ENE,1420),  &ti_ops },
+
+	{ PCI_VENDOR_ID_O2, PCI_ANY_ID, &o2micro_ops },
 
 	{ PD(RICOH,RL5C465), &ricoh_ops },
 	{ PD(RICOH,RL5C466), &ricoh_ops },
--- 1.3/drivers/pcmcia/o2micro.h	Sat Oct 19 01:10:30 2002
+++ edited/drivers/pcmcia/o2micro.h	Fri Jun 25 21:36:08 2004
@@ -120,4 +120,36 @@
 #define  O2_MODE_E_LED_OUT	0x08
 #define  O2_MODE_E_SKTA_ACTV	0x10
 
+static int o2micro_open(pci_socket_t *socket)
+{
+	/*
+	 * 'reserved' register at 0x94/D4. chaning it to 0xCA (8 bit) enables
+	 * read prefetching which for example makes the RME Hammerfall DSP
+	 * working. for some bridges it is at 0x94, for others at 0xD4. it's
+	 * ok to write to both registers on all O2 bridges.
+	 * from Eric Still, 02Micro.
+	 */
+	if (PCI_FUNC(socket->dev->devfn) == 0) {
+		config_writeb(socket, 0x94, 0xCA);
+		config_writeb(socket, 0xD4, 0xCA);
+	}
+
+	return 0;
+}
+
+static struct pci_socket_ops o2micro_ops = {
+	o2micro_open,
+	yenta_close,
+	yenta_init,
+	yenta_suspend,
+	yenta_get_status,
+	yenta_get_socket,
+	yenta_set_socket,
+	yenta_get_io_map,
+	yenta_set_io_map,
+	yenta_get_mem_map,
+	yenta_set_mem_map,
+	yenta_proc_setup
+};
+
 #endif /* _LINUX_O2MICRO_H */
--- 1.11/drivers/pcmcia/i82365.c	Sat Sep 27 17:41:26 2003
+++ edited/drivers/pcmcia/i82365.c	Sat Aug 21 21:51:47 2004
@@ -63,7 +63,6 @@
 #include "cirrus.h"
 #include "vg468.h"
 #include "ricoh.h"
-#include "o2micro.h"
 
 #ifdef PCMCIA_DEBUG
 static int pc_debug = PCMCIA_DEBUG;


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-08-21 21:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-08-21 21:22 [PATCH 2.4] enable read prefetch on o2micro bridges to fix HDSP Daniel Ritz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.