Home | History | Annotate | Download | only in IdeBusDxe

Lines Matching refs:Media

18   This function is used to get the current status of the media residing

19 in the LS-120 drive or ZIP drive. The media status is returned in the
25 @retval EFI_SUCCESS The media status is achieved successfully and the media
27 @retval EFI_DEVICE_ERROR Get Media Status Command is failed.
28 @retval EFI_NO_MEDIA There is no media in the drive.
29 @retval EFI_WRITE_PROTECTED The media is writing protected.
33 (means enable media status notification) is called.
68 // Get Media Status Command is sent
81 // the media status is returned by the command in the ERROR register
96 This function is used to send Enable Media Status Notification Command
97 or Disable Media Status Notification Command.
102 @param Enable a flag that indicates whether enable or disable media
142 // 0x95: Enable media status notification
147 // 0x31: Disable media status notification
586 Its main purpose is to get enough information for the device media
587 to fill in the Media data structure of the Block I/O Protocol interface.
593 about the device. Since the ATAPI device contains removable media,
598 3. Allocate sense data space for future use. We don't detect the media
600 media is present. The media detection will be performed just before
667 // Get media removable info from INQUIRY data.
669 IdeDev->BlkIo.Media->RemovableMedia = (UINT8) ((IdeDev->InquiryData->RMB & 0x80) == 0x80);
686 IdeDev->BlkIo.Media->MediaId = 0;
690 IdeDev->BlkIo.Media->MediaPresent = FALSE;
692 IdeDev->BlkIo.Media->LastBlock = 0;
693 IdeDev->BlkIo.Media->BlockSize = 0x200;
702 IdeDev->BlkIo.Media->MediaId = 0;
706 IdeDev->BlkIo.Media->MediaPresent = FALSE;
708 IdeDev->BlkIo.Media->LastBlock = 0;
709 IdeDev->BlkIo.Media->BlockSize = 0x800;
710 IdeDev->BlkIo.Media->ReadOnly = TRUE;
831 // incompatible ATAPI devices don't retrive NO_SENSE when there is no media.
973 media in the device.
1056 IdeDev->BlkIo.Media->LastBlock = (Data.LastLba3 << 24) |
1061 IdeDev->BlkIo.Media->MediaPresent = TRUE;
1063 IdeDev->BlkIo.Media->ReadOnly = TRUE;
1069 IdeDev->BlkIo.Media->BlockSize = 0x800;
1075 IdeDev->BlkIo.Media->MediaPresent = FALSE;
1076 IdeDev->BlkIo.Media->LastBlock = 0;
1079 IdeDev->BlkIo.Media->LastBlock = (FormatData.LastLba3 << 24) |
1083 if (IdeDev->BlkIo.Media->LastBlock != 0) {
1084 IdeDev->BlkIo.Media->LastBlock--;
1086 IdeDev->BlkIo.Media->BlockSize = (FormatData.BlockSize2 << 16) |
1090 IdeDev->BlkIo.Media->MediaPresent = TRUE;
1092 IdeDev->BlkIo.Media->MediaPresent = FALSE;
1099 IdeDev->BlkIo.Media->BlockSize = 0x200;
1112 This function is used to test the current media write-protected or not residing
1116 @param WriteProtected if True, current media is write protected.
1117 if FALSE, current media is writable
1119 @retval EFI_SUCCESS The media
1120 @retval EFI_DEVICE_ERROR Get Media Status Command is failed.
1138 // the Get Media Status Command is only valid
1139 // if a Set Features/Enable Media Status Command has been priviously issued.
1150 // After Get Media Status Command completes,
1151 // Set Features/Disable Media Command should be sent.
1162 Used before read/write blocks from/to ATAPI device media. Since ATAPI device
1163 media is removable, it is necessary to detect whether media is present and
1164 get current present media's information, and if media has been changed, Block
1169 @param MediaChange return value that indicates if the media of the device has been
1172 @retval EFI_SUCCESS media found successfully.
1173 @retval EFI_DEVICE_ERROR any error encounters during media detection.
1174 @retval EFI_NO_MEDIA media not found.
1194 CopyMem (&OldMediaInfo, IdeDev->BlkIo.Media, sizeof (EFI_BLOCK_IO_MEDIA));
1236 if (IdeDev->BlkIo.Media->MediaPresent) {
1240 // Media present but the internal structure need refreshed.
1256 IdeDev->BlkIo.Media->MediaPresent = FALSE;
1257 IdeDev->BlkIo.Media->LastBlock = 0;
1266 IdeDev->BlkIo.Media->MediaId++;
1307 IdeDev->BlkIo.Media->MediaPresent = FALSE;
1308 IdeDev->BlkIo.Media->LastBlock = 0;
1317 IdeDev->BlkIo.Media->MediaId++;
1332 // the following code is to check the write-protected for LS120 media
1334 if ((IdeDev->BlkIo.Media->MediaPresent) && (IdeDev->Type == IdeMagnetic)) {
1341 IdeDev->BlkIo.Media->ReadOnly = TRUE;
1344 IdeDev->BlkIo.Media->ReadOnly = FALSE;
1350 if (IdeDev->BlkIo.Media->MediaId != OldMediaInfo.MediaId) {
1352 // Media change information got from the device
1357 if (IdeDev->BlkIo.Media->ReadOnly != OldMediaInfo.ReadOnly) {
1359 IdeDev->BlkIo.Media->MediaId += 1;
1362 if (IdeDev->BlkIo.Media->BlockSize != OldMediaInfo.BlockSize) {
1364 IdeDev->BlkIo.Media->MediaId += 1;
1367 if (IdeDev->BlkIo.Media->LastBlock != OldMediaInfo.LastBlock) {
1369 IdeDev->BlkIo.Media->MediaId += 1;
1372 if (IdeDev->BlkIo.Media->MediaPresent != OldMediaInfo.MediaPresent) {
1373 if (IdeDev->BlkIo.Media->MediaPresent) {
1375 // when change from no media to media present, reset the MediaId to 1.
1377 IdeDev->BlkIo.Media->MediaId = 1;
1380 // when no media, reset the MediaId to zero.
1382 IdeDev->BlkIo.Media->MediaId = 0;
1389 // if any change on current existing media,
1401 if (IdeDev->BlkIo.Media->MediaPresent) {
1410 read from media in block unit.
1412 The main command used to access media here is READ(10) Command.
1413 READ(10) Command requests that the ATAPI device media transfer
1423 device media.
1458 BlockSize = IdeDev->BlkIo.Media->BlockSize;
1529 write onto media in block unit.
1530 The main command used to access media here is Write(10) Command.
1531 Write(10) Command requests that the ATAPI device media transfer
1540 the device media.
1580 BlockSize = IdeDev->BlkIo.Media->BlockSize;
1700 @param MediaId The media id that the read request is for.
1710 @retval EFI_NO_MEDIA There is no media in the device.
1711 @retval EFI_MEDIA_CHANGED The MediaId is not for the current media.
1726 EFI_BLOCK_IO_MEDIA *Media;
1742 // ATAPI device media is removable, so it is a must
1743 // to detect media first before read operation
1759 Media = IdeBlkIoDevice->BlkIo.Media;
1760 BlockSize = Media->BlockSize;
1764 if (!(Media->MediaPresent)) {
1774 if ((MediaId != Media->MediaId) || MediaChange) {
1787 if (Lba > Media->LastBlock) {
1791 if ((Lba + NumberOfBlocks - 1) > Media->LastBlock) {
1795 if ((Media->IoAlign > 1) && (((UINTN) Buffer & (Media->IoAlign - 1)) != 0)) {
1830 @param MediaId The media id that the write request is for.
1840 @retval EFI_NO_MEDIA There is no media in the device.
1841 @retval EFI_MEDIA_CHANGE The MediaId is not for the current media.
1847 @retval EFI_WRITE_PROTECTED The write protected is enabled or the media does not support write
1859 EFI_BLOCK_IO_MEDIA *Media;
1879 // ATAPI device media is removable,
1880 // so it is a must to detect media first before write operation
1896 Media = IdeBlkIoDevice->BlkIo.Media;
1897 BlockSize = Media->BlockSize;
1900 if (!(Media->MediaPresent)) {
1909 if ((MediaId != Media->MediaId) || MediaChange) {
1918 if (Media->ReadOnly) {
1926 if (Lba > Media->LastBlock) {
1930 if ((Lba + NumberOfBlocks - 1) > Media->LastBlock) {
1934 if ((Media->IoAlign > 1) && (((UINTN) Buffer & (Media->IoAlign - 1)) != 0)) {