mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Daniel Ritz <daniel.ritz@gmx.ch>
To: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Cc: linux-kernel <linux-kernel@vger.kernel.org>
Subject: [PATCH 2.4] enable read prefetch on o2micro bridges to fix HDSP
Date: Sat, 21 Aug 2004 23:22:24 +0200	[thread overview]
Message-ID: <200408212322.24041.daniel.ritz@gmx.ch> (raw)

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;


                 reply	other threads:[~2004-08-21 21:28 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200408212322.24041.daniel.ritz@gmx.ch \
    --to=daniel.ritz@gmx.ch \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo.tosatti@cyclades.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®