[UNIATA] Update to version 0.47a. CORE-15930

This commit is contained in:
Thomas Faber 2019-06-25 09:05:43 +02:00
parent 2e21126cb0
commit 3fb5ca3bee
No known key found for this signature in database
GPG key ID: 076E7C3D44720826
7 changed files with 16 additions and 15 deletions

View file

@ -1,5 +1,5 @@
// Build Version 0.46e8
// Build Version 0.47a
UCHAR const AtaCommands48[256] = {

View file

@ -709,6 +709,7 @@ typedef struct _IDE_AHCI_PORT_REGISTERS {
#define ATA_AHCI_P_CMD_HPCP 0x00040000
#define ATA_AHCI_P_CMD_ISP 0x00080000
#define ATA_AHCI_P_CMD_CPD 0x00100000
#define ATA_AHCI_P_CMD_ESP 0x00200000
#define ATA_AHCI_P_CMD_ATAPI 0x01000000
#define ATA_AHCI_P_CMD_DLAE 0x02000000
#define ATA_AHCI_P_CMD_ALPE 0x04000000

View file

@ -11281,7 +11281,7 @@ AtapiRegCheckDevValue(
val = AtapiRegCheckDevLunValue(
HwDeviceExtension, namex, chan, dev, Name, val);
}
if(!(HwFlags & (UNIATA_AHCI | UNIATA_AHCI))) {
if(!(HwFlags & (UNIATA_SATA | UNIATA_AHCI))) {
swprintf(namev, L"\\PATA");
swprintf(namex, L"Parameters%s", namev);
val = AtapiRegCheckDevLunValue(

View file

@ -1077,7 +1077,7 @@ UniataAhciDetect(
v_Mj = ((version >> 20) & 0xf0) + ((version >> 16) & 0x0f);
v_Mn = ((version >> 4) & 0xf0) + (version & 0x0f);
KdPrint2((PRINT_PREFIX " AHCI version %#x.%02x controller with %d ports (mask %#x) detected\n",
KdPrint2((PRINT_PREFIX " AHCI version %x.%02x controller with %d ports (mask %#x) detected\n",
v_Mj, v_Mn,
NumberChannels, PI));
KdPrint((" AHCI SATA Gen %d\n", (((CAP & AHCI_CAP_ISS_MASK) >> 20)) ));
@ -2237,22 +2237,22 @@ UniataAhciBeginTransaction(
if(CMD0 != CMD) {
KdPrint2((" send CMD %#x, entries %#x\n", CMD, AHCI_CL->prd_length));
UniataAhciWriteChannelPort4(chan, IDX_AHCI_P_CMD, CMD);
UniataAhciReadChannelPort4(chan, IDX_AHCI_P_CMD); /* flush */
CMD0 = UniataAhciReadChannelPort4(chan, IDX_AHCI_P_CMD); /* flush */
}
/* issue command to controller */
//UniataAhciWriteChannelPort4(chan, IDX_AHCI_P_ACT, 0x01 << tag);
//UniataAhciWriteChannelPort4(chan, IDX_AHCI_P_ACT, 0x01 << tag); // Used for NCQ
KdPrint2((" Set CI\n"));
UniataAhciWriteChannelPort4(chan, IDX_AHCI_P_CI, 0x01 << tag);
chan->AhciPrevCI |= 0x01 << tag;
CMD0 = CMD;
//CMD0 = CMD;
CMD |= ATA_AHCI_P_CMD_ST |
((chan->ChannelCtrlFlags & CTRFLAGS_AHCI_PM) ? ATA_AHCI_P_CMD_PMA : 0);
if(CMD != CMD0) {
KdPrint2((" Send CMD START\n"));
KdPrint2((" Send CMD START (%#x != %#x)\n", CMD, CMD0));
UniataAhciWriteChannelPort4(chan, IDX_AHCI_P_CMD, CMD);
UniataAhciReadChannelPort4(chan, IDX_AHCI_P_CMD); /* flush */
CMD0 = UniataAhciReadChannelPort4(chan, IDX_AHCI_P_CMD); /* flush */
} else {
KdPrint2((" No CMD START, already active\n"));
}

View file

@ -292,7 +292,7 @@ UniataAhciReadChannelPort4(
IN ULONG io_port_ndx
)
{
ULONG v = AtapiReadPortEx4(NULL, (ULONGIO_PTR)&((chan)->BaseIoAHCI_Port), io_port_ndx);
volatile ULONG v = AtapiReadPortEx4(NULL, (ULONGIO_PTR)&((chan)->BaseIoAHCI_Port), io_port_ndx);
KdPrint3((PRINT_PREFIX "ReadChannelPort4 ch%d[%x] = %x\n", chan->lChannel, io_port_ndx, v));
return v;
} // end UniataAhciReadChannelPort4()

View file

@ -254,4 +254,4 @@
158.implement .INF generator
159.fix bug with invalid INF section under XP+ (43e2)
160.add INF handler for SCSI\NET\VEN_UNIATA&PROD_MANAGEMENT_PORT
161.
161.

View file

@ -1,10 +1,10 @@
#define UNIATA_VER_STR "47"
#define UNIATA_VER_DOT 0.47.0.0
#define UNIATA_VER_STR "47a"
#define UNIATA_VER_DOT 0.47.1.0
#define UNIATA_VER_MJ 0
#define UNIATA_VER_MN 47
#define UNIATA_VER_SUB_MJ 0
#define UNIATA_VER_SUB_MJ 1
#define UNIATA_VER_SUB_MN 0
#define UNIATA_VER_DOT_COMMA 0,47,0,0
#define UNIATA_VER_DOT_STR "0.47.0.0"
#define UNIATA_VER_DOT_COMMA 0,47,1,0
#define UNIATA_VER_DOT_STR "0.47.1.0"
#define UNIATA_VER_YEAR 2019
#define UNIATA_VER_YEAR_STR "2019"