€•Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ&/translations/zh_CN/driver-api/slimbus”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ&/translations/zh_TW/driver-api/slimbus”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ&/translations/it_IT/driver-api/slimbus”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ&/translations/ja_JP/driver-api/slimbus”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ&/translations/ko_KR/driver-api/slimbus”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ&/translations/pt_BR/driver-api/slimbus”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ&/translations/sp_SP/driver-api/slimbus”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒLinux kernel SLIMbus support”h]”hŒLinux kernel SLIMbus support”…”�”}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³Œ@/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus.rst”h´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒOverview”h]”hŒOverview”…”�”}”(hhÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhhËh²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒWhat is SLIMbus?”h]”hŒWhat is SLIMbus?”…”�”}”(hhßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhhÜh²hh³hÊh´K ubhŒ paragraph”“”)�”}”(hŒéSLIMbus (Serial Low Power Interchip Media Bus) is a specification developed by MIPI (Mobile Industry Processor Interface) alliance. The bus uses master/slave configuration, and is a 2-wire multi-drop implementation (clock, and data).”h]”hŒéSLIMbus (Serial Low Power Interchip Media Bus) is a specification developed by MIPI (Mobile Industry Processor Interface) alliance. The bus uses master/slave configuration, and is a 2-wire multi-drop implementation (clock, and data).”…”�”}”(hhïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³hÊh´K hhÜh²hubhî)�”}”(hŒòCurrently, SLIMbus is used to interface between application processors of SoCs (System-on-Chip) and peripheral components (typically codec). SLIMbus uses Time-Division-Multiplexing to accommodate multiple data channels, and a control channel.”h]”hŒòCurrently, SLIMbus is used to interface between application processors of SoCs (System-on-Chip) and peripheral components (typically codec). SLIMbus uses Time-Division-Multiplexing to accommodate multiple data channels, and a control channel.”…”�”}”(hhýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³hÊh´KhhÜh²hubhî)�”}”(hX*The control channel is used for various control functions such as bus management, configuration and status updates. These messages can be unicast (e.g. reading/writing device specific values), or multicast (e.g. data channel reconfiguration sequence is a broadcast message announced to all devices)”h]”hX*The control channel is used for various control functions such as bus management, configuration and status updates. These messages can be unicast (e.g. reading/writing device specific values), or multicast (e.g. data channel reconfiguration sequence is a broadcast message announced to all devices)”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³hÊh´KhhÜh²hubhî)�”}”(hŒtA data channel is used for data-transfer between 2 SLIMbus devices. Data channel uses dedicated ports on the device.”h]”hŒtA data channel is used for data-transfer between 2 SLIMbus devices. Data channel uses dedicated ports on the device.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³hÊh´KhhÜh²hubeh}”(h]”Œwhat-is-slimbus”ah ]”h"]”Œwhat is slimbus?”ah$]”h&]”uh1hµhhËh²hh³hÊh´K ubh¶)�”}”(hhh]”(h»)�”}”(hŒHardware description:”h]”hŒHardware description:”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj/h²hh³hÊh´Kubhî)�”}”(hŒàSLIMbus specification has different types of device classifications based on their capabilities. A manager device is responsible for enumeration, configuration, and dynamic channel allocation. Every bus has 1 active manager.”h]”hŒàSLIMbus specification has different types of device classifications based on their capabilities. A manager device is responsible for enumeration, configuration, and dynamic channel allocation. Every bus has 1 active manager.”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³hÊh´Khj/h²hubhî)�”}”(hŒNA generic device is a device providing application functionality (e.g. codec).”h]”hŒNA generic device is a device providing application functionality (e.g. codec).”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³hÊh´K"hj/h²hubhî)�”}”(hŒrFramer device is responsible for clocking the bus, and transmitting frame-sync and framing information on the bus.”h]”hŒrFramer device is responsible for clocking the bus, and transmitting frame-sync and framing information on the bus.”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³hÊh´K$hj/h²hubhî)�”}”(hŒMEach SLIMbus component has an interface device for monitoring physical layer.”h]”hŒMEach SLIMbus component has an interface device for monitoring physical layer.”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³hÊh´K'hj/h²hubhî)�”}”(hX]Typically each SoC contains SLIMbus component having 1 manager, 1 framer device, 1 generic device (for data channel support), and 1 interface device. External peripheral SLIMbus component usually has 1 generic device (for functionality/data channel support), and an associated interface device. The generic device's registers are mapped as 'value elements' so that they can be written/read using SLIMbus control channel exchanging control/status type of information. In case there are multiple framer devices on the same bus, manager device is responsible to select the active-framer for clocking the bus.”h]”hXcTypically each SoC contains SLIMbus component having 1 manager, 1 framer device, 1 generic device (for data channel support), and 1 interface device. External peripheral SLIMbus component usually has 1 generic device (for functionality/data channel support), and an associated interface device. The generic device’s registers are mapped as ‘value elements’ so that they can be written/read using SLIMbus control channel exchanging control/status type of information. In case there are multiple framer devices on the same bus, manager device is responsible to select the active-framer for clocking the bus.”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³hÊh´K)hj/h²hubhî)�”}”(hŒßPer specification, SLIMbus uses "clock gears" to do power management based on current frequency and bandwidth requirements. There are 10 clock gears and each gear changes the SLIMbus frequency to be twice its previous gear.”h]”hŒãPer specification, SLIMbus uses “clock gearsâ€� to do power management based on current frequency and bandwidth requirements. There are 10 clock gears and each gear changes the SLIMbus frequency to be twice its previous gear.”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³hÊh´K3hj/h²hubhî)�”}”(hŒ�Each device has a 6-byte enumeration-address and the manager assigns every device with a 1-byte logical address after the devices report presence on the bus.”h]”hŒ�Each device has a 6-byte enumeration-address and the manager assigns every device with a 1-byte logical address after the devices report presence on the bus.”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³hÊh´K7hj/h²hubeh}”(h]”Œhardware-description”ah ]”h"]”Œhardware description:”ah$]”h&]”uh1hµhhËh²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒSoftware description:”h]”hŒSoftware description:”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjªh²hh³hÊh´Kh]”hŒSLIM_DEVICE_STATUS_RESERVED”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K*hj8ubjX)�”}”(hhh]”hî)�”}”(hŒReserved for future use.”h]”hŒReserved for future use.”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K+hjTubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jSh´K*hjÃubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hj§ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_device (C struct)”Œ c.slim_device”hNt”auh1jAhj0h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒ slim_device”h]”j^)�”}”(hŒstruct slim_device”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchj”h²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K0ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj”h²hh³j¥h´K0ubj‡)�”}”(hŒ slim_device”h]”j�)�”}”(hj’h]”hŒ slim_device”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj´ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hj”h²hh³j¥h´K0ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hj�h²hh³j¥h´K0ubah}”(h]”j‹ah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³j¥h´K0hj�h²hubj»)�”}”(hhh]”hî)�”}”(hŒSlim device handle.”h]”hŒSlim device handle.”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K,hj×h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhj�h²hh³j¥h´K0ubeh}”(h]”h ]”(j׌struct”eh"]”h$]”h&]”jÜj×jÝjòjÞjòj߉jà‰já‰uh1jRh²hhj0h³Nh´Nubjã)�”}”(hXÑ**Definition**:: struct slim_device { struct device dev; struct slim_eaddr e_addr; struct slim_controller *ctrl; enum slim_device_status status; u8 laddr; bool is_laddr_valid; struct list_head stream_list; spinlock_t stream_list_lock; }; **Members** ``dev`` Driver model representation of the device. ``e_addr`` Enumeration address of this device. ``ctrl`` slim controller instance. ``status`` slim device status ``laddr`` 1-byte Logical address of this device. ``is_laddr_valid`` indicates if the laddr is valid or not ``stream_list`` List of streams on this device ``stream_list_lock`` lock to protect the stream list”h]”(hî)�”}”(hŒ**Definition**::”h]”(jí)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjúubhŒ:”…”�”}”(hjúh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K0hjöubj)�”}”(hXstruct slim_device { struct device dev; struct slim_eaddr e_addr; struct slim_controller *ctrl; enum slim_device_status status; u8 laddr; bool is_laddr_valid; struct list_head stream_list; spinlock_t stream_list_lock; };”h]”hXstruct slim_device { struct device dev; struct slim_eaddr e_addr; struct slim_controller *ctrl; enum slim_device_status status; u8 laddr; bool is_laddr_valid; struct list_head stream_list; spinlock_t stream_list_lock; };”…”�”}”hjsbah}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1jh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K2hjöubhî)�”}”(hŒ **Members**”h]”jí)�”}”(hj(h]”hŒMembers”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj&ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K=hjöubj1)�”}”(hhh]”(j6)�”}”(hŒ3``dev`` Driver model representation of the device. ”h]”(j<)�”}”(hŒ``dev``”h]”jB)�”}”(hjGh]”hŒdev”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjEubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K.hjAubjX)�”}”(hhh]”hî)�”}”(hŒ*Driver model representation of the device.”h]”hŒ*Driver model representation of the device.”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j\h´K.hj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjAubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j\h´K.hj>ubj6)�”}”(hŒ/``e_addr`` Enumeration address of this device. ”h]”(j<)�”}”(hŒ ``e_addr``”h]”jB)�”}”(hj€h]”hŒe_addr”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K/hjzubjX)�”}”(hhh]”hî)�”}”(hŒ#Enumeration address of this device.”h]”hŒ#Enumeration address of this device.”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j•h´K/hj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjzubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j•h´K/hj>ubj6)�”}”(hŒ#``ctrl`` slim controller instance. ”h]”(j<)�”}”(hŒ``ctrl``”h]”jB)�”}”(hj¹h]”hŒctrl”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K1hj³ubjX)�”}”(hhh]”hî)�”}”(hŒslim controller instance.”h]”hŒslim controller instance.”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jÎh´K1hjÏubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÎh´K1hj>ubj6)�”}”(hŒ``status`` slim device status ”h]”(j<)�”}”(hŒ ``status``”h]”jB)�”}”(hjòh]”hŒstatus”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjðubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K0hjìubjX)�”}”(hhh]”hî)�”}”(hŒslim device status”h]”hŒslim device status”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jh´K0hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjìubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jh´K0hj>ubj6)�”}”(hŒ1``laddr`` 1-byte Logical address of this device. ”h]”(j<)�”}”(hŒ ``laddr``”h]”jB)�”}”(hj+h]”hŒladdr”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K2hj%ubjX)�”}”(hhh]”hî)�”}”(hŒ&1-byte Logical address of this device.”h]”hŒ&1-byte Logical address of this device.”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j@h´K2hjAubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j@h´K2hj>ubj6)�”}”(hŒ:``is_laddr_valid`` indicates if the laddr is valid or not ”h]”(j<)�”}”(hŒ``is_laddr_valid``”h]”jB)�”}”(hjdh]”hŒis_laddr_valid”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjbubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K3hj^ubjX)�”}”(hhh]”hî)�”}”(hŒ&indicates if the laddr is valid or not”h]”hŒ&indicates if the laddr is valid or not”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jyh´K3hjzubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jyh´K3hj>ubj6)�”}”(hŒ/``stream_list`` List of streams on this device ”h]”(j<)�”}”(hŒ``stream_list``”h]”jB)�”}”(hj�h]”hŒ stream_list”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj›ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K4hj—ubjX)�”}”(hhh]”hî)�”}”(hŒList of streams on this device”h]”hŒList of streams on this device”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j²h´K4hj³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj—ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j²h´K4hj>ubj6)�”}”(hŒ4``stream_list_lock`` lock to protect the stream list”h]”(j<)�”}”(hŒ``stream_list_lock``”h]”jB)�”}”(hjÖh]”hŒstream_list_lock”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjÔubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K4hjÐubjX)�”}”(hhh]”hî)�”}”(hŒlock to protect the stream list”h]”hŒlock to protect the stream list”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K5hjìubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjÐubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jëh´K4hj>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hjöubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³Nh´Nubhî)�”}”(hŒ**Description**”h]”jí)�”}”(hjh]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K8hj0h²hubhî)�”}”(hŒ This is the client/device handle returned when a SLIMbus device is registered with a controller. Pointer to this structure is used by client-driver as a handle.”h]”hŒ This is the client/device handle returned when a SLIMbus device is registered with a controller. Pointer to this structure is used by client-driver as a handle.”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K5hj0h²hubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_driver (C struct)”Œ c.slim_driver”hNt”auh1jAhj0h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒ slim_driver”h]”j^)�”}”(hŒstruct slim_driver”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjSh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´KShj; ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j: h´KRhjýubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hjµubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_val_inf (C struct)”Œc.slim_val_inf”hNt”auh1jAhj0h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒ slim_val_inf”h]”j^)�”}”(hŒstruct slim_val_inf”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchj{ h²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´KYubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj{ h²hh³jŒ h´KYubj‡)�”}”(hŒ slim_val_inf”h]”j�)�”}”(hjy h]”hŒ slim_val_inf”…”�”}”(hjŸ h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj› ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hj{ h²hh³jŒ h´KYubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjw h²hh³jŒ h´KYubah}”(h]”jr ah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jŒ h´KYhjt h²hubj»)�”}”(hhh]”hî)�”}”(hŒ$Slimbus value or information element”h]”hŒ$Slimbus value or information element”…”�”}”(hjÁ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´Kahj¾ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjt h²hh³jŒ h´KYubeh}”(h]”h ]”(j׌struct”eh"]”h$]”h&]”jÜj×jÝjÙ jÞjÙ j߉jà‰já‰uh1jRh²hhj0h³Nh´Nubjã)�”}”(hXd**Definition**:: struct slim_val_inf { u16 start_offset; u8 num_bytes; u8 *rbuf; const u8 *wbuf; struct completion *comp; }; **Members** ``start_offset`` Specifies starting offset in information/value element map ``num_bytes`` upto 16. This ensures that the message will fit the slicesize per SLIMbus spec ``rbuf`` buffer to read the values ``wbuf`` buffer to write ``comp`` completion for asynchronous operations, valid only if TID is required for transaction, like REQUEST operations. Rest of the transactions are synchronous anyway.”h]”(hî)�”}”(hŒ**Definition**::”h]”(jí)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjå h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjá ubhŒ:”…”�”}”(hjá h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´KehjÝ ubj)�”}”(hŒ“struct slim_val_inf { u16 start_offset; u8 num_bytes; u8 *rbuf; const u8 *wbuf; struct completion *comp; };”h]”hŒ“struct slim_val_inf { u16 start_offset; u8 num_bytes; u8 *rbuf; const u8 *wbuf; struct completion *comp; };”…”�”}”hjþ sbah}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1jh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´KghjÝ ubhî)�”}”(hŒ **Members**”h]”jí)�”}”(hj h]”hŒMembers”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´KohjÝ ubj1)�”}”(hhh]”(j6)�”}”(hŒL``start_offset`` Specifies starting offset in information/value element map ”h]”(j<)�”}”(hŒ``start_offset``”h]”jB)�”}”(hj. h]”hŒ start_offset”…”�”}”(hj0 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj, ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´Kchj( ubjX)�”}”(hhh]”hî)�”}”(hŒ:Specifies starting offset in information/value element map”h]”hŒ:Specifies starting offset in information/value element map”…”�”}”(hjG h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jC h´KchjD ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj( ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jC h´Kchj% ubj6)�”}”(hŒ]``num_bytes`` upto 16. This ensures that the message will fit the slicesize per SLIMbus spec ”h]”(j<)�”}”(hŒ ``num_bytes``”h]”jB)�”}”(hjg h]”hŒ num_bytes”…”�”}”(hji h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhje ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´Kghja ubjX)�”}”(hhh]”hî)�”}”(hŒNupto 16. This ensures that the message will fit the slicesize per SLIMbus spec”h]”hŒNupto 16. This ensures that the message will fit the slicesize per SLIMbus spec”…”�”}”(hj€ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´Kfhj} ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhja ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j| h´Kghj% ubj6)�”}”(hŒ#``rbuf`` buffer to read the values ”h]”(j<)�”}”(hŒ``rbuf``”h]”jB)�”}”(hj¡ h]”hŒrbuf”…”�”}”(hj£ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjŸ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´Kdhj› ubjX)�”}”(hhh]”hî)�”}”(hŒbuffer to read the values”h]”hŒbuffer to read the values”…”�”}”(hjº h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j¶ h´Kdhj· ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj› ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j¶ h´Kdhj% ubj6)�”}”(hŒ``wbuf`` buffer to write ”h]”(j<)�”}”(hŒ``wbuf``”h]”jB)�”}”(hjÚ h]”hŒwbuf”…”�”}”(hjÜ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjØ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´KehjÔ ubjX)�”}”(hhh]”hî)�”}”(hŒbuffer to write”h]”hŒbuffer to write”…”�”}”(hjó h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jï h´Kehjð ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjÔ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jï h´Kehj% ubj6)�”}”(hŒ©``comp`` completion for asynchronous operations, valid only if TID is required for transaction, like REQUEST operations. Rest of the transactions are synchronous anyway.”h]”(j<)�”}”(hŒ``comp``”h]”jB)�”}”(hj h]”hŒcomp”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´Kihj ubjX)�”}”(hhh]”hî)�”}”(hŒ completion for asynchronous operations, valid only if TID is required for transaction, like REQUEST operations. Rest of the transactions are synchronous anyway.”h]”hŒ completion for asynchronous operations, valid only if TID is required for transaction, like REQUEST operations. Rest of the transactions are synchronous anyway.”…”�”}”(hj, h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´Khhj) ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j( h´Kihj% ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hjÝ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_stream_config (C struct)”Œc.slim_stream_config”hNt”auh1jAhj0h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒslim_stream_config”h]”j^)�”}”(hŒstruct slim_stream_config”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjm h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchji h²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´Kpubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{ h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhji h²hh³jz h´Kpubj‡)�”}”(hŒslim_stream_config”h]”j�)�”}”(hjg h]”hŒslim_stream_config”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj‰ ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hji h²hh³jz h´Kpubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hje h²hh³jz h´Kpubah}”(h]”j` ah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jz h´Kphjb h²hubj»)�”}”(hhh]”hî)�”}”(hŒñSLIMbus stream configuration Configuring a stream is done at hw_params or prepare call from audio drivers where they have all the required information regarding rate, number of channels and so on. There is a 1:1 mapping of channel and ports.”h]”hŒñSLIMbus stream configuration Configuring a stream is done at hw_params or prepare call from audio drivers where they have all the required information regarding rate, number of channels and so on. There is a 1:1 mapping of channel and ports.”…”�”}”(hj¯ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´Kxhj¬ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjb h²hh³jz h´Kpubeh}”(h]”h ]”(j׌struct”eh"]”h$]”h&]”jÜj×jÝjÇ jÞjÇ j߉jà‰já‰uh1jRh²hhj0h³Nh´Nubjã)�”}”(hX**Definition**:: struct slim_stream_config { unsigned int rate; unsigned int bps; unsigned int ch_count; unsigned int *chs; unsigned long port_mask; int direction; }; **Members** ``rate`` data rate ``bps`` bits per data sample ``ch_count`` number of channels ``chs`` pointer to list of channel numbers ``port_mask`` port mask of ports to use for this stream ``direction`` direction of the stream, SNDRV_PCM_STREAM_PLAYBACK or SNDRV_PCM_STREAM_CAPTURE.”h]”(hî)�”}”(hŒ**Definition**::”h]”(jí)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjÓ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjÏ ubhŒ:”…”�”}”(hjÏ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K|hjË ubj)�”}”(hŒ­struct slim_stream_config { unsigned int rate; unsigned int bps; unsigned int ch_count; unsigned int *chs; unsigned long port_mask; int direction; };”h]”hŒ­struct slim_stream_config { unsigned int rate; unsigned int bps; unsigned int ch_count; unsigned int *chs; unsigned long port_mask; int direction; };”…”�”}”hjì sbah}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1jh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K~hjË ubhî)�”}”(hŒ **Members**”h]”jí)�”}”(hjý h]”hŒMembers”…”�”}”(hjÿ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjû ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K‡hjË ubj1)�”}”(hhh]”(j6)�”}”(hŒ``rate`` data rate ”h]”(j<)�”}”(hŒ``rate``”h]”jB)�”}”(hj h]”hŒrate”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´Khj ubjX)�”}”(hhh]”hî)�”}”(hŒ data rate”h]”hŒ data rate”…”�”}”(hj5 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j1 h´Khj2 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j1 h´Khj ubj6)�”}”(hŒ``bps`` bits per data sample ”h]”(j<)�”}”(hŒ``bps``”h]”jB)�”}”(hjU h]”hŒbps”…”�”}”(hjW h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjS ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K€hjO ubjX)�”}”(hhh]”hî)�”}”(hŒbits per data sample”h]”hŒbits per data sample”…”�”}”(hjn h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jj h´K€hjk ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjO ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jj h´K€hj ubj6)�”}”(hŒ ``ch_count`` number of channels ”h]”(j<)�”}”(hŒ ``ch_count``”h]”jB)�”}”(hjŽ h]”hŒch_count”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjŒ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K�hjˆ ubjX)�”}”(hhh]”hî)�”}”(hŒnumber of channels”h]”hŒnumber of channels”…”�”}”(hj§ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j£ h´K�hj¤ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjˆ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j£ h´K�hj ubj6)�”}”(hŒ+``chs`` pointer to list of channel numbers ”h]”(j<)�”}”(hŒ``chs``”h]”jB)�”}”(hjÇ h]”hŒchs”…”�”}”(hjÉ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjÅ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K‚hjÁ ubjX)�”}”(hhh]”hî)�”}”(hŒ"pointer to list of channel numbers”h]”hŒ"pointer to list of channel numbers”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jÜ h´K‚hjÝ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjÁ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÜ h´K‚hj ubj6)�”}”(hŒ8``port_mask`` port mask of ports to use for this stream ”h]”(j<)�”}”(hŒ ``port_mask``”h]”jB)�”}”(hjh]”hŒ port_mask”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjþ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´Kƒhjú ubjX)�”}”(hhh]”hî)�”}”(hŒ)port mask of ports to use for this stream”h]”hŒ)port mask of ports to use for this stream”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jh´Kƒhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjú ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jh´Kƒhj ubj6)�”}”(hŒ]``direction`` direction of the stream, SNDRV_PCM_STREAM_PLAYBACK or SNDRV_PCM_STREAM_CAPTURE.”h]”(j<)�”}”(hŒ ``direction``”h]”jB)�”}”(hj9h]”hŒ direction”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K„hj3ubjX)�”}”(hhh]”hî)�”}”(hŒOdirection of the stream, SNDRV_PCM_STREAM_PLAYBACK or SNDRV_PCM_STREAM_CAPTURE.”h]”hŒOdirection of the stream, SNDRV_PCM_STREAM_PLAYBACK or SNDRV_PCM_STREAM_CAPTURE.”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jNh´K„hjOubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jNh´K„hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hjË ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒmodule_slim_driver (C macro)”Œc.module_slim_driver”hNt”auh1jAhj0h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒmodule_slim_driver”h]”j^)�”}”(hŒmodule_slim_driver”h]”j‡)�”}”(hŒmodule_slim_driver”h]”j�)�”}”(hjŒh]”hŒmodule_slim_driver”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj’ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hjŽh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´Kšubah}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjŠh²hh³j©h´Kšubah}”(h]”j…ah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³j©h´Kšhj‡h²hubj»)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jºhj‡h²hh³j©h´Kšubeh}”(h]”h ]”(j׌macro”eh"]”h$]”h&]”jÜj×jÝjÂjÞjÂj߉jà‰já‰uh1jRh²hhj0h³Nh´Nubhî)�”}”(hŒ&``module_slim_driver (__slim_driver)``”h]”jB)�”}”(hjÈh]”hŒ"module_slim_driver (__slim_driver)”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjÆubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´Kœhj0h²hubhŒ block_quote”“”)�”}”(hŒ.Helper macro for registering a SLIMbus driver ”h]”hî)�”}”(hŒ-Helper macro for registering a SLIMbus driver”h]”hŒ-Helper macro for registering a SLIMbus driver”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´Kšhjàubah}”(h]”h ]”h"]”h$]”h&]”uh1jÞh³jòh´Kšhj0h²hubjã)�”}”(hX***Parameters** ``__slim_driver`` slimbus_driver struct **Description** Helper macro for SLIMbus drivers which do not do anything special in module init/exit. This eliminates a lot of boilerplate. Each module may only use this macro once, and calling it replaces module_init() and module_exit()”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hjÿh]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjýubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´Kžhjùubj1)�”}”(hhh]”j6)�”}”(hŒ(``__slim_driver`` slimbus_driver struct ”h]”(j<)�”}”(hŒ``__slim_driver``”h]”jB)�”}”(hjh]”hŒ __slim_driver”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K›hjubjX)�”}”(hhh]”hî)�”}”(hŒslimbus_driver struct”h]”hŒslimbus_driver struct”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j3h´K›hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j3h´K›hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjùubhî)�”}”(hŒ**Description**”h]”jí)�”}”(hjYh]”hŒ Description”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjWubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´K�hjùubhî)�”}”(hŒÞHelper macro for SLIMbus drivers which do not do anything special in module init/exit. This eliminates a lot of boilerplate. Each module may only use this macro once, and calling it replaces module_init() and module_exit()”h]”hŒÞHelper macro for SLIMbus drivers which do not do anything special in module init/exit. This eliminates a lot of boilerplate. Each module may only use this macro once, and calling it replaces module_init() and module_exit()”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:94: ./include/linux/slimbus.h”h´Kœhjùubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_framer (C struct)”Œ c.slim_framer”hNt”auh1jAhj0h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´NubjS)�”}”(hhh]”(jX)�”}”(hŒ slim_framer”h]”j^)�”}”(hŒstruct slim_framer”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchj›h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj›h²hh³j¬h´Kubj‡)�”}”(hŒ slim_framer”h]”j�)�”}”(hj™h]”hŒ slim_framer”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj»ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hj›h²hh³j¬h´Kubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hj—h²hh³j¬h´Kubah}”(h]”j‘ah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³j¬h´Khj”h²hubj»)�”}”(hhh]”hî)�”}”(hŒµRepresents SLIMbus framer. Every controller may have multiple framers. There is 1 active framer device responsible for clocking the bus. Manager is responsible for framer hand-over.”h]”hŒµRepresents SLIMbus framer. Every controller may have multiple framers. There is 1 active framer device responsible for clocking the bus. Manager is responsible for framer hand-over.”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K[hjÞh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhj”h²hh³j¬h´Kubeh}”(h]”h ]”(j׌struct”eh"]”h$]”h&]”jÜj×jÝjùjÞjùj߉jà‰já‰uh1jRh²hhj0h³j“h´Nubjã)�”}”(hXæ**Definition**:: struct slim_framer { struct device dev; struct slim_eaddr e_addr; int rootfreq; int superfreq; }; **Members** ``dev`` Driver model representation of the device. ``e_addr`` Enumeration address of the framer. ``rootfreq`` Root Frequency at which the framer can run. This is maximum frequency ('clock gear 10') at which the bus can operate. ``superfreq`` Superframes per root frequency. Every frame is 6144 bits.”h]”(hî)�”}”(hŒ**Definition**::”h]”(jí)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjubhŒ:”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K_hjýubj)�”}”(hŒ�struct slim_framer { struct device dev; struct slim_eaddr e_addr; int rootfreq; int superfreq; };”h]”hŒ�struct slim_framer { struct device dev; struct slim_eaddr e_addr; int rootfreq; int superfreq; };”…”�”}”hjsbah}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kahjýubhî)�”}”(hŒ **Members**”h]”jí)�”}”(hj/h]”hŒMembers”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Khhjýubj1)�”}”(hhh]”(j6)�”}”(hŒ3``dev`` Driver model representation of the device. ”h]”(j<)�”}”(hŒ``dev``”h]”jB)�”}”(hjNh]”hŒdev”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjLubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K`hjHubjX)�”}”(hhh]”hî)�”}”(hŒ*Driver model representation of the device.”h]”hŒ*Driver model representation of the device.”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jch´K`hjdubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjHubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jch´K`hjEubj6)�”}”(hŒ.``e_addr`` Enumeration address of the framer. ”h]”(j<)�”}”(hŒ ``e_addr``”h]”jB)�”}”(hj‡h]”hŒe_addr”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kahj�ubjX)�”}”(hhh]”hî)�”}”(hŒ"Enumeration address of the framer.”h]”hŒ"Enumeration address of the framer.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jœh´Kahj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jœh´KahjEubj6)�”}”(hŒƒ``rootfreq`` Root Frequency at which the framer can run. This is maximum frequency ('clock gear 10') at which the bus can operate. ”h]”(j<)�”}”(hŒ ``rootfreq``”h]”jB)�”}”(hjÀh]”hŒrootfreq”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KchjºubjX)�”}”(hhh]”hî)�”}”(hŒuRoot Frequency at which the framer can run. This is maximum frequency ('clock gear 10') at which the bus can operate.”h]”hŒyRoot Frequency at which the framer can run. This is maximum frequency (‘clock gear 10’) at which the bus can operate.”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KbhjÖubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjºubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÕh´KchjEubj6)�”}”(hŒG``superfreq`` Superframes per root frequency. Every frame is 6144 bits.”h]”(j<)�”}”(hŒ ``superfreq``”h]”jB)�”}”(hjúh]”hŒ superfreq”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjøubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KchjôubjX)�”}”(hhh]”hî)�”}”(hŒ9Superframes per root frequency. Every frame is 6144 bits.”h]”hŒ9Superframes per root frequency. Every frame is 6144 bits.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kdhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjôubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jh´KchjEubeh}”(h]”h ]”h"]”h$]”•h&]”uh1j0hjýubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³j“h´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_msg_txn (C struct)”Œc.slim_msg_txn”hNt”auh1jAhj0h²hh³j“h´NubjS)�”}”(hhh]”(jX)�”}”(hŒ slim_msg_txn”h]”j^)�”}”(hŒstruct slim_msg_txn”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjPh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kjubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjPh²hh³jah´Kjubj‡)�”}”(hŒ slim_msg_txn”h]”j�)�”}”(hjNh]”hŒ slim_msg_txn”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjpubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hjPh²hh³jah´Kjubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjLh²hh³jah´Kjubah}”(h]”jGah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jah´KjhjIh²hubj»)�”}”(hhh]”hî)�”}”(hŒpMessage to be sent by the controller. This structure has packet header, payload and buffer to be filled (if any)”h]”hŒpMessage to be sent by the controller. This structure has packet header, payload and buffer to be filled (if any)”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kohj“h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjIh²hh³jah´Kjubeh}”(h]”h ]”(j׌struct”eh"]”h$]”h&]”jÜj×jÝj®jÞj®j߉jà‰já‰uh1jRh²hhj0h³j“h´Nubjã)�”}”(hXQ**Definition**:: struct slim_msg_txn { u8 rl; u8 mt; u8 mc; u8 dt; u16 ec; u8 tid; u8 la; struct slim_val_inf *msg; struct completion *comp; }; **Members** ``rl`` Header field. remaining length. ``mt`` Header field. Message type. ``mc`` Header field. LSB is message code for type mt. ``dt`` Header field. Destination type. ``ec`` Element code. Used for elemental access APIs. ``tid`` Transaction ID. Used for messages expecting response. (relevant for message-codes involving read operation) ``la`` Logical address of the device this message is going to. (Not used when destination type is broadcast.) ``msg`` Elemental access message to be read/written ``comp`` completion if read/write is synchronous, used internally for tid based transactions.”h]”(hî)�”}”(hŒ**Definition**::”h]”(jí)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj¶ubhŒ:”…”�”}”(hj¶h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kshj²ubj)�”}”(hŒ«struct slim_msg_txn { u8 rl; u8 mt; u8 mc; u8 dt; u16 ec; u8 tid; u8 la; struct slim_val_inf *msg; struct completion *comp; };”h]”hŒ«struct slim_msg_txn { u8 rl; u8 mt; u8 mc; u8 dt; u16 ec; u8 tid; u8 la; struct slim_val_inf *msg; struct completion *comp; };”…”�”}”hjÓsbah}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kuhj²ubhî)�”}”(hŒ **Members**”h]”jí)�”}”(hjäh]”hŒMembers”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjâubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K�hj²ubj1)�”}”(hhh]”(j6)�”}”(hŒ'``rl`` Header field. remaining length. ”h]”(j<)�”}”(hŒ``rl``”h]”jB)�”}”(hjh]”hŒrl”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KshjýubjX)�”}”(hhh]”hî)�”}”(hŒHeader field. remaining length.”h]”hŒHeader field. remaining length.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jh´Kshjubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjýubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jh´Kshjúubj6)�”}”(hŒ#``mt`` Header field. Message type. ”h]”(j<)�”}”(hŒ``mt``”h]”jB)�”}”(hj<h]”hŒmt”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kthj6ubjX)�”}”(hhh]”hî)�”}”(hŒHeader field. Message type.”h]”hŒHeader field. Message type.”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jQh´KthjRubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jQh´Kthjúubj6)�”}”(hŒ6``mc`` Header field. LSB is message code for type mt. ”h]”(j<)�”}”(hŒ``mc``”h]”jB)�”}”(hjuh]”hŒmc”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjsubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KuhjoubjX)�”}”(hhh]”hî)�”}”(hŒ.Header field. LSB is message code for type mt.”h]”hŒ.Header field. LSB is message code for type mt.”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jŠh´Kuhj‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjoubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jŠh´Kuhjúubj6)�”}”(hŒ'``dt`` Header field. Destination type. ”h]”(j<)�”}”(hŒ``dt``”h]”jB)�”}”(hj®h]”hŒdt”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj¬ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kvhj¨ubjX)�”}”(hhh]”hî)�”}”(hŒHeader field. Destination type.”h]”hŒHeader field. Destination type.”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jÃh´KvhjÄubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj¨ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÃh´Kvhjúubj6)�”}”(hŒ5``ec`` Element code. Used for elemental access APIs. ”h]”(j<)�”}”(hŒ``ec``”h]”jB)�”}”(hjçh]”hŒec”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjåubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KwhjáubjX)�”}”(hhh]”hî)�”}”(hŒ-Element code. Used for elemental access APIs.”h]”hŒ-Element code. Used for elemental access APIs.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jüh´Kwhjýubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjáubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jüh´Kwhjúubj6)�”}”(hŒt``tid`` Transaction ID. Used for messages expecting response. (relevant for message-codes involving read operation) ”h]”(j<)�”}”(hŒ``tid``”h]”jB)�”}”(hj h]”hŒtid”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KyhjubjX)�”}”(hhh]”hî)�”}”(hŒkTransaction ID. Used for messages expecting response. (relevant for message-codes involving read operation)”h]”hŒkTransaction ID. Used for messages expecting response. (relevant for message-codes involving read operation)”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kxhj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j5h´Kyhjúubj6)�”}”(hŒn``la`` Logical address of the device this message is going to. (Not used when destination type is broadcast.) ”h]”(j<)�”}”(hŒ``la``”h]”jB)�”}”(hjZh]”hŒla”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjXubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K{hjTubjX)�”}”(hhh]”hî)�”}”(hŒfLogical address of the device this message is going to. (Not used when destination type is broadcast.)”h]”hŒfLogical address of the device this message is going to. (Not used when destination type is broadcast.)”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kzhjpubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjTubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³joh´K{hjúubj6)�”}”(hŒ4``msg`` Elemental access message to be read/written ”h]”(j<)�”}”(hŒ``msg``”h]”jB)�”}”(hj”h]”hŒmsg”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K|hjŽubjX)�”}”(hhh]”hî)�”}”(hŒ+Elemental access message to be read/written”h]”hŒ+Elemental access message to be read/written”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j©h´K|hjªubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjŽubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j©h´K|hjúubj6)�”}”(hŒ]``comp`` completion if read/write is synchronous, used internally for tid based transactions.”h]”(j<)�”}”(hŒ``comp``”h]”jB)�”}”(hjÍh]”hŒcomp”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjËubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K}hjÇubjX)�”}”(hhh]”hî)�”}”(hŒTcompletion if read/write is synchronous, used internally for tid based transactions.”h]”hŒTcompletion if read/write is synchronous, used internally for tid based transactions.”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jâh´K}hjãubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjÇubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jâh´K}hjúubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hj²ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³j“h´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_clk_state (C enum)”Œc.slim_clk_state”hNt”auh1jAhj0h²hh³j“h´NubjS)�”}”(hhh]”(jX)�”}”(hŒslim_clk_state”h]”j^)�”}”(hŒenum slim_clk_state”h]”(jd)�”}”(hjJh]”hŒenum”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchj"h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K„ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj"h²hh³j3h´K„ubj‡)�”}”(hŒslim_clk_state”h]”j�)�”}”(hj h]”hŒslim_clk_state”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjBubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hj"h²hh³j3h´K„ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjh²hh³j3h´K„ubah}”(h]”jah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³j3h´K„hjh²hubj»)�”}”(hhh]”hî)�”}”(hŒUSLIMbus controller's clock state used internally for maintaining current clock state.”h]”hŒWSLIMbus controller’s clock state used internally for maintaining current clock state.”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K˜hjeh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjh²hh³j3h´K„ubeh}”(h]”h ]”(j׌enum”eh"]”h$]”h&]”jÜj×jÝj€jÞj€j߉jà‰já‰uh1jRh²hhj0h³j“h´Nubjã)�”}”(hXE**Constants** ``SLIM_CLK_ACTIVE`` SLIMbus clock is active ``SLIM_CLK_ENTERING_PAUSE`` SLIMbus clock pause sequence is being sent on the bus. If this succeeds, state changes to SLIM_CLK_PAUSED. If the transition fails, state changes back to SLIM_CLK_ACTIVE ``SLIM_CLK_PAUSED`` SLIMbus controller clock has paused.”h]”(hî)�”}”(hŒ **Constants**”h]”jí)�”}”(hjŠh]”hŒ Constants”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kœhj„ubj1)�”}”(hhh]”(j6)�”}”(hŒ,``SLIM_CLK_ACTIVE`` SLIMbus clock is active ”h]”(j<)�”}”(hŒ``SLIM_CLK_ACTIVE``”h]”jB)�”}”(hj©h]”hŒSLIM_CLK_ACTIVE”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj§ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KŸhj£ubjX)�”}”(hhh]”hî)�”}”(hŒSLIMbus clock is active”h]”hŒSLIMbus clock is active”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j¾h´KŸhj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj£ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j¾h´KŸhj ubj6)�”}”(hŒÆ``SLIM_CLK_ENTERING_PAUSE`` SLIMbus clock pause sequence is being sent on the bus. If this succeeds, state changes to SLIM_CLK_PAUSED. If the transition fails, state changes back to SLIM_CLK_ACTIVE ”h]”(j<)�”}”(hŒ``SLIM_CLK_ENTERING_PAUSE``”h]”jB)�”}”(hjâh]”hŒSLIM_CLK_ENTERING_PAUSE”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjàubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K¤hjÜubjX)�”}”(hhh]”hî)�”}”(hŒ©SLIMbus clock pause sequence is being sent on the bus. If this succeeds, state changes to SLIM_CLK_PAUSED. If the transition fails, state changes back to SLIM_CLK_ACTIVE”h]”hŒ©SLIMbus clock pause sequence is being sent on the bus. If this succeeds, state changes to SLIM_CLK_PAUSED. If the transition fails, state changes back to SLIM_CLK_ACTIVE”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K¢hjøubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjÜubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j÷h´K¤hj ubj6)�”}”(hŒ8``SLIM_CLK_PAUSED`` SLIMbus controller clock has paused.”h]”(j<)�”}”(hŒ``SLIM_CLK_PAUSED``”h]”jB)�”}”(hjh]”hŒSLIM_CLK_PAUSED”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K¦hjubjX)�”}”(hhh]”hî)�”}”(hŒ$SLIMbus controller clock has paused.”h]”hŒ$SLIMbus controller clock has paused.”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K§hj2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j1h´K¦hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hj„ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³j“h´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_sched (C struct)”Œ c.slim_sched”hNt”auh1jAhj0h²hh³j“h´NubjS)�”}”(hhh]”(jX)�”}”(hŒ slim_sched”h]”j^)�”}”(hŒstruct slim_sched”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjrh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K¬ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjrh²hh³jƒh´K¬ubj‡)�”}”(hŒ slim_sched”h]”j�)�”}”(hjph]”hŒ slim_sched”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj’ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hjrh²hh³jƒh´K¬ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjnh²hh³jƒh´K¬ubah}”(h]”jiah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jƒh´K¬hjkh²hubj»)�”}”(hhh]”hî)�”}”(hŒ8Framework uses this structure internally for scheduling.”h]”hŒ8Framework uses this structure internally for scheduling.”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K§hjµh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjkh²hh³jƒh´K¬ubeh}”(h]”h ]”(j׌struct”eh"]”h$]”h&]”jÜj×jÝjÐjÞjÐj߉jà‰já‰uh1jRh²hhj0h³j“h´Nubjã)�”}”(hXÆ**Definition**:: struct slim_sched { enum slim_clk_state clk_state; struct completion pause_comp; struct mutex m_reconf; }; **Members** ``clk_state`` Controller's clock state from enum slim_clk_state ``pause_comp`` Signals completion of clock pause sequence. This is useful when client tries to call SLIMbus transaction when controller is entering clock pause. ``m_reconf`` This mutex is held until current reconfiguration (data channel scheduling, message bandwidth reservation) is done. Message APIs can use the bus concurrently when this mutex is held since elemental access messages can be sent on the bus when reconfiguration is in progress.”h]”(hî)�”}”(hŒ**Definition**::”h]”(jí)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjØubhŒ:”…”�”}”(hjØh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K«hjÔubj)�”}”(hŒ‹struct slim_sched { enum slim_clk_state clk_state; struct completion pause_comp; struct mutex m_reconf; };”h]”hŒ‹struct slim_sched { enum slim_clk_state clk_state; struct completion pause_comp; struct mutex m_reconf; };”…”�”}”hjõsbah}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K­hjÔubhî)�”}”(hŒ **Members**”h]”jí)�”}”(hjh]”hŒMembers”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K³hjÔubj1)�”}”(hhh]”(j6)�”}”(hŒ@``clk_state`` Controller's clock state from enum slim_clk_state ”h]”(j<)�”}”(hŒ ``clk_state``”h]”jB)�”}”(hj%h]”hŒ clk_state”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj#ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K©hjubjX)�”}”(hhh]”hî)�”}”(hŒ1Controller's clock state from enum slim_clk_state”h]”hŒ3Controller’s clock state from enum slim_clk_state”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j:h´K©hj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j:h´K©hjubj6)�”}”(hŒ¡``pause_comp`` Signals completion of clock pause sequence. This is useful when client tries to call SLIMbus transaction when controller is entering clock pause. ”h]”(j<)�”}”(hŒ``pause_comp``”h]”jB)�”}”(hj^h]”hŒ pause_comp”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K¬hjXubjX)�”}”(hhh]”hî)�”}”(hŒ‘Signals completion of clock pause sequence. This is useful when client tries to call SLIMbus transaction when controller is entering clock pause.”h]”hŒ‘Signals completion of clock pause sequence. This is useful when client tries to call SLIMbus transaction when controller is entering clock pause.”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kªhjtubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjXubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jsh´K¬hjubj6)�”}”(hX``m_reconf`` This mutex is held until current reconfiguration (data channel scheduling, message bandwidth reservation) is done. Message APIs can use the bus concurrently when this mutex is held since elemental access messages can be sent on the bus when reconfiguration is in progress.”h]”(j<)�”}”(hŒ ``m_reconf``”h]”jB)�”}”(hj˜h]”hŒm_reconf”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K¯hj’ubjX)�”}”(hhh]”hî)�”}”(hXThis mutex is held until current reconfiguration (data channel scheduling, message bandwidth reservation) is done. Message APIs can use the bus concurrently when this mutex is held since elemental access messages can be sent on the bus when reconfiguration is in progress.”h]”hXThis mutex is held until current reconfiguration (data channel scheduling, message bandwidth reservation) is done. Message APIs can use the bus concurrently when this mutex is held since elemental access messages can be sent on the bus when reconfiguration is in progress.”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K­hj®ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj’ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j­h´K¯hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hjÔubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³j“h´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_port_direction (C enum)”Œc.slim_port_direction”hNt”auh1jAhj0h²hh³j“h´NubjS)�”}”(hhh]”(jX)�”}”(hŒslim_port_direction”h]”j^)�”}”(hŒenum slim_port_direction”h]”(jd)�”}”(hjJh]”hŒenum”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjîh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K¶ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjîh²hh³jÿh´K¶ubj‡)�”}”(hŒslim_port_direction”h]”j�)�”}”(hjìh]”hŒslim_port_direction”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hjîh²hh³jÿh´K¶ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjêh²hh³jÿh´K¶ubah}”(h]”jåah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jÿh´K¶hjçh²hubj»)�”}”(hhh]”hî)�”}”(hŒSLIMbus port direction”h]”hŒSLIMbus port direction”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K¸hj1h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjçh²hh³jÿh´K¶ubeh}”(h]”h ]”(j׌enum”eh"]”h$]”h&]”jÜj×jÝjLjÞjLj߉jà‰já‰uh1jRh²hhj0h³j“h´Nubjã)�”}”(hŒk**Constants** ``SLIM_PORT_SINK`` SLIMbus port is a sink ``SLIM_PORT_SOURCE`` SLIMbus port is a source”h]”(hî)�”}”(hŒ **Constants**”h]”jí)�”}”(hjVh]”hŒ Constants”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjTubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K¼hjPubj1)�”}”(hhh]”(j6)�”}”(hŒ*``SLIM_PORT_SINK`` SLIMbus port is a sink ”h]”(j<)�”}”(hŒ``SLIM_PORT_SINK``”h]”jB)�”}”(hjuh]”hŒSLIM_PORT_SINK”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjsubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K¿hjoubjX)�”}”(hhh]”hî)�”}”(hŒSLIMbus port is a sink”h]”hŒSLIMbus port is a sink”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jŠh´K¿hj‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjoubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jŠh´K¿hjlubj6)�”}”(hŒ-``SLIM_PORT_SOURCE`` SLIMbus port is a source”h]”(j<)�”}”(hŒ``SLIM_PORT_SOURCE``”h]”jB)�”}”(hj®h]”hŒSLIM_PORT_SOURCE”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj¬ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KÁhj¨ubjX)�”}”(hhh]”hî)�”}”(hŒSLIMbus port is a source”h]”hŒSLIMbus port is a source”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KÂhjÄubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj¨ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÃh´KÁhjlubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hjPubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³j“h´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_port_state (C enum)”Œc.slim_port_state”hNt”auh1jAhj0h²hh³j“h´NubjS)�”}”(hhh]”(jX)�”}”(hŒslim_port_state”h]”j^)�”}”(hŒenum slim_port_state”h]”(jd)�”}”(hjJh]”hŒenum”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KÇubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjh²hh³jh´KÇubj‡)�”}”(hŒslim_port_state”h]”j�)�”}”(hjh]”hŒslim_port_state”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj$ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hjh²hh³jh´KÇubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjh²hh³jh´KÇubah}”(h]”jûah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jh´KÇhjýh²hubj»)�”}”(hhh]”hî)�”}”(hŒASLIMbus Port/Endpoint state machine according to SLIMbus Spec 2.0”h]”hŒASLIMbus Port/Endpoint state machine according to SLIMbus Spec 2.0”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KÂhjGh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjýh²hh³jh´KÇubeh}”(h]”h ]”(j׌enum”eh"]”h$]”h&]”jÜj×jÝjbjÞjbj߉jà‰já‰uh1jRh²hhj0h³j“h´Nubjã)�”}”(hX**Constants** ``SLIM_PORT_DISCONNECTED`` SLIMbus port is disconnected entered from Unconfigure/configured state after DISCONNECT_PORT or REMOVE_CHANNEL core command ``SLIM_PORT_UNCONFIGURED`` SLIMbus port is in unconfigured state. entered from disconnect state after CONNECT_SOURCE/SINK core command ``SLIM_PORT_CONFIGURED`` SLIMbus port is in configured state. entered from unconfigured state after DEFINE_CHANNEL, DEFINE_CONTENT and ACTIVATE_CHANNEL core commands. Ready for data transmission.”h]”(hî)�”}”(hŒ **Constants**”h]”jí)�”}”(hjlh]”hŒ Constants”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjjubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KÆhjfubj1)�”}”(hhh]”(j6)�”}”(hŒ—``SLIM_PORT_DISCONNECTED`` SLIMbus port is disconnected entered from Unconfigure/configured state after DISCONNECT_PORT or REMOVE_CHANNEL core command ”h]”(j<)�”}”(hŒ``SLIM_PORT_DISCONNECTED``”h]”jB)�”}”(hj‹h]”hŒSLIM_PORT_DISCONNECTED”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KËhj…ubjX)�”}”(hhh]”hî)�”}”(hŒ{SLIMbus port is disconnected entered from Unconfigure/configured state after DISCONNECT_PORT or REMOVE_CHANNEL core command”h]”hŒ{SLIMbus port is disconnected entered from Unconfigure/configured state after DISCONNECT_PORT or REMOVE_CHANNEL core command”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KÉhj¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj…ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j h´KËhj‚ubj6)�”}”(hŒ‡``SLIM_PORT_UNCONFIGURED`` SLIMbus port is in unconfigured state. entered from disconnect state after CONNECT_SOURCE/SINK core command ”h]”(j<)�”}”(hŒ``SLIM_PORT_UNCONFIGURED``”h]”jB)�”}”(hjÅh]”hŒSLIM_PORT_UNCONFIGURED”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjÃubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KÏhj¿ubjX)�”}”(hhh]”hî)�”}”(hŒkSLIMbus port is in unconfigured state. entered from disconnect state after CONNECT_SOURCE/SINK core command”h]”hŒkSLIMbus port is in unconfigured state. entered from disconnect state after CONNECT_SOURCE/SINK core command”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KÎhjÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj¿ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÚh´KÏhj‚ubj6)�”}”(hŒÃ``SLIM_PORT_CONFIGURED`` SLIMbus port is in configured state. entered from unconfigured state after DEFINE_CHANNEL, DEFINE_CONTENT and ACTIVATE_CHANNEL core commands. Ready for data transmission.”h]”(j<)�”}”(hŒ``SLIM_PORT_CONFIGURED``”h]”jB)�”}”(hjÿh]”hŒSLIM_PORT_CONFIGURED”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjýubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KÓhjùubjX)�”}”(hhh]”hî)�”}”(hŒªSLIMbus port is in configured state. entered from unconfigured state after DEFINE_CHANNEL, DEFINE_CONTENT and ACTIVATE_CHANNEL core commands. Ready for data transmission.”h]”hŒªSLIMbus port is in configured state. entered from unconfigured state after DEFINE_CHANNEL, DEFINE_CONTENT and ACTIVATE_CHANNEL core commands. Ready for data transmission.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KÒhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjùubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jh´KÓhj‚ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hjfubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³j“h´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_channel_state (C enum)”Œc.slim_channel_state”hNt”auh1jAhj0h²hh³j“h´NubjS)�”}”(hhh]”(jX)�”}”(hŒslim_channel_state”h]”j^)�”}”(hŒenum slim_channel_state”h]”(jd)�”}”(hjJh]”hŒenum”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjUh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KÙubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjUh²hh³jfh´KÙubj‡)�”}”(hŒslim_channel_state”h]”j�)�”}”(hjSh]”hŒslim_channel_state”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjuubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hjUh²hh³jfh´KÙubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjQh²hh³jfh´KÙubah}”(h]”jLah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jfh´KÙhjNh²hubj»)�”}”(hhh]”hî)�”}”(hŒ+SLIMbus channel state machine used by core.”h]”hŒ+SLIMbus channel state machine used by core.”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KÔhj˜h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjNh²hh³jfh´KÙubeh}”(h]”h ]”(j׌enum”eh"]”h$]”h&]”jÜj×jÝj³jÞj³j߉jà‰já‰uh1jRh²hhj0h³j“h´Nubjã)�”}”(hXí**Constants** ``SLIM_CH_STATE_DISCONNECTED`` SLIMbus channel is disconnected ``SLIM_CH_STATE_ALLOCATED`` SLIMbus channel is allocated ``SLIM_CH_STATE_ASSOCIATED`` SLIMbus channel is associated with port ``SLIM_CH_STATE_DEFINED`` SLIMbus channel parameters are defined ``SLIM_CH_STATE_CONTENT_DEFINED`` SLIMbus channel content is defined ``SLIM_CH_STATE_ACTIVE`` SLIMbus channel is active and ready for data ``SLIM_CH_STATE_REMOVED`` SLIMbus channel is inactive and removed”h]”(hî)�”}”(hŒ **Constants**”h]”jí)�”}”(hj½h]”hŒ Constants”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KØhj·ubj1)�”}”(hhh]”(j6)�”}”(hŒ?``SLIM_CH_STATE_DISCONNECTED`` SLIMbus channel is disconnected ”h]”(j<)�”}”(hŒ``SLIM_CH_STATE_DISCONNECTED``”h]”jB)�”}”(hjÜh]”hŒSLIM_CH_STATE_DISCONNECTED”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjÚubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KÛhjÖubjX)�”}”(hhh]”hî)�”}”(hŒSLIMbus channel is disconnected”h]”hŒSLIMbus channel is disconnected”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jñh´KÛhjòubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjÖubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jñh´KÛhjÓubj6)�”}”(hŒ9``SLIM_CH_STATE_ALLOCATED`` SLIMbus channel is allocated ”h]”(j<)�”}”(hŒ``SLIM_CH_STATE_ALLOCATED``”h]”jB)�”}”(hjh]”hŒSLIM_CH_STATE_ALLOCATED”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KÞhjubjX)�”}”(hhh]”hî)�”}”(hŒSLIMbus channel is allocated”h]”hŒSLIMbus channel is allocated”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j*h´KÞhj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j*h´KÞhjÓubj6)�”}”(hŒE``SLIM_CH_STATE_ASSOCIATED`` SLIMbus channel is associated with port ”h]”(j<)�”}”(hŒ``SLIM_CH_STATE_ASSOCIATED``”h]”jB)�”}”(hjNh]”hŒSLIM_CH_STATE_ASSOCIATED”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjLubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KáhjHubjX)�”}”(hhh]”hî)�”}”(hŒ'SLIMbus channel is associated with port”h]”hŒ'SLIMbus channel is associated with port”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jch´Káhjdubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjHubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jch´KáhjÓubj6)�”}”(hŒA``SLIM_CH_STATE_DEFINED`` SLIMbus channel parameters are defined ”h]”(j<)�”}”(hŒ``SLIM_CH_STATE_DEFINED``”h]”jB)�”}”(hj‡h]”hŒSLIM_CH_STATE_DEFINED”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kähj�ubjX)�”}”(hhh]”hî)�”}”(hŒ&SLIMbus channel parameters are defined”h]”hŒ&SLIMbus channel parameters are defined”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jœh´Kähj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jœh´KähjÓubj6)�”}”(hŒE``SLIM_CH_STATE_CONTENT_DEFINED`` SLIMbus channel content is defined ”h]”(j<)�”}”(hŒ!``SLIM_CH_STATE_CONTENT_DEFINED``”h]”jB)�”}”(hjÀh]”hŒSLIM_CH_STATE_CONTENT_DEFINED”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KçhjºubjX)�”}”(hhh]”hî)�”}”(hŒ"SLIMbus channel content is defined”h]”hŒ"SLIMbus channel content is defined”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jÕh´KçhjÖubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjºubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÕh´KçhjÓubj6)�”}”(hŒF``SLIM_CH_STATE_ACTIVE`` SLIMbus channel is active and ready for data ”h]”(j<)�”}”(hŒ``SLIM_CH_STATE_ACTIVE``”h]”jB)�”}”(hjùh]”hŒSLIM_CH_STATE_ACTIVE”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KêhjóubjX)�”}”(hhh]”hî)�”}”(hŒ,SLIMbus channel is active and ready for data”h]”hŒ,SLIMbus channel is active and ready for data”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jh´Kêhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjóubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jh´KêhjÓubj6)�”}”(hŒA``SLIM_CH_STATE_REMOVED`` SLIMbus channel is inactive and removed”h]”(j<)�”}”(hŒ``SLIM_CH_STATE_REMOVED``”h]”jB)�”}”(hj2h]”hŒSLIM_CH_STATE_REMOVED”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kìhj,ubjX)�”}”(hhh]”hî)�”}”(hŒ'SLIMbus channel is inactive and removed”h]”hŒ'SLIMbus channel is inactive and removed”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KíhjHubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jGh´KìhjÓubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hj·ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³j“h´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_ch_data_fmt (C enum)”Œc.slim_ch_data_fmt”hNt”auh1jAhj0h²hh³j“h´NubjS)�”}”(hhh]”(jX)�”}”(hŒslim_ch_data_fmt”h]”j^)�”}”(hŒenum slim_ch_data_fmt”h]”(jd)�”}”(hjJh]”hŒenum”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjˆh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kòubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjˆh²hh³j™h´Kòubj‡)�”}”(hŒslim_ch_data_fmt”h]”j�)�”}”(hj†h]”hŒslim_ch_data_fmt”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj¨ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hjˆh²hh³j™h´Kòubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hj„h²hh³j™h´Kòubah}”(h]”jah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³j™h´Kòhj�h²hubj»)�”}”(hhh]”hî)�”}”(hŒSSLIMbus channel data Type identifiers according to Table 60 of SLIMbus Spec 1.01.01”h]”hŒSSLIMbus channel data Type identifiers according to Table 60 of SLIMbus Spec 1.01.01”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KèhjËh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhj�h²hh³j™h´Kòubeh}”(h]”h ]”(j׌enum”eh"]”h$]”h&]”jÜj×jÝjæjÞjæj߉jà‰já‰uh1jRh²hhj0h³j“h´Nubjã)�”}”(hŒé**Constants** ``SLIM_CH_DATA_FMT_NOT_DEFINED`` Undefined ``SLIM_CH_DATA_FMT_LPCM_AUDIO`` LPCM audio ``SLIM_CH_DATA_FMT_IEC61937_COMP_AUDIO`` IEC61937 Compressed audio ``SLIM_CH_DATA_FMT_PACKED_PDM_AUDIO`` Packed PDM audio”h]”(hî)�”}”(hŒ **Constants**”h]”jí)�”}”(hjðh]”hŒ Constants”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjîubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kìhjêubj1)�”}”(hhh]”(j6)�”}”(hŒ+``SLIM_CH_DATA_FMT_NOT_DEFINED`` Undefined ”h]”(j<)�”}”(hŒ ``SLIM_CH_DATA_FMT_NOT_DEFINED``”h]”jB)�”}”(hjh]”hŒSLIM_CH_DATA_FMT_NOT_DEFINED”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kïhj ubjX)�”}”(hhh]”hî)�”}”(hŒ Undefined”h]”hŒ Undefined”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j$h´Kïhj%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j$h´Kïhjubj6)�”}”(hŒ+``SLIM_CH_DATA_FMT_LPCM_AUDIO`` LPCM audio ”h]”(j<)�”}”(hŒ``SLIM_CH_DATA_FMT_LPCM_AUDIO``”h]”jB)�”}”(hjHh]”hŒSLIM_CH_DATA_FMT_LPCM_AUDIO”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjFubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KòhjBubjX)�”}”(hhh]”hî)�”}”(hŒ LPCM audio”h]”hŒ LPCM audio”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j]h´Kòhj^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjBubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j]h´Kòhjubj6)�”}”(hŒC``SLIM_CH_DATA_FMT_IEC61937_COMP_AUDIO`` IEC61937 Compressed audio ”h]”(j<)�”}”(hŒ(``SLIM_CH_DATA_FMT_IEC61937_COMP_AUDIO``”h]”jB)�”}”(hj�h]”hŒ$SLIM_CH_DATA_FMT_IEC61937_COMP_AUDIO”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kõhj{ubjX)�”}”(hhh]”hî)�”}”(hŒIEC61937 Compressed audio”h]”hŒIEC61937 Compressed audio”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j–h´Kõhj—ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j–h´Kõhjubj6)�”}”(hŒ6``SLIM_CH_DATA_FMT_PACKED_PDM_AUDIO`` Packed PDM audio”h]”(j<)�”}”(hŒ%``SLIM_CH_DATA_FMT_PACKED_PDM_AUDIO``”h]”jB)�”}”(hjºh]”hŒ!SLIM_CH_DATA_FMT_PACKED_PDM_AUDIO”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K÷hj´ubjX)�”}”(hhh]”hî)�”}”(hŒPacked PDM audio”h]”hŒPacked PDM audio”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´KøhjÐubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÏh´K÷hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hjêubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³j“h´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_ch_aux_bit_fmt (C enum)”Œc.slim_ch_aux_bit_fmt”hNt”auh1jAhj0h²hh³j“h´NubjS)�”}”(hhh]”(jX)�”}”(hŒslim_ch_aux_bit_fmt”h]”j^)�”}”(hŒenum slim_ch_aux_bit_fmt”h]”(jd)�”}”(hjJh]”hŒenum”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kýubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjh²hh³j!h´Kýubj‡)�”}”(hŒslim_ch_aux_bit_fmt”h]”j�)�”}”(hjh]”hŒslim_ch_aux_bit_fmt”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj0ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hjh²hh³j!h´Kýubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hj h²hh³j!h´Kýubah}”(h]”jah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³j!h´Kýhj h²hubj»)�”}”(hhh]”hî)�”}”(hŒNSLIMbus channel Aux Field format IDs according to Table 63 of SLIMbus Spec 2.0”h]”hŒNSLIMbus channel Aux Field format IDs according to Table 63 of SLIMbus Spec 2.0”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´K÷hjSh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhj h²hh³j!h´Kýubeh}”(h]”h ]”(j׌enum”eh"]”h$]”h&]”jÜj×jÝjnjÞjnj߉jà‰já‰uh1jRh²hhj0h³j“h´Nubjã)�”}”(hŒ¶**Constants** ``SLIM_CH_AUX_FMT_NOT_APPLICABLE`` Undefined ``SLIM_CH_AUX_FMT_ZCUV_TUNNEL_IEC60958`` ZCUV for tunneling IEC60958 ``SLIM_CH_AUX_FMT_USER_DEFINED`` User defined”h]”(hî)�”}”(hŒ **Constants**”h]”jí)�”}”(hjxh]”hŒ Constants”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjvubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kûhjrubj1)�”}”(hhh]”(j6)�”}”(hŒ-``SLIM_CH_AUX_FMT_NOT_APPLICABLE`` Undefined ”h]”(j<)�”}”(hŒ"``SLIM_CH_AUX_FMT_NOT_APPLICABLE``”h]”jB)�”}”(hj—h]”hŒSLIM_CH_AUX_FMT_NOT_APPLICABLE”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj•ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Kþhj‘ubjX)�”}”(hhh]”hî)�”}”(hŒ Undefined”h]”hŒ Undefined”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j¬h´Kþhj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j¬h´KþhjŽubj6)�”}”(hŒE``SLIM_CH_AUX_FMT_ZCUV_TUNNEL_IEC60958`` ZCUV for tunneling IEC60958 ”h]”(j<)�”}”(hŒ(``SLIM_CH_AUX_FMT_ZCUV_TUNNEL_IEC60958``”h]”jB)�”}”(hjÐh]”hŒ$SLIM_CH_AUX_FMT_ZCUV_TUNNEL_IEC60958”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjÎubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MhjÊubjX)�”}”(hhh]”hî)�”}”(hŒZCUV for tunneling IEC60958”h]”hŒZCUV for tunneling IEC60958”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jåh´Mhjæubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjÊubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jåh´MhjŽubj6)�”}”(hŒ-``SLIM_CH_AUX_FMT_USER_DEFINED`` User defined”h]”(j<)�”}”(hŒ ``SLIM_CH_AUX_FMT_USER_DEFINED``”h]”jB)�”}”(hj h]”hŒSLIM_CH_AUX_FMT_USER_DEFINED”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MhjubjX)�”}”(hhh]”hî)�”}”(hŒ User defined”h]”hŒ User defined”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jh´MhjŽubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hjrubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³j“h´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_channel (C struct)”Œc.slim_channel”hNt”auh1jAhj0h²hh³j“h´NubjS)�”}”(hhh]”(jX)�”}”(hŒ slim_channel”h]”j^)�”}”(hŒstruct slim_channel”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchj_h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´M ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj_h²hh³jph´M ubj‡)�”}”(hŒ slim_channel”h]”j�)�”}”(hj]h]”hŒ slim_channel”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hj_h²hh³jph´M ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hj[h²hh³jph´M ubah}”(h]”jVah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jph´M hjXh²hubj»)�”}”(hhh]”hî)�”}”(hŒ'SLIMbus channel, used for state machine”h]”hŒ'SLIMbus channel, used for state machine”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mhj¢h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjXh²hh³jph´M ubeh}”(h]”h ]”(j׌struct”eh"]”h$]”h&]”jÜj×jÝj½jÞj½j߉jà‰já‰uh1jRh²hhj0h³j“h´Nubjã)�”}”(hX**Definition**:: struct slim_channel { int id; int prrate; int seg_dist; enum slim_ch_data_fmt data_fmt; enum slim_ch_aux_bit_fmt aux_fmt; enum slim_channel_state state; }; **Members** ``id`` ID of channel ``prrate`` Presense rate of channel from Table 66 of SLIMbus 2.0 Specs ``seg_dist`` segment distribution code from Table 20 of SLIMbus 2.0 Specs ``data_fmt`` Data format of channel. ``aux_fmt`` Aux format for this channel. ``state`` channel state machine”h]”(hî)�”}”(hŒ**Definition**::”h]”(jí)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjÅubhŒ:”…”�”}”(hjÅh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MhjÁubj)�”}”(hŒ³struct slim_channel { int id; int prrate; int seg_dist; enum slim_ch_data_fmt data_fmt; enum slim_ch_aux_bit_fmt aux_fmt; enum slim_channel_state state; };”h]”hŒ³struct slim_channel { int id; int prrate; int seg_dist; enum slim_ch_data_fmt data_fmt; enum slim_ch_aux_bit_fmt aux_fmt; enum slim_channel_state state; };”…”�”}”hjâsbah}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´M hjÁubhî)�”}”(hŒ **Members**”h]”jí)�”}”(hjóh]”hŒMembers”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjñubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MhjÁubj1)�”}”(hhh]”(j6)�”}”(hŒ``id`` ID of channel ”h]”(j<)�”}”(hŒ``id``”h]”jB)�”}”(hjh]”hŒid”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mhj ubjX)�”}”(hhh]”hî)�”}”(hŒ ID of channel”h]”hŒ ID of channel”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j'h´Mhj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j'h´Mhj ubj6)�”}”(hŒG``prrate`` Presense rate of channel from Table 66 of SLIMbus 2.0 Specs ”h]”(j<)�”}”(hŒ ``prrate``”h]”jB)�”}”(hjKh]”hŒprrate”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjIubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MhjEubjX)�”}”(hhh]”hî)�”}”(hŒ;Presense rate of channel from Table 66 of SLIMbus 2.0 Specs”h]”hŒ;Presense rate of channel from Table 66 of SLIMbus 2.0 Specs”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j`h´Mhjaubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjEubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j`h´Mhj ubj6)�”}”(hŒJ``seg_dist`` segment distribution code from Table 20 of SLIMbus 2.0 Specs ”h]”(j<)�”}”(hŒ ``seg_dist``”h]”jB)�”}”(hj„h]”hŒseg_dist”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´M hj~ubjX)�”}”(hhh]”hî)�”}”(hŒ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj:%ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MShj %ubj1)�”}”(hhh]”(j6)�”}”(hŒ``name`` Name of the stream ”h]”(j<)�”}”(hŒ``name``”h]”jB)�”}”(hj[%h]”hŒname”…”�”}”(hj]%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjY%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MChjU%ubjX)�”}”(hhh]”hî)�”}”(hŒName of the stream”h]”hŒName of the stream”…”�”}”(hjt%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jp%h´MChjq%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjU%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jp%h´MChjR%ubj6)�”}”(hŒ9``dev`` SLIM Device instance associated with this stream ”h]”(j<)�”}”(hŒ``dev``”h]”jB)�”}”(hj”%h]”hŒdev”…”�”}”(hj–%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj’%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MDhjŽ%ubjX)�”}”(hhh]”hî)�”}”(hŒ0SLIM Device instance associated with this stream”h]”hŒ0SLIM Device instance associated with this stream”…”�”}”(hj­%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j©%h´MDhjª%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjŽ%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j©%h´MDhjR%ubj6)�”}”(hŒ"``direction`` direction of stream ”h]”(j<)�”}”(hŒ ``direction``”h]”jB)�”}”(hjÍ%h]”hŒ direction”…”�”}”(hjÏ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjË%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MEhjÇ%ubjX)�”}”(hhh]”hî)�”}”(hŒdirection of stream”h]”hŒdirection of stream”…”�”}”(hjæ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jâ%h´MEhjã%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjÇ%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jâ%h´MEhjR%ubj6)�”}”(hŒ0``prot`` Transport protocol used in this stream ”h]”(j<)�”}”(hŒ``prot``”h]”jB)�”}”(hj&h]”hŒprot”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MFhj&ubjX)�”}”(hhh]”hî)�”}”(hŒ&Transport protocol used in this stream”h]”hŒ&Transport protocol used in this stream”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j&h´MFhj&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j&h´MFhjR%ubj6)�”}”(hŒ ``rate`` Data rate of samples * ”h]”(j<)�”}”(hŒ``rate``”h]”jB)�”}”(hj?&h]”hŒrate”…”�”}”(hjA&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj=&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MGhj9&ubjX)�”}”(hhh]”hî)�”}”(hŒData rate of samples *”h]”hŒData rate of samples *”…”�”}”(hjX&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jT&h´MGhjU&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj9&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jT&h´MGhjR%ubj6)�”}”(hŒ``bps`` bits per sample ”h]”(j<)�”}”(hŒ``bps``”h]”jB)�”}”(hjx&h]”hŒbps”…”�”}”(hjz&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjv&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MHhjr&ubjX)�”}”(hhh]”hî)�”}”(hŒbits per sample”h]”hŒbits per sample”…”�”}”(hj‘&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j�&h´MHhjŽ&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjr&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j�&h´MHhjR%ubj6)�”}”(hŒ=``ratem`` rate multipler which is super frame rate/data rate ”h]”(j<)�”}”(hŒ ``ratem``”h]”jB)�”}”(hj±&h]”hŒratem”…”�”}”(hj³&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj¯&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MIhj«&ubjX)�”}”(hhh]”hî)�”}”(hŒ2rate multipler which is super frame rate/data rate”h]”hŒ2rate multipler which is super frame rate/data rate”…”�”}”(hjÊ&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jÆ&h´MIhjÇ&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj«&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÆ&h´MIhjR%ubj6)�”}”(hŒ``num_ports`` number of ports ”h]”(j<)�”}”(hŒ ``num_ports``”h]”jB)�”}”(hjê&h]”hŒ num_ports”…”�”}”(hjì&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjè&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MJhjä&ubjX)�”}”(hhh]”hî)�”}”(hŒnumber of ports”h]”hŒnumber of ports”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jÿ&h´MJhj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjä&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÿ&h´MJhjR%ubj6)�”}”(hŒ'``ports`` pointer to instance of ports ”h]”(j<)�”}”(hŒ ``ports``”h]”jB)�”}”(hj#'h]”hŒports”…”�”}”(hj%'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj!'ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MKhj'ubjX)�”}”(hhh]”hî)�”}”(hŒpointer to instance of ports”h]”hŒpointer to instance of ports”…”�”}”(hj<'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j8'h´MKhj9'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j8'h´MKhjR%ubj6)�”}”(hŒ:``node`` list head for stream associated with slim device.”h]”(j<)�”}”(hŒ``node``”h]”jB)�”}”(hj\'h]”hŒnode”…”�”}”(hj^'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjZ'ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MKhjV'ubjX)�”}”(hhh]”hî)�”}”(hŒ1list head for stream associated with slim device.”h]”hŒ1list head for stream associated with slim device.”…”�”}”(hju'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MLhjr'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjV'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jq'h´MKhjR%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hj %ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³j“h´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_controller (C struct)”Œc.slim_controller”hNt”auh1jAhj0h²hh³j“h´NubjS)�”}”(hhh]”(jX)�”}”(hŒslim_controller”h]”j^)�”}”(hŒstruct slim_controller”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hj¶'h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchj²'h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MRubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄ'h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj²'h²hh³jÃ'h´MRubj‡)�”}”(hŒslim_controller”h]”j�)�”}”(hj°'h]”hŒslim_controller”…”�”}”(hjÖ'h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjÒ'ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hj²'h²hh³jÃ'h´MRubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hj®'h²hh³jÃ'h´MRubah}”(h]”j©'ah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jÃ'h´MRhj«'h²hubj»)�”}”(hhh]”hî)�”}”(hŒ?Controls every instance of SLIMbus (similar to 'master' on SPI)”h]”hŒCControls every instance of SLIMbus (similar to ‘master’ on SPI)”…”�”}”(hjø'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´M[hjõ'h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhj«'h²hh³jÃ'h´MRubeh}”(h]”h ]”(j׌struct”eh"]”h$]”h&]”jÜj×jÝj(jÞj(j߉jà‰já‰uh1jRh²hhj0h³j“h´Nubjã)�”}”(hX’ **Definition**:: struct slim_controller { struct device *dev; unsigned int id; char name[SLIMBUS_NAME_SIZE]; int min_cg; int max_cg; int clkgear; struct ida laddr_ida; struct slim_framer *a_framer; struct mutex lock; struct list_head devices; struct idr tid_idr; spinlock_t txn_lock; struct slim_sched sched; int (*xfer_msg)(struct slim_controller *ctrl, struct slim_msg_txn *tx); int (*set_laddr)(struct slim_controller *ctrl, struct slim_eaddr *ea, u8 laddr); int (*get_laddr)(struct slim_controller *ctrl, struct slim_eaddr *ea, u8 *laddr); int (*enable_stream)(struct slim_stream_runtime *rt); int (*disable_stream)(struct slim_stream_runtime *rt); int (*wakeup)(struct slim_controller *ctrl); }; **Members** ``dev`` Device interface to this driver ``id`` Board-specific number identifier for this controller/bus ``name`` Name for this controller ``min_cg`` Minimum clock gear supported by this controller (default value: 1) ``max_cg`` Maximum clock gear supported by this controller (default value: 10) ``clkgear`` Current clock gear in which this bus is running ``laddr_ida`` logical address id allocator ``a_framer`` Active framer which is clocking the bus managed by this controller ``lock`` Mutex protecting controller data structures ``devices`` Slim device list ``tid_idr`` tid id allocator ``txn_lock`` Lock to protect table of transactions ``sched`` scheduler structure used by the controller ``xfer_msg`` Transfer a message on this controller (this can be a broadcast control/status message like data channel setup, or a unicast message like value element read/write. ``set_laddr`` Setup logical address at laddr for the slave with elemental address e_addr. Drivers implementing controller will be expected to send unicast message to this device with its logical address. ``get_laddr`` It is possible that controller needs to set fixed logical address table and get_laddr can be used in that case so that controller can do this assignment. Use case is when the master is on the remote processor side, who is resposible for allocating laddr. ``enable_stream`` This function pointer implements controller-specific procedure to enable a stream. ``disable_stream`` This function pointer implements controller-specific procedure to disable stream. ``wakeup`` This function pointer implements controller-specific procedure to wake it up from clock-pause. Framework will call this to bring the controller out of clock pause.”h]”(hî)�”}”(hŒ**Definition**::”h]”(jí)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj(ubhŒ:”…”�”}”(hj(h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´M_hj(ubj)�”}”(hXCstruct slim_controller { struct device *dev; unsigned int id; char name[SLIMBUS_NAME_SIZE]; int min_cg; int max_cg; int clkgear; struct ida laddr_ida; struct slim_framer *a_framer; struct mutex lock; struct list_head devices; struct idr tid_idr; spinlock_t txn_lock; struct slim_sched sched; int (*xfer_msg)(struct slim_controller *ctrl, struct slim_msg_txn *tx); int (*set_laddr)(struct slim_controller *ctrl, struct slim_eaddr *ea, u8 laddr); int (*get_laddr)(struct slim_controller *ctrl, struct slim_eaddr *ea, u8 *laddr); int (*enable_stream)(struct slim_stream_runtime *rt); int (*disable_stream)(struct slim_stream_runtime *rt); int (*wakeup)(struct slim_controller *ctrl); };”h]”hXCstruct slim_controller { struct device *dev; unsigned int id; char name[SLIMBUS_NAME_SIZE]; int min_cg; int max_cg; int clkgear; struct ida laddr_ida; struct slim_framer *a_framer; struct mutex lock; struct list_head devices; struct idr tid_idr; spinlock_t txn_lock; struct slim_sched sched; int (*xfer_msg)(struct slim_controller *ctrl, struct slim_msg_txn *tx); int (*set_laddr)(struct slim_controller *ctrl, struct slim_eaddr *ea, u8 laddr); int (*get_laddr)(struct slim_controller *ctrl, struct slim_eaddr *ea, u8 *laddr); int (*enable_stream)(struct slim_stream_runtime *rt); int (*disable_stream)(struct slim_stream_runtime *rt); int (*wakeup)(struct slim_controller *ctrl); };”…”�”}”hj5(sbah}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mahj(ubhî)�”}”(hŒ **Members**”h]”jí)�”}”(hjF(h]”hŒMembers”…”�”}”(hjH(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjD(ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mwhj(ubj1)�”}”(hhh]”(j6)�”}”(hŒ(``dev`` Device interface to this driver ”h]”(j<)�”}”(hŒ``dev``”h]”jB)�”}”(hje(h]”hŒdev”…”�”}”(hjg(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjc(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´M^hj_(ubjX)�”}”(hhh]”hî)�”}”(hŒDevice interface to this driver”h]”hŒDevice interface to this driver”…”�”}”(hj~(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jz(h´M^hj{(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj_(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jz(h´M^hj\(ubj6)�”}”(hŒ@``id`` Board-specific number identifier for this controller/bus ”h]”(j<)�”}”(hŒ``id``”h]”jB)�”}”(hjž(h]”hŒid”…”�”}”(hj (h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjœ(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´M_hj˜(ubjX)�”}”(hhh]”hî)�”}”(hŒ8Board-specific number identifier for this controller/bus”h]”hŒ8Board-specific number identifier for this controller/bus”…”�”}”(hj·(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j³(h´M_hj´(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj˜(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j³(h´M_hj\(ubj6)�”}”(hŒ"``name`` Name for this controller ”h]”(j<)�”}”(hŒ``name``”h]”jB)�”}”(hj×(h]”hŒname”…”�”}”(hjÙ(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjÕ(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´M`hjÑ(ubjX)�”}”(hhh]”hî)�”}”(hŒName for this controller”h]”hŒName for this controller”…”�”}”(hjð(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jì(h´M`hjí(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjÑ(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jì(h´M`hj\(ubj6)�”}”(hŒN``min_cg`` Minimum clock gear supported by this controller (default value: 1) ”h]”(j<)�”}”(hŒ ``min_cg``”h]”jB)�”}”(hj)h]”hŒmin_cg”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mahj )ubjX)�”}”(hhh]”hî)�”}”(hŒBMinimum clock gear supported by this controller (default value: 1)”h]”hŒBMinimum clock gear supported by this controller (default value: 1)”…”�”}”(hj))h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j%)h´Mahj&)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj )ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j%)h´Mahj\(ubj6)�”}”(hŒO``max_cg`` Maximum clock gear supported by this controller (default value: 10) ”h]”(j<)�”}”(hŒ ``max_cg``”h]”jB)�”}”(hjI)h]”hŒmax_cg”…”�”}”(hjK)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjG)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MbhjC)ubjX)�”}”(hhh]”hî)�”}”(hŒCMaximum clock gear supported by this controller (default value: 10)”h]”hŒCMaximum clock gear supported by this controller (default value: 10)”…”�”}”(hjb)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j^)h´Mbhj_)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjC)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j^)h´Mbhj\(ubj6)�”}”(hŒ<``clkgear`` Current clock gear in which this bus is running ”h]”(j<)�”}”(hŒ ``clkgear``”h]”jB)�”}”(hj‚)h]”hŒclkgear”…”�”}”(hj„)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj€)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mchj|)ubjX)�”}”(hhh]”hî)�”}”(hŒ/Current clock gear in which this bus is running”h]”hŒ/Current clock gear in which this bus is running”…”�”}”(hj›)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j—)h´Mchj˜)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj|)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j—)h´Mchj\(ubj6)�”}”(hŒ+``laddr_ida`` logical address id allocator ”h]”(j<)�”}”(hŒ ``laddr_ida``”h]”jB)�”}”(hj»)h]”hŒ laddr_ida”…”�”}”(hj½)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj¹)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mdhjµ)ubjX)�”}”(hhh]”hî)�”}”(hŒlogical address id allocator”h]”hŒlogical address id allocator”…”�”}”(hjÔ)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jÐ)h´MdhjÑ)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjµ)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÐ)h´Mdhj\(ubj6)�”}”(hŒP``a_framer`` Active framer which is clocking the bus managed by this controller ”h]”(j<)�”}”(hŒ ``a_framer``”h]”jB)�”}”(hjô)h]”hŒa_framer”…”�”}”(hjö)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjò)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mehjî)ubjX)�”}”(hhh]”hî)�”}”(hŒBActive framer which is clocking the bus managed by this controller”h]”hŒBActive framer which is clocking the bus managed by this controller”…”�”}”(hj *h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j *h´Mehj *ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjî)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j *h´Mehj\(ubj6)�”}”(hŒ5``lock`` Mutex protecting controller data structures ”h]”(j<)�”}”(hŒ``lock``”h]”jB)�”}”(hj-*h]”hŒlock”…”�”}”(hj/*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj+*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mfhj'*ubjX)�”}”(hhh]”hî)�”}”(hŒ+Mutex protecting controller data structures”h]”hŒ+Mutex protecting controller data structures”…”�”}”(hjF*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jB*h´MfhjC*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj'*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jB*h´Mfhj\(ubj6)�”}”(hŒ``devices`` Slim device list ”h]”(j<)�”}”(hŒ ``devices``”h]”jB)�”}”(hjf*h]”hŒdevices”…”�”}”(hjh*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjd*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mghj`*ubjX)�”}”(hhh]”hî)�”}”(hŒSlim device list”h]”hŒSlim device list”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j{*h´Mghj|*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj`*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j{*h´Mghj\(ubj6)�”}”(hŒ``tid_idr`` tid id allocator ”h]”(j<)�”}”(hŒ ``tid_idr``”h]”jB)�”}”(hjŸ*h]”hŒtid_idr”…”�”}”(hj¡*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj�*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mhhj™*ubjX)�”}”(hhh]”hî)�”}”(hŒtid id allocator”h]”hŒtid id allocator”…”�”}”(hj¸*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j´*h´Mhhjµ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj™*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j´*h´Mhhj\(ubj6)�”}”(hŒ3``txn_lock`` Lock to protect table of transactions ”h]”(j<)�”}”(hŒ ``txn_lock``”h]”jB)�”}”(hjØ*h]”hŒtxn_lock”…”�”}”(hjÚ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjÖ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MihjÒ*ubjX)�”}”(hhh]”hî)�”}”(hŒ%Lock to protect table of transactions”h]”hŒ%Lock to protect table of transactions”…”�”}”(hjñ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jí*h´Mihjî*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjÒ*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jí*h´Mihj\(ubj6)�”}”(hŒ5``sched`` scheduler structure used by the controller ”h]”(j<)�”}”(hŒ ``sched``”h]”jB)�”}”(hj+h]”hŒsched”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mjhj +ubjX)�”}”(hhh]”hî)�”}”(hŒ*scheduler structure used by the controller”h]”hŒ*scheduler structure used by the controller”…”�”}”(hj*+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j&+h´Mjhj'+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj +ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j&+h´Mjhj\(ubj6)�”}”(hŒ°``xfer_msg`` Transfer a message on this controller (this can be a broadcast control/status message like data channel setup, or a unicast message like value element read/write. ”h]”(j<)�”}”(hŒ ``xfer_msg``”h]”jB)�”}”(hjJ+h]”hŒxfer_msg”…”�”}”(hjL+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjH+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MmhjD+ubjX)�”}”(hhh]”hî)�”}”(hŒ¢Transfer a message on this controller (this can be a broadcast control/status message like data channel setup, or a unicast message like value element read/write.”h]”hŒ¢Transfer a message on this controller (this can be a broadcast control/status message like data channel setup, or a unicast message like value element read/write.”…”�”}”(hjc+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mkhj`+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjD+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j_+h´Mmhj\(ubj6)�”}”(hŒÌ``set_laddr`` Setup logical address at laddr for the slave with elemental address e_addr. Drivers implementing controller will be expected to send unicast message to this device with its logical address. ”h]”(j<)�”}”(hŒ ``set_laddr``”h]”jB)�”}”(hj„+h]”hŒ set_laddr”…”�”}”(hj†+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj‚+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mphj~+ubjX)�”}”(hhh]”hî)�”}”(hŒ½Setup logical address at laddr for the slave with elemental address e_addr. Drivers implementing controller will be expected to send unicast message to this device with its logical address.”h]”hŒ½Setup logical address at laddr for the slave with elemental address e_addr. Drivers implementing controller will be expected to send unicast message to this device with its logical address.”…”�”}”(hj�+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mnhjš+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj~+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j™+h´Mphj\(ubj6)�”}”(hX ``get_laddr`` It is possible that controller needs to set fixed logical address table and get_laddr can be used in that case so that controller can do this assignment. Use case is when the master is on the remote processor side, who is resposible for allocating laddr. ”h]”(j<)�”}”(hŒ ``get_laddr``”h]”jB)�”}”(hj¾+h]”hŒ get_laddr”…”�”}”(hjÀ+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj¼+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mthj¸+ubjX)�”}”(hhh]”hî)�”}”(hŒþIt is possible that controller needs to set fixed logical address table and get_laddr can be used in that case so that controller can do this assignment. Use case is when the master is on the remote processor side, who is resposible for allocating laddr.”h]”hŒþIt is possible that controller needs to set fixed logical address table and get_laddr can be used in that case so that controller can do this assignment. Use case is when the master is on the remote processor side, who is resposible for allocating laddr.”…”�”}”(hj×+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MqhjÔ+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj¸+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÓ+h´Mthj\(ubj6)�”}”(hŒe``enable_stream`` This function pointer implements controller-specific procedure to enable a stream. ”h]”(j<)�”}”(hŒ``enable_stream``”h]”jB)�”}”(hjø+h]”hŒ enable_stream”…”�”}”(hjú+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjö+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Myhjò+ubjX)�”}”(hhh]”hî)�”}”(hŒRThis function pointer implements controller-specific procedure to enable a stream.”h]”hŒRThis function pointer implements controller-specific procedure to enable a stream.”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mxhj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjò+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j ,h´Myhj\(ubj6)�”}”(hŒe``disable_stream`` This function pointer implements controller-specific procedure to disable stream. ”h]”(j<)�”}”(hŒ``disable_stream``”h]”jB)�”}”(hj2,h]”hŒdisable_stream”…”�”}”(hj4,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj0,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´M{hj,,ubjX)�”}”(hhh]”hî)�”}”(hŒQThis function pointer implements controller-specific procedure to disable stream.”h]”hŒQThis function pointer implements controller-specific procedure to disable stream.”…”�”}”(hjK,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MzhjH,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj,,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jG,h´M{hj\(ubj6)�”}”(hŒ®``wakeup`` This function pointer implements controller-specific procedure to wake it up from clock-pause. Framework will call this to bring the controller out of clock pause.”h]”(j<)�”}”(hŒ ``wakeup``”h]”jB)�”}”(hjl,h]”hŒwakeup”…”�”}”(hjn,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mvhjf,ubjX)�”}”(hhh]”hî)�”}”(hŒ£This function pointer implements controller-specific procedure to wake it up from clock-pause. Framework will call this to bring the controller out of clock pause.”h]”hŒ£This function pointer implements controller-specific procedure to wake it up from clock-pause. Framework will call this to bring the controller out of clock pause.”…”�”}”(hj…,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Muhj‚,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjf,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j�,h´Mvhj\(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hj(ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³j“h´Nubhî)�”}”(hŒ**Description**”h]”jí)�”}”(hj¯,h]”hŒ Description”…”�”}”(hj±,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj­,ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´Mzhj0h²hubjß)�”}”(hX;'Manager device' is responsible for device management, bandwidth allocation, channel setup, and port associations per channel. Device management means Logical address assignment/removal based on enumeration (report-present, report-absent) of a device. Bandwidth allocation is done dynamically by the manager based on active channels on the bus, message-bandwidth requests made by SLIMbus devices. Based on current bandwidth usage, manager chooses a frequency to run the bus at (in steps of 'clock-gear', 1 through 10, each clock gear representing twice the frequency than the previous gear). Manager is also responsible for entering (and exiting) low-power-mode (known as 'clock pause'). Manager can do handover of framer if there are multiple framers on the bus and a certain usecase warrants using certain framer to avoid keeping previous framer being powered-on. Controller here performs duties of the manager device, and 'interface device'. Interface device is responsible for monitoring the bus and reporting information such as loss-of-synchronization, data slot-collision. ”h]”(hî)�”}”(hXb'Manager device' is responsible for device management, bandwidth allocation, channel setup, and port associations per channel. Device management means Logical address assignment/removal based on enumeration (report-present, report-absent) of a device. Bandwidth allocation is done dynamically by the manager based on active channels on the bus, message-bandwidth requests made by SLIMbus devices. Based on current bandwidth usage, manager chooses a frequency to run the bus at (in steps of 'clock-gear', 1 through 10, each clock gear representing twice the frequency than the previous gear). Manager is also responsible for entering (and exiting) low-power-mode (known as 'clock pause'). Manager can do handover of framer if there are multiple framers on the bus and a certain usecase warrants using certain framer to avoid keeping previous framer being powered-on.”h]”hXn‘Manager device’ is responsible for device management, bandwidth allocation, channel setup, and port associations per channel. Device management means Logical address assignment/removal based on enumeration (report-present, report-absent) of a device. Bandwidth allocation is done dynamically by the manager based on active channels on the bus, message-bandwidth requests made by SLIMbus devices. Based on current bandwidth usage, manager chooses a frequency to run the bus at (in steps of ‘clock-gear’, 1 through 10, each clock gear representing twice the frequency than the previous gear). Manager is also responsible for entering (and exiting) low-power-mode (known as ‘clock pause’). Manager can do handover of framer if there are multiple framers on the bus and a certain usecase warrants using certain framer to avoid keeping previous framer being powered-on.”…”�”}”(hjÉ,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´M{hjÅ,ubhî)�”}”(hŒÕController here performs duties of the manager device, and 'interface device'. Interface device is responsible for monitoring the bus and reporting information such as loss-of-synchronization, data slot-collision.”h]”hŒÙController here performs duties of the manager device, and ‘interface device’. Interface device is responsible for monitoring the bus and reporting information such as loss-of-synchronization, data slot-collision.”…”�”}”(hjØ,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:97: ./drivers/slimbus/slimbus.h”h´MŠhjÅ,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÞh³j×,h´M{hj0h²hubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒ'slim_unregister_controller (C function)”Œc.slim_unregister_controller”hNt”auh1jAhj0h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒ=int slim_unregister_controller (struct slim_controller *ctrl)”h]”j^)�”}”(hŒ-hj-h²hh³j-h´M&ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjþ,h²hh³j-h´M&ubah}”(h]”jù,ah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³j-h´M&hjû,h²hubj»)�”}”(hhh]”hî)�”}”(hŒController tear-down.”h]”hŒController tear-down.”…”�”}”(hjÙ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M&hjÖ-h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjû,h²hh³j-h´M&ubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝjñ-jÞjñ-j߉jà‰já‰uh1jRh²hhj0h³Nh´Nubjã)�”}”(hŒK**Parameters** ``struct slim_controller *ctrl`` Controller to tear-down.”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hjû-h]”hŒ Parameters”…”�”}”(hjý-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjù-ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M*hjõ-ubj1)�”}”(hhh]”j6)�”}”(hŒ9``struct slim_controller *ctrl`` Controller to tear-down.”h]”(j<)�”}”(hŒ ``struct slim_controller *ctrl``”h]”jB)�”}”(hj.h]”hŒstruct slim_controller *ctrl”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M,hj.ubjX)�”}”(hhh]”hî)�”}”(hŒController to tear-down.”h]”hŒController to tear-down.”…”�”}”(hj3.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M(hj0.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j/.h´M,hj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjõ-ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_report_absent (C function)”Œc.slim_report_absent”hNt”auh1jAhj0h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒ3void slim_report_absent (struct slim_device *sbdev)”h]”j^)�”}”(hŒ2void slim_report_absent(struct slim_device *sbdev)”h]”(j-)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjt.h²hh³Nh´Nubah}”(h]”h ]”j-ah"]”h$]”h&]”uh1j-hjp.h²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M5ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒ.h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjp.h²hh³j‚.h´M5ubj‡)�”}”(hŒslim_report_absent”h]”j�)�”}”(hŒslim_report_absent”h]”hŒslim_report_absent”…”�”}”(hj•.h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj‘.ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hjp.h²hh³j‚.h´M5ubj?-)�”}”(hŒ(struct slim_device *sbdev)”h]”jE-)�”}”(hŒstruct slim_device *sbdev”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hj±.h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchj­.ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾.h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj­.ubh)�”}”(hhh]”j�)�”}”(hŒ slim_device”h]”hŒ slim_device”…”�”}”(hjÏ.h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjÌ.ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jÑ.Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-j—.sbŒc.slim_report_absent”†”asbuh1hhj­.ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjï.h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj­.ubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hjý.h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hj­.ubj�)�”}”(hŒsbdev”h]”hŒsbdev”…”�”}”(hj /h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj­.ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj©.ubah}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hjp.h²hh³j‚.h´M5ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjl.h²hh³j‚.h´M5ubah}”(h]”jg.ah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³j‚.h´M5hji.h²hubj»)�”}”(hhh]”hî)�”}”(hŒkController calls this function when a device reports absent, OR when the device cannot be communicated with”h]”hŒkController calls this function when a device reports absent, OR when the device cannot be communicated with”…”�”}”(hj4/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M5hj1/h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhji.h²hh³j‚.h´M5ubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝjL/jÞjL/j߉jà‰já‰uh1jRh²hhj0h³Nh´Nubjã)�”}”(hŒd**Parameters** ``struct slim_device *sbdev`` Device that cannot be reached, or sent report absent”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hjV/h]”hŒ Parameters”…”�”}”(hjX/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjT/ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M9hjP/ubj1)�”}”(hhh]”j6)�”}”(hŒR``struct slim_device *sbdev`` Device that cannot be reached, or sent report absent”h]”(j<)�”}”(hŒ``struct slim_device *sbdev``”h]”jB)�”}”(hju/h]”hŒstruct slim_device *sbdev”…”�”}”(hjw/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjs/ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M;hjo/ubjX)�”}”(hhh]”hî)�”}”(hŒ4Device that cannot be reached, or sent report absent”h]”hŒ4Device that cannot be reached, or sent report absent”…”�”}”(hjŽ/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M8hj‹/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjo/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jŠ/h´M;hjl/ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjP/ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_get_device (C function)”Œc.slim_get_device”hNt”auh1jAhj0h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒ^struct slim_device * slim_get_device (struct slim_controller *ctrl, struct slim_eaddr *e_addr)”h]”j^)�”}”(hŒ\struct slim_device *slim_get_device(struct slim_controller *ctrl, struct slim_eaddr *e_addr)”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjÏ/h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjË/h²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´Mlubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝ/h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjË/h²hh³jÜ/h´Mlubh)�”}”(hhh]”j�)�”}”(hŒ slim_device”h]”hŒ slim_device”…”�”}”(hjî/h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjë/ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jð/Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-Œslim_get_device”sbŒc.slim_get_device”†”asbuh1hhjË/h²hh³jÜ/h´Mlubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjË/h²hh³jÜ/h´MlubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjË/h²hh³jÜ/h´Mlubj‡)�”}”(hŒslim_get_device”h]”j�)�”}”(hj 0h]”hŒslim_get_device”…”�”}”(hj.0h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj*0ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hjË/h²hh³jÜ/h´Mlubj?-)�”}”(hŒ9(struct slim_controller *ctrl, struct slim_eaddr *e_addr)”h]”(jE-)�”}”(hŒstruct slim_controller *ctrl”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjI0h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjE0ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjV0h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjE0ubh)�”}”(hhh]”j�)�”}”(hŒslim_controller”h]”hŒslim_controller”…”�”}”(hjg0h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjd0ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”ji0Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j 0Œc.slim_get_device”†”asbuh1hhjE0ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…0h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjE0ubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hj“0h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjE0ubj�)�”}”(hŒctrl”h]”hŒctrl”…”�”}”(hj 0h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjE0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjA0ubjE-)�”}”(hŒstruct slim_eaddr *e_addr”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hj¹0h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjµ0ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆ0h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjµ0ubh)�”}”(hhh]”j�)�”}”(hŒ slim_eaddr”h]”hŒ slim_eaddr”…”�”}”(hj×0h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjÔ0ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jÙ0Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j 0Œc.slim_get_device”†”asbuh1hhjµ0ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjõ0h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjµ0ubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjµ0ubj�)�”}”(hŒe_addr”h]”hŒe_addr”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjµ0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjA0ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hjË/h²hh³jÜ/h´Mlubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjÇ/h²hh³jÜ/h´Mlubah}”(h]”jÂ/ah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jÜ/h´MlhjÄ/h²hubj»)�”}”(hhh]”hî)�”}”(hŒget handle to a device.”h]”hŒget handle to a device.”…”�”}”(hj:1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´Mlhj71h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjÄ/h²hh³jÜ/h´Mlubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝjR1jÞjR1j߉jà‰já‰uh1jRh²hhj0h³Nh´Nubjã)�”}”(hX²**Parameters** ``struct slim_controller *ctrl`` Controller on which this device will be added/queried ``struct slim_eaddr *e_addr`` Enumeration address of the device to be queried **Description** Takes a reference to the embedded struct device which needs to be dropped after use. **Return** pointer to a device if it has already reported. Creates a new device and returns pointer to it if the device has not yet enumerated.”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hj\1h]”hŒ Parameters”…”�”}”(hj^1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjZ1ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´MphjV1ubj1)�”}”(hhh]”(j6)�”}”(hŒW``struct slim_controller *ctrl`` Controller on which this device will be added/queried ”h]”(j<)�”}”(hŒ ``struct slim_controller *ctrl``”h]”jB)�”}”(hj{1h]”hŒstruct slim_controller *ctrl”…”�”}”(hj}1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjy1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´Mnhju1ubjX)�”}”(hhh]”hî)�”}”(hŒ5Controller on which this device will be added/queried”h]”hŒ5Controller on which this device will be added/queried”…”�”}”(hj”1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j�1h´Mnhj‘1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhju1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j�1h´Mnhjr1ubj6)�”}”(hŒN``struct slim_eaddr *e_addr`` Enumeration address of the device to be queried ”h]”(j<)�”}”(hŒ``struct slim_eaddr *e_addr``”h]”jB)�”}”(hj´1h]”hŒstruct slim_eaddr *e_addr”…”�”}”(hj¶1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj²1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´Mohj®1ubjX)�”}”(hhh]”hî)�”}”(hŒ/Enumeration address of the device to be queried”h]”hŒ/Enumeration address of the device to be queried”…”�”}”(hjÍ1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jÉ1h´MohjÊ1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj®1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÉ1h´Mohjr1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hjV1ubhî)�”}”(hŒ**Description**”h]”jí)�”}”(hjï1h]”hŒ Description”…”�”}”(hjñ1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjí1ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´MqhjV1ubhî)�”}”(hŒTTakes a reference to the embedded struct device which needs to be dropped after use.”h]”hŒTTakes a reference to the embedded struct device which needs to be dropped after use.”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´MphjV1ubhî)�”}”(hŒ **Return**”h]”jí)�”}”(hj2h]”hŒReturn”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj2ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´MshjV1ubhî)�”}”(hŒ„pointer to a device if it has already reported. Creates a new device and returns pointer to it if the device has not yet enumerated.”h]”hŒ„pointer to a device if it has already reported. Creates a new device and returns pointer to it if the device has not yet enumerated.”…”�”}”(hj,2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´MthjV1ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒof_slim_get_device (C function)”Œc.of_slim_get_device”hNt”auh1jAhj0h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒ^struct slim_device * of_slim_get_device (struct slim_controller *ctrl, struct device_node *np)”h]”j^)�”}”(hŒ\struct slim_device *of_slim_get_device(struct slim_controller *ctrl, struct device_node *np)”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hj[2h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjW2h²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´MŠubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hji2h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjW2h²hh³jh2h´MŠubh)�”}”(hhh]”j�)�”}”(hŒ slim_device”h]”hŒ slim_device”…”�”}”(hjz2h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjw2ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”j|2Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-Œof_slim_get_device”sbŒc.of_slim_get_device”†”asbuh1hhjW2h²hh³jh2h´MŠubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›2h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjW2h²hh³jh2h´MŠubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hj©2h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjW2h²hh³jh2h´MŠubj‡)�”}”(hŒof_slim_get_device”h]”j�)�”}”(hj˜2h]”hŒof_slim_get_device”…”�”}”(hjº2h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj¶2ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hjW2h²hh³jh2h´MŠubj?-)�”}”(hŒ6(struct slim_controller *ctrl, struct device_node *np)”h]”(jE-)�”}”(hŒstruct slim_controller *ctrl”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjÕ2h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjÑ2ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâ2h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjÑ2ubh)�”}”(hhh]”j�)�”}”(hŒslim_controller”h]”hŒslim_controller”…”�”}”(hjó2h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjð2ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jõ2Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j–2Œc.of_slim_get_device”†”asbuh1hhjÑ2ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjÑ2ubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjÑ2ubj�)�”}”(hŒctrl”h]”hŒctrl”…”�”}”(hj,3h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjÑ2ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjÍ2ubjE-)�”}”(hŒstruct device_node *np”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjE3h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjA3ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjR3h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjA3ubh)�”}”(hhh]”j�)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjc3h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj`3ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”je3Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j–2Œc.of_slim_get_device”†”asbuh1hhjA3ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�3h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjA3ubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hj�3h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjA3ubj�)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjœ3h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjA3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjÍ2ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hjW2h²hh³jh2h´MŠubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjS2h²hh³jh2h´MŠubah}”(h]”jN2ah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jh2h´MŠhjP2h²hubj»)�”}”(hhh]”hî)�”}”(hŒ%get handle to a device using dt node.”h]”hŒ%get handle to a device using dt node.”…”�”}”(hjÆ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´MŠhjÃ3h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjP2h²hh³jh2h´MŠubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝjÞ3jÞjÞ3j߉jà‰já‰uh1jRh²hhj0h³Nh´Nubjã)�”}”(hXJ**Parameters** ``struct slim_controller *ctrl`` Controller on which this device will be queried ``struct device_node *np`` node pointer to device **Description** Takes a reference to the embedded struct device which needs to be dropped after use. **Return** pointer to a device if it has been registered, otherwise NULL.”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hjè3h]”hŒ Parameters”…”�”}”(hjê3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjæ3ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´MŽhjâ3ubj1)�”}”(hhh]”(j6)�”}”(hŒQ``struct slim_controller *ctrl`` Controller on which this device will be queried ”h]”(j<)�”}”(hŒ ``struct slim_controller *ctrl``”h]”jB)�”}”(hj4h]”hŒstruct slim_controller *ctrl”…”�”}”(hj 4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´MŒhj4ubjX)�”}”(hhh]”hî)�”}”(hŒ/Controller on which this device will be queried”h]”hŒ/Controller on which this device will be queried”…”�”}”(hj 4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j4h´MŒhj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j4h´MŒhjþ3ubj6)�”}”(hŒ2``struct device_node *np`` node pointer to device ”h]”(j<)�”}”(hŒ``struct device_node *np``”h]”jB)�”}”(hj@4h]”hŒstruct device_node *np”…”�”}”(hjB4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj>4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M�hj:4ubjX)�”}”(hhh]”hî)�”}”(hŒnode pointer to device”h]”hŒnode pointer to device”…”�”}”(hjY4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jU4h´M�hjV4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj:4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jU4h´M�hjþ3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hjâ3ubhî)�”}”(hŒ**Description**”h]”jí)�”}”(hj{4h]”hŒ Description”…”�”}”(hj}4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjy4ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M�hjâ3ubhî)�”}”(hŒTTakes a reference to the embedded struct device which needs to be dropped after use.”h]”hŒTTakes a reference to the embedded struct device which needs to be dropped after use.”…”�”}”(hj‘4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´MŽhjâ3ubhî)�”}”(hŒ **Return**”h]”jí)�”}”(hj¢4h]”hŒReturn”…”�”}”(hj¤4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj 4ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M‘hjâ3ubhî)�”}”(hŒ>pointer to a device if it has been registered, otherwise NULL.”h]”hŒ>pointer to a device if it has been registered, otherwise NULL.”…”�”}”(hj¸4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M’hjâ3ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒ'slim_device_report_present (C function)”Œc.slim_device_report_present”hNt”auh1jAhj0h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒcint slim_device_report_present (struct slim_controller *ctrl, struct slim_eaddr *e_addr, u8 *laddr)”h]”j^)�”}”(hŒbint slim_device_report_present(struct slim_controller *ctrl, struct slim_eaddr *e_addr, u8 *laddr)”h]”(j-)�”}”(hŒint”h]”hŒint”…”�”}”(hjç4h²hh³Nh´Nubah}”(h]”h ]”j-ah"]”h$]”h&]”uh1j-hjã4h²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M×ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjö4h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjã4h²hh³jõ4h´M×ubj‡)�”}”(hŒslim_device_report_present”h]”j�)�”}”(hŒslim_device_report_present”h]”hŒslim_device_report_present”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj5ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hjã4h²hh³jõ4h´M×ubj?-)�”}”(hŒD(struct slim_controller *ctrl, struct slim_eaddr *e_addr, u8 *laddr)”h]”(jE-)�”}”(hŒstruct slim_controller *ctrl”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hj$5h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchj 5ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj15h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj 5ubh)�”}”(hhh]”j�)�”}”(hŒslim_controller”h]”hŒslim_controller”…”�”}”(hjB5h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj?5ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jD5Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-j 5sbŒc.slim_device_report_present”†”asbuh1hhj 5ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb5h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj 5ubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hjp5h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hj 5ubj�)�”}”(hŒctrl”h]”hŒctrl”…”�”}”(hj}5h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj 5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj5ubjE-)�”}”(hŒstruct slim_eaddr *e_addr”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hj–5h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchj’5ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£5h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj’5ubh)�”}”(hhh]”j�)�”}”(hŒ slim_eaddr”h]”hŒ slim_eaddr”…”�”}”(hj´5h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj±5ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”j¶5Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j^5Œc.slim_device_report_present”†”asbuh1hhj’5ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒ5h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj’5ubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hjà5h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hj’5ubj�)�”}”(hŒe_addr”h]”hŒe_addr”…”�”}”(hjí5h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj’5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj5ubjE-)�”}”(hŒ u8 *laddr”h]”(h)�”}”(hhh]”j�)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj 6h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj6ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”•Ej~-Œ reftarget”j 6Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j^5Œc.slim_device_report_present”†”asbuh1hhj6ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'6h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj6ubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hj56h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hj6ubj�)�”}”(hŒladdr”h]”hŒladdr”…”�”}”(hjB6h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj6ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj5ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hjã4h²hh³jõ4h´M×ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjß4h²hh³jõ4h´M×ubah}”(h]”jÚ4ah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jõ4h´M×hjÜ4h²hubj»)�”}”(hhh]”hî)�”}”(hŒReport enumerated device.”h]”hŒReport enumerated device.”…”�”}”(hjl6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M×hji6h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjÜ4h²hh³jõ4h´M×ubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝj„6jÞj„6j߉jà‰já‰uh1jRh²hhj0h³Nh´Nubjã)�”}”(hXÁ**Parameters** ``struct slim_controller *ctrl`` Controller with which device is enumerated. ``struct slim_eaddr *e_addr`` Enumeration address of the device. ``u8 *laddr`` Return logical address (if valid flag is false) **Description** Called by controller in response to REPORT_PRESENT. Framework will assign a logical address to this enumeration address. Function returns -EXFULL to indicate that all logical addresses are already taken.”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hjŽ6h]”hŒ Parameters”…”�”}”(hj�6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjŒ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´MÛhjˆ6ubj1)�”}”(hhh]”(j6)�”}”(hŒM``struct slim_controller *ctrl`` Controller with which device is enumerated. ”h]”(j<)�”}”(hŒ ``struct slim_controller *ctrl``”h]”jB)�”}”(hj­6h]”hŒstruct slim_controller *ctrl”…”�”}”(hj¯6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj«6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´MÙhj§6ubjX)�”}”(hhh]”hî)�”}”(hŒ+Controller with which device is enumerated.”h]”hŒ+Controller with which device is enumerated.”…”�”}”(hjÆ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jÂ6h´MÙhjÃ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj§6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÂ6h´MÙhj¤6ubj6)�”}”(hŒA``struct slim_eaddr *e_addr`` Enumeration address of the device. ”h]”(j<)�”}”(hŒ``struct slim_eaddr *e_addr``”h]”jB)�”}”(hjæ6h]”hŒstruct slim_eaddr *e_addr”…”�”}”(hjè6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjä6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´MÚhjà6ubjX)�”}”(hhh]”hî)�”}”(hŒ"Enumeration address of the device.”h]”hŒ"Enumeration address of the device.”…”�”}”(hjÿ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jû6h´MÚhjü6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjà6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jû6h´MÚhj¤6ubj6)�”}”(hŒ>``u8 *laddr`` Return logical address (if valid flag is false) ”h]”(j<)�”}”(hŒ ``u8 *laddr``”h]”jB)�”}”(hj7h]”hŒ u8 *laddr”…”�”}”(hj!7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´MÛhj7ubjX)�”}”(hhh]”hî)�”}”(hŒ/Return logical address (if valid flag is false)”h]”hŒ/Return logical address (if valid flag is false)”…”�”}”(hj87h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j47h´MÛhj57ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j47h´MÛhj¤6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hjˆ6ubhî)�”}”(hŒ**Description**”h]”jí)�”}”(hjZ7h]”hŒ Description”…”�”}”(hj\7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjX7ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´MÝhjˆ6ubhî)�”}”(hŒËCalled by controller in response to REPORT_PRESENT. Framework will assign a logical address to this enumeration address. Function returns -EXFULL to indicate that all logical addresses are already taken.”h]”hŒËCalled by controller in response to REPORT_PRESENT. Framework will assign a logical address to this enumeration address. Function returns -EXFULL to indicate that all logical addresses are already taken.”…”�”}”(hjp7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´MÜhjˆ6ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒ"slim_get_logical_addr (C function)”Œc.slim_get_logical_addr”hNt”auh1jAhj0h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒ5int slim_get_logical_addr (struct slim_device *sbdev)”h]”j^)�”}”(hŒ4int slim_get_logical_addr(struct slim_device *sbdev)”h]”(j-)�”}”(hŒint”h]”hŒint”…”�”}”(hjŸ7h²hh³Nh´Nubah}”(h]”h ]”j-ah"]”h$]”h&]”uh1j-hj›7h²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´Mubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®7h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj›7h²hh³j­7h´Mubj‡)�”}”(hŒslim_get_logical_addr”h]”j�)�”}”(hŒslim_get_logical_addr”h]”hŒslim_get_logical_addr”…”�”}”(hjÀ7h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj¼7ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hj›7h²hh³j­7h´Mubj?-)�”}”(hŒ(struct slim_device *sbdev)”h]”jE-)�”}”(hŒstruct slim_device *sbdev”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjÜ7h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjØ7ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjé7h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjØ7ubh)�”}”(hhh]”j�)�”}”(hŒ slim_device”h]”hŒ slim_device”…”�”}”(hjú7h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj÷7ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jü7Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-jÂ7sbŒc.slim_get_logical_addr”†”asbuh1hhjØ7ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjØ7ubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hj(8h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjØ7ubj�)�”}”(hŒsbdev”h]”hŒsbdev”…”�”}”(hj58h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjØ7ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjÔ7ubah}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hj›7h²hh³j­7h´Mubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hj—7h²hh³j­7h´Mubah}”(h]”j’7ah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³j­7h´Mhj”7h²hubj»)�”}”(hhh]”hî)�”}”(hŒ1get/allocate logical address of a SLIMbus device.”h]”hŒ1get/allocate logical address of a SLIMbus device.”…”�”}”(hj_8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´Mhj\8h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhj”7h²hh³j­7h´Mubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝjw8jÞjw8j߉jà‰já‰uh1jRh²hhj0h³Nh´Nubjã)�”}”(hŒÎ**Parameters** ``struct slim_device *sbdev`` client handle requesting the address. **Return** zero if a logical address is valid or a new logical address has been assigned. error code in case of error.”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hj�8h]”hŒ Parameters”…”�”}”(hjƒ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M hj{8ubj1)�”}”(hhh]”j6)�”}”(hŒD``struct slim_device *sbdev`` client handle requesting the address. ”h]”(j<)�”}”(hŒ``struct slim_device *sbdev``”h]”jB)�”}”(hj 8h]”hŒstruct slim_device *sbdev”…”�”}”(hj¢8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjž8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´Mhjš8ubjX)�”}”(hhh]”hî)�”}”(hŒ%client handle requesting the address.”h]”hŒ%client handle requesting the address.”…”�”}”(hj¹8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jµ8h´Mhj¶8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjš8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jµ8h´Mhj—8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hj{8ubhî)�”}”(hŒ **Return**”h]”jí)�”}”(hjÛ8h]”hŒReturn”…”�”}”(hjÝ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjÙ8ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M hj{8ubhî)�”}”(hŒkzero if a logical address is valid or a new logical address has been assigned. error code in case of error.”h]”hŒkzero if a logical address is valid or a new logical address has been assigned. error code in case of error.”…”�”}”(hjñ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³ŒZ/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:100: ./drivers/slimbus/core.c”h´M hj{8ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhj0h²hh³Nh´Nubeh}”(h]”Œdriver-and-controller-apis”ah ]”h"]”Œdriver and controller apis:”ah$]”h&]”uh1hµhhËh²hh³hÊh´K]ubh¶)�”}”(hhh]”(h»)�”}”(hŒ Clock-pause:”h]”hŒ Clock-pause:”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj9h²hh³hÊh´Khubhî)�”}”(hXæSLIMbus mandates that a reconfiguration sequence (known as clock-pause) be broadcast to all active devices on the bus before the bus can enter low-power mode. Controller uses this sequence when it decides to enter low-power mode so that corresponding clocks and/or power-rails can be turned off to save power. Clock-pause is exited by waking up framer device (if controller driver initiates exiting low power mode), or by toggling the data line (if a slave device wants to initiate it).”h]”hXæSLIMbus mandates that a reconfiguration sequence (known as clock-pause) be broadcast to all active devices on the bus before the bus can enter low-power mode. Controller uses this sequence when it decides to enter low-power mode so that corresponding clocks and/or power-rails can be turned off to save power. Clock-pause is exited by waking up framer device (if controller driver initiates exiting low power mode), or by toggling the data line (if a slave device wants to initiate it).”…”�”}”(hj 9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³hÊh´Kihj9h²hubh¶)�”}”(hhh]”(h»)�”}”(hŒClock-pause APIs:”h]”hŒClock-pause APIs:”…”�”}”(hj19h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj.9h²hh³hÊh´KrubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒ slim_ctrl_clk_pause (C function)”Œc.slim_ctrl_clk_pause”hNt”auh1jAhj.9h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒOint slim_ctrl_clk_pause (struct slim_controller *ctrl, bool wakeup, u8 restart)”h]”j^)�”}”(hŒNint slim_ctrl_clk_pause(struct slim_controller *ctrl, bool wakeup, u8 restart)”h]”(j-)�”}”(hŒint”h]”hŒint”…”�”}”(hjX9h²hh³Nh´Nubah}”(h]”h ]”j-ah"]”h$]”h&]”uh1j-hjT9h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:115: ./drivers/slimbus/sched.c”h´K ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjg9h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjT9h²hh³jf9h´K ubj‡)�”}”(hŒslim_ctrl_clk_pause”h]”j�)�”}”(hŒslim_ctrl_clk_pause”h]”hŒslim_ctrl_clk_pause”…”�”}”(hjy9h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhju9ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hjT9h²hh³jf9h´K ubj?-)�”}”(hŒ7(struct slim_controller *ctrl, bool wakeup, u8 restart)”h]”(jE-)�”}”(hŒstruct slim_controller *ctrl”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hj•9h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchj‘9ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢9h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj‘9ubh)�”}”(hhh]”j�)�”}”(hŒslim_controller”h]”hŒslim_controller”…”�”}”(hj³9h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj°9ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jµ9Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-j{9sbŒc.slim_ctrl_clk_pause”†”asbuh1hhj‘9ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓ9h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj‘9ubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hjá9h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hj‘9ubj�)�”}”(hŒctrl”h]”hŒctrl”…”�”}”(hjî9h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj‘9ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj�9ubjE-)�”}”(hŒ bool wakeup”h]”(j-)�”}”(hŒbool”h]”hŒbool”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”j-ah"]”h$]”h&]”uh1j-hj:ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj:ubj�)�”}”(hŒwakeup”h]”hŒwakeup”…”�”}”(hj#:h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj:ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj�9ubjE-)�”}”(hŒ u8 restart”h]”(h)�”}”(hhh]”j�)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj?:h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj<:ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jA:Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”jÏ9Œc.slim_ctrl_clk_pause”†”asbuh1hhj8:ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]:h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj8:ubj�)�”}”(hŒrestart”h]”hŒrestart”…”�”}”(hjk:h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj8:ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj�9ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hjT9h²hh³jf9h´K ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjP9h²hh³jf9h´K ubah}”(h]”jK9ah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jf9h´K hjM9h²hubj»)�”}”(hhh]”hî)�”}”(hŒ8Called by slimbus controller to enter/exit 'clock pause'”h]”hŒ has more documentation about messaging APIs.”h]”hŒàThe framework supports regmap and read/write apis to exchange control-information with a SLIMbus device. APIs can be synchronous or asynchronous. The header file has more documentation about messaging APIs.”…”�”}”(hjÑ;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³hÊh´KxhjÀ;h²hubh¶)�”}”(hhh]”(h»)�”}”(hŒMessaging APIs:”h]”hŒMessaging APIs:”…”�”}”(hjâ;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjß;h²hh³hÊh´K}ubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_msg_response (C function)”Œc.slim_msg_response”hNt”auh1jAhjß;h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒPvoid slim_msg_response (struct slim_controller *ctrl, u8 *reply, u8 tid, u8 len)”h]”j^)�”}”(hŒOvoid slim_msg_response(struct slim_controller *ctrl, u8 *reply, u8 tid, u8 len)”h]”(j-)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj <h²hh³Nh´Nubah}”(h]”h ]”j-ah"]”h$]”h&]”uh1j-hj<h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´K ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj<h²hh³j<h´K ubj‡)�”}”(hŒslim_msg_response”h]”j�)�”}”(hŒslim_msg_response”h]”hŒslim_msg_response”…”�”}”(hj*<h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj&<ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hj<h²hh³j<h´K ubj?-)�”}”(hŒ9(struct slim_controller *ctrl, u8 *reply, u8 tid, u8 len)”h]”(jE-)�”}”(hŒstruct slim_controller *ctrl”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjF<h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjB<ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjS<h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjB<ubh)�”}”(hhh]”j�)�”}”(hŒslim_controller”h]”hŒslim_controller”…”�”}”(hjd<h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhja<ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jf<Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-j,<sbŒc.slim_msg_response”†”asbuh1hhjB<ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„<h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjB<ubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hj’<h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjB<ubj�)�”}”(hŒctrl”h]”hŒctrl”…”�”}”(hjŸ<h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjB<ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj><ubjE-)�”}”(hŒ u8 *reply”h]”(h)�”}”(hhh]”j�)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj»<h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj¸<ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”j½<Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j€<Œc.slim_msg_response”†”asbuh1hhj´<ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙ<h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj´<ubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hjç<h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hj´<ubj�)�”}”(hŒreply”h]”hŒreply”…”�”}”(hjô<h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj´<ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj><ubjE-)�”}”(hŒu8 tid”h]”(h)�”}”(hhh]”j�)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj =ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”j=Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j€<Œc.slim_msg_response”†”asbuh1hhj =ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.=h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj =ubj�)�”}”(hŒtid”h]”hŒtid”…”�”}”(hj<=h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj =ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj><ubjE-)�”}”(hŒu8 len”h]”(h)�”}”(hhh]”j�)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjX=h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjU=ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jZ=Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j€<Œc.slim_msg_response”†”asbuh1hhjQ=ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjv=h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjQ=ubj�)�”}”(hŒlen”h]”hŒlen”…”�”}”(hj„=h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjQ=ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj><ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hj<h²hh³j<h´K ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hj<h²hh³j<h´K ubah}”(h]”jü;ah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³j<h´K hjþ;h²hubj»)�”}”(hhh]”hî)�”}”(hŒADeliver Message response received from a device to the framework.”h]”hŒADeliver Message response received from a device to the framework.”…”�”}”(hj®=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´K hj«=h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjþ;h²hh³j<h´K ubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝjÆ=jÞjÆ=j߉jà‰já‰uh1jRh²hhjß;h³Nh´Nubjã)�”}”(hXä**Parameters** ``struct slim_controller *ctrl`` Controller handle ``u8 *reply`` Reply received from the device ``u8 tid`` Transaction ID received with which framework can associate reply. ``u8 len`` Length of the reply **Description** Called by controller to inform framework about the response received. This helps in making the API asynchronous, and controller-driver doesn't need to manage 1 more table other than the one managed by framework mapping TID with buffers”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hjÐ=h]”hŒ Parameters”…”�”}”(hjÒ=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjÎ=ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´KhjÊ=ubj1)�”}”(hhh]”(j6)�”}”(hŒ3``struct slim_controller *ctrl`` Controller handle ”h]”(j<)�”}”(hŒ ``struct slim_controller *ctrl``”h]”jB)�”}”(hjï=h]”hŒstruct slim_controller *ctrl”…”�”}”(hjñ=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjí=ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Khjé=ubjX)�”}”(hhh]”hî)�”}”(hŒController handle”h]”hŒController handle”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j>h´Khj>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjé=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j>h´Khjæ=ubj6)�”}”(hŒ-``u8 *reply`` Reply received from the device ”h]”(j<)�”}”(hŒ ``u8 *reply``”h]”jB)�”}”(hj(>h]”hŒ u8 *reply”…”�”}”(hj*>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj&>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Khj">ubjX)�”}”(hhh]”hî)�”}”(hŒReply received from the device”h]”hŒReply received from the device”…”�”}”(hjA>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j=>h´Khj>>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj">ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j=>h´Khjæ=ubj6)�”}”(hŒM``u8 tid`` Transaction ID received with which framework can associate reply. ”h]”(j<)�”}”(hŒ ``u8 tid``”h]”jB)�”}”(hja>h]”hŒu8 tid”…”�”}”(hjc>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj_>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Khj[>ubjX)�”}”(hhh]”hî)�”}”(hŒATransaction ID received with which framework can associate reply.”h]”hŒATransaction ID received with which framework can associate reply.”…”�”}”(hjz>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jv>h´Khjw>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj[>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jv>h´Khjæ=ubj6)�”}”(hŒ``u8 len`` Length of the reply ”h]”(j<)�”}”(hŒ ``u8 len``”h]”jB)�”}”(hjš>h]”hŒu8 len”…”�”}”(hjœ>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj˜>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Khj”>ubjX)�”}”(hhh]”hî)�”}”(hŒLength of the reply”h]”hŒLength of the reply”…”�”}”(hj³>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j¯>h´Khj°>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj”>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j¯>h´Khjæ=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hjÊ=ubhî)�”}”(hŒ**Description**”h]”jí)�”}”(hjÕ>h]”hŒ Description”…”�”}”(hj×>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjÓ>ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´KhjÊ=ubhî)�”}”(hŒëCalled by controller to inform framework about the response received. This helps in making the API asynchronous, and controller-driver doesn't need to manage 1 more table other than the one managed by framework mapping TID with buffers”h]”hŒíCalled by controller to inform framework about the response received. This helps in making the API asynchronous, and controller-driver doesn’t need to manage 1 more table other than the one managed by framework mapping TID with buffers”…”�”}”(hjë>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´KhjÊ=ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhjß;h²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_alloc_txn_tid (C function)”Œc.slim_alloc_txn_tid”hNt”auh1jAhjß;h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒOint slim_alloc_txn_tid (struct slim_controller *ctrl, struct slim_msg_txn *txn)”h]”j^)�”}”(hŒNint slim_alloc_txn_tid(struct slim_controller *ctrl, struct slim_msg_txn *txn)”h]”(j-)�”}”(hŒint”h]”hŒint”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”j-ah"]”h$]”h&]”uh1j-hj?h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´K8ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)?h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj?h²hh³j(?h´K8ubj‡)�”}”(hŒslim_alloc_txn_tid”h]”j�)�”}”(hŒslim_alloc_txn_tid”h]”hŒslim_alloc_txn_tid”…”�”}”(hj;?h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj7?ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hj?h²hh³j(?h´K8ubj?-)�”}”(hŒ8(struct slim_controller *ctrl, struct slim_msg_txn *txn)”h]”(jE-)�”}”(hŒstruct slim_controller *ctrl”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjW?h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjS?ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjd?h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjS?ubh)�”}”(hhh]”j�)�”}”(hŒslim_controller”h]”hŒslim_controller”…”�”}”(hju?h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjr?ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jw?Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-j=?sbŒc.slim_alloc_txn_tid”†”asbuh1hhjS?ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•?h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjS?ubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hj£?h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjS?ubj�)�”}”(hŒctrl”h]”hŒctrl”…”�”}”(hj°?h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjS?ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjO?ubjE-)�”}”(hŒstruct slim_msg_txn *txn”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjÉ?h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjÅ?ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖ?h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjÅ?ubh)�”}”(hhh]”j�)�”}”(hŒ slim_msg_txn”h]”hŒ slim_msg_txn”…”�”}”(hjç?h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjä?ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jé?Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‘?Œc.slim_alloc_txn_tid”†”asbuh1hhjÅ?ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjÅ?ubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjÅ?ubj�)�”}”(hŒtxn”h]”hŒtxn”…”�”}”(hj @h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjÅ?ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjO?ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hj?h²hh³j(?h´K8ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hj?h²hh³j(?h´K8ubah}”(h]”j ?ah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³j(?h´K8hj?h²hubj»)�”}”(hhh]”hî)�”}”(hŒAllocate a tid to txn”h]”hŒAllocate a tid to txn”…”�”}”(hjJ@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´K8hjG@h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhj?h²hh³j(?h´K8ubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝjb@jÞjb@j߉jà‰já‰uh1jRh²hhjß;h³Nh´Nubjã)�”}”(hŒ×**Parameters** ``struct slim_controller *ctrl`` Controller handle ``struct slim_msg_txn *txn`` transaction to be allocated with tid. **Return** zero on success with valid txn->tid and error code on failures.”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hjl@h]”hŒ Parameters”…”�”}”(hjn@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjj@ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Ktid and error code on failures.”h]”hŒ?zero on success with valid txn->tid and error code on failures.”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´K=hjf@ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhjß;h²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_free_txn_tid (C function)”Œc.slim_free_txn_tid”hNt”auh1jAhjß;h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒOvoid slim_free_txn_tid (struct slim_controller *ctrl, struct slim_msg_txn *txn)”h]”j^)�”}”(hŒNvoid slim_free_txn_tid(struct slim_controller *ctrl, struct slim_msg_txn *txn)”h]”(j-)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjDAh²hh³Nh´Nubah}”(h]”h ]”j-ah"]”h$]”h&]”uh1j-hj@Ah²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´KRubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjSAh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj@Ah²hh³jRAh´KRubj‡)�”}”(hŒslim_free_txn_tid”h]”j�)�”}”(hŒslim_free_txn_tid”h]”hŒslim_free_txn_tid”…”�”}”(hjeAh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjaAubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hj@Ah²hh³jRAh´KRubj?-)�”}”(hŒ8(struct slim_controller *ctrl, struct slim_msg_txn *txn)”h]”(jE-)�”}”(hŒstruct slim_controller *ctrl”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hj�Ah²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchj}Aubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽAh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj}Aubh)�”}”(hhh]”j�)�”}”(hŒslim_controller”h]”hŒslim_controller”…”�”}”(hjŸAh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjœAubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”j¡AŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-jgAsbŒc.slim_free_txn_tid”†”asbuh1hhj}Aubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¿Ah²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj}AubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hjÍAh²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hj}Aubj�)�”}”(hŒctrl”h]”hŒctrl”…”�”}”(hjÚAh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj}Aubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjyAubjE-)�”}”(hŒstruct slim_msg_txn *txn”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjóAh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjïAubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjïAubh)�”}”(hhh]”j�)�”}”(hŒ slim_msg_txn”h]”hŒ slim_msg_txn”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjBubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jBŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j»AŒc.slim_free_txn_tid”†”asbuh1hhjïAubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/Bh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjïAubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hj=Bh²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjïAubj�)�”}”(hŒtxn”h]”hŒtxn”…”�”}”(hjJBh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjïAubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjyAubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hj@Ah²hh³jRAh´KRubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hj-hjDCh²hh³jVCh´Kbubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hj@Ch²hh³jVCh´Kbubah}”(h]”j;Cah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jVCh´Kbhj=Ch²hubj»)�”}”(hhh]”hî)�”}”(hŒ'Process a SLIMbus-messaging transaction”h]”hŒ'Process a SLIMbus-messaging transaction”…”�”}”(hjxDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´KbhjuDh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhj=Ch²hh³jVCh´Kbubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝj�DjÞj�Dj߉jà‰já‰uh1jRh²hhjß;h³Nh´Nubjã)�”}”(hXË**Parameters** ``struct slim_controller *ctrl`` Controller handle ``struct slim_msg_txn *txn`` Transaction to be sent over SLIMbus **Description** Called by controller to transmit messaging transactions not dealing with Interface/Value elements. (e.g. transmitting a message to assign logical address to a slave device **Return** -ETIMEDOUT: If transmission of this message timed out (e.g. due to bus lines not being clocked or driven by controller)”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hjšDh]”hŒ Parameters”…”�”}”(hjœDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj˜Dubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Kfhj”Dubj1)�”}”(hhh]”(j6)�”}”(hŒ3``struct slim_controller *ctrl`` Controller handle ”h]”(j<)�”}”(hŒ ``struct slim_controller *ctrl``”h]”jB)�”}”(hj¹Dh]”hŒstruct slim_controller *ctrl”…”�”}”(hj»Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj·Dubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Kdhj³DubjX)�”}”(hhh]”hî)�”}”(hŒController handle”h]”hŒController handle”…”�”}”(hjÒDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jÎDh´KdhjÏDubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj³Dubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÎDh´Kdhj°Dubj6)�”}”(hŒA``struct slim_msg_txn *txn`` Transaction to be sent over SLIMbus ”h]”(j<)�”}”(hŒ``struct slim_msg_txn *txn``”h]”jB)�”}”(hjòDh]”hŒstruct slim_msg_txn *txn”…”�”}”(hjôDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjðDubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´KehjìDubjX)�”}”(hhh]”hî)�”}”(hŒ#Transaction to be sent over SLIMbus”h]”hŒ#Transaction to be sent over SLIMbus”…”�”}”(hj Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jEh´KehjEubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjìDubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jEh´Kehj°Dubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hj”Dubhî)�”}”(hŒ**Description**”h]”jí)�”}”(hj-Eh]”hŒ Description”…”�”}”(hj/Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj+Eubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Kghj”Dubhî)�”}”(hŒ«Called by controller to transmit messaging transactions not dealing with Interface/Value elements. (e.g. transmitting a message to assign logical address to a slave device”h]”hŒ«Called by controller to transmit messaging transactions not dealing with Interface/Value elements. (e.g. transmitting a message to assign logical address to a slave device”…”�”}”(hjCEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Kfhj”Dubhî)�”}”(hŒ **Return**”h]”jí)�”}”(hjTEh]”hŒReturn”…”�”}”(hjVEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjREubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Kjhj”Dubhî)�”}”(hŒw-ETIMEDOUT: If transmission of this message timed out (e.g. due to bus lines not being clocked or driven by controller)”h]”hŒw-ETIMEDOUT: If transmission of this message timed out (e.g. due to bus lines not being clocked or driven by controller)”…”�”}”(hjjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Kkhj”Dubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhjß;h²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_xfer_msg (C function)”Œc.slim_xfer_msg”hNt”auh1jAhjß;h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒNint slim_xfer_msg (struct slim_device *sbdev, struct slim_val_inf *msg, u8 mc)”h]”j^)�”}”(hŒMint slim_xfer_msg(struct slim_device *sbdev, struct slim_val_inf *msg, u8 mc)”h]”(j-)�”}”(hŒint”h]”hŒint”…”�”}”(hj™Eh²hh³Nh´Nubah}”(h]”h ]”j-ah"]”h$]”h&]”uh1j-hj•Eh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Kßubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨Eh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj•Eh²hh³j§Eh´Kßubj‡)�”}”(hŒ slim_xfer_msg”h]”j�)�”}”(hŒ slim_xfer_msg”h]”hŒ slim_xfer_msg”…”�”}”(hjºEh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj¶Eubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hj•Eh²hh³j§Eh´Kßubj?-)�”}”(hŒ<(struct slim_device *sbdev, struct slim_val_inf *msg, u8 mc)”h]”(jE-)�”}”(hŒstruct slim_device *sbdev”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjÖEh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjÒEubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjãEh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjÒEubh)�”}”(hhh]”j�)�”}”(hŒ slim_device”h]”hŒ slim_device”…”�”}”(hjôEh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjñEubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jöEŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-j¼EsbŒc.slim_xfer_msg”†”asbuh1hhjÒEubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjÒEubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hj"Fh²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjÒEubj�)�”}”(hŒsbdev”h]”hŒsbdev”…”�”}”(hj/Fh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjÒEubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjÎEubjE-)�”}”(hŒstruct slim_val_inf *msg”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjHFh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjDFubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUFh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjDFubh)�”}”(hhh]”j�)�”}”(hŒ slim_val_inf”h]”hŒ slim_val_inf”…”�”}”(hjfFh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjcFubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jhFŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”jFŒc.slim_xfer_msg”†”asbuh1hhjDFubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„Fh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjDFubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hj’Fh²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjDFubj�)�”}”(hŒmsg”h]”hŒmsg”…”�”}”(hjŸFh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjDFubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjÎEubjE-)�”}”(hŒu8 mc”h]”(h)�”}”(hhh]”j�)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj»Fh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj¸Fubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”j½FŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”jFŒc.slim_xfer_msg”†”asbuh1hhj´Fubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙFh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj´Fubj�)�”}”(hŒmc”h]”hŒmc”…”�”}”(hjçFh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj´Fubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjÎEubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hj•Eh²hh³j§Eh´Kßubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hj‘Eh²hh³j§Eh´Kßubah}”(h]”jŒEah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³j§Eh´KßhjŽEh²hubj»)�”}”(hhh]”hî)�”}”(hŒ,Transfer a value info message on slim device”h]”hŒ,Transfer a value info message on slim device”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´KßhjGh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjŽEh²hh³j§Eh´Kßubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝj)GjÞj)Gj߉jà‰já‰uh1jRh²hhjß;h³Nh´Nubjã)�”}”(hX_**Parameters** ``struct slim_device *sbdev`` slim device to which this msg has to be transferred ``struct slim_val_inf *msg`` value info message pointer ``u8 mc`` message code of the message **Description** Called by drivers which want to transfer a vlaue or info elements. **Return** -ETIMEDOUT: If transmission of this message timed out”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hj3Gh]”hŒ Parameters”…”�”}”(hj5Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj1Gubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Kãhj-Gubj1)�”}”(hhh]”(j6)�”}”(hŒR``struct slim_device *sbdev`` slim device to which this msg has to be transferred ”h]”(j<)�”}”(hŒ``struct slim_device *sbdev``”h]”jB)�”}”(hjRGh]”hŒstruct slim_device *sbdev”…”�”}”(hjTGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjPGubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´KáhjLGubjX)�”}”(hhh]”hî)�”}”(hŒ3slim device to which this msg has to be transferred”h]”hŒ3slim device to which this msg has to be transferred”…”�”}”(hjkGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jgGh´KáhjhGubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjLGubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jgGh´KáhjIGubj6)�”}”(hŒ8``struct slim_val_inf *msg`` value info message pointer ”h]”(j<)�”}”(hŒ``struct slim_val_inf *msg``”h]”jB)�”}”(hj‹Gh]”hŒstruct slim_val_inf *msg”…”�”}”(hj�Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj‰Gubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Kâhj…GubjX)�”}”(hhh]”hî)�”}”(hŒvalue info message pointer”h]”hŒvalue info message pointer”…”�”}”(hj¤Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j Gh´Kâhj¡Gubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj…Gubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j Gh´KâhjIGubj6)�”}”(hŒ&``u8 mc`` message code of the message ”h]”(j<)�”}”(hŒ ``u8 mc``”h]”jB)�”}”(hjÄGh]”hŒu8 mc”…”�”}”(hjÆGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjÂGubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Kãhj¾GubjX)�”}”(hhh]”hî)�”}”(hŒmessage code of the message”h]”hŒmessage code of the message”…”�”}”(hjÝGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jÙGh´KãhjÚGubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj¾Gubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÙGh´KãhjIGubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hj-Gubhî)�”}”(hŒ**Description**”h]”jí)�”}”(hjÿGh]”hŒ Description”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjýGubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Kåhj-Gubhî)�”}”(hŒBCalled by drivers which want to transfer a vlaue or info elements.”h]”hŒBCalled by drivers which want to transfer a vlaue or info elements.”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Kähj-Gubhî)�”}”(hŒ **Return**”h]”jí)�”}”(hj&Hh]”hŒReturn”…”�”}”(hj(Hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj$Hubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Kæhj-Gubhî)�”}”(hŒ5-ETIMEDOUT: If transmission of this message timed out”h]”hŒ5-ETIMEDOUT: If transmission of this message timed out”…”�”}”(hj-hjgHh²hh³jyHh´Mubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjcHh²hh³jyHh´Mubah}”(h]”j^Hah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jyHh´Mhj`Hh²hubj»)�”}”(hhh]”hî)�”}”(hŒRead SLIMbus value element”h]”hŒRead SLIMbus value element”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´Mhj Jh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhj`Hh²hh³jyHh´Mubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝj(JjÞj(Jj߉jà‰já‰uh1jRh²hhjß;h³Nh´Nubjã)�”}”(hXš**Parameters** ``struct slim_device *sdev`` client handle. ``u32 addr`` address of value element to read. ``size_t count`` number of bytes to read. Maximum bytes allowed are 16. ``u8 *val`` will return what the value element value was **Return** -EINVAL for Invalid parameters, -ETIMEDOUT If transmission of this message timed out (e.g. due to bus lines not being clocked or driven by controller)”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hj2Jh]”hŒ Parameters”…”�”}”(hj4Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj0Jubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´M!hj,Jubj1)�”}”(hhh]”(j6)�”}”(hŒ,``struct slim_device *sdev`` client handle. ”h]”(j<)�”}”(hŒ``struct slim_device *sdev``”h]”jB)�”}”(hjQJh]”hŒstruct slim_device *sdev”…”�”}”(hjSJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjOJubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´MhjKJubjX)�”}”(hhh]”hî)�”}”(hŒclient handle.”h]”hŒclient handle.”…”�”}”(hjjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jfJh´MhjgJubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjKJubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jfJh´MhjHJubj6)�”}”(hŒ/``u32 addr`` address of value element to read. ”h]”(j<)�”}”(hŒ ``u32 addr``”h]”jB)�”}”(hjŠJh]”hŒu32 addr”…”�”}”(hjŒJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjˆJubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´M hj„JubjX)�”}”(hhh]”hî)�”}”(hŒ!address of value element to read.”h]”hŒ!address of value element to read.”…”�”}”(hj£Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jŸJh´M hj Jubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj„Jubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jŸJh´M hjHJubj6)�”}”(hŒH``size_t count`` number of bytes to read. Maximum bytes allowed are 16. ”h]”(j<)�”}”(hŒ``size_t count``”h]”jB)�”}”(hjÃJh]”hŒ size_t count”…”�”}”(hjÅJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjÁJubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´M!hj½JubjX)�”}”(hhh]”hî)�”}”(hŒ6number of bytes to read. Maximum bytes allowed are 16.”h]”hŒ6number of bytes to read. Maximum bytes allowed are 16.”…”�”}”(hjÜJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jØJh´M!hjÙJubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj½Jubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jØJh´M!hjHJubj6)�”}”(hŒ9``u8 *val`` will return what the value element value was ”h]”(j<)�”}”(hŒ ``u8 *val``”h]”jB)�”}”(hjüJh]”hŒu8 *val”…”�”}”(hjþJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjúJubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´M"hjöJubjX)�”}”(hhh]”hî)�”}”(hŒ,will return what the value element value was”h]”hŒ,will return what the value element value was”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jKh´M"hjKubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjöJubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jKh´M"hjHJubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hj,Jubhî)�”}”(hŒ **Return**”h]”jí)�”}”(hj7Kh]”hŒReturn”…”�”}”(hj9Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj5Kubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´M$hj,Jubhî)�”}”(hŒ–-EINVAL for Invalid parameters, -ETIMEDOUT If transmission of this message timed out (e.g. due to bus lines not being clocked or driven by controller)”•—ñh]”hŒ–-EINVAL for Invalid parameters, -ETIMEDOUT If transmission of this message timed out (e.g. due to bus lines not being clocked or driven by controller)”…”�”}”(hjMKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´M$hj,Jubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhjß;h²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_readb (C function)”Œ c.slim_readb”hNt”auh1jAhjß;h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒ3int slim_readb (struct slim_device *sdev, u32 addr)”h]”j^)�”}”(hŒ2int slim_readb(struct slim_device *sdev, u32 addr)”h]”(j-)�”}”(hŒint”h]”hŒint”…”�”}”(hj|Kh²hh³Nh´Nubah}”(h]”h ]”j-ah"]”h$]”h&]”uh1j-hjxKh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´M3ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹Kh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjxKh²hh³jŠKh´M3ubj‡)�”}”(hŒ slim_readb”h]”j�)�”}”(hŒ slim_readb”h]”hŒ slim_readb”…”�”}”(hj�Kh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj™Kubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hjxKh²hh³jŠKh´M3ubj?-)�”}”(hŒ$(struct slim_device *sdev, u32 addr)”h]”(jE-)�”}”(hŒstruct slim_device *sdev”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hj¹Kh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjµKubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆKh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjµKubh)�”}”(hhh]”j�)�”}”(hŒ slim_device”h]”hŒ slim_device”…”�”}”(hj×Kh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjÔKubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jÙKŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-jŸKsbŒ c.slim_readb”†”asbuh1hhjµKubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷Kh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjµKubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjµKubj�)�”}”(hŒsdev”h]”hŒsdev”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjµKubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj±KubjE-)�”}”(hŒu32 addr”h]”(h)�”}”(hhh]”j�)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj.Lh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj+Lubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”j0LŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”jóKŒ c.slim_readb”†”asbuh1hhj'Lubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjLLh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj'Lubj�)�”}”(hŒaddr”h]”hŒaddr”…”�”}”(hjZLh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj'Lubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj±Kubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hjxKh²hh³jŠKh´M3ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjtKh²hh³jŠKh´M3ubah}”(h]”joKah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jŠKh´M3hjqKh²hubj»)�”}”(hhh]”hî)�”}”(hŒ$Read byte from SLIMbus value element”h]”hŒ$Read byte from SLIMbus value element”…”�”}”(hj„Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´M3hj�Lh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjqKh²hh³jŠKh´M3ubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝjœLjÞjœLj߉jà‰já‰uh1jRh²hhjß;h³Nh´Nubjã)�”}”(hŒ�**Parameters** ``struct slim_device *sdev`` client handle. ``u32 addr`` address in the value element to read. **Return** byte value of value element.”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hj¦Lh]”hŒ Parameters”…”�”}”(hj¨Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj¤Lubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´M7hj Lubj1)�”}”(hhh]”(j6)�”}”(hŒ,``struct slim_device *sdev`` client handle. ”h]”(j<)�”}”(hŒ``struct slim_device *sdev``”h]”jB)�”}”(hjÅLh]”hŒstruct slim_device *sdev”…”�”}”(hjÇLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjÃLubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´M5hj¿LubjX)�”}”(hhh]”hî)�”}”(hŒclient handle.”h]”hŒclient handle.”…”�”}”(hjÞLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jÚLh´M5hjÛLubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj¿Lubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÚLh´M5hj¼Lubj6)�”}”(hŒ3``u32 addr`` address in the value element to read. ”h]”(j<)�”}”(hŒ ``u32 addr``”h]”jB)�”}”(hjþLh]”hŒu32 addr”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjüLubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´M6hjøLubjX)�”}”(hhh]”hî)�”}”(hŒ%address in the value element to read.”h]”hŒ%address in the value element to read.”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jMh´M6hjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjøLubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jMh´M6hj¼Lubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hj Lubhî)�”}”(hŒ **Return**”h]”jí)�”}”(hj9Mh]”hŒReturn”…”�”}”(hj;Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj7Mubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´M8hj Lubhî)�”}”(hŒbyte value of value element.”h]”hŒbyte value of value element.”…”�”}”(hjOMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´M8hj Lubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhjß;h²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_write (C function)”Œ c.slim_write”hNt”auh1jAhjß;h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒJint slim_write (struct slim_device *sdev, u32 addr, size_t count, u8 *val)”h]”j^)�”}”(hŒIint slim_write(struct slim_device *sdev, u32 addr, size_t count, u8 *val)”h]”(j-)�”}”(hŒint”h]”hŒint”…”�”}”(hj~Mh²hh³Nh´Nubah}”(h]”h ]”j-ah"]”h$]”h&]”uh1j-hjzMh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´MHubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Mh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjzMh²hh³jŒMh´MHubj‡)�”}”(hŒ slim_write”h]”j�)�”}”(hŒ slim_write”h]”hŒ slim_write”…”�”}”(hjŸMh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj›Mubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hjzMh²hh³jŒMh´MHubj?-)�”}”(hŒ;(struct slim_device *sdev, u32 addr, size_t count, u8 *val)”h]”(jE-)�”}”(hŒstruct slim_device *sdev”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hj»Mh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchj·Mubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈMh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj·Mubh)�”}”(hhh]”j�)�”}”(hŒ slim_device”h]”hŒ slim_device”…”�”}”(hjÙMh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjÖMubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jÛMŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-j¡MsbŒ c.slim_write”†”asbuh1hhj·Mubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjùMh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj·MubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hj·Mubj�)�”}”(hŒsdev”h]”hŒsdev”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj·Mubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj³MubjE-)�”}”(hŒu32 addr”h]”(h)�”}”(hhh]”j�)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj0Nh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj-Nubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”j2NŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”jõMŒ c.slim_write”†”asbuh1hhj)Nubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjNNh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj)Nubj�)�”}”(hŒaddr”h]”hŒaddr”…”�”}”(hj\Nh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj)Nubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj³MubjE-)�”}”(hŒ size_t count”h]”(h)�”}”(hhh]”j�)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjxNh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjuNubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jzNŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”jõMŒ c.slim_write”†”asbuh1hhjqNubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–Nh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjqNubj�)�”}”(hŒcount”h]”hŒcount”…”�”}”(hj¤Nh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjqNubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj³MubjE-)�”}”(hŒu8 *val”h]”(h)�”}”(hhh]”j�)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjÀNh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj½Nubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jÂNŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”jõMŒ c.slim_write”†”asbuh1hhj¹Nubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞNh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj¹NubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hjìNh²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hj¹Nubj�)�”}”(hŒval”h]”hŒval”…”�”}”(hjùNh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj¹Nubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj³Mubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hjzMh²hh³jŒMh´MHubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjvMh²hh³jŒMh´MHubah}”(h]”jqMah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jŒMh´MHhjsMh²hubj»)�”}”(hhh]”hî)�”}”(hŒWrite SLIMbus value element”h]”hŒWrite SLIMbus value element”…”�”}”(hj#Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´MHhj Oh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjsMh²hh³jŒMh´MHubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝj;OjÞj;Oj߉jà‰já‰uh1jRh²hhjß;h³Nh´Nubjã)�”}”(hX“**Parameters** ``struct slim_device *sdev`` client handle. ``u32 addr`` address in the value element to write. ``size_t count`` number of bytes to write. Maximum bytes allowed are 16. ``u8 *val`` value to write to value element **Return** -EINVAL for Invalid parameters, -ETIMEDOUT If transmission of this message timed out (e.g. due to bus lines not being clocked or driven by controller)”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hjEOh]”hŒ Parameters”…”�”}”(hjGOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjCOubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´MLhj?Oubj1)�”}”(hhh]”(j6)�”}”(hŒ,``struct slim_device *sdev`` client handle. ”h]”(j<)�”}”(hŒ``struct slim_device *sdev``”h]”jB)�”}”(hjdOh]”hŒstruct slim_device *sdev”…”�”}”(hjfOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjbOubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´MJhj^OubjX)�”}”(hhh]”hî)�”}”(hŒclient handle.”h]”hŒclient handle.”…”�”}”(hj}Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jyOh´MJhjzOubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj^Oubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jyOh´MJhj[Oubj6)�”}”(hŒ4``u32 addr`` address in the value element to write. ”h]”(j<)�”}”(hŒ ``u32 addr``”h]”jB)�”}”(hj�Oh]”hŒu32 addr”…”�”}”(hjŸOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj›Oubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´MKhj—OubjX)�”}”(hhh]”hî)�”}”(hŒ&address in the value element to write.”h]”hŒ&address in the value element to write.”…”�”}”(hj¶Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j²Oh´MKhj³Oubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj—Oubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j²Oh´MKhj[Oubj6)�”}”(hŒI``size_t count`` number of bytes to write. Maximum bytes allowed are 16. ”h]”(j<)�”}”(hŒ``size_t count``”h]”jB)�”}”(hjÖOh]”hŒ size_t count”…”�”}”(hjØOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjÔOubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´MLhjÐOubjX)�”}”(hhh]”hî)�”}”(hŒ7number of bytes to write. Maximum bytes allowed are 16.”h]”hŒ7number of bytes to write. Maximum bytes allowed are 16.”…”�”}”(hjïOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jëOh´MLhjìOubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjÐOubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jëOh´MLhj[Oubj6)�”}”(hŒ,``u8 *val`` value to write to value element ”h]”(j<)�”}”(hŒ ``u8 *val``”h]”jB)�”}”(hjPh]”hŒu8 *val”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj Pubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´MMhj PubjX)�”}”(hhh]”hî)�”}”(hŒvalue to write to value element”h]”hŒvalue to write to value element”…”�”}”(hj(Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j$Ph´MMhj%Pubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj Pubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j$Ph´MMhj[Oubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hj?Oubhî)�”}”(hŒ **Return**”h]”jí)�”}”(hjJPh]”hŒReturn”…”�”}”(hjLPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjHPubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´MOhj?Oubhî)�”}”(hŒ–-EINVAL for Invalid parameters, -ETIMEDOUT If transmission of this message timed out (e.g. due to bus lines not being clocked or driven by controller)”h]”hŒ–-EINVAL for Invalid parameters, -ETIMEDOUT If transmission of this message timed out (e.g. due to bus lines not being clocked or driven by controller)”…”�”}”(hj`Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´MOhj?Oubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhjß;h²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_writeb (C function)”Œ c.slim_writeb”hNt”auh1jAhjß;h²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒ>int slim_writeb (struct slim_device *sdev, u32 addr, u8 value)”h]”j^)�”}”(hŒ=int slim_writeb(struct slim_device *sdev, u32 addr, u8 value)”h]”(j-)�”}”(hŒint”h]”hŒint”…”�”}”(hj�Ph²hh³Nh´Nubah}”(h]”h ]”j-ah"]”h$]”h&]”uh1j-hj‹Ph²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´M^ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjžPh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj‹Ph²hh³j�Ph´M^ubj‡)�”}”(hŒ slim_writeb”h]”j�)�”}”(hŒ slim_writeb”h]”hŒ slim_writeb”…”�”}”(hj°Ph²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj¬Pubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hj‹Ph²hh³j�Ph´M^ubj?-)�”}”(hŒ.(struct slim_device *sdev, u32 addr, u8 value)”h]”(jE-)�”}”(hŒstruct slim_device *sdev”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjÌPh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjÈPubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙPh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjÈPubh)�”}”(hhh]”j�)�”}”(hŒ slim_device”h]”hŒ slim_device”…”�”}”(hjêPh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjçPubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jìPŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-j²PsbŒ c.slim_writeb”†”asbuh1hhjÈPubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Qh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjÈPubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjÈPubj�)�”}”(hŒsdev”h]”hŒsdev”…”�”}”(hj%Qh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjÈPubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjÄPubjE-)�”}”(hŒu32 addr”h]”(h)�”}”(hhh]”j�)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjAQh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj>Qubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jCQŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”jQŒ c.slim_writeb”†”asbuh1hhj:Qubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj_Qh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj:Qubj�)�”}”(hŒaddr”h]”hŒaddr”…”�”}”(hjmQh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj:Qubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjÄPubjE-)�”}”(hŒu8 value”h]”(h)�”}”(hhh]”j�)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj‰Qh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj†Qubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”j‹QŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”jQŒ c.slim_writeb”†”asbuh1hhj‚Qubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§Qh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj‚Qubj�)�”}”(hŒvalue”h]”hŒvalue”…”�”}”(hjµQh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj‚Qubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjÄPubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hj‹Ph²hh³j�Ph´M^ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hj‡Ph²hh³j�Ph´M^ubah}”(h]”j‚Pah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³j�Ph´M^hj„Ph²hubj»)�”}”(hhh]”hî)�”}”(hŒ#Write byte to SLIMbus value element”h]”hŒ#Write byte to SLIMbus value element”…”�”}”(hjßQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´M^hjÜQh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhj„Ph²hh³j�Ph´M^ubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝj÷QjÞj÷Qj߉jà‰já‰uh1jRh²hhjß;h³Nh´Nubjã)�”}”(hXD**Parameters** ``struct slim_device *sdev`` client handle. ``u32 addr`` address of value element to write. ``u8 value`` value to write to value element **Return** -EINVAL for Invalid parameters, -ETIMEDOUT If transmission of this message timed out (e.g. due to bus lines not being clocked or driven by controller)”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hjRh]”hŒ Parameters”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjÿQubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´MbhjûQubj1)�”}”(hhh]”(j6)�”}”(hŒ,``struct slim_device *sdev`` client handle. ”h]”(j<)�”}”(hŒ``struct slim_device *sdev``”h]”jB)�”}”(hj Rh]”hŒstruct slim_device *sdev”…”�”}”(hj"Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjRubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´M`hjRubjX)�”}”(hhh]”hî)�”}”(hŒclient handle.”h]”hŒclient handle.”…”�”}”(hj9Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j5Rh´M`hj6Rubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjRubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j5Rh´M`hjRubj6)�”}”(hŒ0``u32 addr`` address of value element to write. ”h]”(j<)�”}”(hŒ ``u32 addr``”h]”jB)�”}”(hjYRh]”hŒu32 addr”…”�”}”(hj[Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjWRubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´MahjSRubjX)�”}”(hhh]”hî)�”}”(hŒ"address of value element to write.”h]”hŒ"address of value element to write.”…”�”}”(hjrRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jnRh´MahjoRubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjSRubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jnRh´MahjRubj6)�”}”(hŒ-``u8 value`` value to write to value element ”h]”(j<)�”}”(hŒ ``u8 value``”h]”jB)�”}”(hj’Rh]”hŒu8 value”…”�”}”(hj”Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj�Rubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´MbhjŒRubjX)�”}”(hhh]”hî)�”}”(hŒvalue to write to value element”h]”hŒvalue to write to value element”…”�”}”(hj«Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j§Rh´Mbhj¨Rubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjŒRubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j§Rh´MbhjRubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hjûQubhî)�”}”(hŒ **Return**”h]”jí)�”}”(hjÍRh]”hŒReturn”…”�”}”(hjÏRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjËRubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´MdhjûQubhî)�”}”(hŒ–-EINVAL for Invalid parameters, -ETIMEDOUT If transmission of this message timed out (e.g. due to bus lines not being clocked or driven by controller)”h]”hŒ–-EINVAL for Invalid parameters, -ETIMEDOUT If transmission of this message timed out (e.g. due to bus lines not being clocked or driven by controller)”…”�”}”(hjãRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:126: ./drivers/slimbus/messaging.c”h´MdhjûQubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhjß;h²hh³Nh´Nubeh}”(h]”Œmessaging-apis”ah ]”h"]”Œmessaging apis:”ah$]”h&]”uh1hµhjÀ;h²hh³hÊh´K}ubh¶)�”}”(hhh]”(h»)�”}”(hŒStreaming APIs:”h]”hŒStreaming APIs:”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjSh²hh³hÊh´K‚ubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒ!slim_stream_allocate (C function)”Œc.slim_stream_allocate”hNt”auh1jAhjSh²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒ]struct slim_stream_runtime * slim_stream_allocate (struct slim_device *dev, const char *name)”h]”j^)�”}”(hŒ[struct slim_stream_runtime *slim_stream_allocate(struct slim_device *dev, const char *name)”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hj+Sh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchj'Sh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´KZubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9Sh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj'Sh²hh³j8Sh´KZubh)�”}”(hhh]”j�)�”}”(hŒslim_stream_runtime”h]”hŒslim_stream_runtime”…”�”}”(hjJSh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjGSubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jLSŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-Œslim_stream_allocate”sbŒc.slim_stream_allocate”†”asbuh1hhj'Sh²hh³j8Sh´KZubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkSh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj'Sh²hh³j8Sh´KZubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hjySh²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hj'Sh²hh³j8Sh´KZubj‡)�”}”(hŒslim_stream_allocate”h]”j�)�”}”(hjhSh]”hŒslim_stream_allocate”…”�”}”(hjŠSh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj†Subah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hj'Sh²hh³j8Sh´KZubj?-)�”}”(hŒ+(struct slim_device *dev, const char *name)”h]”(jE-)�”}”(hŒstruct slim_device *dev”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hj¥Sh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchj¡Subjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²Sh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj¡Subh)�”}”(hhh]”j�)�”}”(hŒ slim_device”h]”hŒ slim_device”…”�”}”(hjÃSh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjÀSubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jÅSŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”jfSŒc.slim_stream_allocate”†”asbuh1hhj¡Subjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáSh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj¡SubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hjïSh²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hj¡Subj�)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjüSh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj¡Subeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj�SubjE-)�”}”(hŒconst char *name”h]”(jd)�”}”(hŒconst”h]”hŒconst”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjTubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#Th²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjTubj-)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj1Th²hh³Nh´Nubah}”(h]”h ]”j-ah"]”h$]”h&]”uh1j-hjTubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?Th²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjTubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hjMTh²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjTubj�)�”}”(hŒname”h]”hŒname”…”�”}”(hjZTh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjTubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hj�Subeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hj'Sh²hh³j8Sh´KZubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hj#Sh²hh³j8Sh´KZubah}”(h]”jSah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³j8Sh´KZhj Sh²hubj»)�”}”(hhh]”hî)�”}”(hŒAllocate a new SLIMbus Stream”h]”hŒAllocate a new SLIMbus Stream”…”�”}”(hj„Th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´KZhj�Th²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhj Sh²hh³j8Sh´KZubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝjœTjÞjœTj߉jà‰já‰uh1jRh²hhjSh³Nh´Nubjã)�”}”(hXí**Parameters** ``struct slim_device *dev`` Slim device to be associated with ``const char *name`` name of the stream **Description** This is very first call for SLIMbus streaming, this API will allocate a new SLIMbus stream and return a valid stream runtime pointer for client to use it in subsequent stream apis. state of stream is set to ALLOCATED **Return** valid pointer on success and error code on failure. From ASoC DPCM framework, this state is linked to startup() operation.”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hj¦Th]”hŒ Parameters”…”�”}”(hj¨Th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj¤Tubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´K^hj Tubj1)�”}”(hhh]”(j6)�”}”(hŒ>``struct slim_device *dev`` Slim device to be associated with ”h]”(j<)�”}”(hŒ``struct slim_device *dev``”h]”jB)�”}”(hjÅTh]”hŒstruct slim_device *dev”…”�”}”(hjÇTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjÃTubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´K[hj¿TubjX)�”}”(hhh]”hî)�”}”(hŒ!Slim device to be associated with”h]”hŒ!Slim device to be associated with”…”�”}”(hjÞTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jÚTh´K[hjÛTubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj¿Tubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÚTh´K[hj¼Tubj6)�”}”(hŒ(``const char *name`` name of the stream ”h]”(j<)�”}”(hŒ``const char *name``”h]”jB)�”}”(hjþTh]”hŒconst char *name”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjüTubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´K\hjøTubjX)�”}”(hhh]”hî)�”}”(hŒname of the stream”h]”hŒname of the stream”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jUh´K\hjUubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjøTubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jUh´K\hj¼Tubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hj Tubhî)�”}”(hŒ**Description**”h]”jí)�”}”(hj9Uh]”hŒ Description”…”�”}”(hj;Uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj7Uubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´K^hj Tubhî)�”}”(hŒØThis is very first call for SLIMbus streaming, this API will allocate a new SLIMbus stream and return a valid stream runtime pointer for client to use it in subsequent stream apis. state of stream is set to ALLOCATED”h]”hŒØThis is very first call for SLIMbus streaming, this API will allocate a new SLIMbus stream and return a valid stream runtime pointer for client to use it in subsequent stream apis. state of stream is set to ALLOCATED”…”�”}”(hjOUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´K]hj Tubhî)�”}”(hŒ **Return**”h]”jí)�”}”(hj`Uh]”hŒReturn”…”�”}”(hjbUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj^Uubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´Kahj Tubhî)�”}”(hŒzvalid pointer on success and error code on failure. From ASoC DPCM framework, this state is linked to startup() operation.”h]”hŒzvalid pointer on success and error code on failure. From ASoC DPCM framework, this state is linked to startup() operation.”…”�”}”(hjvUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´Kbhj Tubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhjSh²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒ slim_stream_prepare (C function)”Œc.slim_stream_prepare”hNt”auh1jAhjSh²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒXint slim_stream_prepare (struct slim_stream_runtime *rt, struct slim_stream_config *cfg)”h]”j^)�”}”(hŒWint slim_stream_prepare(struct slim_stream_runtime *rt, struct slim_stream_config *cfg)”h]”(j-)�”}”(hŒint”h]”hŒint”…”�”}”(hj¥Uh²hh³Nh´Nubah}”(h]”h ]”j-ah"]”h$]”h&]”uh1j-hj¡Uh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´KÃubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´Uh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj¡Uh²hh³j³Uh´KÃubj‡)�”}”(hŒslim_stream_prepare”h]”j�)�”}”(hŒslim_stream_prepare”h]”hŒslim_stream_prepare”…”�”}”(hjÆUh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjÂUubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hj¡Uh²hh³j³Uh´KÃubj?-)�”}”(hŒ@(struct slim_stream_runtime *rt, struct slim_stream_config *cfg)”h]”(jE-)�”}”(hŒstruct slim_stream_runtime *rt”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjâUh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjÞUubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjïUh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjÞUubh)�”}”(hhh]”j�)�”}”(hŒslim_stream_runtime”h]”hŒslim_stream_runtime”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjýUubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jVŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-jÈUsbŒc.slim_stream_prepare”†”asbuh1hhjÞUubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Vh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjÞUubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hj.Vh²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjÞUubj�)�”}”(hŒrt”h]”hŒrt”…”�”}”(hj;Vh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjÞUubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjÚUubjE-)�”}”(hŒstruct slim_stream_config *cfg”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hjTVh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjPVubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjaVh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjPVubh)�”}”(hhh]”j�)�”}”(hŒslim_stream_config”h]”hŒslim_stream_config”…”�”}”(hjrVh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjoVubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”jtVŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”jVŒc.slim_stream_prepare”†”asbuh1hhjPVubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Vh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjPVubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hjžVh²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjPVubj�)�”}”(hŒcfg”h]”hŒcfg”…”�”}”(hj«Vh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjPVubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjÚUubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hj¡Uh²hh³j³Uh´KÃubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hj�Uh²hh³j³Uh´KÃubah}”(h]”j˜Uah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³j³Uh´KÃhjšUh²hubj»)�”}”(hhh]”hî)�”}”(hŒPrepare a SLIMbus Stream”h]”hŒPrepare a SLIMbus Stream”…”�”}”(hjÕVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´KÃhjÒVh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjšUh²hh³j³Uh´KÃubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝjíVjÞjíVj߉jà‰já‰uh1jRh²hhjSh³Nh´Nubjã)�”}”(hX}**Parameters** ``struct slim_stream_runtime *rt`` instance of slim stream runtime to configure ``struct slim_stream_config *cfg`` new configuration for the stream **Description** This API will configure SLIMbus stream with config parameters from cfg. return zero on success and error code on failure. From ASoC DPCM framework, this state is linked to hw_params() operation.”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hj÷Vh]”hŒ Parameters”…”�”}”(hjùVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjõVubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´KÇhjñVubj1)�”}”(hhh]”(j6)�”}”(hŒP``struct slim_stream_runtime *rt`` instance of slim stream runtime to configure ”h]”(j<)�”}”(hŒ"``struct slim_stream_runtime *rt``”h]”jB)�”}”(hjWh]”hŒstruct slim_stream_runtime *rt”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjWubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´KÅhjWubjX)�”}”(hhh]”hî)�”}”(hŒ,instance of slim stream runtime to configure”h]”hŒ,instance of slim stream runtime to configure”…”�”}”(hj/Wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j+Wh´KÅhj,Wubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjWubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j+Wh´KÅhj Wubj6)�”}”(hŒD``struct slim_stream_config *cfg`` new configuration for the stream ”h]”(j<)�”}”(hŒ"``struct slim_stream_config *cfg``”h]”jB)�”}”(hjOWh]”hŒstruct slim_stream_config *cfg”…”�”}”(hjQWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjMWubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´KÆhjIWubjX)�”}”(hhh]”hî)�”}”(hŒ new configuration for the stream”h]”hŒ new configuration for the stream”…”�”}”(hjhWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jdWh´KÆhjeWubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjIWubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jdWh´KÆhj Wubeh}”(h]”h ]”h"]”h$]”h&]”uh1j0hjñVubhî)�”}”(hŒ**Description**”h]”jí)�”}”(hjŠWh]”hŒ Description”…”�”}”(hjŒWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjˆWubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´KÈhjñVubhî)�”}”(hŒÂThis API will configure SLIMbus stream with config parameters from cfg. return zero on success and error code on failure. From ASoC DPCM framework, this state is linked to hw_params() operation.”h]”hŒÂThis API will configure SLIMbus stream with config parameters from cfg. return zero on success and error code on failure. From ASoC DPCM framework, this state is linked to hw_params() operation.”…”�”}”(hj Wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´KÇhjñVubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhjSh²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_stream_enable (C function)”Œc.slim_stream_enable”hNt”auh1jAhjSh²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒ;int slim_stream_enable (struct slim_stream_runtime *stream)”h]”j^)�”}”(hŒ:int slim_stream_enable(struct slim_stream_runtime *stream)”h]”(j-)�”}”(hŒint”h]”hŒint”…”�”}”(hjÏWh²hh³Nh´Nubah}”(h]”h ]”j-ah"]”h$]”h&]”uh1j-hjËWh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M]ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞWh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjËWh²hh³jÝWh´M]ubj‡)�”}”(hŒslim_stream_enable”h]”j�)�”}”(hŒslim_stream_enable”h]”hŒslim_stream_enable”…”�”}”(hjðWh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjìWubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hjËWh²hh³jÝWh´M]ubj?-)�”}”(hŒ$(struct slim_stream_runtime *stream)”h]”jE-)�”}”(hŒ"struct slim_stream_runtime *stream”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hj Xh²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjXubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjXubh)�”}”(hhh]”j�)�”}”(hŒslim_stream_runtime”h]”hŒslim_stream_runtime”…”�”}”(hj*Xh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj'Xubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”j,XŒmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-jòWsbŒc.slim_stream_enable”†”asbuh1hhjXubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJXh²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjXubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hjXXh²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjXubj�)�”}”(hŒstream”h]”hŒstream”…”�”}”(hjeXh²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjXubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjXubah}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hjËWh²hh³jÝWh´M]ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjÇWh²hh³jÝWh´M]ubah}”(h]”jÂWah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jÝWh´M]hjÄWh²hubj»)�”}”(hhh]”hî)�”}”(hŒ Enable a prepared SLIMbus Stream”h]”hŒ Enable a prepared SLIMbus Stream”…”�”}”(hj�Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M]hjŒXh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjÄWh²hh³jÝWh´M]ubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝj§XjÞj§Xj߉jà‰já‰uh1jRh²hhjSh³Nh´Nubjã)�”}”(hXH**Parameters** ``struct slim_stream_runtime *stream`` instance of slim stream runtime to enable **Description** This API will enable all the ports and channels associated with SLIMbus stream **Return** zero on success and error code on failure. From ASoC DPCM framework, this state is linked to trigger() start operation.”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hj±Xh]”hŒ Parameters”…”�”}”(hj³Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj¯Xubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´Mahj«Xubj1)�”}”(hhh]”j6)�”}”(hŒQ``struct slim_stream_runtime *stream`` instance of slim stream runtime to enable ”h]”(j<)�”}”(hŒ&``struct slim_stream_runtime *stream``”h]”jB)�”}”(hjÐXh]”hŒ"struct slim_stream_runtime *stream”…”�”}”(hjÒXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjÎXubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M_hjÊXubjX)�”}”(hhh]”hî)�”}”(hŒ)instance of slim stream runtime to enable”h]”hŒ)instance of slim stream runtime to enable”…”�”}”(hjéXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jåXh´M_hjæXubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjÊXubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jåXh´M_hjÇXubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hj«Xubhî)�”}”(hŒ**Description**”h]”jí)�”}”(hj Yh]”hŒ Description”…”�”}”(hj Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj Yubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´Mahj«Xubhî)�”}”(hŒNThis API will enable all the ports and channels associated with SLIMbus stream”h]”hŒNThis API will enable all the ports and channels associated with SLIMbus stream”…”�”}”(hj!Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M`hj«Xubhî)�”}”(hŒ **Return**”h]”jí)�”}”(hj2Yh]”hŒReturn”…”�”}”(hj4Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj0Yubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´Mchj«Xubhî)�”}”(hŒwzero on success and error code on failure. From ASoC DPCM framework, this state is linked to trigger() start operation.”h]”hŒwzero on success and error code on failure. From ASoC DPCM framework, this state is linked to trigger() start operation.”…”�”}”(hjHYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´Mdhj«Xubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhjSh²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒ slim_stream_disable (C function)”Œc.slim_stream_disable”hNt”auh1jAhjSh²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒ-hjsYh²hh³j…Yh´M’ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hjoYh²hh³j…Yh´M’ubah}”(h]”jjYah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³j…Yh´M’hjlYh²hubj»)�”}”(hhh]”hî)�”}”(hŒDisable a SLIMbus Stream”h]”hŒDisable a SLIMbus Stream”…”�”}”(hj7Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M’hj4Zh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjlYh²hh³j…Yh´M’ubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝjOZjÞjOZj߉jà‰já‰uh1jRh²hhjSh³Nh´Nubjã)�”}”(hXJ**Parameters** ``struct slim_stream_runtime *stream`` instance of slim stream runtime to disable **Description** This API will disable all the ports and channels associated with SLIMbus stream **Return** zero on success and error code on failure. From ASoC DPCM framework, this state is linked to trigger() pause operation.”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hjYZh]”hŒ Parameters”…”�”}”(hj[Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjWZubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M–hjSZubj1)�”}”(hhh]”j6)�”}”(hŒR``struct slim_stream_runtime *stream`` instance of slim stream runtime to disable ”h]”(j<)�”}”(hŒ&``struct slim_stream_runtime *stream``”h]”jB)�”}”(hjxZh]”hŒ"struct slim_stream_runtime *stream”…”�”}”(hjzZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjvZubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M”hjrZubjX)�”}”(hhh]”hî)�”}”(hŒ*instance of slim stream runtime to disable”h]”hŒ*instance of slim stream runtime to disable”…”�”}”(hj‘Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j�Zh´M”hjŽZubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjrZubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j�Zh´M”hjoZubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjSZubhî)�”}”(hŒ**Description**”h]”jí)�”}”(hj³Zh]”hŒ Description”…”�”}”(hjµZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj±Zubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M–hjSZubhî)�”}”(hŒOThis API will disable all the ports and channels associated with SLIMbus stream”h]”hŒOThis API will disable all the ports and channels associated with SLIMbus stream”…”�”}”(hjÉZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M•hjSZubhî)�”}”(hŒ **Return**”h]”jí)�”}”(hjÚZh]”hŒReturn”…”�”}”(hjÜZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjØZubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M˜hjSZubhî)�”}”(hŒwzero on success and error code on failure. From ASoC DPCM framework, this state is linked to trigger() pause operation.”h]”hŒwzero on success and error code on failure. From ASoC DPCM framework, this state is linked to trigger() pause operation.”…”�”}”(hjðZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M™hjSZubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhjSh²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒ"slim_stream_unprepare (C function)”Œc.slim_stream_unprepare”hNt”auh1jAhjSh²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒ>int slim_stream_unprepare (struct slim_stream_runtime *stream)”h]”j^)�”}”(hŒ=int slim_stream_unprepare(struct slim_stream_runtime *stream)”h]”(j-)�”}”(hŒint”h]”hŒint”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”j-ah"]”h$]”h&]”uh1j-hj²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M·ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.[h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj²hh³j-[h´M·ubj‡)�”}”(hŒslim_stream_unprepare”h]”j�)�”}”(hŒslim_stream_unprepare”h]”hŒslim_stream_unprepare”…”�”}”(hj@[h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj<[ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hj²hh³j-[h´M·ubj?-)�”}”(hŒ$(struct slim_stream_runtime *stream)”h]”jE-)�”}”(hŒ"struct slim_stream_runtime *stream”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hj\[h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchjX[ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hji[h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjX[ubh)�”}”(hhh]”j�)�”}”(hŒslim_stream_runtime”h]”hŒslim_stream_runtime”…”�”}”(hjz[h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjw[ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”j|[Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-jB[sbŒc.slim_stream_unprepare”†”asbuh1hhjX[ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjš[h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjX[ubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hj¨[h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hjX[ubj�)�”}”(hŒstream”h]”hŒstream”…”�”}”(hjµ[h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjX[ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjT[ubah}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hj²hh³j-[h´M·ubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hj[h²hh³j-[h´M·ubah}”(h]”j[ah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³j-[h´M·hj[h²hubj»)�”}”(hhh]”hî)�”}”(hŒUn-prepare a SLIMbus Stream”h]”hŒUn-prepare a SLIMbus Stream”…”�”}”(hjß[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M·hjÜ[h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhj[h²hh³j-[h´M·ubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝj÷[jÞj÷[j߉jà‰já‰uh1jRh²hhjSh³Nh´Nubjã)�”}”(hXO**Parameters** ``struct slim_stream_runtime *stream`` instance of slim stream runtime to unprepare **Description** This API will un allocate all the ports and channels associated with SLIMbus stream **Return** zero on success and error code on failure. From ASoC DPCM framework, this state is linked to trigger() stop operation.”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hj\h]”hŒ Parameters”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjÿ[ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M»hjû[ubj1)�”}”(hhh]”j6)�”}”(hŒT``struct slim_stream_runtime *stream`` instance of slim stream runtime to unprepare ”h]”(j<)�”}”(hŒ&``struct slim_stream_runtime *stream``”h]”jB)�”}”(hj \h]”hŒ"struct slim_stream_runtime *stream”…”�”}”(hj"\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M¹hj\ubjX)�”}”(hhh]”hî)�”}”(hŒ,instance of slim stream runtime to unprepare”h]”hŒ,instance of slim stream runtime to unprepare”…”�”}”(hj9\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³j5\h´M¹hj6\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhj\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³j5\h´M¹hj\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hjû[ubhî)�”}”(hŒ**Description**”h]”jí)�”}”(hj[\h]”hŒ Description”…”�”}”(hj]\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhjY\ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M»hjû[ubhî)�”}”(hŒSThis API will un allocate all the ports and channels associated with SLIMbus stream”h]”hŒSThis API will un allocate all the ports and channels associated with SLIMbus stream”…”�”}”(hjq\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´Mºhjû[ubhî)�”}”(hŒ **Return**”h]”jí)�”}”(hj‚\h]”hŒReturn”…”�”}”(hj„\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj€\ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M½hjû[ubhî)�”}”(hŒvzero on success and error code on failure. From ASoC DPCM framework, this state is linked to trigger() stop operation.”h]”hŒvzero on success and error code on failure. From ASoC DPCM framework, this state is linked to trigger() stop operation.”…”�”}”(hj˜\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M¾hjû[ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhjSh²hh³Nh´NubjB)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jNŒslim_stream_free (C function)”Œc.slim_stream_free”hNt”auh1jAhjSh²hh³Nh´NubjS)�”}”(hhh]”(jX)�”}”(hŒ9int slim_stream_free (struct slim_stream_runtime *stream)”h]”j^)�”}”(hŒ8int slim_stream_free(struct slim_stream_runtime *stream)”h]”(j-)�”}”(hŒint”h]”hŒint”…”�”}”(hjÇ\h²hh³Nh´Nubah}”(h]”h ]”j-ah"]”h$]”h&]”uh1j-hjÃ\h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´MÔubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖ\h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhjÃ\h²hh³jÕ\h´MÔubj‡)�”}”(hŒslim_stream_free”h]”j�)�”}”(hŒslim_stream_free”h]”hŒslim_stream_free”…”�”}”(hjè\h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhjä\ubah}”(h]”h ]”(jŸj eh"]”h$]”h&]”j¤j¥uh1j†hjÃ\h²hh³jÕ\h´MÔubj?-)�”}”(hŒ$(struct slim_stream_runtime *stream)”h]”jE-)�”}”(hŒ"struct slim_stream_runtime *stream”h]”(jd)�”}”(hjgh]”hŒstruct”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”jpah"]”h$]”h&]”uh1jchj]ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj]ubh)�”}”(hhh]”j�)�”}”(hŒslim_stream_runtime”h]”hŒslim_stream_runtime”…”�”}”(hj"]h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj]ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j׌reftype”j~-Œ reftarget”j$]Œmodname”NŒ classname”Nj‚-j…-)�”}”jˆ-]”j‹-)�”}”j~-jê\sbŒc.slim_stream_free”†”asbuh1hhj]ubjv)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjB]h²hh³Nh´Nubah}”(h]”h ]”j‚ah"]”h$]”h&]”uh1juhj]ubjŸ-)�”}”(hj¢-h]”hŒ*”…”�”}”(hjP]h²hh³Nh´Nubah}”(h]”h ]”j«-ah"]”h$]”h&]”uh1jž-hj]ubj�)�”}”(hŒstream”h]”hŒstream”…”�”}”(hj]]h²hh³Nh´Nubah}”(h]”h ]”j˜ah"]”h$]”h&]”uh1jŒhj]ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj¤j¥uh1jD-hjü\ubah}”(h]”h ]”h"]”h$]”h&]”j¤j¥uh1j>-hjÃ\h²hh³jÕ\h´MÔubeh}”(h]”h ]”h"]”h$]”h&]”j¤j¥j¬ˆuh1j]j­j®hj¿\h²hh³jÕ\h´MÔubah}”(h]”jº\ah ]”(j²j³eh"]”h$]”h&]”j·ˆj¸)j¹huh1jWh³jÕ\h´MÔhj¼\h²hubj»)�”}”(hhh]”hî)�”}”(hŒFree a SLIMbus Stream”h]”hŒFree a SLIMbus Stream”…”�”}”(hj‡]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´MÔhj„]h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhj¼\h²hh³jÕ\h´MÔubeh}”(h]”h ]”(j׌function”eh"]”h$]”h&]”jÜj×jÝjŸ]jÞjŸ]j߉jà‰já‰uh1jRh²hhjSh³Nh´Nubjã)�”}”(hX†**Parameters** ``struct slim_stream_runtime *stream`` instance of slim stream runtime to free **Description** This API will un allocate all the memory associated with slim stream runtime, user is not allowed to make an dereference to stream after this call. **Return** zero on success and error code on failure. From ASoC DPCM framework, this state is linked to shutdown() operation.”h]”(hî)�”}”(hŒ**Parameters**”h]”jí)�”}”(hj©]h]”hŒ Parameters”…”�”}”(hj«]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj§]ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´MØhj£]ubj1)�”}”(hhh]”j6)�”}”(hŒO``struct slim_stream_runtime *stream`` instance of slim stream runtime to free ”h]”(j<)�”}”(hŒ&``struct slim_stream_runtime *stream``”h]”jB)�”}”(hjÈ]h]”hŒ"struct slim_stream_runtime *stream”…”�”}”(hjÊ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjÆ]ubah}”(h]”h ]”h"]”h$]”h&]”uh1j;h³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´MÖhjÂ]ubjX)�”}”(hhh]”hî)�”}”(hŒ'instance of slim stream runtime to free”h]”hŒ'instance of slim stream runtime to free”…”�”}”(hjá]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³jÝ]h´MÖhjÞ]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjÂ]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5h³jÝ]h´MÖhj¿]ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0hj£]ubhî)�”}”(hŒ**Description**”h]”jí)�”}”(hj^h]”hŒ Description”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj^ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´MØhj£]ubhî)�”}”(hŒ“This API will un allocate all the memory associated with slim stream runtime, user is not allowed to make an dereference to stream after this call.”h]”hŒ“This API will un allocate all the memory associated with slim stream runtime, user is not allowed to make an dereference to stream after this call.”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´M×hj£]ubhî)�”}”(hŒ **Return**”h]”jí)�”}”(hj*^h]”hŒReturn”…”�”}”(hj,^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jìhj(^ubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´MÛhj£]ubhî)�”}”(hŒrzero on success and error code on failure. From ASoC DPCM framework, this state is linked to shutdown() operation.”h]”hŒrzero on success and error code on failure. From ASoC DPCM framework, this state is linked to shutdown() operation.”…”�”}”(hj@^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1híh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/slimbus:131: ./drivers/slimbus/stream.c”h´MÜhj£]ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jâhjSh²hh³Nh´Nubeh}”(h]”Œstreaming-apis”ah ]”h"]”Œstreaming apis:”ah$]”h&]”uh1hµhjÀ;h²hh³hÊh´K‚ubeh}”(h]”Œ messaging”ah ]”h"]”Œ messaging:”ah$]”h&]”uh1hµhhËh²hh³hÊh´Kwubeh}”(h]”Œoverview”ah ]”h"]”Œoverview”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubeh}”(h]”Œlinux-kernel-slimbus-support”ah ]”h"]”Œlinux kernel slimbus support”ah$]”h&]”uh1hµhhh²hh³hÊh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÊuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hºNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j™^Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÊŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(js^jp^jk^jh^j,j)j§j¤jêjçj-j*j 9j 9j½;jº;jµ;j²;jc^j`^jþRjûRj[^jX^uŒ nametypes”}”(js^‰jk^‰j,‰j§‰jê‰j-‰j 9‰j½;‰jµ;‰jc^‰jþR‰j[^‰uh}”(jp^h·jh^hËj)hÜj¤j/jçjªj*jíj 9j0jPjYj;j@j‹j�jJjOjr jw j` je j…jŠj‘j—jGjLjjjijnjåjêjûjjLjQjj„jj jVj[j| j� j0"j5"jŸ$j¤$j©'j®'jù,jþ,jg.jl.jÂ/jÇ/jN2jS2jÚ4jß4j’7j—7jº;j9j²;j.9jK9jP9j`^jÀ;jûRjß;jü;j<j ?j?j7Aj