All of lore.kernel.org
 help / color / mirror / Atom feed
* -test10/PPC still broken on PowerMac 8500
@ 2003-11-26  0:55 John Mock
  2003-11-26  0:59 ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 4+ messages in thread
From: John Mock @ 2003-11-26  0:55 UTC (permalink / raw)
  To: linux-kernel; +Cc: Benjamin Herrenschmidt

Most of these are SCSI issues and the last one makes -test10 hard to debug.

* MESH gets SLAB errors during startup, CDROM eject
* "mac53c94: module license 'unspecified' taints kernel."
* "53C94 did not call scsi_unregister" [sorry, should have filed bug report]
* 'swim3.c' doesn't compile properly
* Switching from X to text console ('controlfb' frame buffer) loses video 
  sync.

The 53C94 problems probably aren't hard to fix.  For the floppy code (that 
is, 'swim3.c'), 'benh' has a version of 'swim3' which may only need further
testing.  The MESH issue looks like a buffer alignment problem, and worked 
without complaint in the 2.4 kernels.  

The video mode problem is a real nuisance and is the biggest reason i'm not
doing more than intermittent testing of 2.6.0/PPC.

			         -- JM


P.S.  I came across a large pile of floppies during a massive cleanup (why
i've been so busy) and i can run some more tests of the 'swim3' code after 
the Thanksgiving break.

^ permalink raw reply	[flat|nested] 4+ messages in thread
* Re: -test10/PPC still broken on PowerMac 8500
@ 2003-11-26 19:43 John Mock
  0 siblings, 0 replies; 4+ messages in thread
From: John Mock @ 2003-11-26 19:43 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: Linux Kernel list

Thanks for the clues.  I think the attached patch fixes most of the issues
with 'mac53c94.c' (please check the license before passing upstream); and 
by forcing a 16 byte boundary in the slab debug area, also fixes the MESH
problems (including CDROM eject, which my earlier kludgy patch didn't deal
with).  Both get a couple of compilation warnings (see attachment) which
may need attention.

I spent alot of time on the 'controlfb' driver and haven't gotten very far
with it.  What i can tell you about this is that control_set_hardware()
gets initially called with 'cmode' of 0, then gets set to 'cmode' of 2.
If i invoke X, when it comes back from X, it has 'cmode' of 1; that is to 
say, the video mode information doesn't seem to be preserved.  By supplying
different values of '-depth' to X, i can change the 'cmode' of the frame 
buffer when it returns. [See attachment: The first set are initialization, 
the second involves X sets parameters several times before deciding on a 
setting, and the last is attempting to restore the frame buffer settings.]

The other hint is that 'fbset' to change screen depths does not update the
screen properly (if at all).

I hope this helps and i'll do more testing of 'swim3' when i get a chance 
to retrieve some of those old floppies from storage.  Please let me know 
what you'd like me to try next.
				   -- JM

Attachments:
  Patches for SCSI issues on PowerMac 8500
  SCSI compilation warnings for same
  'dmesg' extracts on 'controlfb' screen problem.
-------------------------------------------------------------------------------
--- ./drivers/scsi/mac53c94.c.orig	2003-11-23 17:31:08.000000000 -0800
+++ ./drivers/scsi/mac53c94.c	2003-11-26 09:50:17.000000000 -0800
@@ -123,9 +123,9 @@
 			printk(KERN_ERR "mac53c94: ioremap failed for %s\n",
 			       node->full_name);
 			if (state->dma != NULL)
-				iounmap(state->dma);
+				iounmap((void *) state->dma);
 			if (state->regs != NULL)
-				iounmap(state->regs);
+				iounmap((void *) state->regs);
 			scsi_unregister(host);
 			break;
 		}
@@ -161,8 +161,8 @@
 			printk(KERN_ERR "mac53C94: can't get irq %d for %s\n",
 			       state->intr, node->full_name);
 		err_cleanup:
-			iounmap(state->dma);
-			iounmap(state->regs);
+			iounmap((void *) state->dma);
+			iounmap((void *) state->regs);
 			scsi_unregister(host);
 			break;
 		}
@@ -187,6 +187,7 @@
 		iounmap((void *) fp->dma);
 	kfree(fp->dma_cmd_space);
 	free_irq(fp->intr, fp);
+	scsi_unregister(host);
 	return 0;
 }
 
@@ -630,3 +631,5 @@
 };
 
 #include "scsi_module.c"
+
+MODULE_LICENSE("GPL");
--- ./mm/slab.c.orig	2003-11-23 17:32:42.000000000 -0800
+++ ./mm/slab.c	2003-11-26 10:07:04.000000000 -0800
@@ -1106,6 +1106,11 @@
 		/* add space for red zone words */
 		cachep->dbghead += BYTES_PER_WORD;
 		size += 2*BYTES_PER_WORD;
+#ifdef CONFIG_SCSI_MESH
+		/* MESH hardware has buffer alignment issues */
+		size            += (0x10 - cachep->dbghead) & 0xf;
+		cachep->dbghead += (0x10 - cachep->dbghead) & 0xf;
+#endif
 	}
 	if (flags & SLAB_STORE_USER) {
 		flags &= ~SLAB_HWCACHE_ALIGN;
-------------------------------------------------------------------------------
  CC      drivers/scsi/mesh.o
drivers/scsi/mesh.c: In function `data_goes_out':
drivers/scsi/mesh.c:1913: warning: enumeration value `DMA_BIDIRECTIONAL' not handled in switch
drivers/scsi/mesh.c:1913: warning: enumeration value `DMA_NONE' not handled in switch
  LD      drivers/scsi/built-in.o
  CC [M]  drivers/scsi/mac53c94.o
drivers/scsi/mac53c94.c: In function `data_goes_out':
drivers/scsi/mac53c94.c:577: warning: enumeration value `DMA_BIDIRECTIONAL' not handled in switch
drivers/scsi/mac53c94.c:577: warning: enumeration value `DMA_NONE' not handled in switch
  LD      drivers/built-in.o
-------------------------------------------------------------------------------
	...
Nov 26 10:41:40 penngrove kernel: fb0: control_set_hardware(0xc05cb0f0,0xc054bdd8), cmode 0
Nov 26 10:41:40 penngrove kernel:  regs[]: 063d 063c 003c 0020  0004 063e 0640 0086
Nov 26 10:41:40 penngrove kernel:          028e 0287 0087 002f  028f 0018 0148 0260
Nov 26 10:41:40 penngrove kernel: Call trace:
Nov 26 10:41:40 penngrove kernel:  [c000b1ec] dump_stack+0x18/0x28
Nov 26 10:41:40 penngrove kernel:  [c00e9254] control_set_hardware+0xb0/0x274
Nov 26 10:41:40 penngrove kernel:  [c00e8e5c] controlfb_set_par+0x64/0x9c
Nov 26 10:41:40 penngrove kernel:  [c00e4e0c] fb_set_var+0xd4/0xd8
Nov 26 10:41:40 penngrove kernel:  [c022b014] init_control+0xf8/0x264
Nov 26 10:41:40 penngrove kernel:  [c022b558] control_of_init+0x1f0/0x238
Nov 26 10:41:40 penngrove kernel:  [c022b1a4] control_init+0x24/0x48
Nov 26 10:41:40 penngrove kernel:  [c022aa30] fbmem_init+0xf4/0x114
Nov 26 10:41:40 penngrove kernel:  [c0227be0] chr_dev_init+0x3c/0x64
Nov 26 10:41:40 penngrove kernel:  [c02145dc] do_initcalls+0x54/0xe0
Nov 26 10:41:40 penngrove kernel:  [c0003958] init+0x1c/0xc0
Nov 26 10:41:40 penngrove kernel:  [c000a970] kernel_thread+0x44/0x60
Nov 26 10:41:40 penngrove kernel: fb0: control display adapter
Nov 26 10:41:40 penngrove kernel: MacOS display is /chaos/control
Nov 26 10:41:40 penngrove kernel: Thermal assist unit using timers, shrink_timer: 200 jiffies
Nov 26 10:41:40 penngrove kernel: fb0: control_set_hardware(0xc05cb0f0,0xc054be68), cmode 2
Nov 26 10:41:40 penngrove kernel:  regs[]: 063d 063c 003c 0020  0004 063e 0640 0086
Nov 26 10:41:40 penngrove kernel:          028e 0287 0087 002f  028f 0018 0148 0260
Nov 26 10:41:40 penngrove kernel: Call trace:
Nov 26 10:41:40 penngrove kernel:  [c000b1ec] dump_stack+0x18/0x28
Nov 26 10:41:40 penngrove kernel:  [c00e9254] control_set_hardware+0xb0/0x274
Nov 26 10:41:40 penngrove kernel:  [c00e8e5c] controlfb_set_par+0x64/0x9c
Nov 26 10:41:40 penngrove kernel:  [c00e0660] fbcon_startup+0x210/0x2cc
Nov 26 10:41:40 penngrove kernel:  [c00b9c20] take_over_console+0x38/0x1ec
Nov 26 10:41:40 penngrove kernel:  [c022a56c] fb_console_init+0x44/0x5c
Nov 26 10:41:40 penngrove kernel:  [c02289d8] vty_init+0xcc/0x100
Nov 26 10:41:40 penngrove kernel:  [c022808c] tty_init+0x240/0x258
Nov 26 10:41:40 penngrove kernel:  [c02145dc] do_initcalls+0x54/0xe0
Nov 26 10:41:40 penngrove kernel:  [c0003958] init+0x1c/0xc0
Nov 26 10:41:40 penngrove kernel:  [c000a970] kernel_thread+0x44/0x60
Nov 26 10:41:40 penngrove kernel: Console: switching to colour frame buffer device 128x48
	...
Nov 26 10:43:35 penngrove kernel: fb0: control_set_hardware(0xc05cb0f0,0xcaec9d18), cmode 2
Nov 26 10:43:35 penngrove kernel:  regs[]: 065c 064c 004c 0028  0004 066c 066e 00a2
Nov 26 10:43:35 penngrove kernel:          02a6 02a3 00a3 003b  02a7 001e 0154 026c
Nov 26 10:43:35 penngrove kernel: Call trace:
Nov 26 10:43:35 penngrove kernel:  [c000b1ec] dump_stack+0x18/0x28
Nov 26 10:43:35 penngrove kernel:  [c00e9254] control_set_hardware+0xb0/0x274
Nov 26 10:43:35 penngrove kernel:  [c00e8e5c] controlfb_set_par+0x64/0x9c
Nov 26 10:43:35 penngrove kernel:  [c00e4e0c] fb_set_var+0xd4/0xd8
Nov 26 10:43:35 penngrove kernel:  [c00e513c] fb_ioctl+0x228/0x5a4
Nov 26 10:43:35 penngrove kernel:  [c0067c9c] sys_ioctl+0xdc/0x2f4
Nov 26 10:43:35 penngrove kernel:  [c00075dc] ret_from_syscall+0x0/0x44
Nov 26 10:43:35 penngrove kernel: fb0: control_set_hardware(0xc05cb0f0,0xcaec9d18), cmode 2
Nov 26 10:43:35 penngrove kernel:  regs[]: 0570 0570 0030 0019  0002 0570 0572 0082
Nov 26 10:43:35 penngrove kernel:          0262 0243 0083 0031  0263 0019 0132 0232
Nov 26 10:43:35 penngrove kernel: Call trace:
Nov 26 10:43:35 penngrove kernel:  [c000b1ec] dump_stack+0x18/0x28
Nov 26 10:43:35 penngrove kernel:  [c00e9254] control_set_hardware+0xb0/0x274
Nov 26 10:43:35 penngrove kernel:  [c00e8e5c] controlfb_set_par+0x64/0x9c
Nov 26 10:43:35 penngrove kernel:  [c00e4e0c] fb_set_var+0xd4/0xd8
Nov 26 10:43:35 penngrove kernel:  [c00e513c] fb_ioctl+0x228/0x5a4
Nov 26 10:43:35 penngrove kernel:  [c0067c9c] sys_ioctl+0xdc/0x2f4
Nov 26 10:43:35 penngrove kernel:  [c00075dc] ret_from_syscall+0x0/0x44
Nov 26 10:43:35 penngrove kernel: fb0: control_set_hardware(0xc05cb0f0,0xcaec9d18), cmode 2
Nov 26 10:43:35 penngrove kernel:  regs[]: 04df 04de 002e 0018  0002 04e0 04e2 0062
Nov 26 10:43:35 penngrove kernel:          01fe 01f3 0063 0023  01ff 0012 0100 01dc
Nov 26 10:43:35 penngrove kernel: Call trace:
Nov 26 10:43:35 penngrove kernel:  [c000b1ec] dump_stack+0x18/0x28
Nov 26 10:43:35 penngrove kernel:  [c00e9254] control_set_hardware+0xb0/0x274
Nov 26 10:43:35 penngrove kernel:  [c00e8e5c] controlfb_set_par+0x64/0x9c
Nov 26 10:43:35 penngrove kernel:  [c00e4e0c] fb_set_var+0xd4/0xd8
Nov 26 10:43:35 penngrove kernel:  [c00e513c] fb_ioctl+0x228/0x5a4
Nov 26 10:43:35 penngrove kernel:  [c0067c9c] sys_ioctl+0xdc/0x2f4
Nov 26 10:43:35 penngrove kernel:  [c00075dc] ret_from_syscall+0x0/0x44
Nov 26 10:43:35 penngrove kernel: fb0: control_set_hardware(0xc05cb0f0,0xcaec9d18), cmode 2
Nov 26 10:43:35 penngrove kernel:  regs[]: 040e 0404 0044 0023  0002 0418 041a 0046
Nov 26 10:43:35 penngrove kernel:          018e 0187 0047 002f  018f 0018 00c8 0160
Nov 26 10:43:35 penngrove kernel: Call trace:
Nov 26 10:43:35 penngrove kernel:  [c000b1ec] dump_stack+0x18/0x28
Nov 26 10:43:35 penngrove kernel:  [c00e9254] control_set_hardware+0xb0/0x274
Nov 26 10:43:35 penngrove kernel:  [c00e8e5c] controlfb_set_par+0x64/0x9c
Nov 26 10:43:35 penngrove kernel:  [c00e4e0c] fb_set_var+0xd4/0xd8
Nov 26 10:43:35 penngrove kernel:  [c00e513c] fb_ioctl+0x228/0x5a4
Nov 26 10:43:35 penngrove kernel:  [c0067c9c] sys_ioctl+0xdc/0x2f4
Nov 26 10:43:35 penngrove kernel:  [c00075dc] ret_from_syscall+0x0/0x44
Nov 26 10:43:35 penngrove kernel: fb0: control_set_hardware(0xc05cb0f0,0xcaec9d18), cmode 2
Nov 26 10:43:35 penngrove kernel:  regs[]: 065c 064c 004c 0028  0004 066c 066e 00a2
Nov 26 10:43:35 penngrove kernel:          02a6 02a3 00a3 003b  02a7 001e 0154 026c
Nov 26 10:43:35 penngrove kernel: Call trace:
Nov 26 10:43:35 penngrove kernel:  [c000b1ec] dump_stack+0x18/0x28
Nov 26 10:43:35 penngrove kernel:  [c00e9254] control_set_hardware+0xb0/0x274
Nov 26 10:43:35 penngrove kernel:  [c00e8e5c] controlfb_set_par+0x64/0x9c
Nov 26 10:43:35 penngrove kernel:  [c00e4e0c] fb_set_var+0xd4/0xd8
Nov 26 10:43:35 penngrove kernel:  [c00e513c] fb_ioctl+0x228/0x5a4
Nov 26 10:43:35 penngrove kernel:  [c0067c9c] sys_ioctl+0xdc/0x2f4
Nov 26 10:43:35 penngrove kernel:  [c00075dc] ret_from_syscall+0x0/0x44
Nov 26 10:44:07 penngrove kernel: fb0: control_set_hardware(0xc05cb0f0,0xcaec9d18), cmode 2
Nov 26 10:44:07 penngrove kernel:  regs[]: 040e 0404 0044 0023  0002 0418 041a 0046
Nov 26 10:44:07 penngrove kernel:          018e 0187 0047 002f  018f 0018 00c8 0160
Nov 26 10:44:07 penngrove kernel: Call trace:
Nov 26 10:44:07 penngrove kernel:  [c000b1ec] dump_stack+0x18/0x28
Nov 26 10:44:07 penngrove kernel:  [c00e9254] control_set_hardware+0xb0/0x274
Nov 26 10:44:07 penngrove kernel:  [c00e8e5c] controlfb_set_par+0x64/0x9c
Nov 26 10:44:07 penngrove kernel:  [c00e4e0c] fb_set_var+0xd4/0xd8
Nov 26 10:44:07 penngrove kernel:  [c00e513c] fb_ioctl+0x228/0x5a4
Nov 26 10:44:07 penngrove kernel:  [c0067c9c] sys_ioctl+0xdc/0x2f4
Nov 26 10:44:07 penngrove kernel:  [c00075dc] ret_from_syscall+0x0/0x44
Nov 26 10:44:07 penngrove kernel: fb0: control_set_hardware(0xc05cb0f0,0xcaec9c18), cmode 2
Nov 26 10:44:07 penngrove kernel:  regs[]: 064e 0644 0044 0023  0002 0658 065a 0046
Nov 26 10:44:07 penngrove kernel:          024e 0247 0047 002f  024f 0018 0128 0220
Nov 26 10:44:07 penngrove kernel: Call trace:
Nov 26 10:44:07 penngrove kernel:  [c000b1ec] dump_stack+0x18/0x28
Nov 26 10:44:07 penngrove kernel:  [c00e9254] control_set_hardware+0xb0/0x274
Nov 26 10:44:07 penngrove kernel:  [c00e8e5c] controlfb_set_par+0x64/0x9c
Nov 26 10:44:07 penngrove kernel:  [c00e4e0c] fb_set_var+0xd4/0xd8
Nov 26 10:44:07 penngrove kernel:  [c00e2868] fbcon_resize+0xd0/0x15c
Nov 26 10:44:07 penngrove kernel:  [c00e2a0c] fbcon_switch+0x118/0x280
Nov 26 10:44:07 penngrove kernel:  [c00b5be4] redraw_screen+0xf0/0x1ac
Nov 26 10:44:07 penngrove kernel:  [c00b0ac8] complete_change_console+0x44/0xf4
Nov 26 10:44:07 penngrove kernel:  [c00b02f4] vt_ioctl+0x168c/0x1cc0
Nov 26 10:44:07 penngrove kernel:  [c00a8db0] tty_ioctl+0x150/0x5bc
Nov 26 10:44:07 penngrove kernel:  [c0067c9c] sys_ioctl+0xdc/0x2f4
Nov 26 10:44:07 penngrove kernel:  [c00075dc] ret_from_syscall+0x0/0x44
===============================================================================

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

end of thread, other threads:[~2003-11-29 20:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-11-26  0:55 -test10/PPC still broken on PowerMac 8500 John Mock
2003-11-26  0:59 ` Benjamin Herrenschmidt
2003-11-29 20:00   ` swim3 testing [was: -test10/PPC still broken on PowerMac 8500] John Mock
  -- strict thread matches above, loose matches on Subject: below --
2003-11-26 19:43 -test10/PPC still broken on PowerMac 8500 John Mock

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.