On 17 December 2015 at 15:10, Zeng, Star <[email protected]> wrote:
> On 2015/12/17 18:01, Ard Biesheuvel wrote:
>>
>> C99 does not define left-shifting negative values, so make all
>> [positive] preprocessor constants unsigned explicitly, so they
>> do not become negative values after bitwise negation.
>>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Ard Biesheuvel <[email protected]>
>> ---
>>   PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c | 44
>> ++++++++++----------
>>   1 file changed, 22 insertions(+), 22 deletions(-)
>>
>> diff --git a/PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c
>> b/PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c
>> index 5698e935b01f..6ed761544a8a 100644
>> --- a/PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c
>> +++ b/PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c
>> @@ -19,32 +19,32 @@
>>   //---------------------------------------------
>>   // UART Register Offsets
>>   //---------------------------------------------
>> -#define BAUD_LOW_OFFSET         0x00
>> -#define BAUD_HIGH_OFFSET        0x01
>> -#define IER_OFFSET              0x01
>> -#define LCR_SHADOW_OFFSET       0x01
>> -#define FCR_SHADOW_OFFSET       0x02
>> -#define IR_CONTROL_OFFSET       0x02
>> -#define FCR_OFFSET              0x02
>> -#define EIR_OFFSET              0x02
>> -#define BSR_OFFSET              0x03
>> -#define LCR_OFFSET              0x03
>> -#define MCR_OFFSET              0x04
>> -#define LSR_OFFSET              0x05
>> -#define MSR_OFFSET              0x06
>> +#define BAUD_LOW_OFFSET         0x00U
>> +#define BAUD_HIGH_OFFSET        0x01U
>> +#define IER_OFFSET              0x01U
>> +#define LCR_SHADOW_OFFSET       0x01U
>> +#define FCR_SHADOW_OFFSET       0x02U
>> +#define IR_CONTROL_OFFSET       0x02U
>> +#define FCR_OFFSET              0x02U
>> +#define EIR_OFFSET              0x02U
>> +#define BSR_OFFSET              0x03U
>> +#define LCR_OFFSET              0x03U
>> +#define MCR_OFFSET              0x04U
>> +#define LSR_OFFSET              0x05U
>> +#define MSR_OFFSET              0x06U
>>
>>   //---------------------------------------------
>>   // UART Register Bit Defines
>>   //---------------------------------------------
>> -#define LSR_TXRDY               0x20
>> -#define LSR_RXDA                0x01
>> -#define DLAB                    0x01
>> -#define MCR_DTRC                0x01
>> -#define MCR_RTS                 0x02
>> -#define MSR_CTS                 0x10
>> -#define MSR_DSR                 0x20
>> -#define MSR_RI                  0x40
>> -#define MSR_DCD                 0x80
>> +#define LSR_TXRDY               0x20U
>> +#define LSR_RXDA                0x01U
>> +#define DLAB                    0x01U
>> +#define MCR_DTRC                0x01U
>> +#define MCR_RTS                 0x02U
>> +#define MSR_CTS                 0x10U
>> +#define MSR_DSR                 0x20U
>> +#define MSR_RI                  0x40U
>> +#define MSR_DCD                 0x80U
>>
>>   //---------------------------------------------
>>   // UART Settings
>>
>
> Only DLAB is used to do left shift operation, how about to update the code
> like below?
>

Even better.

Thanks,
Ard.


> fa3084df7686fa7efe9b1373772eedee2e0111e8
>  PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c
> b/PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c
> index 8656785..ab957d4 100644
> --- a/PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c
> +++ b/PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c
> @@ -38,7 +38,7 @@
>  //---------------------------------------------
>  #define LSR_TXRDY               0x20
>  #define LSR_RXDA                0x01
> -#define DLAB                    0x01
> +#define LCR_DLAB                0x80
>  #define MCR_DTRC                0x01
>  #define MCR_RTS                 0x02
>  #define MSR_CTS                 0x10
> @@ -90,7 +90,7 @@ SerialPortInitialize (
>    //
>    // Set communications format
>    //
> -  OutputData = (UINT8) ((DLAB << 7) | (gBreakSet << 6) | (gParity << 3) |
> (gStop << 2) | Data);
> +  OutputData = (UINT8) (LCR_DLAB | (gBreakSet << 6) | (gParity << 3) |
> (gStop << 2) | Data);
>    IoWrite8 ((UINTN) (gUartBase + LCR_OFFSET), OutputData);
>
>    //
> @@ -102,7 +102,7 @@ SerialPortInitialize (
>    //
>    // Switch back to bank 0
>    //
> -  OutputData = (UINT8) ((~DLAB << 7) | (gBreakSet << 6) | (gParity << 3) |
> (gStop << 2) | Data);
> +  OutputData = (UINT8) ((gBreakSet << 6) | (gParity << 3) | (gStop << 2) |
> Data);
>    IoWrite8 ((UINTN) (gUartBase + LCR_OFFSET), OutputData);
>
>    return RETURN_SUCCESS;
> @@ -477,7 +477,7 @@ SerialPortSetAttributes (
>    //
>    // Set communications format
>    //
> -  OutputData = (UINT8) ((DLAB << 7) | (gBreakSet << 6) | (LcrParity << 3) |
> (LcrStop << 2) | LcrData);
> +  OutputData = (UINT8) (LCR_DLAB | (gBreakSet << 6) | (LcrParity << 3) |
> (LcrStop << 2) | LcrData);
>    IoWrite8 ((UINTN) (gUartBase + LCR_OFFSET), OutputData);
>
>    //
> @@ -489,7 +489,7 @@ SerialPortSetAttributes (
>    //
>    // Switch back to bank 0
>    //
> -  OutputData = (UINT8) ((~DLAB << 7) | (gBreakSet << 6) | (LcrParity << 3)
> | (LcrStop << 2) | LcrData);
> +  OutputData = (UINT8) ((gBreakSet << 6) | (LcrParity << 3) | (LcrStop <<
> 2) | LcrData);
>    IoWrite8 ((UINTN) (gUartBase + LCR_OFFSET), OutputData);
>
>    return RETURN_SUCCESS;
>
>
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to