summaryrefslogtreecommitdiff
path: root/scripts/include
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@orcam.me.uk>2026-05-06 23:42:31 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-05-22 11:52:33 +0200
commitca904f4b42355287bc5ce8b7550ebe909cda4c2c (patch)
treec2d56ca3c336a40f3ed760e2c336561ab9c04630 /scripts/include
parent2e211723953f7740e54b53f3d3a0d5e351a5e223 (diff)
serial: dz: Fix bootconsole message clobbering at chip reset
In the DZ interface as implemented by the DC7085 gate array the serial transmitters are double buffered, meaning that at the time a transmitter is ready to accept the next character there is one in the transmit shift register still being sent to the line. Issuing a master clear at this time causes this character to be lost, so wait an extra amount of time sufficient for the transmit shift register to drain at 9600bps, which is the baud rate setting used by the firmware console. Mind the specified 1.4us TRDY recovery time in the course and continue using iob() as the completion barrier, since the platforms involved use a write buffer that can delay and combine writes, and reorder them with respect to reads regardless of the MMIO locations accessed and we still lack a platform-independent handler for that. When called from dz_serial_console_init() this is too early for fsleep() to work and even before lpj has been calculated and therefore the delay is actually not sufficient for the transmitter to drain and is merely a placeholder now. This will be addressed in a follow-up change. Fixes: e6ee512f5a77 ("dz.c: Resource management") Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk> Cc: stable@vger.kernel.org # v2.6.25+ Link: https://patch.msgid.link/alpine.DEB.2.21.2605062259080.46195@angie.orcam.me.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'scripts/include')
0 files changed, 0 insertions, 0 deletions