Re: [PATCH] SPCR: check bit width for the 16550 UART
From: Jon Masters
Date: Mon Dec 05 2016 - 19:03:38 EST
On 12/05/2016 06:52 PM, Duc Dang wrote:
> Hi Jon,
>
> On Mon, Dec 5, 2016 at 3:27 PM, Jon Masters <jcm@xxxxxxxxxx> wrote:
>> Duc, Aleksey, all,
>>
>> I have a question about this...
>>
>> On 12/05/2016 01:51 PM, Duc Dang wrote:
>>> On Mon, Dec 5, 2016 at 5:05 AM, Aleksey Makarov
>>> <aleksey.makarov@xxxxxxxxxx> wrote:
>>>> Check the 'Register Bit Width' field of the ACPI Generic Address
>>>> Structure that specifies the address of the UART registers to
>>>> decide if the driver should use "mmio32" access instead of "mmio".
>>>>
>>>> If the driver is other than 16550 the access with is defined
>>>> by the Interface Type field of the SPCR table.
>>
>> I have two questions about this:
>>
>> 1). Why is this not a full 16550 (ACPI_DBG2_16550_COMPATIBLE)?
>>
>> 2). Why is it a ACPI_DBG2_16550_SUBSET you are assuming here?
>
> The patch is actually applied for both ACPI_DBG2_16550_COMPATIBLE and
> ACPI_DBG2_16500_SUBSET. Or I misunderstood your question?
No, I had missed the fall through for both conditions since it hadn't
worked in my quick boot test with the other type earlier. It's probably
only applicable in the general 16550 case, not in the subset case,
but I don't have any objections at this. My bad.
Now as to why it's not actually triggering on my test machine is
something I'll check. I set the port width in the address struct
in the ACPI table to 32-bit and it didn't see mmio32 just mmio, so
I then re-read the patch itself and had assumed Aleksey meant it
to be only for the subtype. Be right back after I poke...
Jon.
--
Computer Architect | Sent from my Fedora powered laptop