Lines Matching +full:dma +full:- +full:byte +full:- +full:en

6 processing to a dedicated low power co-processor. This allows the core
11 Sensor usage tables. These may be found in tablets, 2-in-1 convertible laptops
27 ----------------- ----------------------
28 | USB HID | --> | ISH HID |
29 ----------------- ----------------------
30 ----------------- ----------------------
31 | USB protocol | --> | ISH Transport |
32 ----------------- ----------------------
33 ----------------- ----------------------
34 | EHCI/XHCI | --> | ISH IPC |
35 ----------------- ----------------------
37 ----------------- ----------------------
38 |Host controller| --> | ISH processor |
39 ----------------- ----------------------
41 ----------------- ----------------------
42 | USB End points| --> | ISH Clients |
43 ----------------- ----------------------
66 ---------------------------
68 ---------------------------
70 ----------------IIO ABI----------------
71 --------------------------
73 --------------------------
74 --------------------------
76 --------------------------
77 --------------------------
79 --------------------------
80 --------------------------
82 --------------------------
83 --------------------------
85 --------------------------
86 --------------------------
88 --------------------------
89 --------------------------
91 --------------------------
93 ---------------- PCI -----------------
95 ----------------------------
97 ----------------------------
103 ----------------------
105 The ISH is exposed as "Non-VGA unclassified PCI device" to the host. The PCI
111 ----------------------------------------------
113 Location: drivers/hid/intel-ish-hid/ipc
116 hw-ish-regs.h.
127 A set of memory mapped register offers support of multi-byte messages TX and
136 Each side has 32 32-bit message registers and a 32-bit doorbell. Doorbell
153 -----------------------
155 Location: drivers/hid/intel-ish-hid/ishtp/
160 The transport layer is a bi-directional protocol, which defines:
161 - Set of commands to start, stop, connect, disconnect and flow control
163 - A flow control mechanism to avoid buffer overflows
166 http://www.intel.com/content/dam/www/public/us/en/documents/technical-\
167 specifications/dcmi-hi-1-0-spec.pdf "Chapter 7: Bus Message Layer"
179 flow-control credit before. Once it has sent a message, it may not send another one
187 Peer to Peer data transfer can happen with or without using DMA. Depending on
188 the sensor bandwidth requirement DMA can be enabled by using module parameter
191 Each side (host and FW) manages its DMA transfer memory independently. When an
193 whether to send over IPC or over DMA; for each transfer the decision is
196 sends). The recipient of DMA message responds with DMA_XFER_ACK, indicating
199 DMA initialization is started with host sending DMA_ALLOC_NOTIFY bus message
201 Additionally to DMA address communication, this sequence checks capabilities:
202 if the host doesn't support DMA, then it won't send DMA allocation, so FW can't
203 send DMA; if FW doesn't support DMA then it won't respond with
204 DMA_ALLOC_NOTIFY_ACK, in which case host will not use DMA transfers.
205 Here ISH acts as busmaster DMA controller. Hence when host sends DMA_XFER,
206 it's request to do host->ISH DMA transfer; when FW sends DMA_XFER, it means
207 that it already did DMA and the message resides at host. Thus, DMA_XFER
217 Currently, ISH FW decides to send over DMA if ISHTP message is more than 3 IPC
243 - Host sends HOST_START_REQ_CMD, indicating that host ISHTP layer is up.
244 - FW responds with HOST_START_RES_CMD
245 - Host sends HOST_ENUM_REQ_CMD (enumerate FW clients)
246 - FW responds with HOST_ENUM_RES_CMD that includes bitmap of available FW
248 - For each FW ID found in that bitmap host sends
250 - FW responds with HOST_CLIENT_PROPERTIES_RES_CMD. Properties include UUID,
252 - Once host received properties for that last discovered client, it considers
253 ISHTP device fully functional (and allocates DMA buffers)
256 -----------------------
258 Location: drivers/hid/intel-ish-hid
262 - enumerate HID devices under FW ISH client
263 - Get Report descriptor
264 - Register with HID core as a LL driver
265 - Process Get/Set feature request
266 - Get input reports
269 ---------------------------------------------
273 Documentation/hid/hid-sensor.rst for HID sensor
274 Documentation/ABI/testing/sysfs-bus-iio for IIO ABIs to user space.
277 ---------------------------------------------
281 HID-ISH-CLN ISHTP IPC HW
283 | | |-----WAKE UP------------------>|
285 | | |-----HOST READY--------------->|
287 | | |<----MNG_RESET_NOTIFY_ACK----- |
289 | |<----ISHTP_START------ | |
291 | |<-----------------HOST_START_RES_CMD-------------------|
293 | |------------------QUERY_SUBSCRIBER-------------------->|
295 | |------------------HOST_ENUM_REQ_CMD------------------->|
297 | |<-----------------HOST_ENUM_RES_CMD--------------------|
299 | |------------------HOST_CLIENT_PROPERTIES_REQ_CMD------>|
301 | |<-----------------HOST_CLIENT_PROPERTIES_RES_CMD-------|
304 | |------------------HOST_CLIENT_PROPERTIES_REQ_CMD------>|
306 | |<-----------------HOST_CLIENT_PROPERTIES_RES_CMD-------|
309 | |--Repeat HOST_CLIENT_PROPERTIES_REQ_CMD-till last one--|
312 |----ishtp_cl_connect--->|----------------- CLIENT_CONNECT_REQ_CMD-------------->|
314 | |<----------------CLIENT_CONNECT_RES_CMD----------------|
319 HOSTIF_DM_ENUM_DEVICES) |----------fill ishtp_msg_hdr struct write to HW----- >|
321 | | |<-----IRQ(IPC_PROTOCOL_ISHTP---|
323 |<--ENUM_DEVICE RSP------| | |
327 HOSTIF_GET_HID_DESCRIPTOR|----------fill ishtp_msg_hdr struct write to HW----- >|
333 HOSTIF_GET_REPORT_DESCRIPTOR|--------------fill ishtp_msg_hdr struct write to HW-- >|
343 -----------------
351 -----------------------------------------------------
355 root@otcpl-ThinkPad-Yoga-260:~# tree -l /sys/bus/iio/devices/
357 ├── iio:device0 -> ../../../devices/0044:8086:22D8.0001/HID-SENSOR-200073.9.auto/iio:device0