diff options
author | Kenneth R Westerback <krw@cvs.openbsd.org> | 2003-07-01 17:15:07 +0000 |
---|---|---|
committer | Kenneth R Westerback <krw@cvs.openbsd.org> | 2003-07-01 17:15:07 +0000 |
commit | 93d92df72e7e3af474865f8f2eb06de7ce91b354 (patch) | |
tree | 9b50a654f37c03f7bad7035ed46717a0b365c2b9 /sys/dev/microcode/siop/siop.out | |
parent | ed03395998fad2d4a56d64c53191b035072f191c (diff) |
Don't dma map the xs->cmd. Copy it to a safe buffer that is already
mapped and sync'ed appropriately, and is guaranteed to be in one
memory page.
Eliminate now unused dmamap_cmd and rs_cmd fields.
Fix another error message (adding active command to reset list) so
that it includes the adapter name.
Add missing letoh32() calls to debug code.
The evils of directly mapping *xs->cmd were pointed out by Mickey
during osiop development. In particular, *xs->cmd may start on one
memory page and run into the next. Since the dma logic in most
cards/drivers (including siop) only allocates one address/size pair to
map *xs->cmd, parts of a command could be lost or corrupted.
The large number of 6 byte dma mappings noted long ago by someone
(Henric?). This change reduces the dma mapping activity per i/o by
1/3 to 1/2 and may give a performance boost of some kind.
Successfully tested on i386, sparc64 (ultra30 - thanks Jolan,
blade100), macppc and alpha.
Unfortunately these changes don't fix the Blade1000 siop problems.
**NOTE** If scsi_generic is ever upped to 16 bytes the offsets in
siop.ss must be updated!
Diffstat (limited to 'sys/dev/microcode/siop/siop.out')
-rw-r--r-- | sys/dev/microcode/siop/siop.out | 113 |
1 files changed, 16 insertions, 97 deletions
diff --git a/sys/dev/microcode/siop/siop.out b/sys/dev/microcode/siop/siop.out index e64b8d9c951..09b22bbaade 100644 --- a/sys/dev/microcode/siop/siop.out +++ b/sys/dev/microcode/siop/siop.out @@ -1,7 +1,7 @@ /* $NetBSD: ncr53cxxx.c,v 1.10 2002/04/21 22:40:10 bouyer Exp $ */ /* * DO NOT EDIT - this file is automatically generated. - * created from siop.ss on Sun Sep 1 23:53:00 2002 + * created from siop.ss on Sat Jun 28 19:18:24 2003 */ const u_int32_t siop_script[] = { 0x78340000, 0x00000000, /* 000 - 0 */ @@ -106,7 +106,7 @@ const u_int32_t siop_script[] = { 0x60000040, 0x00000000, /* 318 - 792 */ 0x7a340100, 0x00000000, /* 320 - 800 */ 0x60000008, 0x00000000, /* 328 - 808 */ - 0x1f000030, 0x00000030, /* 330 - 816 */ + 0x1f000038, 0x00000038, /* 330 - 816 */ 0x808c0000, 0x00000218, /* 338 - 824 */ 0x808c0002, 0xffffffd0, /* 340 - 832 */ 0x808c0001, 0x00000218, /* 348 - 840 */ @@ -121,16 +121,16 @@ const u_int32_t siop_script[] = { 0x80880000, 0xfffffc88, /* 390 - 912 */ 0x58000008, 0x00000000, /* 398 - 920 */ 0x60000040, 0x00000000, /* 3a0 - 928 */ - 0x1e000048, 0x00000048, /* 3a8 - 936 */ + 0x1e000050, 0x00000050, /* 3a8 - 936 */ 0x60000008, 0x00000000, /* 3b0 - 944 */ 0x80880000, 0xfffffc60, /* 3b8 - 952 */ - 0x1a000050, 0x00000050, /* 3c0 - 960 */ + 0x1a000058, 0x00000058, /* 3c0 - 960 */ 0x80880000, 0xfffffc50, /* 3c8 - 968 */ - 0x1b000058, 0x00000058, /* 3d0 - 976 */ + 0x1b000060, 0x00000060, /* 3d0 - 976 */ 0x80880000, 0xfffffc40, /* 3d8 - 984 */ 0x88880000, 0x000000b8, /* 3e0 - 992 */ 0x7a340200, 0x00000000, /* 3e8 - 1000 */ - 0x19000060, 0x00000060, /* 3f0 - 1008 */ + 0x19000068, 0x00000068, /* 3f0 - 1008 */ 0x7e350100, 0x00000000, /* 3f8 - 1016 */ 0x7e100800, 0x00000000, /* 400 - 1024 */ 0x7f110000, 0x00000000, /* 408 - 1032 */ @@ -142,7 +142,7 @@ const u_int32_t siop_script[] = { 0x80880000, 0xfffffbe0, /* 438 - 1080 */ 0x88880000, 0x00000058, /* 440 - 1088 */ 0x7a340200, 0x00000000, /* 448 - 1096 */ - 0x18000060, 0x00000060, /* 450 - 1104 */ + 0x18000068, 0x00000068, /* 450 - 1104 */ 0x7e350100, 0x00000000, /* 458 - 1112 */ 0x7e100800, 0x00000000, /* 460 - 1120 */ 0x7f110000, 0x00000000, /* 468 - 1128 */ @@ -178,10 +178,10 @@ const u_int32_t siop_script[] = { 0x88880000, 0xffffffd0, /* 558 - 1368 */ 0x98080000, 0x0000ff00, /* 560 - 1376 */ 0x60000040, 0x00000000, /* 568 - 1384 */ - 0x1f000038, 0x00000038, /* 570 - 1392 */ + 0x1f000040, 0x00000040, /* 570 - 1392 */ 0x98080000, 0x0000ff02, /* 578 - 1400 */ 0x60000040, 0x00000000, /* 580 - 1408 */ - 0x1f000040, 0x00000040, /* 588 - 1416 */ + 0x1f000048, 0x00000048, /* 588 - 1416 */ 0x98080000, 0x0000ff03, /* 590 - 1424 */ 0x80000000, 0x00000000, /* 598 - 1432 */ }; @@ -240,13 +240,13 @@ const u_int32_t siop_led_off[] = { }; #define A_t_id 0x00000028 -#define A_t_msg_in 0x00000030 -#define A_t_ext_msg_in 0x00000038 -#define A_t_ext_msg_data 0x00000040 -#define A_t_msg_out 0x00000048 -#define A_t_cmd 0x00000050 -#define A_t_status 0x00000058 -#define A_t_data 0x00000060 +#define A_t_msg_in 0x00000038 +#define A_t_ext_msg_in 0x00000040 +#define A_t_ext_msg_data 0x00000048 +#define A_t_msg_out 0x00000050 +#define A_t_cmd 0x00000058 +#define A_t_status 0x00000060 +#define A_t_data 0x00000068 #define A_int_done 0x0000ff00 #define A_int_msgin 0x0000ff01 #define A_int_extmsgin 0x0000ff02 @@ -415,84 +415,3 @@ u_int32_t E_ldsa_abs_slot_Used[] = { 0x00000014, }; - -u_int32_t INSTRUCTIONS = 0x000000da; -u_int32_t PATCHES = 0x0000004b; -u_int32_t LABELPATCHES[] = { - 0x00000029, - 0x0000002b, - 0x0000002d, - 0x0000002f, - 0x00000031, - 0x00000033, - 0x00000035, - 0x00000037, - 0x00000039, - 0x0000003b, - 0x0000003d, - 0x0000003f, - 0x00000041, - 0x00000043, - 0x00000045, - 0x00000047, - 0x00000049, - 0x0000004b, - 0x0000004d, - 0x0000004f, - 0x00000051, - 0x00000053, - 0x00000055, - 0x00000057, - 0x00000059, - 0x0000005b, - 0x0000005d, - 0x0000005f, - 0x00000061, - 0x00000063, - 0x00000065, - 0x00000067, - 0x00000069, - 0x0000006b, - 0x0000006d, - 0x0000006f, - 0x00000071, - 0x00000073, - 0x00000075, - 0x00000077, - 0x0000008f, - 0x00000091, - 0x00000093, - 0x00000095, - 0x00000097, - 0x00000099, - 0x0000009b, - 0x0000009d, - 0x0000009f, - 0x000000a1, - 0x000000a3, - 0x000000a5, - 0x000000a7, - 0x000000a9, - 0x000000ab, - 0x00000005, - 0x00000003, - 0x00000005, - 0x00000007, - 0x00000009, - 0x0000000b, - 0x0000000d, - 0x0000000f, - 0x00000011, - 0x00000013, - 0x00000015, - 0x00000017, - 0x00000019, - 0x0000001b, - 0x0000001d, - 0x0000001f, - 0x00000021, - 0x0000000d, - 0x00000011, - 0x00000016, -}; - |