John Baldwin
254e4e5b77
Simplify swi for bus_dma.
...
When a DMA request using bounce pages completes, a swi is triggered to
schedule pending DMA requests using the just-freed bounce pages. For
a long time this bus_dma swi has been tied to a "virtual memory" swi
(swi_vm). However, all of the swi_vm implementations are the same and
consist of checking a flag (busdma_swi_pending) which is always true
and if set calling busdma_swi. I suspect this dates back to the
pre-SMPng days and that the intention was for swi_vm to serve as a
mux. However, in the current scheme there's no need for the mux.
Instead, remove swi_vm and vm_ih. Each bus_dma implementation that
uses bounce pages is responsible for creating its own swi (busdma_ih)
which it now schedules directly. This swi invokes busdma_swi directly
removing the need for busdma_swi_pending.
One consequence is that the swi now works on RISC-V which had previously
failed to invoke busdma_swi from swi_vm.
Reviewed by: imp, kib
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D33447
2021-12-28 13:51:25 -08:00
..
2021-11-15 13:01:30 -05:00
2020-12-17 20:31:17 +00:00
2021-07-28 13:49:16 -06:00
2021-09-07 10:08:51 -06:00
2021-12-06 20:46:49 +02:00
2020-11-08 04:24:29 +00:00
2021-12-14 16:19:40 -05:00
2021-11-15 02:33:01 +02:00
2021-12-09 02:49:10 +02:00
2021-12-26 12:03:33 -05:00
2021-11-25 22:50:42 +00:00
2021-11-15 16:13:24 -05:00
2021-07-09 20:57:58 -04:00
2021-06-07 16:45:50 -04:00
2021-11-03 16:03:51 -06:00
2021-12-05 15:33:04 -07:00
2021-04-14 13:03:33 -04:00
2021-11-25 22:50:42 +00:00
2021-12-17 13:10:23 -05:00
2020-11-23 18:27:21 +00:00
2021-11-19 15:05:53 -04:00
2021-07-18 23:06:19 -05:00
2020-11-19 02:50:48 +00:00
2021-11-15 18:34:27 +00:00
2021-11-25 22:50:42 +00:00
2021-11-29 22:04:43 +00:00
2020-09-01 22:12:32 +00:00
2021-10-28 20:49:56 +03:00
2021-12-28 13:51:25 -08:00
2021-12-26 10:45:50 -08:00
2021-09-17 14:19:05 -04:00
2021-07-29 12:41:29 +03:00
2020-09-01 22:12:32 +00:00
2021-11-25 22:50:42 +00:00
2021-12-08 23:32:29 +02:00
2021-09-18 10:16:58 +00:00
2020-09-01 22:12:32 +00:00
2020-10-28 13:46:11 +00:00
2021-10-06 16:09:41 -04:00
2021-12-26 23:07:33 -05:00
2020-12-26 20:25:02 -08:00
2021-12-09 18:09:53 +00:00
2021-09-02 21:16:46 -04:00
2020-12-04 18:56:44 +00:00
2021-09-09 10:11:02 -04:00
2021-04-18 11:19:15 -06:00
2020-09-01 22:12:32 +00:00
2020-12-26 20:25:02 -08:00
2021-12-06 20:46:49 +02:00
2021-10-20 00:25:19 +03:00
2021-06-02 13:22:57 -06:00
2021-07-29 12:41:29 +03:00
2021-01-11 15:36:57 -08:00
2021-12-10 04:54:48 +02:00
2021-10-27 11:18:13 -04:00
2021-05-23 17:55:27 +00:00
2021-12-26 12:03:33 -05:00
2021-12-08 22:54:07 -06:00
2021-09-28 11:36:09 -03:00
2021-12-26 12:03:33 -05:00
2021-12-26 23:07:33 -05:00
2021-05-23 17:55:27 +00:00
2021-11-10 21:18:54 +02:00
2021-12-28 09:41:08 -08:00
2021-11-22 22:36:54 +00:00
2021-11-30 15:23:23 +02:00
2021-07-29 12:41:29 +03:00
2021-10-28 21:56:21 +03:00
2021-12-28 03:02:53 +02:00
2021-09-02 21:16:46 -04:00
2021-10-17 13:36:38 -07:00
2021-09-25 11:47:24 +02:00
2021-11-22 22:36:55 +00:00
2020-04-15 18:39:12 +00:00
2020-09-01 22:12:32 +00:00
2021-12-08 23:32:30 +02:00
2021-12-08 23:32:30 +02:00
2021-12-08 23:32:29 +02:00
2021-09-27 20:04:51 -07:00
2021-09-01 21:58:16 +01:00
2021-12-28 09:41:08 -08:00
2021-12-28 09:41:08 -08:00
2021-08-08 10:42:24 -04:00
2020-09-01 22:12:32 +00:00
2021-11-05 15:45:51 -05:00
2021-11-19 19:13:28 +01:00
2020-10-28 13:46:11 +00:00
2020-08-05 09:27:03 +00:00
2021-11-03 12:36:02 -04:00
2021-12-28 09:41:08 -08:00
2021-09-05 12:45:29 -07:00
2021-07-13 17:47:27 -04:00
2020-09-01 22:12:32 +00:00
2021-08-10 21:27:54 -04:00
2021-12-26 23:07:33 -05:00
2021-12-28 09:41:08 -08:00
2021-08-08 10:42:24 -04:00
2020-11-05 15:08:56 +00:00
2021-09-14 14:29:27 -04:00
2021-07-29 21:13:32 -04:00
2021-10-17 15:31:35 +01:00
2021-03-02 18:33:45 -07:00
2020-10-26 04:04:06 +00:00
2021-12-02 14:45:04 -08:00
2020-09-01 22:12:32 +00:00
2021-10-21 21:40:46 +03:00
2020-11-29 19:38:03 +00:00
2021-08-08 21:54:49 -04:00
2021-07-08 08:46:41 +02:00
2021-08-11 14:44:22 -03:00
2021-12-14 14:52:25 +00:00
2021-05-23 17:55:27 +00:00
2021-08-04 11:50:34 -07:00
2020-09-01 22:12:32 +00:00
2021-01-08 09:24:49 +02:00
2021-11-03 12:36:02 -04:00
2021-12-10 23:35:53 -05:00
2021-06-16 20:00:14 -06:00
2020-11-09 00:34:23 +00:00
2020-07-24 17:32:10 +00:00
2021-11-03 02:32:46 -05:00
2020-09-01 22:12:32 +00:00
2021-09-03 23:13:42 -04:00
2020-08-13 20:48:14 +00:00
2021-04-02 15:41:51 +03:00
2021-08-08 10:42:24 -04:00
2021-09-27 14:38:26 -03:00
2020-09-28 17:19:57 +00:00
2021-10-05 14:47:38 -04:00
2020-09-01 22:12:32 +00:00
2021-05-25 16:59:18 -07:00
2021-10-06 17:05:22 +03:00
2021-07-28 22:00:29 -04:00
2020-07-06 16:33:28 +00:00
2021-04-02 13:17:53 +11:00
2021-10-30 09:54:17 +01:00
2021-09-02 21:16:46 -04:00
2021-08-08 10:42:24 -04:00
2021-09-07 02:43:34 +03:00
2021-02-18 14:02:48 +00:00
2020-09-01 22:12:32 +00:00
2020-09-01 22:12:32 +00:00
2021-09-02 18:28:45 +00:00
2021-12-02 14:45:04 -08:00
2020-03-19 15:39:45 +00:00
2021-10-11 13:22:32 +00:00
2021-10-14 00:43:48 +01:00
2021-10-12 02:43:07 -05:00
2021-10-11 13:22:32 +00:00
2021-09-16 20:11:27 +03:00
2021-12-14 17:12:53 +00:00
2021-12-09 02:49:10 +02:00
2021-12-09 02:48:46 +02:00
2021-12-09 02:49:10 +02:00
2021-11-17 20:12:23 +00:00
2021-11-17 20:12:23 +00:00
2021-11-17 20:12:24 +00:00
2021-11-17 20:12:23 +00:00
2020-07-06 16:34:15 +00:00
2021-04-18 11:14:17 -06:00
2021-10-11 13:22:32 +00:00
2020-08-27 05:11:15 +00:00
2021-09-03 22:18:51 -04:00
2021-06-14 17:32:27 -04:00
2021-09-10 09:07:40 -04:00
2021-12-14 11:01:05 -08:00
2021-12-26 23:07:33 -05:00
2020-10-22 09:17:56 +00:00
2021-12-15 20:54:57 -07:00
2021-11-17 20:12:26 +00:00
2021-10-21 21:40:46 +03:00
2021-12-26 12:03:33 -05:00
2021-12-26 12:03:33 -05:00
2021-11-29 22:04:42 +00:00
2021-12-17 13:09:49 -05:00
2021-11-25 22:50:42 +00:00
2021-11-14 16:59:53 +00:00
2021-12-03 10:42:21 +02:00
2021-11-25 22:50:42 +00:00
2021-09-02 21:36:33 +03:00
2021-11-27 23:07:26 +00:00
2020-09-01 22:12:32 +00:00
2021-11-25 22:50:42 +00:00
2021-08-27 18:39:45 +03:00
2021-05-30 14:53:47 -07:00
2021-12-28 09:41:08 -08:00
2021-11-25 22:50:42 +00:00
2021-11-25 22:50:42 +00:00
2021-12-15 20:54:57 -07:00
2021-12-28 09:41:08 -08:00
2021-11-15 13:01:30 -05:00
2021-12-15 20:54:57 -07:00