]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Load the transmit dma buffer at attach time as well. We don't need to
authorimp <imp@FreeBSD.org>
Sun, 18 Jun 2017 21:03:35 +0000 (21:03 +0000)
committerimp <imp@FreeBSD.org>
Sun, 18 Jun 2017 21:03:35 +0000 (21:03 +0000)
commitc1f189919a455e2267f6778fd9dd316bf118f809
treea4b26119c70f44a7c813c8268dfc90f328d97887
parent4e515c7f8e12dbe7c72a3ef08fa3ba0a117fa36c
Load the transmit dma buffer at attach time as well. We don't need to
load and unload it all the time since the buffer never changes. In
addition, we were loading it with a hardware spin lock held, which
makes the sleepable lock in busdma (for the bounce pages) trigger a
witness warning, as well as ipend being called with it held by uart,
which made it impossible to unload.

These differences don't matter with the v4 busdma implementation, but
they do with the v6 implementation since the latter likes to bounce
transactions more, and will always do so for Atmel's driver.

It's more efficient as well as being more correct.
sys/arm/at91/uart_dev_at91usart.c