linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ppc64 kernel 2.6 ide-related patches (trivial)
@ 2003-09-11 16:28 linas
  2003-09-11 22:04 ` linas
  2003-09-12 17:00 ` [PATCH] ppc64 kernel 2.6 ide-related patches (revised) linas
  0 siblings, 2 replies; 4+ messages in thread
From: linas @ 2003-09-11 16:28 UTC (permalink / raw)
  To: linuxppc-dev


Hi,

Im getting complaints that the following patch hasn't made it into
the 2.6 BK trees yet.  They prevent the ide code from compiling.
Could someone apply this?

--linas

--- include/asm-ppc64/io.h.orig	2003-09-11 11:07:07.000000000 -0500
+++ include/asm-ppc64/io.h	2003-09-11 11:08:47.000000000 -0500
@@ -93,7 +93,7 @@ extern void _outsl_ns(volatile u32 *port
 #define inw_p(port)             inw(port)
 #define outw_p(val, port)       (udelay(1), outw((val), (port)))
 #define inl_p(port)             inl(port)
-#define outl_p(val, port)       (udelay(1), outl((val, (port)))
+#define outl_p(val, port)       (udelay(1), outl((val), (port)))

 /*
  * The *_ns versions below don't do byte-swapping.

--- arch/ppc64/kernel/misc.S.orig	2003-09-11 11:13:33.000000000 -0500
+++ arch/ppc64/kernel/misc.S	2003-09-11 11:15:18.000000000 -0500
@@ -359,7 +359,7 @@ _GLOBAL(_outsl)
 	bdnz	00b
 	blr

-_GLOBAL(ide_insw)
+/* _GLOBAL(ide_insw) now in drivers/ide/ide-iops.c */
 _GLOBAL(_insw_ns)
 	cmpwi	0,r5,0
 	mtctr	r5
@@ -371,7 +371,7 @@ _GLOBAL(_insw_ns)
 	bdnz	00b
 	blr

-_GLOBAL(ide_outsw)
+/* _GLOBAL(ide_outsw) now in drivers/ide/ide-iops.c */
 _GLOBAL(_outsw_ns)
 	cmpwi	0,r5,0
 	mtctr	r5

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ppc64 kernel 2.6 ide-related patches (trivial)
  2003-09-11 16:28 [PATCH] ppc64 kernel 2.6 ide-related patches (trivial) linas
@ 2003-09-11 22:04 ` linas
  2003-09-12 17:00 ` [PATCH] ppc64 kernel 2.6 ide-related patches (revised) linas
  1 sibling, 0 replies; 4+ messages in thread
From: linas @ 2003-09-11 22:04 UTC (permalink / raw)
  To: linuxppc-dev


On Thu, Sep 11, 2003 at 11:28:23AM -0500, linas@austin.ibm.com wrote:
>
> Hi,
>
> Im getting complaints that the following patch hasn't made it into
> the 2.6 BK trees yet.  They prevent the ide code from compiling.
> Could someone apply this?

Please ignore the note the above note; its not right.

(My excuse: I was propagating a request w/o double checking. Oops).

I will try to supply correct patches shortly.

--linas


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] ppc64 kernel 2.6 ide-related patches (revised)
  2003-09-11 16:28 [PATCH] ppc64 kernel 2.6 ide-related patches (trivial) linas
  2003-09-11 22:04 ` linas
@ 2003-09-12 17:00 ` linas
  2003-09-13 18:18   ` Benjamin Herrenschmidt
  1 sibling, 1 reply; 4+ messages in thread
From: linas @ 2003-09-12 17:00 UTC (permalink / raw)
  To: linuxppc-dev


The patch below, against the kernel-2.5 ppc64 bk of 28 august, allows
the IDE code to compile and work with ide disks & cdrom's.

I tested with a 30GB hard drive, and am able to mount, create and copy
files around.  I verified that the endianess of the data on the disk
is compatible by physically taking the disk to an i386 machine, and
examining it there.

Note, however, the following caveats:

-- the current code does *not* auto-negotiate itself up into the
   highest possible performance mode.  (i.e. 32 bit transfers, dma on,
   etc.)  This appears to be due to the fact that this task is normally
   done by i386 BIOS, and the ppc open firmware doesn't do anything
   analogous, and there's nothing in the kernel (that I know of) to
   make up for this.

-- My machine hung when I did hdparm -T -t on the disk.  I don't know why.
   It doesn't hang when I use 2.4 kernels.  Will try to investigate.

Please apply these patches soon!

--linas

--- arch/ppc64/kernel/misc.S.orig	2003-09-11 17:08:52.000000000 -0500
+++ arch/ppc64/kernel/misc.S	2003-09-11 17:09:47.000000000 -0500
@@ -359,7 +359,7 @@ _GLOBAL(_outsl)
 	bdnz	00b
 	blr

-_GLOBAL(ide_insw)
+/* _GLOBAL(ide_insw) now in drivers/ide/ide-iops.c */
 _GLOBAL(_insw_ns)
 	cmpwi	0,r5,0
 	mtctr	r5
@@ -371,7 +371,7 @@ _GLOBAL(_insw_ns)
 	bdnz	00b
 	blr

-_GLOBAL(ide_outsw)
+/* _GLOBAL(ide_outsw) now in drivers/ide/ide-iops.c */
 _GLOBAL(_outsw_ns)
 	cmpwi	0,r5,0
 	mtctr	r5

--- include/asm-ppc64/io.h.orig	2003-09-11 17:04:15.000000000 -0500
+++ include/asm-ppc64/io.h	2003-09-12 11:22:37.000000000 -0500
@@ -17,6 +17,12 @@
 #include <asm/memory.h>
 #include <asm/delay.h>

+#define __ide_mm_insw(p, a, c) _insw_ns((volatile u16 *)(p), (a), (c))
+#define __ide_mm_insl(p, a, c) _insl_ns((volatile u32 *)(p), (a), (c))
+#define __ide_mm_outsw(p, a, c) _outsw_ns((volatile u16 *)(p), (a), (c))
+#define __ide_mm_outsl(p, a, c) _outsl_ns((volatile u32 *)(p), (a), (c))
+
+
 #define SIO_CONFIG_RA	0x398
 #define SIO_CONFIG_RD	0x399

@@ -93,7 +99,7 @@ extern void _outsl_ns(volatile u32 *port
 #define inw_p(port)             inw(port)
 #define outw_p(val, port)       (udelay(1), outw((val), (port)))
 #define inl_p(port)             inl(port)
-#define outl_p(val, port)       (udelay(1), outl((val, (port)))
+#define outl_p(val, port)       (udelay(1), outl((val), (port)))

 /*
  * The *_ns versions below don't do byte-swapping.

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ppc64 kernel 2.6 ide-related patches (revised)
  2003-09-12 17:00 ` [PATCH] ppc64 kernel 2.6 ide-related patches (revised) linas
@ 2003-09-13 18:18   ` Benjamin Herrenschmidt
  0 siblings, 0 replies; 4+ messages in thread
From: Benjamin Herrenschmidt @ 2003-09-13 18:18 UTC (permalink / raw)
  To: linas; +Cc: linuxppc-dev


On Fri, 2003-09-12 at 19:00, linas@austin.ibm.com wrote:

> -- the current code does *not* auto-negotiate itself up into the
>    highest possible performance mode.  (i.e. 32 bit transfers, dma on,
>    etc.)  This appears to be due to the fact that this task is normally
>    done by i386 BIOS, and the ppc open firmware doesn't do anything
>    analogous, and there's nothing in the kernel (that I know of) to
>    make up for this.

This is done in the kernel by the host chipset driver normally. It works
fine on pmac with ppc32 at least ;)


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2003-09-13 18:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-09-11 16:28 [PATCH] ppc64 kernel 2.6 ide-related patches (trivial) linas
2003-09-11 22:04 ` linas
2003-09-12 17:00 ` [PATCH] ppc64 kernel 2.6 ide-related patches (revised) linas
2003-09-13 18:18   ` Benjamin Herrenschmidt

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).