Lines Matching defs:IdeDev

353   @param  IdeDev The BLK_IO private data which specifies the IDE device
362 IN IDE_BLK_IO_DEV *IdeDev
370 if (IdeDev->Channel >= IdeMaxChannel) {
378 Status = GetIdeRegistersBaseAddr (IdeDev->PciIo, IdeRegsBaseAddr);
383 ZeroMem (IdeDev->IoPort, sizeof (IDE_BASE_REGISTERS));
384 CommandBlockBaseAddr = IdeRegsBaseAddr[IdeDev->Channel].CommandBlockBaseAddr;
385 ControlBlockBaseAddr = IdeRegsBaseAddr[IdeDev->Channel].ControlBlockBaseAddr;
387 IdeDev->IoPort->Data = CommandBlockBaseAddr;
388 (*(UINT16 *) &IdeDev->IoPort->Reg1) = (UINT16) (CommandBlockBaseAddr + 0x01);
389 IdeDev->IoPort->SectorCount = (UINT16) (CommandBlockBaseAddr + 0x02);
390 IdeDev->IoPort->SectorNumber = (UINT16) (CommandBlockBaseAddr + 0x03);
391 IdeDev->IoPort->CylinderLsb = (UINT16) (CommandBlockBaseAddr + 0x04);
392 IdeDev->IoPort->CylinderMsb = (UINT16) (CommandBlockBaseAddr + 0x05);
393 IdeDev->IoPort->Head = (UINT16) (CommandBlockBaseAddr + 0x06);
395 (*(UINT16 *) &IdeDev->IoPort->Reg) = (UINT16) (CommandBlockBaseAddr + 0x07);
396 (*(UINT16 *) &IdeDev->IoPort->Alt) = ControlBlockBaseAddr;
397 IdeDev->IoPort->DriveAddress = (UINT16) (ControlBlockBaseAddr + 0x01);
398 IdeDev->IoPort->MasterSlave = (UINT16) ((IdeDev->Device == IdeMaster) ? 1 : 0);
400 IdeDev->IoPort->BusMasterBaseAddr = IdeRegsBaseAddr[IdeDev->Channel].BusMasterBaseAddr;
420 @param IdeDev pointer to IDE_BLK_IO_DEV data structure, used to record all the
430 IN IDE_BLK_IO_DEV *IdeDev
445 IdeDev->PciIo,
446 IdeDev->IoPort->Head,
454 InitStatusReg = IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Reg.Status);
460 IdeDev->PciIo,
461 IdeDev->IoPort->Head,
470 IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->Reg.Command, 0x90);
472 Status = WaitForBSYClear (IdeDev, 3500);
484 IdeDev->PciIo,
485 IdeDev->IoPort->Head,
490 IdeDev->PciIo,
491 IdeDev->IoPort->SectorCount
494 IdeDev->PciIo,
495 IdeDev->IoPort->SectorNumber
498 IdeDev->PciIo,
499 IdeDev->IoPort->CylinderLsb
502 IdeDev->PciIo,
503 IdeDev->IoPort->CylinderMsb
532 IdeDev->PciIo,
533 IdeDev->IoPort->Head,
538 IdeDev->PciIo,
539 IdeDev->IoPort->SectorCount
542 IdeDev->PciIo,
543 IdeDev->IoPort->SectorNumber
546 IdeDev->PciIo,
547 IdeDev->IoPort->CylinderLsb
550 IdeDev->PciIo,
551 IdeDev->IoPort->CylinderMsb
554 IdeDev->PciIo,
555 IdeDev->IoPort->Reg.Status
595 @param IdeDev The BLK_IO private data which specifies the IDE device.
603 IN IDE_BLK_IO_DEV *IdeDev
614 Status = DetectIDEController (IdeDev);
628 if ((IdeDev->Device == IdeMaster) && (MasterDeviceExist)) {
630 Status = ATAIdentify (IdeDev);
632 Status = ATAPIIdentify (IdeDev);
638 Status = ATAPIIdentify (IdeDev);
640 Status = ATAIdentify (IdeDev);
647 if ((IdeDev->Device == IdeSlave) && (SlaveDeviceExist)) {
649 Status = ATAIdentify (IdeDev);
651 Status = ATAPIIdentify (IdeDev);
657 Status = ATAPIIdentify (IdeDev);
659 Status = ATAIdentify (IdeDev);
672 LongPhyStatus = AtaEnableLongPhysicalSector (IdeDev);
674 IdeDev->BlkIo.Revision = EFI_BLOCK_IO_PROTOCOL_REVISION2;
676 IdeDev->BlkIo.Revision = EFI_BLOCK_IO_PROTOCOL_REVISION;
678 IdeDev->BlkIo.Reset = IDEBlkIoReset;
679 IdeDev->BlkIo.ReadBlocks = IDEBlkIoReadBlocks;
680 IdeDev->BlkIo.WriteBlocks = IDEBlkIoWriteBlocks;
681 IdeDev->BlkIo.FlushBlocks = IDEBlkIoFlushBlocks;
683 IdeDev->BlkMedia.LogicalPartition = FALSE;
684 IdeDev->BlkMedia.WriteCaching = FALSE;
689 gBS->CopyMem (&IdeDev->DiskInfo.Interface, &gEfiDiskInfoIdeInterfaceGuid, sizeof (EFI_GUID));
690 IdeDev->DiskInfo.Inquiry = IDEDiskInfoInquiry;
691 IdeDev->DiskInfo.Identify = IDEDiskInfoIdentify;
692 IdeDev->DiskInfo.SenseData = IDEDiskInfoSenseData;
693 IdeDev->DiskInfo.WhichIde = IDEDiskInfoWhichIde;
718 @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
732 IN IDE_BLK_IO_DEV *IdeDev,
743 StatusRegister = IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Reg.Status);
754 ErrorRegister = IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Reg1.Error);
781 @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
794 IN IDE_BLK_IO_DEV *IdeDev,
805 AltRegister = IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Alt.AltStatus);
816 ErrorRegister = IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Reg1.Error);
845 @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure,used to
858 IN IDE_BLK_IO_DEV *IdeDev,
871 StatusRegister = IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Reg.Status);
882 ErrorRegister = IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Reg1.Error);
907 @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to
920 IN IDE_BLK_IO_DEV *IdeDev,
934 AltRegister = IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Alt.AltStatus);
944 ErrorRegister = IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Reg1.Error);
969 @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
980 IN IDE_BLK_IO_DEV *IdeDev,
990 StatusRegister = IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Reg.Status);
1015 @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to record
1026 IN IDE_BLK_IO_DEV *IdeDev,
1035 AltRegister = IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Alt.AltStatus);
1057 @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
1068 IN IDE_BLK_IO_DEV *IdeDev,
1078 StatusRegister = IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Reg.Status);
1088 ErrorRegister = IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Reg1.Error);
1110 @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
1122 IN IDE_BLK_IO_DEV *IdeDev,
1132 AltRegister = IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Alt.AltStatus);
1142 ErrorRegister = IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Reg1.Error);
1224 @param IdeDev Standard IDE device private data structure
1231 IN IDE_BLK_IO_DEV *IdeDev,
1240 DeviceSelect = (UINT8) ((IdeDev->Device) << 4);
1247 IdeDev,
1262 @param IdeDev Standard IDE device private data structure
1269 IN IDE_BLK_IO_DEV *IdeDev,
1277 DeviceSelect = (UINT8) ((IdeDev->Device) << 4);
1283 IdeDev,
1297 IdeDev,
1312 @param IdeDev Standard IDE device private data structure
1318 IN IDE_BLK_IO_DEV *IdeDev
1327 IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->Alt.DeviceControl, DeviceControl);