<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2600.0" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>Hi All,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I'm using IBM redwood6 stb025xx(ppc405gp) platform 
with 2.6.14 kernel. I'm trying to get DMA working for IDE interface (PIO is 
working). The problem I'm facing is that my DMA is completing and I'm getting a 
error in DMA status register that "A DMA&nbsp; request from an external 
device&nbsp;is pending"</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I'm attaching (inline) the console message(in red 
color)&nbsp;along with the sample code of the driver(in blue color). Please help 
me to resolve this issue. What I feel is that DMA is completing and IDE is not 
getting anything. ( IDE status register is giving 0x58). </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Any pointers to same will be highly 
appreciated.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Regards,</FONT></DIV>
<DIV><FONT face=Arial size=2>Akhilesh</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT color=#ff0000>IBM Set-Top-Box BIOS 1.50 (Feb-16-2004)</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Platform support &lt;Redwood6/STBx25xx 1.03 
(Jun/24/2002)&gt;</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><BR><FONT color=#ff0000>Initializing devices, please 
wait.....<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;------- System Info --------</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;Processor speed = 252 MHz</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;EBIU speed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 63 
MHz</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;Amount of RAM&nbsp;&nbsp; = 64 
MBytes</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DM9000 : dmfe_probe() : Checking DM9000 chip 
</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DM9000 : Chip Found ID : 90000a46 </FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><BR><FONT color=#ff0000>&nbsp;--- Device Configuration ---</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;Power-On Test Devices:</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;&nbsp; 000&nbsp; Disabled&nbsp; System Memory 
[RAM]</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;----------------------------</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;Boot Sources:</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;&nbsp; 001&nbsp; Disabled&nbsp; Application in 
Flash [FLASH]</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;&nbsp; 002&nbsp; Enabled&nbsp;&nbsp; Ethernet 
[ENET]</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT 
color=#ff0000>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
local=192.168.18.28&nbsp; remote=192.168.18.101&nbsp; 
hwaddr=bad0add00000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;&nbsp; 003&nbsp; Disabled&nbsp; Serial Port 1 
[S1]</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT 
color=#ff0000>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
Baud = 9600</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;----------------------------</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Update Flash&nbsp; : Disabled </FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Automatic Boot: Disabled</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;----------------------------</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp; 1 - Toggle Power-On Tests</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp; 2 - Change a Boot Device</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp; 3 - Change IP Addresses</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp; 4 - Ping test</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp; 5 - Change Baud Rate for S1 Boot</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp; 6 - Toggle Update Flash</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp; 7 - Toggle Automatic Boot</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp; B - Bootlogo Management</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp; D - Display Configuration</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp; S - Save Changes</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp; Z - Set Ethernet HW Address</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp; 0 - Exit Menu and Boot Application</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp; C - Enable CHOIS Debug </FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>-&gt;0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DM900 : dmfe_init_dm9000 : initialising 
dm9000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Booting from [ENET] Ethernet...</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Sending bootp request ...</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;bootp packets sent = 1<BR>DM900 : dmfe_send : 
hold frame collision, outbound frame.</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><BR><FONT color=#ff0000>Got bootp response from : 
192.168.18.101</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; My ip address is : 
192.168.18.28</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><BR><FONT color=#ff0000>Loading file "zImage.treeboot" by TFTP for net boot 
...</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;block&nbsp; 268<BR>&nbsp;block 1440<BR>Transfer 
completed, 897568 bytes received</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Loaded successfully ...</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Entry point at 0x500000 ...</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><BR><FONT color=#ff0000>loaded at:&nbsp;&nbsp;&nbsp;&nbsp; 00500000 
005DC164</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>relocated to:&nbsp; 00400000 004DC164</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>board data at: 004DA124 004DA164</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>relocated to:&nbsp; 0040515C 0040519C</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>zimage at:&nbsp;&nbsp;&nbsp;&nbsp; 0040591D 
004D9A6C</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>avail ram:&nbsp;&nbsp;&nbsp;&nbsp; 004DD000 
02000000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><BR><FONT color=#ff0000>Linux/PPC load: ip=on</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Uncompressing Linux...done.</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Now booting the kernel</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Linux version 2.6.14 (</FONT><A 
href="mailto:root@localhost.localdomain"><FONT 
color=#ff0000>root@localhost.localdomain</FONT></A><FONT color=#ff0000>) (gcc 
version 4.0.0 (DENX ELDK 4.0 4.0.0)) #258 Wed Sep 13 16:12:58 IST 
2006</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp: ocp_early_init()...</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp: ocp_add_one_device()...</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp: ocp_add_one_device()...done</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp: ocp_add_one_device()...</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp: ocp_add_one_device()...done</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp: ocp_add_one_device()...</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp: ocp_add_one_device()...done</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp: ocp_add_one_device()...</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp: ocp_add_one_device()...done</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp: ocp_add_one_device()...</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp: ocp_add_one_device()...done</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp: ocp_add_one_device()...</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp: ocp_add_one_device()...done</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp: ocp_early_init()... done.</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>IBM Redwood6 (STBx25XX) Platform</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Port by MontaVista Software, Inc. (</FONT><A 
href="mailto:source@mvista.com"><FONT 
color=#ff0000>source@mvista.com</FONT></A><FONT color=#ff0000>)</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Built 1 zonelists</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Kernel command line: ip=on</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>PID hash table entries: 256 (order: 8, 4096 
bytes)</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Dentry cache hash table entries: 8192 (order: 3, 32768 
bytes)</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Inode-cache hash table entries: 4096 (order: 2, 16384 
bytes)</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Memory: 30488k available (1452k kernel code, 344k data, 
96k init, 0k highmem)</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Mount-cache hash table entries: 512</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>NET: Registered protocol family 16</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp: ocp_driver_init()...</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp: ocp_driver_init()... done.</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Adding platform devices </FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, 
IRQ sharing disabled</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ttyS0 at MMIO 0x0 (irq = 22) is a 16550A</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ttyS1 at MMIO 0x0 (irq = 20) is a 16550A</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ttyS2 at MMIO 0x0 (irq = 21) is a 16550A</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>io scheduler noop registered</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>io scheduler anticipatory registered</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>io scheduler deadline registered</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>io scheduler cfq registered</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>RAMDISK driver initialized: 16 RAM disks of 4096K size 
1024 blocksize</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>loop: loaded (max 8 devices)</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>dm9000 Ethernet Driver</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>dm9000_set_io : byte_width 2</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>eth0: dm9000 at c3000000,c3000004 IRQ 26 MAC: 
ba:d0:ad:d0:00:00</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Uniform Multi-Platform E-IDE driver Revision: 
7.00alpha2</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide: Assuming 50MHz system bus speed for PIO modes; 
override with idebus=xx</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>NET: Registered protocol family 2</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>IP route cache hash table entries: 512 (order: -1, 2048 
bytes)</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>TCP established hash table entries: 2048 (order: 1, 
8192 bytes)</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>TCP bind hash table entries: 2048 (order: 1, 8192 
bytes)</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>TCP: Hash tables configured (established 2048 bind 
2048)</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>TCP reno registered</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>TCP bic registered</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>NET: Registered protocol family 1</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>inside stb04xxx_ide_init </FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>IBM STB025xx OCP IDE driver version 1.0 f2100000 
</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_redwood: waiting for drive ready......Drive spun up 
</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp_ide_setup_dma </FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>probing for hda: present=0, media=32, 
probetype=ATA</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: probing with STATUS(0x51) instead of 
ALTSTATUS(0x00)</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: WDC WD400EB-00CPF0, ATA DISK drive</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>probing for hdb: present=0, media=32, 
probetype=ATA</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>probing for hdb: present=0, media=32, 
probetype=ATAPI</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hdb: probing with STATUS(0x01) instead of 
ALTSTATUS(0x00)</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp_ide_tune_drive pio 4</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_off_quietly</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_check</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>redwood_config_drive_for_dma 22</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ocp_ide_tune_drive pio 4</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_on</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide0 at 0xc3004000-0xc3004007,0xc3006000 on irq 
27</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: max request size: 128KiB</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_execute_command : 0x91</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_execute_command : 0x10</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_execute_command : 0xf8</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: 78165360 sectors (40020 MB) w/2048KiB Cache, 
CHS=65535/16/63, (U)DMA</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: cache flushes not supported</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;hda:__ide_do_rw_disk : dma 1 lba48 0 
LBA=0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_setup </FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_execute_command : 0xc8</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_begin 0x1000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA addr c0340000 340000 count 8 dmastat 0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_test_irq</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_end 0 20000000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_dma_intr : stat 50</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA complete stat 0 500000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;hda1</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>IDE probe finished </FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>eth0: link up, 100Mbps, full-duplex, lpa 
0x41E1</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Sending BOOTP and RARP requests . OK</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>IP-Config: Got BOOTP answer from 192.168.18.101, my 
address is 192.168.18.28</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>IP-Config: Complete:</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; device=eth0, 
addr=192.168.18.28, mask=255.255.255.0, gw=192.168.18.1,</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;&nbsp;&nbsp;&nbsp; host=192.168.18.28, domain=, 
nis-domain=(none),</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;&nbsp;&nbsp;&nbsp; bootserver=192.168.18.101, 
rootserver=192.168.18.101, rootpath=/opt/eldk/ppc_4xx</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Looking up port of RPC 100003/2 on 
192.168.18.101</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Looking up port of RPC 100005/1 on 
192.168.18.101</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>VFS: Mounted root (nfs filesystem) 
readonly.</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Freeing unused kernel memory: 96k init</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>modprobe: FATAL: Could not load 
/lib/modules/2.6.14/modules.dep: No such file or directory</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>modprobe: FATAL: Could not load 
/lib/modules/2.6.14/modules.dep: No such file or directory</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><BR><FONT color=#ff0000>INIT: version 2.85 booting<BR>&nbsp;Came here in 
rc.sysinit creating var\n<BR>mounting <BR>ln: `/proc/mounts': File 
exists<BR>&nbsp;&nbsp;Welcome to DENX Embedded Linux 
Environment<BR>&nbsp;&nbsp;Press 'I' to enter interactive startup.<BR>Building 
the cache [&nbsp; OK&nbsp; ]<BR>&nbsp;storage network audio done[&nbsp; OK&nbsp; 
]<BR>modprobe: FATAL: Could not load /lib/modules/2.6.14/modules.dep: No such 
file or directory</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Cannot access the Hardware Clock via any known 
method.<BR>Use the --debug option to see the details of our search for an access 
method.<BR>Setting clock : Thu Jan&nbsp; 1 01:00:12 MET 1970 [&nbsp; OK&nbsp; 
]<BR>Setting hostname CHOISpad-110:&nbsp; [&nbsp; OK&nbsp; ]<BR>Mounting local 
filesystems:&nbsp; [&nbsp; OK&nbsp; ]<BR>Enabling swap space:&nbsp; [&nbsp; 
OK&nbsp; ]</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>INIT: Entering runlevel: 3<BR>Entering non-interactive 
startup<BR>Bringing up loopback interface:&nbsp; modprobe: FATAL: Could not load 
/lib/modules/2.6.14/modules.dep: No such file or directory</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>arping: socket: Address family not supported by 
protocol<BR>Error, some other host already uses address 
127.0.0.1.<BR>[FAILED]<BR>Starting system logger: [&nbsp; OK&nbsp; ]<BR>Starting 
kernel logger: [&nbsp; OK&nbsp; ]<BR>Starting portmap: [&nbsp; OK&nbsp; 
]<BR>Mounting NFS filesystems:&nbsp; [&nbsp; OK&nbsp; ]<BR>Mounting other 
filesystems:&nbsp; [&nbsp; OK&nbsp; ]<BR>Starting xinetd: [&nbsp; OK&nbsp; 
]</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DENX ELDK version 4.0 build 2006-01-11<BR>Linux 2.6.14 
on a ppc</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>CHOISpad-110 login: root<BR>Last login: Thu Jan&nbsp; 1 
01:00:19 on console<BR>bash-3.00# <BR>bash-3.00# <BR>bash-3.00# <BR>bash-3.00# 
<BR>bash-3.00# <BR>bash-3.00# hdparm -t  /dev/hda</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>/dev/hda:<BR>&nbsp;multcount&nbsp;&nbsp;&nbsp; =&nbsp; 
0 (off)<BR>&nbsp;I/O support&nbsp; =&nbsp; 0 (default 
16-bit)<BR>&nbsp;unmaskirq&nbsp;&nbsp;&nbsp; =&nbsp; 1 
(on)<BR>&nbsp;using_dma&nbsp;&nbsp;&nbsp; =&nbsp; 1 (on)<BR>&nbsp;keepsettings 
=&nbsp; 0 (off)<BR>&nbsp;nowerr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; 0 
(off)<BR>&nbsp;readonly&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; 0 
(off)<BR>&nbsp;readahead&nbsp;&nbsp;&nbsp; = 256 
(on)<BR>&nbsp;geometry&nbsp;&nbsp;&nbsp;&nbsp; = 65535/16/63, sectors = 
78165360, start = 0<BR>bash-3.00# <BR>bash-3.00# <BR>bash-3.00# <BR>bash-3.00# 
<BR>bash-3.00# hdparm -t /dev/hda</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>/dev/hda:<BR>&nbsp;Timing buffered__ide_do_rw_disk : 
dma 1 lba48 0 LBA=0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>&nbsp;disk reads:&nbsp; got ocp_ide_dma_setup 
</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_execute_command : 0xc8</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_begin 0x1000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA addr c1238000 1238000 count 8 dmastat 
0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA complete stat 20001000 0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: lost interrupt</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_end 0 20000000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_dma_intr : stat 58</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: dma_intr: status=0x58 { DriveReady SeekComplete 
DataRequest }</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide: failed opcode was: unknown</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>__ide_do_rw_disk : dma 1 lba48 0 LBA=0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_setup </FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_execute_command : 0xc8</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_begin 0x1000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA addr c1238000 1238000 count 8 dmastat 
0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA complete stat 20001000 0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: lost interrupt</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_end 0 20000000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_dma_intr : stat 58</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: dma_intr: status=0x58 { DriveReady SeekComplete 
DataRequest }</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide: failed opcode was: unknown</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_execute_command : 0x10</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>__ide_do_rw_disk : dma 1 lba48 0 LBA=0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_setup </FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_execute_command : 0xc8</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_begin 0x1000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA addr c1238000 1238000 count 8 dmastat 
0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA complete stat 20001000 0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: lost interrupt</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_end 0 20000000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_dma_intr : stat 58</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: dma_intr: status=0x58 { DriveReady SeekComplete 
DataRequest }</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide: failed opcode was: unknown</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>__ide_do_rw_disk : dma 1 lba48 0 LBA=0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_setup </FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_execute_command : 0xc8</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_begin 0x1000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA addr c1238000 1238000 count 8 dmastat 
0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA complete stat 20001000 0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: lost interrupt</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_end 0 20000000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_dma_intr : stat 58</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: dma_intr: status=0x58 { DriveReady SeekComplete 
DataRequest }</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide: failed opcode was: unknown</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_off_quietly</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide0: reset: master: error (0x00?)</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_execute_command : 0x91</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_execute_command : 0x10</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>__ide_do_rw_disk : dma 1 lba48 0 LBA=0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_setup </FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_execute_command : 0xc8</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_begin 0x1000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA addr c1238000 1238000 count 8 dmastat 
0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA complete stat 20001000 0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: lost interrupt</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_end 0 20000000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_dma_intr : stat 58</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: dma_intr: status=0x58 { DriveReady SeekComplete 
DataRequest }</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide: failed opcode was: unknown</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>__ide_do_rw_disk : dma 1 lba48 0 LBA=0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_setup </FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_execute_command : 0xc8</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_begin 0x1000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA addr c1238000 1238000 count 8 dmastat 
0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA complete stat 20001000 0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: lost interrupt</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_end 0 20000000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_dma_intr : stat 58</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: dma_intr: status=0x58 { DriveReady SeekComplete 
DataRequest }</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide: failed opcode was: unknown</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_execute_command : 0x10</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>__ide_do_rw_disk : dma 1 lba48 0 LBA=0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_setup </FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_execute_command : 0xc8</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_begin 0x1000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA addr c1238000 1238000 count 8 dmastat 
0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA complete stat 20001000 0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: lost interrupt</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_end 0 20000000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_dma_intr : stat 58</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: dma_intr: status=0x58 { DriveReady SeekComplete 
DataRequest }</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide: failed opcode was: unknown</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>__ide_do_rw_disk : dma 1 lba48 0 LBA=0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_setup </FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_execute_command : 0xc8</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_begin 0x1000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA addr c1238000 1238000 count 8 dmastat 
0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>DMA complete stat 20001000 0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: lost interrupt</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_end 0 20000000</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide_dma_intr : stat 58</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>hda: dma_intr: status=0x58 { DriveReady SeekComplete 
DataRequest }</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide: failed opcode was: unknown</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>got ocp_ide_dma_off_quietly</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>ide0: reset: master: error (0x00?)</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Buffer I/O error on device hda, logical block 
0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 8</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Buffer I/O error on device hda, logical block 
1</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 16</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Buffer I/O error on device hda, logical block 
2</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 24</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Buffer I/O error on device hda, logical block 
3</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 32</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Buffer I/O error on device hda, logical block 
4</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 40</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Buffer I/O error on device hda, logical block 
5</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 48</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Buffer I/O error on device hda, logical block 
6</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 56</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Buffer I/O error on device hda, logical block 
7</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 64</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Buffer I/O error on device hda, logical block 
8</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 72</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>Buffer I/O error on device hda, logical block 
9</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 80</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 88</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 96</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
104</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
112</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
120</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
128</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
136</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
144</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
152</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
160</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
168</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
176</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
184</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
192</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
200</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
208</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
216</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
224</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
232</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
240</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
248</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
256</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
264</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
272</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
280</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
288</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
296</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
304</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
312</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
320</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
328</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
336</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
344</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
352</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
360</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
368</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
376</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
384</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
392</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
400</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
408</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
416</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
424</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
432</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
440</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
448</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
456</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
464</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
472</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
480</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
488</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
496</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 
504</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>end_request: I/O error, dev hda, sector 0</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000>read() failed: Input/output error<BR>bash-3.00# 
</FONT></DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV><FONT color=#ff0000></FONT>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT color=#000080>static void ocp_ide_dma_begin(ide_drive_t 
*drive){<BR>int i,reading=0,length;<BR>struct request * const rq = 
HWGROUP(drive)-&gt;rq;<BR>unsigned long control;</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;if(rq_data_dir (rq) == READ) reading = 
1;</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;printk("got ocp_ide_dma_begin 
0x%x\n",mfdcr(DCRN_DMASR));<BR>&nbsp;/* enable DMA 
*/<BR>&nbsp;ppc4xx_enable_dma_interrupt(IDE_DMACH);<BR>&nbsp;/*dmastat = 
mfdcr(DCRN_DMASR);<BR>&nbsp;mtdcr(DCRN_DMASR,((u32)DMA_CH2_ERR | (u32)DMA_CS2 | 
(u32)DMA_TS2));<BR>&nbsp;*/<BR>&nbsp;mtdcr(DCRN_DMASR,0x22200120);<BR>&nbsp;/*Configure 
CIC reg for line mode DMA*/<BR>#ifdef 
WMODE<BR>&nbsp;mtdcr(DCRN_CICCR,(mfdcr(DCRN_CICCR) | 
0x00000400));<BR>#else<BR>&nbsp;mtdcr(DCRN_CICCR,(mfdcr(DCRN_CICCR) &amp; 
~0x00000400));</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>#endif</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;if(drive-&gt;media != ide_disk) 
{<BR>&nbsp;&nbsp;printk("ocp_ide_dma_begin : Invalid media 
\n");<BR>&nbsp;&nbsp;return;<BR>&nbsp;}<BR>&nbsp;if(ppc4xx_get_channel_config(IDE_DMACH,&amp;dma_ch) 
&amp; DMA_CHANNEL_BUSY){<BR>&nbsp;&nbsp;&nbsp;printk("DMA channel busy 
\n");<BR>&nbsp;&nbsp;&nbsp;return;<BR>&nbsp;}<BR>&nbsp;memset(rq-&gt;buffer,0,rq-&gt;current_nr_sectors*512);<BR>&nbsp;if(reading){<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;dma_cache_inv((unsigned 
long) rq-&gt;buffer, rq-&gt;current_nr_sectors * 512);<BR>#ifdef 
WMODE<BR>&nbsp;&nbsp;mtdcr(DCRN_DMASA2,(u32)0x00000000);// set src address for 
DMA channel 
2<BR>&nbsp;&nbsp;mtdcr(DCRN_DMADA2,(u32)virt_to_bus(rq-&gt;buffer));//set dst 
address for DMA channel 
2<BR>&nbsp;&nbsp;mtdcr(DCRN_DCRXBCR,0x00000000);<BR>&nbsp;&nbsp;control = 
0xE600CB02;<BR>#else<BR>&nbsp;&nbsp;mtdcr(DCRN_DMASA2,(u32)0xfce00000);// set 
src address for DMA channel 
2<BR>&nbsp;&nbsp;mtdcr(DCRN_DMADA2,(u32)virt_to_bus(rq-&gt;buffer));//set dst 
address for DMA channel 
2<BR>&nbsp;&nbsp;mtdcr(DCRN_DCRXBCR,0x90000000);<BR>&nbsp;&nbsp;control = 
0xEE602b02;<BR>#endif<BR>&nbsp;}<BR>&nbsp;else 
{<BR>&nbsp;&nbsp;dma_cache_wback_inv((unsigned long) rq-&gt;buffer, 
rq-&gt;current_nr_sectors * 512);</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>#ifdef 
WMODE<BR>&nbsp;&nbsp;mtdcr(DCRN_DMASA2,(u32)0x00000000);// set dst address for 
DMA channel 
2<BR>&nbsp;&nbsp;mtdcr(DCRN_DMADA2,(u32)virt_to_bus(rq-&gt;buffer));// set src 
address for DMA channel 
2<BR>&nbsp;&nbsp;mtdcr(DCRN_DCRXBCR,0x00000000);<BR>&nbsp;&nbsp;control = 
0xC600CB02;<BR>#else<BR>&nbsp;&nbsp;mtdcr(DCRN_DMADA2,(u32)0xfce00000);// set 
dst address for DMA channel 
2<BR>&nbsp;&nbsp;mtdcr(DCRN_DMASA2,(u32)virt_to_bus(rq-&gt;buffer));// set src 
address for DMA channel 
2<BR>&nbsp;&nbsp;mtdcr(DCRN_DCRXBCR,0xB0000000);<BR>&nbsp;&nbsp;control = 
0xcd602b02;<BR>#endif</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;}</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>#ifdef WMODE<BR>&nbsp;length = 
(rq-&gt;current_nr_sectors *512)/2;<BR>#else<BR>&nbsp;length = 
(rq-&gt;current_nr_sectors 
*512)/16;<BR>#endif<BR>&nbsp;mtdcr(DCRN_DMACT2,length);</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;/*control = mfdcr(DCRN_DMACR2);<BR>&nbsp;control 
|= DMA_CIE_ENABLE;&nbsp; Channel Interrupt Enable <BR>&nbsp;*/<BR>&nbsp;control 
&amp;= ~DMA_CIE_ENABLE;<BR>&nbsp;mtdcr(DCRN_DMACR2, 
control);<BR>&nbsp;//ppc4xx_enable_dma_interrupt(IDE_DMACH);<BR>&nbsp;<BR>&nbsp;printk("DMA 
addr %x %x count %d dmastat 
%x\n",rq-&gt;buffer,virt_to_bus(rq-&gt;buffer),rq-&gt;current_nr_sectors,dmastat);<BR>&nbsp;/* 
wait for dma to complete (channel 2 terminal count) */<BR>&nbsp;for (i = 0; i 
&lt; 500000; i++) {<BR>&nbsp;&nbsp;if(i%1000 == 0)<BR>&nbsp;&nbsp;&nbsp;dmastat 
= mfdcr(DCRN_DMASR);<BR>&nbsp;&nbsp;if (dmastat &amp; 
DMA_CS2)<BR>&nbsp;&nbsp;&nbsp;break;<BR>&nbsp;}<BR>&nbsp;printk("DMA complete 
stat %x 
%d\n",dmastat,i);<BR>&nbsp;mtdcr(DCRN_DCRXBCR,0x00000000);<BR>&nbsp;mtdcr(DCRN_DMACR2, 
0x00000000);<BR>&nbsp;drive-&gt;waiting_for_dma = 0;<BR>&nbsp;//dmastat = 
0;<BR>}<BR>static int ocp_ide_dma_end(ide_drive_t *drive){<BR>unsigned int tmp = 
mfdcr(DCRN_DMASR);</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;mtdcr (DCRN_UIC_SR(UIC0),(0x80000000ul &gt;&gt; 
IDE_DMA_INT));<BR>&nbsp;mtdcr(DCRN_DMASR,0x22200120);<BR>&nbsp;dmastat = 
mfdcr(DCRN_DMASR);<BR>&nbsp;printk("got ocp_ide_dma_end %x 
%x\n",dmastat,tmp);<BR>&nbsp;drive-&gt;waiting_for_dma = 0;<BR>&nbsp;/* disable 
DMA */<BR>&nbsp;//ppc4xx_disable_dma_interrupt(IDE_DMACH);</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;return 0;<BR>}</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>static void<BR>ocp_ide_setup_dma (ide_hwif_t * const 
hwif)<BR>{<BR>&nbsp;printk("ocp_ide_setup_dma \n");</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><BR><FONT color=#000080>&nbsp;hwif-&gt;dma = IDE_DMACH;<BR>#ifdef 
WMODE<BR>&nbsp;&nbsp; /*Word Mode psc(11-12)=00,pwc(13-18)=000110, 
phc(19-21)=010, 22=1, 30=1&nbsp; ----&nbsp; 0xCB02*/</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;dma_ch.mode&nbsp;=TM_S_MM;&nbsp;&nbsp; /* xfer 
from peripheral to mem */<BR>&nbsp;dma_ch.td&nbsp;= 
DMA_TD;<BR>&nbsp;dma_ch.buffer_enable = FALSE;<BR>&nbsp;dma_ch.tce_enable = 
FALSE;<BR>&nbsp;dma_ch.etd_output = FALSE;<BR>&nbsp;dma_ch.pce = 
FALSE;<BR>&nbsp;dma_ch.pl = EXTERNAL_PERIPHERAL;&nbsp;&nbsp;&nbsp; /* no op 
*/<BR>&nbsp;dma_ch.pwidth = PW_16;<BR>&nbsp;dma_ch.dai = 
TRUE;<BR>&nbsp;dma_ch.sai = FALSE;<BR>&nbsp;dma_ch.psc = 
0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
/* set the max setup cycles */<BR>&nbsp;dma_ch.pwc = 
6;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
/* set the max wait cycles&nbsp; */<BR>&nbsp;dma_ch.phc = 
2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
/* set the max hold cycles&nbsp; */<BR>&nbsp;dma_ch.cp = 
PRIORITY_LOW;<BR>&nbsp;dma_ch.int_enable = FALSE;<BR>&nbsp;dma_ch.ch_enable = 
FALSE;&nbsp;&nbsp;/* No chaining */<BR>&nbsp;dma_ch.tcd_disable = 
TRUE;&nbsp;&nbsp;/* No chaining */<BR>#else<BR>/*Line Mode 
psc(11-12)=00,pwc(13-18)=000001, phc(19-21)=010, 22=1, 30=1&nbsp; ----&nbsp; 
0x2B02*/</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT 
color=#000080>&nbsp;dma_ch.mode&nbsp;=DMA_MODE_MM_DEVATSRC;&nbsp;&nbsp; /* xfer 
from peripheral to mem */<BR>&nbsp;dma_ch.td&nbsp;= 
DMA_TD;<BR>&nbsp;dma_ch.buffer_enable = FALSE;<BR>&nbsp;dma_ch.tce_enable = 
FALSE;<BR>&nbsp;dma_ch.etd_output = FALSE;<BR>&nbsp;dma_ch.pce = 
FALSE;<BR>&nbsp;dma_ch.pl = EXTERNAL_PERIPHERAL;&nbsp;&nbsp;&nbsp; /* no op 
*/<BR>&nbsp;dma_ch.pwidth = PW_64;&nbsp;&nbsp;/* Line mode on stbs 
*/<BR>&nbsp;dma_ch.dai = TRUE;<BR>&nbsp;dma_ch.sai = FALSE;<BR>&nbsp;dma_ch.psc 

0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
/* set the max setup cycles */<BR>&nbsp;dma_ch.pwc = 
1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
/* set the max wait cycles&nbsp; */<BR>&nbsp;dma_ch.phc = 
2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
/* set the max hold cycles&nbsp; */<BR>&nbsp;dma_ch.cp = 
PRIORITY_LOW;<BR>&nbsp;dma_ch.int_enable = FALSE;<BR>&nbsp;dma_ch.ch_enable = 
FALSE;&nbsp;&nbsp;/* No chaining */<BR>&nbsp;dma_ch.tcd_disable = 
TRUE;&nbsp;&nbsp;/* No chaining */</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>#endif<BR>&nbsp;if (ppc4xx_init_dma_channel(IDE_DMACH, 
&amp;dma_ch) != DMA_STATUS_GOOD){<BR>&nbsp;&nbsp;printk("ppc4xx_init_dma_channel 
failed\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;return 
-EBUSY;<BR>&nbsp;}<BR>&nbsp;//ppc4xx_disable_dma_interrupt(IDE_DMACH);</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;/*init CIC control register to enable IDE 
interface PIO mode*/<BR>&nbsp;mtdcr(DCRN_CICCR,(mfdcr(DCRN_CICCR) &amp; 
0xffff7bff) | 0x00000003);<BR>&nbsp;mtdcr(DCRN_DMACR2, 
0);<BR>&nbsp;ppc4xx_clr_dma_status(IDE_DMACH);<BR>&nbsp;/* init CIC select2 reg 
to connect external DMA port 3 to internal<BR>&nbsp; * DMA channel 
2</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp; */<BR>&nbsp;mtdcr(DCRN_DMAS2,(mfdcr(DCRN_DMAS2) 
&amp; 0xfffffff0) | 0x00000002);</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><BR><FONT color=#000080>&nbsp;hwif-&gt;autodma = 
1;hwif-&gt;udma_four=0;<BR>&nbsp;hwif-&gt;drives[0].autotune = 
hwif-&gt;drives[1].autotune = 
IDE_TUNE_AUTO;<BR>&nbsp;hwif-&gt;drives[0].autodma&nbsp; = 
hwif-&gt;drives[1].autodma&nbsp; = hwif-&gt;autodma;</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;hwif-&gt;atapi_dma&nbsp; = 
0;<BR>&nbsp;hwif-&gt;ultra_mask = hwif-&gt;udma_four ? 0x1f : 
0x07;<BR>&nbsp;hwif-&gt;mwdma_mask = 0x07;<BR>&nbsp;hwif-&gt;swdma_mask = 
0x00;</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;/* set everything to something != NULL 
*/<BR>&nbsp;hwif-&gt;ide_dma_host_off&nbsp;&nbsp; = 
&amp;ocp_ide_dma_off_quietly;<BR>&nbsp;hwif-&gt;ide_dma_host_on&nbsp; 
&nbsp;&nbsp; = &amp;ocp_ide_dma_on;</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;hwif-&gt;ide_dma_check&nbsp;&nbsp; = 
&amp;ocp_ide_dma_check;<BR>&nbsp;hwif-&gt;ide_dma_off_quietly &nbsp; = 
&amp;ocp_ide_dma_off_quietly;<BR>&nbsp;hwif-&gt;ide_dma_on&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp; = &amp;ocp_ide_dma_on;</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;hwif-&gt;dma_setup&nbsp;&nbsp; &nbsp;&nbsp; = 
&amp;ocp_ide_dma_setup;<BR>&nbsp;hwif-&gt;dma_exec_cmd &nbsp;&nbsp; = 
&amp;ocp_dma_exec_cmd;<BR>&nbsp;hwif-&gt;dma_start&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp; = &amp;ocp_ide_dma_begin;<BR>&nbsp;hwif-&gt;ide_dma_end 
&nbsp;&nbsp; = &amp;ocp_ide_dma_end;</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;hwif-&gt;ide_dma_test_irq&nbsp;&nbsp; = 
&amp;ocp_ide_dma_test_irq;</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;hwif-&gt;ide_dma_lostirq &nbsp;&nbsp; = 
&amp;ocp_ide_dma_lostirq;<BR>&nbsp;hwif-&gt;ide_dma_timeout &nbsp;&nbsp; = 
&amp;ocp_ide_dma_timeout;<BR>}<BR>&nbsp;&nbsp;<BR>static int 
__init<BR>stb025xx_ide_probe (struct ocp_device * const 
ocp)<BR>{<BR>&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
err;<BR>&nbsp;unsigned 
int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
uicdcr;<BR>&nbsp;volatile unsigned long&nbsp;ide_regs;<BR>&nbsp;unsigned 
long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
flags,ioaddr;<BR>&nbsp;ide_hwif_t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
* const hwif = &amp;ide_hwifs[0];<BR>&nbsp;unsigned 
char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * 
ip;<BR>&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
i;</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;printk ("IBM STB025xx OCP IDE driver version %s 
%x \n", IDEVR,ocp-&gt;def-&gt;paddr);<BR>&nbsp;if 
(!request_region(REDWOOD_IDE_CMD, 0x10, "IDE"))<BR>&nbsp;&nbsp;return 
-EBUSY;</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;if (!request_region(REDWOOD_IDE_CTRL, 2, "IDE")) 
{<BR>&nbsp;&nbsp;release_region(REDWOOD_IDE_CMD, 0x10);<BR>&nbsp;&nbsp;return 
-EBUSY;<BR>&nbsp;}</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;ide_regs = ioaddr = (unsigned long) 
ioremap(REDWOOD_IDE_CMD, 0x10);</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;for (i = IDE_DATA_OFFSET; i &lt;= 
IDE_STATUS_OFFSET; i++) {<BR>&nbsp;&nbsp;hwif-&gt;io_ports[i] = 
ioaddr;<BR>&nbsp;&nbsp;ioaddr += 
2;<BR>&nbsp;}<BR>&nbsp;hwif-&gt;io_ports[IDE_CONTROL_OFFSET] 
=<BR>&nbsp;&nbsp;&nbsp;&nbsp; (unsigned long) ioremap(REDWOOD_IDE_CTRL, 
2);</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;ocp_force_power_on (ocp);<BR>&nbsp;<BR>&nbsp;/* 
initialize */<BR>&nbsp;hwif-&gt;gendev.parent = 
&amp;ocp-&gt;dev;<BR>&nbsp;ocp_set_drvdata (ocp, hwif);</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;/* setup MMIO ops */<BR>&nbsp;default_hwif_mmiops 
(hwif);</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;/* tell common code _not_ to mess with resources 
*/<BR>&nbsp;hwif-&gt;mmio = 2;<BR>&nbsp;ide_set_hwifdata (hwif, (void *) 
ide_regs);<BR>&nbsp;<BR>&nbsp;hwif-&gt;chipset = 
ide_generic;<BR>&nbsp;hwif-&gt;irq&nbsp;&nbsp;&nbsp;&nbsp; = 
IDE0_IRQ;<BR>&nbsp;hwif-&gt;noprobe = 
0;<BR>&nbsp;hwif-&gt;hold&nbsp;&nbsp;&nbsp; = 1;<BR>&nbsp;hwif-&gt;udma_four = 
0;<BR>&nbsp;hwif-&gt;tuneproc&nbsp; = 
&amp;ocp_ide_tune_drive;<BR>&nbsp;hwif-&gt;speedproc = 
&amp;ocp_ide_tune_chipset;<BR>&nbsp;hwif-&gt;drives[0].io_32bit = 
hwif-&gt;drives[1].io_32bit = 0;<BR>&nbsp;hwif-&gt;drives[0].unmask&nbsp;&nbsp; 
= hwif-&gt;drives[1].unmask&nbsp;&nbsp; = 1;<BR>&nbsp;pio_mode[0] = pio_mode[1] 
= -1;<BR>&nbsp;<BR>&nbsp;ibm25xx_ide_spinup(0);<BR>&nbsp;ocp_ide_setup_dma 
(hwif);<BR>&nbsp;probe_hwif_init (hwif);</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;create_proc_ide_interfaces 
();<BR>&nbsp;printk("IDE probe finished \n");<BR>&nbsp;return 0;<BR>}<BR>static 
int ocp_ide_dma_end(ide_drive_t *drive){<BR>unsigned int tmp = 
mfdcr(DCRN_DMASR);</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;mtdcr (DCRN_UIC_SR(UIC0),(0x80000000ul &gt;&gt; 
IDE_DMA_INT));<BR>&nbsp;mtdcr(DCRN_DMASR,0x22200120);<BR>&nbsp;dmastat = 
mfdcr(DCRN_DMASR);<BR>&nbsp;printk("got ocp_ide_dma_end %x 
%x\n",dmastat,tmp);<BR>&nbsp;drive-&gt;waiting_for_dma = 0;<BR>&nbsp;/* disable 
DMA */<BR>&nbsp;//ppc4xx_disable_dma_interrupt(IDE_DMACH);</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;return 0;<BR>}<BR>static int 
ocp_ide_dma_test_irq(ide_drive_t *drive){</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;printk("got 
ocp_ide_dma_test_irq\n");<BR>&nbsp;return 1;&nbsp;/* returns 1 if dma irq 
issued, 0 otherwise */<BR>}<BR>static int ocp_ide_dma_verbose(ide_drive_t 
*drive){</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;printk("got 
ocp_ide_dma_verbose\n");<BR>&nbsp;return 1;<BR>}<BR>static int 
ocp_ide_dma_lostirq(ide_drive_t *drive){</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><BR><FONT color=#000080>&nbsp;printk("got 
ocp_ide_dma_lostirq\n");<BR>&nbsp;return 1;<BR>}<BR>static int 
ocp_ide_dma_timeout(ide_drive_t *drive){</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;printk("got 
ocp_ide_dma_timeout\n");<BR>&nbsp;return 1;<BR>}<BR>static 
void<BR>ocp_dma_exec_cmd (ide_drive_t * const drive, u8 command){<BR>ide_hwif_t 
*hwif = HWIF(drive);</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;//hwif-&gt;OUTBSYNC(drive,command, 
IDE_COMMAND_REG);<BR>&nbsp;//printk("ide_dma_exec_cmd 
%x\n",command);<BR>&nbsp;ide_execute_command (drive, command,&amp;ide_dma_intr, 
2*WAIT_CMD, NULL);<BR>}<BR>static int ocp_ide_dma_setup(ide_drive_t * const 
drive){<BR>&nbsp;ide_hwif_t &nbsp;* const hwif = HWIF(drive);<BR>&nbsp;struct 
request * const rq = HWGROUP(drive)-&gt;rq;</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT color=#000080>&nbsp;printk("got ocp_ide_dma_setup 
\n");<BR>&nbsp;/*if(rq-&gt;current_nr_sectors &lt; 
2){<BR>&nbsp;&nbsp;printk("request for less no of sectors 
%d\n",rq-&gt;current_nr_sectors);<BR>&nbsp;&nbsp;ide_map_sg(drive,rq);drive-&gt;waiting_for_dma=0; 
<BR>&nbsp;&nbsp;return 1;<BR>&nbsp;}*/<BR>&nbsp;drive-&gt;waiting_for_dma = 
1;<BR>&nbsp;return 0;<BR>}&nbsp;<BR></FONT></DIV></FONT></DIV></BODY></HTML>