Re: [PATCH 2/2] msm: Support DEBUG_LL on MSM8660 and MSM8960

From: Stephen Boyd
Date: Thu Sep 29 2011 - 01:39:49 EST


On 9/28/2011 9:21 PM, Nicolas Pitre wrote:
> On Wed, 28 Sep 2011, Stephen Boyd wrote:
>
>
>> .macro senduart,rd,rx
>> +#ifdef CONFIG_MSM_HAS_DEBUG_UART_HS
>> + @ Clear TX_READY by writing to the UARTDM_CR register
>> + mov r12, #0x300
>> + str r12, [\rx, #0x10]
>> + @ Write 0x1 to NCF register
>> + mov r12, #0x1
>> + str r12, [\rx, #0x40]
>> + @ UARTDM reg. Read to induce delay
>> + ldr r12, [\rx, #0x08]
>> + @ Write the 1 character to UARTDM_TF
>> + str \rd, [\rx, #0x70]
> This is a really bad idea to pick a register (r12) when the calling code
> is completely unaware of that. This _will_ break on you someday.
>
> Except for the last line, why didn't you simply fold this code into the
> waituart macro instead?

We need to configure the uart to be ready for a write and it didn't seem
appropriate to put that in the waituart macro because it isn't actually
waiting for anything. I suppose putting it after the waiting is fine
though and avoids future breakage. Thanks.

--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/