opnsense-src/sys/dev/aacraid
Leandro Lupori 572e3575db aacraid: reduce max I/O size to avoid DMA issues
Reserve one page for the DMA subsystem, that may need it when the I/O
buffer is not page aligned.

Without this change, writes with the maximum allowed size failed, if:
- physical memory was fragmented, making it necessary to use one DMA
  segment for each page
- the buffer to be written was not page aligned, causing the DMA
  subsystem to need one extra segment

In the scenario above, the DMA subsystem would run out of segments,
resulting in a write with no SG segments, that would fail.

Reviewed by:		imp
Sponsored by:		Instituto de Pesquisas Eldorado (eldorado.org.br)
Differential Revision:	https://reviews.freebsd.org/D30798

(cherry picked from commit 9c2c635319)
2021-07-23 08:28:58 -03:00
..
aacraid.c aacraid: reduce max I/O size to avoid DMA issues 2021-07-23 08:28:58 -03:00
aacraid_cam.c aacraid: reduce max I/O size to avoid DMA issues 2021-07-23 08:28:58 -03:00
aacraid_debug.c aacraid: clean up empty lines in .c and .h files 2020-09-01 21:32:25 +00:00
aacraid_debug.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
aacraid_endian.c [aacraid] Port driver to big-endian 2020-03-05 20:04:41 +00:00
aacraid_endian.h aacraid: clean up empty lines in .c and .h files 2020-09-01 21:32:25 +00:00
aacraid_linux.c Convert remaining cap_rights_init users to cap_rights_init_one 2021-01-12 13:16:10 +00:00
aacraid_pci.c Reapply, with minor tweaks, r338025, from the original commit: 2018-09-26 17:12:14 +00:00
aacraid_reg.h aacraid: clean up empty lines in .c and .h files 2020-09-01 21:32:25 +00:00
aacraid_var.h aacraid: reduce max I/O size to avoid DMA issues 2021-07-23 08:28:58 -03:00