accel/qaic: Add ipc_router channel
authorJeffrey Hugo <quic_jhugo@quicinc.com>
Fri, 4 Oct 2024 16:40:33 +0000 (10:40 -0600)
committerJeffrey Hugo <quic_jhugo@quicinc.com>
Sat, 12 Oct 2024 20:49:47 +0000 (14:49 -0600)
The ipc_router channel allows AF_QIPCRTR clients and services to
communicate with the AIC100 device. The ipc_router MHI transport layer
expects the channel to be named exactly "IPCR".

Reviewed-by: Carl Vanderlip <quic_carlv@quicinc.com>
Signed-off-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Reviewed-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241004164033.3825986-1-quic_jhugo@quicinc.com
Documentation/accel/qaic/aic100.rst
drivers/accel/qaic/mhi_controller.c

index 590dae7..273da61 100644 (file)
@@ -229,6 +229,8 @@ of the defined channels, and their uses.
 | _PERIODIC      |         |          | timestamps in the device side logs with|
 |                |         |          | the host time source.                  |
 +----------------+---------+----------+----------------------------------------+
+| IPCR           | 24 & 25 | AMSS     | AF_QIPCRTR clients and servers.        |
++----------------+---------+----------+----------------------------------------+
 
 DMA Bridge
 ==========
index ada9b1e..8ab82e7 100644 (file)
@@ -405,6 +405,38 @@ static const struct mhi_channel_config aic100_channels[] = {
                .auto_queue = false,
                .wake_capable = false,
        },
+       {
+               .name = "IPCR",
+               .num = 24,
+               .num_elements = 32,
+               .local_elements = 0,
+               .event_ring = 0,
+               .dir = DMA_TO_DEVICE,
+               .ee_mask = MHI_CH_EE_AMSS,
+               .pollcfg = 0,
+               .doorbell = MHI_DB_BRST_DISABLE,
+               .lpm_notify = false,
+               .offload_channel = false,
+               .doorbell_mode_switch = false,
+               .auto_queue = false,
+               .wake_capable = false,
+       },
+       {
+               .name = "IPCR",
+               .num = 25,
+               .num_elements = 32,
+               .local_elements = 0,
+               .event_ring = 0,
+               .dir = DMA_FROM_DEVICE,
+               .ee_mask = MHI_CH_EE_AMSS,
+               .pollcfg = 0,
+               .doorbell = MHI_DB_BRST_DISABLE,
+               .lpm_notify = false,
+               .offload_channel = false,
+               .doorbell_mode_switch = false,
+               .auto_queue = true,
+               .wake_capable = false,
+       },
 };
 
 static struct mhi_event_config aic100_events[] = {