LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: lsorense@csclub.uwaterloo.ca (Lennart Sorensen)
To: takada <takada@mbf.nifty.com>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: Re: fix typo in geode_configre()@cyrix.c
Date: Tue, 9 Jan 2007 10:43:42 -0500 [thread overview]
Message-ID: <20070109154342.GB17269@csclub.uwaterloo.ca> (raw)
In-Reply-To: <20070109.184156.260789378.takada@mbf.nifty.com>
On Tue, Jan 09, 2007 at 06:41:56PM +0900, takada wrote:
> In kernel 2.6, write back wrong register when configure Geode processor.
> Instead of storing to CCR4, it stores to CCR3.
>
> --- linux-2.6.19/arch/i386/kernel/cpu/cyrix.c.orig 2007-01-09 16:45:21.000000000 +0900
> +++ linux-2.6.19/arch/i386/kernel/cpu/cyrix.c 2007-01-09 17:10:13.000000000 +0900
> @@ -173,7 +173,7 @@ static void __cpuinit geode_configure(vo
> ccr4 = getCx86(CX86_CCR4);
> ccr4 |= 0x38; /* FPU fast, DTE cache, Mem bypass */
>
> - setCx86(CX86_CCR3, ccr3);
> + setCx86(CX86_CCR4, ccr4);
>
> set_cx86_memwb();
> set_cx86_reorder();
Any idea what the consequence of this would be? Any chance that while
fixing this file anyhow, adding a missing variant could be done?
The patch I currently run with is this (To cyrix.c):
@@ -257,6 +257,8 @@
break;
case 4: /* MediaGX/GXm or Geode GXM/GXLV/GX1 */
+ case 11: /* SC1200 seems to return 11 or something but it is a geode gx1 too as far as I know */
+ dir0_msn = 4;
#ifdef CONFIG_PCI
/* It isn't really a PCI quirk directly, but the cure is the
same. The MediaGX has deep magic SMM stuff that handles the
After the patch I get this:
# cat /proc/cpuinfo
processor : 0
vendor_id : CyrixInstead
cpu family : 5
model : 9
model name : Geode(TM) Integrated Processor by National Semi
stepping : 1
cpu MHz : 266.759
cache size : 16 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu tsc msr cx8 cmov mmx cxmmx
bogomips : 535.09
Before that the cpu type was unknown, the cache size wasn't there,
and a number of fixups were not being applied as far as I could tell.
I know I have had to fix the jsm serial driver which uses memcpy_toio,
and I got characters out of order on transmit on the geode, while on a
pentium 4 or athlon it works perfectly fine with the same card and driver.
My workaround (which of course isn't good for efficiency) has been:
- memcpy_toio(&ch->ch_neo_uart->txrxburst, ch->ch_wqueue + tail, s);
+ for(i=0;i<s;i++) {
+ memcpy_toio(&(ch->ch_neo_uart->txrxburst[i]), ch->ch_wqueue + tail + i, 1);
+ }
+ /*memcpy_toio(&ch->ch_neo_uart->txrxburst, ch->ch_wqueue + tail, s);*/
Could the wrong register being saved have anything to do with that?
Without my fix a burst transfer of the data 0123456789ABCDEF results in
the other end receiving: 123056749AB8DEFC
--
Len Sorensen
next prev parent reply other threads:[~2007-01-09 15:43 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-09 9:41 takada
2007-01-09 15:43 ` Lennart Sorensen [this message]
2007-01-17 0:15 ` Juergen Beisert
2007-01-09 17:33 ` Lennart Sorensen
2007-01-16 16:38 ` takada
2007-01-16 16:50 ` Lennart Sorensen
2007-01-16 17:12 ` takada
2007-01-24 4:04 ` Andrew Morton
2007-01-16 22:47 ` Lennart Sorensen
2007-01-17 0:24 ` Juergen Beisert
2007-01-17 15:26 ` takada
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=20070109154342.GB17269@csclub.uwaterloo.ca \
--to=lsorense@csclub.uwaterloo.ca \
--cc=linux-kernel@vger.kernel.org \
--cc=takada@mbf.nifty.com \
--subject='Re: fix typo in geode_configre()@cyrix.c' \
/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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).