X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=IntelFrameworkModulePkg%2FBus%2FIsa%2FIsaSerialDxe%2FSerial.c;h=4a86257e73266d55186fe3f68b87d5e052c6d7a7;hp=c50e532ee3a6c77e4fcf0709d226995652749e6f;hb=77b91d896f2183906a8e54dd2a82af3a213883be;hpb=10c1a4ca0c7190e724b5850d7d2e98605618e32a diff --git a/IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/Serial.c b/IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/Serial.c index c50e532ee3..4a86257e73 100644 --- a/IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/Serial.c +++ b/IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/Serial.c @@ -83,8 +83,7 @@ SERIAL_DEV gSerialDevTempate = { FALSE, FALSE, Uart16550A, - NULL, - FixedPcdGetBool (PcdIsaBusSerialUseHalfHandshake) //UseHalfHandshake + NULL }; /** @@ -807,7 +806,7 @@ IsaSerialReceiveTransmit ( // if receive buffer is available. // if (SerialDevice->HardwareFlowControl && - !SerialDevice->UseHalfHandshake && + !FeaturePcdGet(PcdIsaBusSerialUseHalfHandshake)&& !ReceiveFifoFull ) { Mcr.Data = READ_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress); @@ -844,7 +843,7 @@ IsaSerialReceiveTransmit ( // tell the peer to stop sending data. // if (SerialDevice->HardwareFlowControl && - !SerialDevice->UseHalfHandshake && + !FeaturePcdGet(PcdIsaBusSerialUseHalfHandshake) && IsaSerialFifoFull (&SerialDevice->Receive) ) { Mcr.Data = READ_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress); @@ -873,7 +872,7 @@ IsaSerialReceiveTransmit ( // // For half handshake flow control assert RTS before sending. // - if (SerialDevice->UseHalfHandshake) { + if (FeaturePcdGet(PcdIsaBusSerialUseHalfHandshake)) { Mcr.Data = READ_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress); Mcr.Bits.Rts= 0; WRITE_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress, Mcr.Data); @@ -883,7 +882,7 @@ IsaSerialReceiveTransmit ( // TimeOut = 0; Msr.Data = READ_MSR (SerialDevice->IsaIo, SerialDevice->BaseAddress); - while (Msr.Bits.Dcd == 1 && (!Msr.Bits.Cts ^ SerialDevice->UseHalfHandshake)) { + while (Msr.Bits.Dcd == 1 && (!Msr.Bits.Cts ^ FeaturePcdGet(PcdIsaBusSerialUseHalfHandshake))) { gBS->Stall (TIMEOUT_STALL_INTERVAL); TimeOut++; if (TimeOut > 5) { @@ -893,7 +892,7 @@ IsaSerialReceiveTransmit ( Msr.Data = READ_MSR (SerialDevice->IsaIo, SerialDevice->BaseAddress); } - if (Msr.Bits.Dcd== 0 || (Msr.Bits.Cts ^ SerialDevice->UseHalfHandshake)) { + if (Msr.Bits.Dcd== 0 || (Msr.Bits.Cts ^ FeaturePcdGet(PcdIsaBusSerialUseHalfHandshake))) { IsaSerialFifoRemove (&SerialDevice->Transmit, &Data); WRITE_THR (SerialDevice->IsaIo, SerialDevice->BaseAddress, Data); } @@ -901,7 +900,7 @@ IsaSerialReceiveTransmit ( // // For half handshake flow control, tell DCE we are done. // - if (SerialDevice->UseHalfHandshake) { + if (FeaturePcdGet(PcdIsaBusSerialUseHalfHandshake)) { Mcr.Data = READ_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress); Mcr.Bits.Rts = 1; WRITE_MCR (SerialDevice->IsaIo, SerialDevice->BaseAddress, Mcr.Data);