Skip to content

Commit 806a4c3

Browse files
qianruhJiri Kosina
authored andcommitted
Documentation: hid: intel-ish-hid: remove section numbering
Remove section numbering from the Intel Integrated Sensor Hub (ISH) documentation to simplify the structure, making it easier to maintain and update in the future. Suggested-by: Andy Shevchenko <andriy.shevchenko@intel.com> Signed-off-by: Qianru Huang <qianru.huang@intel.com> Signed-off-by: Zhang Lixu <lixu.zhang@intel.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
1 parent b06271e commit 806a4c3

1 file changed

Lines changed: 36 additions & 36 deletions

File tree

Documentation/hid/intel-ish-hid.rst

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ These ISH also comply to HID sensor specification, but the difference is the
1818
transport protocol used for communication. The current external sensor hubs
1919
mainly use HID over I2C or USB. But ISH doesn't use either I2C or USB.
2020

21-
1. Overview
22-
===========
21+
Overview
22+
========
2323

2424
Using a analogy with a usbhid implementation, the ISH follows a similar model
2525
for a very high speed communication::
@@ -58,8 +58,8 @@ implemented as a bus. Each client application executing in the ISH processor
5858
is registered as a device on this bus. The driver, which binds each device
5959
(ISH HID driver) identifies the device type and registers with the HID core.
6060

61-
2. ISH Implementation: Block Diagram
62-
====================================
61+
ISH Implementation: Block Diagram
62+
=================================
6363

6464
::
6565

@@ -96,27 +96,27 @@ is registered as a device on this bus. The driver, which binds each device
9696
| ISH Hardware/Firmware(FW) |
9797
----------------------------
9898

99-
3. High level processing in above blocks
100-
========================================
99+
High level processing in above blocks
100+
=====================================
101101

102-
3.1 Hardware Interface
103-
----------------------
102+
Hardware Interface
103+
------------------
104104

105105
The ISH is exposed as "Non-VGA unclassified PCI device" to the host. The PCI
106106
product and vendor IDs are changed from different generations of processors. So
107107
the source code which enumerates drivers needs to update from generation to
108108
generation.
109109

110-
3.2 Inter Processor Communication (IPC) driver
111-
----------------------------------------------
110+
Inter Processor Communication (IPC) driver
111+
------------------------------------------
112112

113113
Location: drivers/hid/intel-ish-hid/ipc
114114

115115
The IPC message uses memory mapped I/O. The registers are defined in
116116
hw-ish-regs.h.
117117

118-
3.2.1 IPC/FW message types
119-
^^^^^^^^^^^^^^^^^^^^^^^^^^
118+
IPC/FW message types
119+
^^^^^^^^^^^^^^^^^^^^
120120

121121
There are two types of messages, one for management of link and another for
122122
messages to and from transport layers.
@@ -142,20 +142,20 @@ register has the following format::
142142
Bit 31: doorbell trigger (signal H/W interrupt to the other side)
143143
Other bits are reserved, should be 0.
144144

145-
3.2.2 Transport layer interface
146-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
145+
Transport layer interface
146+
^^^^^^^^^^^^^^^^^^^^^^^^^
147147

148148
To abstract HW level IPC communication, a set of callbacks is registered.
149149
The transport layer uses them to send and receive messages.
150150
Refer to struct ishtp_hw_ops for callbacks.
151151

152-
3.3 ISH Transport layer
153-
-----------------------
152+
ISH Transport layer
153+
-------------------
154154

155155
Location: drivers/hid/intel-ish-hid/ishtp/
156156

157-
3.3.1 A Generic Transport Layer
158-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
157+
A Generic Transport Layer
158+
^^^^^^^^^^^^^^^^^^^^^^^^^
159159

160160
The transport layer is a bi-directional protocol, which defines:
161161
- Set of commands to start, stop, connect, disconnect and flow control
@@ -166,8 +166,8 @@ This protocol resembles bus messages described in the following document:
166166
http://www.intel.com/content/dam/www/public/us/en/documents/technical-\
167167
specifications/dcmi-hi-1-0-spec.pdf "Chapter 7: Bus Message Layer"
168168

169-
3.3.2 Connection and Flow Control Mechanism
170-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
169+
Connection and Flow Control Mechanism
170+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
171171

172172
Each FW client and a protocol is identified by a UUID. In order to communicate
173173
to a FW client, a connection must be established using connect request and
@@ -181,8 +181,8 @@ before receiving the next flow control credit.
181181
Either side can send disconnect request bus message to end communication. Also
182182
the link will be dropped if major FW reset occurs.
183183

184-
3.3.3 Peer to Peer data transfer
185-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
184+
Peer to Peer data transfer
185+
^^^^^^^^^^^^^^^^^^^^^^^^^^
186186

187187
Peer to Peer data transfer can happen with or without using DMA. Depending on
188188
the sensor bandwidth requirement DMA can be enabled by using module parameter
@@ -217,8 +217,8 @@ In principle, multiple DMA_XFER and DMA_XFER_ACK messages may be sent at once
217217
Currently, ISH FW decides to send over DMA if ISHTP message is more than 3 IPC
218218
fragments and via IPC otherwise.
219219

220-
3.3.4 Ring Buffers
221-
^^^^^^^^^^^^^^^^^^
220+
Ring Buffers
221+
^^^^^^^^^^^^
222222

223223
When a client initiates a connection, a ring of RX and TX buffers is allocated.
224224
The size of ring can be specified by the client. HID client sets 16 and 32 for
@@ -228,8 +228,8 @@ bus message protocol. These buffers are required because the FW may have not
228228
have processed the last message and may not have enough flow control credits
229229
to send. Same thing holds true on receive side and flow control is required.
230230

231-
3.3.5 Host Enumeration
232-
^^^^^^^^^^^^^^^^^^^^^^
231+
Host Enumeration
232+
^^^^^^^^^^^^^^^^
233233

234234
The host enumeration bus command allows discovery of clients present in the FW.
235235
There can be multiple sensor clients and clients for calibration function.
@@ -252,8 +252,8 @@ Enumeration sequence of messages:
252252
- Once host received properties for that last discovered client, it considers
253253
ISHTP device fully functional (and allocates DMA buffers)
254254

255-
3.4 HID over ISH Client
256-
-----------------------
255+
HID over ISH Client
256+
-------------------
257257

258258
Location: drivers/hid/intel-ish-hid
259259

@@ -265,16 +265,16 @@ The ISHTP client driver is responsible for:
265265
- Process Get/Set feature request
266266
- Get input reports
267267

268-
3.5 HID Sensor Hub MFD and IIO sensor drivers
269-
---------------------------------------------
268+
HID Sensor Hub MFD and IIO sensor drivers
269+
-----------------------------------------
270270

271271
The functionality in these drivers is the same as an external sensor hub.
272272
Refer to
273273
Documentation/hid/hid-sensor.rst for HID sensor
274274
Documentation/ABI/testing/sysfs-bus-iio for IIO ABIs to user space.
275275

276-
3.6 End to End HID transport Sequence Diagram
277-
---------------------------------------------
276+
End to End HID transport Sequence Diagram
277+
-----------------------------------------
278278

279279
::
280280

@@ -339,16 +339,16 @@ Documentation/ABI/testing/sysfs-bus-iio for IIO ABIs to user space.
339339
| | | |
340340

341341

342-
3.7 ISH Debugging
343-
-----------------
342+
ISH Debugging
343+
-------------
344344

345345
To debug ISH, event tracing mechanism is used. To enable debug logs::
346346

347347
echo 1 > /sys/kernel/tracing/events/intel_ish/enable
348348
cat /sys/kernel/tracing/trace
349349

350-
3.8 ISH IIO sysfs Example on Lenovo thinkpad Yoga 260
351-
-----------------------------------------------------
350+
ISH IIO sysfs Example on Lenovo thinkpad Yoga 260
351+
-------------------------------------------------
352352

353353
::
354354

0 commit comments

Comments
 (0)