linux-mips
[Top] [All Lists]

Re: fixup_bigphys_addr and DBAu1500 dev board

To: Dan Malek <dan@embeddededge.com>
Subject: Re: fixup_bigphys_addr and DBAu1500 dev board
From: Jeff Baitis <baitisj@evolution.com>
Date: Fri, 21 Feb 2003 19:50:31 -0800
Cc: ppopov@mvista.com, linux-mips@linux-mips.org
In-reply-to: <3E568ECC.2090601@embeddededge.com>; from dan@embeddededge.com on Fri, Feb 21, 2003 at 03:40:44PM -0500
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <200302201135.09154.krishnakumar@naturesoft.net> <20030221.112456.41627052.nemoto@toshiba-tops.co.jp> <20030221122515.E20129@luca.pas.lab> <3E568ECC.2090601@embeddededge.com>
Reply-to: baitisj@evolution.com
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.2.5i
Dan & Pete:

Thank you very much for your help!

I've patched things up, and my kernel runs, but the yenta_socket kernel module
still locks the system. Time to break out GDB and take a look at everything!
Please let me know if ya'll have some suggestions. :*)

After the 36-bit PCI patch, I had to alter include/asm-mips/io.h in order to
get drivers/net/wireless to compile. Preprocessor expansion of outw_p in the
hermes.h -> hermes_enable_interrupt and hermes_set_irqmask inline functions
caused some issues; I hope this patch is of some use!

Regards,

Jeff


diff -u -r1.29.2.19 include/asm-mips/io.h
--- include/asm-mips/io.h        28 Nov 2002 23:04:11 -0000      1.29.2.19
+++ include/asm-mips/io.h        22 Feb 2003 03:44:27 -0000
@@ -329,12 +329,25 @@
        SLOW_DOWN_IO;                                                   \
 } while(0)
 
-#define outw_p(val,port)                                               \
-do {                                                                   \
-       *(volatile u16 *)(mips_io_port_base + __swizzle_addr_w(port)) = \
-               __ioswab16(val);                                        \
-       SLOW_DOWN_IO;                                                   \
-} while(0)
+/* baitisj */
+static inline u16 outw_p(u16 val, unsigned long port)
+{
+    register u16 retval;
+    do {
+        retval = *(volatile u16 *)(mips_io_port_base + __swizzle_addr_w(port)) 
=
+            __ioswab16(val);
+        SLOW_DOWN_IO;
+    } while(0);
+    return retval;
+}
+/*  
+ *  #define outw_p(val,port)                                           \
+ *  do {                                                                       
\
+ *     *(volatile u16 *)(mips_io_port_base + __swizzle_addr_w(port)) = \
+ *             __ioswab16(val);                                        \
+ *     SLOW_DOWN_IO;                                                   \
+ *  } while(0)
+ */
 
 #define outl_p(val,port)                                               \
 do {                                                                   \



On Fri, Feb 21, 2003 at 03:40:44PM -0500, Dan Malek wrote:
> Jeff Baitis wrote:
> 
> > I'd love to know where this mystery fixup_bigphys_addr comes from!?
> 
> You need the 36-bit patch from Pete that is not yet part of the
> linux-mips tree.
> 
> You can find it on linux-mips.org in /pub/linux/mips/people/ppopov.
> 
> Have fun!
> 
> 
>       -- Dan
> 
> 
> 

-- 
         Jeffrey Baitis - Associate Software Engineer

                    Evolution Robotics, Inc.
                     130 West Union Street
                       Pasadena CA 91103

 tel: 626.535.2776  |  fax: 626.535.2777  |  baitisj@evolution.com 


<Prev in Thread] Current Thread [Next in Thread>