On 11/08/11 11:08, Nicolas Pitre wrote:
quoted
+ .macro senduart, rd, rx
+#ifdef CONFIG_MSM_HAS_DEBUG_UART_HS
+ @ Write the 1 character to UARTDM_TF
+ str \rd, [\rx, #0x70]
+#else
teq \rx, #0
strne \rd, [\rx, #0x0C]
+#endif
.endm
Why testing for zero in the #else part? The upper level code should
never call this macro with a null byte.
Ok I poked into the git logs (thanks Bryan). It was first introduced in
bcc0f6a ([ARM] msm: clean up iomap and devices, 2008-09-10). It seems
that debug_ll support on MSM at the time had to remove the virtual
mapping for the uart base. Thus when the MMU was enabled the addruart
macro returned 0 and the senduart macro would test for 0 so that
senduart could disable debug_ll when the MMU was enabled. Something
about "problems with the peripheral window".
Later on, the virtual mapping was added back in 6339f66 (msm: make
debugging UART (for DEBUG_LL) configurable, 2009-11-02) but the patch
forgot to remove the teq. So as it stands the teq has been useless for
two years.
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.