€•Œ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/gpu/drm-client”Œ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/gpu/drm-client”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ"/translations/it_IT/gpu/drm-client”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ"/translations/ja_JP/gpu/drm-client”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ"/translations/ko_KR/gpu/drm-client”Œ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/gpu/drm-client”Œ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/gpu/drm-client”Œ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ŒKernel clients”h]”hŒKernel clients”…”�”}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³Œ`. Protected by :c:type:`drm_device.clientlist_mutex `. ``funcs`` DRM client functions (optional) ``file`` DRM file ``modeset_mutex`` Protects **modesets**. ``modesets`` CRTC configurations ``suspended`` The client has been suspended. ``hotplug_pending`` A hotplug event has been received while the client was suspended. Try again on resume. ``hotplug_failed`` Set by client hotplug helpers if the hotplugging failed before. It is usually not tried again.”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³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´KghjÅubj²)�”}”(hX6struct drm_client_dev { struct drm_device *dev; const char *name; struct list_head list; const struct drm_client_funcs *funcs; struct drm_file *file; struct mutex modeset_mutex; struct drm_mode_set *modesets; bool suspended; bool hotplug_pending; bool hotplug_failed; };”h]”hX6struct drm_client_dev { struct drm_device *dev; const char *name; struct list_head list; const struct drm_client_funcs *funcs; struct drm_file *file; struct mutex modeset_mutex; struct drm_mode_set *modesets; bool suspended; bool hotplug_pending; bool hotplug_failed; };”…”�”}”hjæsbah}”(h]”h ]”h"]”h$]”h&]”jNjOuh1j±h³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´KihjÅ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³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´KvhjÅubjÛ)�”}”(hhh]”(jà)�”}”(hŒ``dev`` DRM device ”h]”(jæ)�”}”(hŒ``dev``”h]”jì)�”}”(hjh]”hŒdev”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Khhjubj)�”}”(hhh]”hÌ)�”}”(hŒ DRM device”h]”hŒ DRM device”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j+h´Khhj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j+h´Khhj ubjà)�”}”(hŒ``name`` Name of the client. ”h]”(jæ)�”}”(hŒ``name``”h]”jì)�”}”(hjOh]”hŒname”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´KmhjIubj)�”}”(hhh]”hÌ)�”}”(hŒName of the client.”h]”hŒName of the client.”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jdh´Kmhjeubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjIubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jdh´Kmhj ubjà)�”}”(hŒ©``list`` List of all clients of a DRM device, linked into :c:type:`drm_device.clientlist `. Protected by :c:type:`drm_device.clientlist_mutex `. ”h]”(jæ)�”}”(hŒ``list``”h]”jì)�”}”(hjˆh]”hŒlist”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Kshj‚ubj)�”}”(hhh]”hÌ)�”}”(hŒŸList of all clients of a DRM device, linked into :c:type:`drm_device.clientlist `. Protected by :c:type:`drm_device.clientlist_mutex `.”h]”(hŒ1List of all clients of a DRM device, linked into ”…”�”}”(hj¡h²hh³Nh´Nubh)�”}”(hŒ,:c:type:`drm_device.clientlist `”h]”jì)�”}”(hj«h]”hŒdrm_device.clientlist”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”(j�j�Œc-type”eh"]”h$]”h&]”uh1jëhj©ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j©Œ refdomain”j�Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j¯j³j·Œ drm_device”uh1hh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Krhj¡ubhŒ. Protected by ”…”�”}”(hj¡h²hh³Nh´Nubh)�”}”(hŒ2:c:type:`drm_device.clientlist_mutex `”h]”jì)�”}”(hjÏh]”hŒdrm_device.clientlist_mutex”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”(j�j�Œc-type”eh"]”h$]”h&]”uh1jëhjÍubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j©Œ refdomain”j�Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j¯j³j·Œ drm_device”uh1hh³jÈh´Krhj¡ubhŒ.”…”�”}”(hj¡h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÈh´Krhjžubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‚ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j�h´Kshj ubjà)�”}”(hŒ*``funcs`` DRM client functions (optional) ”h]”(jæ)�”}”(hŒ ``funcs``”h]”jì)�”}”(hjh]”hŒfuncs”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Kzhjubj)�”}”(hhh]”hÌ)�”}”(hŒDRM client functions (optional)”h]”hŒDRM client functions (optional)”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jh´Kzhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jh´Kzhj ubjà)�”}”(hŒ``file`` DRM file ”h]”(jæ)�”}”(hŒ``file``”h]”jì)�”}”(hjAh]”hŒfile”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Khj;ubj)�”}”(hhh]”hÌ)�”}”(hŒDRM file”h]”hŒDRM file”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jVh´KhjWubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jVh´Khj ubjà)�”}”(hŒ)``modeset_mutex`` Protects **modesets**. ”h]”(jæ)�”}”(hŒ``modeset_mutex``”h]”jì)�”}”(hjzh]”hŒ modeset_mutex”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjxubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´K„hjtubj)�”}”(hhh]”hÌ)�”}”(hŒProtects **modesets**.”h]”(hŒ Protects ”…”�”}”(hj“h²hh³Nh´Nubj—)�”}”(hŒ **modesets**”h]”hŒmodesets”…”�”}”(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³j�h´K„hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjtubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j�h´K„hj ubjà)�”}”(hŒ!``modesets`` CRTC configurations ”h]”(jæ)�”}”(hŒ ``modesets``”h]”jì)�”}”(hjÅh]”hŒmodesets”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjÃubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´K‰hj¿ubj)�”}”(hhh]”hÌ)�”}”(hŒCRTC configurations”h]”hŒCRTC configurations”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÚh´K‰hjÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¿ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jÚh´K‰hj ubjà)�”}”(hŒ-``suspended`` The client has been suspended. ”h]”(jæ)�”}”(hŒ ``suspended``”h]”jì)�”}”(hjþh]”hŒ suspended”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjüubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´KŽhjøubj)�”}”(hhh]”hÌ)�”}”(hŒThe client has been suspended.”h]”hŒThe client has been suspended.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jh´KŽhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjøubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jh´KŽhj ubjà)�”}”(hŒk``hotplug_pending`` A hotplug event has been received while the client was suspended. Try again on resume. ”h]”(jæ)�”}”(hŒ``hotplug_pending``”h]”jì)�”}”(hj7h]”hŒhotplug_pending”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´K–hj1ubj)�”}”(hhh]”hÌ)�”}”(hŒVA hotplug event has been received while the client was suspended. Try again on resume.”h]”hŒVA hotplug event has been received while the client was suspended. Try again on resume.”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´K•hjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jLh´K–hj ubjà)�”}”(hŒq``hotplug_failed`` Set by client hotplug helpers if the hotplugging failed before. It is usually not tried again.”h]”(jæ)�”}”(hŒ``hotplug_failed``”h]”jì)�”}”(hjqh]”hŒhotplug_failed”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjoubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´K�hjkubj)�”}”(hhh]”hÌ)�”}”(hŒ^Set by client hotplug helpers if the hotplugging failed before. It is usually not tried again.”h]”hŒ^Set by client hotplug helpers if the hotplugging failed before. It is usually not tried again.”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j†h´K�hj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j†h´K�hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjÅubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒdrm_client_buffer (C struct)”Œc.drm_client_buffer”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒdrm_client_buffer”h]”j)�”}”(hŒstruct drm_client_buffer”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hjÆh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´K¤ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjÆh²hh³j×h´K¤ubj1)�”}”(hŒdrm_client_buffer”h]”j7)�”}”(hjÄh]”hŒdrm_client_buffer”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjæubah}”(h]”h ]”(jIjJeh"]”h$]”h&]”jNjOuh1j0hjÆh²hh³j×h´K¤ubeh}”(h]”h ]”h"]”h$]”h&]”jNjOjVˆuh1jjWjXhjÂh²hh³j×h´K¤ubah}”(h]”j½ah ]”(j\j]eh"]”h$]”h&]”jaˆjb)jchuh1jh³j×h´K¤hj¿h²hubje)�”}”(hhh]”hÌ)�”}”(hŒDRM client buffer”h]”hŒDRM client buffer”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Kªhj h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jdhj¿h²hh³j×h´K¤ubeh}”(h]”h ]”(j�Œstruct”eh"]”h$]”h&]”j†j�j‡j$jˆj$j‰‰jЉj‹‰uh1hüh²hhh·h³Nh´Nubj�)�”}”(hXØ**Definition**:: struct drm_client_buffer { struct drm_client_dev *client; struct drm_gem_object *gem; struct iosys_map map; struct drm_framebuffer *fb; }; **Members** ``client`` DRM client ``gem`` GEM object backing this buffer FIXME: The DRM framebuffer holds a reference on its GEM buffer objects. Do not use this field in new code and update existing users. ``map`` Virtual address for the buffer ``fb`` DRM framebuffer”h]”(hÌ)�”}”(hŒ**Definition**::”h]”(j—)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj,ubhŒ:”…”�”}”(hj,h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´K®hj(ubj²)�”}”(hŒšstruct drm_client_buffer { struct drm_client_dev *client; struct drm_gem_object *gem; struct iosys_map map; struct drm_framebuffer *fb; };”h]”hŒšstruct drm_client_buffer { struct drm_client_dev *client; struct drm_gem_object *gem; struct iosys_map map; struct drm_framebuffer *fb; };”…”�”}”hjIsbah}”(h]”h ]”h"]”h$]”h&]”jNjOuh1j±h³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´K°hj(ubhÌ)�”}”(hŒ **Members**”h]”j—)�”}”(hjZh]”hŒMembers”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjXubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´K·hj(ubjÛ)�”}”(hhh]”(jà)�”}”(hŒ``client`` DRM client ”h]”(jæ)�”}”(hŒ ``client``”h]”jì)�”}”(hjyh]”hŒclient”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjwubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´K¯hjsubj)�”}”(hhh]”hÌ)�”}”(hŒ DRM client”h]”hŒ DRM client”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jŽh´K¯hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjsubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jŽh´K¯hjpubjà)�”}”(hŒ­``gem`` GEM object backing this buffer FIXME: The DRM framebuffer holds a reference on its GEM buffer objects. Do not use this field in new code and update existing users. ”h]”(jæ)�”}”(hŒ``gem``”h]”jì)�”}”(hj²h]”hŒgem”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´K¸hj¬ubj)�”}”(hhh]”(hÌ)�”}”(hŒGEM object backing this buffer”h]”hŒGEM object backing this buffer”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´K´hjÈubhÌ)�”}”(hŒ„FIXME: The DRM framebuffer holds a reference on its GEM buffer objects. Do not use this field in new code and update existing users.”h]”hŒ„FIXME: The DRM framebuffer holds a reference on its GEM buffer objects. Do not use this field in new code and update existing users.”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´K¶hjÈubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj¬ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jÇh´K¸hjpubjà)�”}”(hŒ'``map`` Virtual address for the buffer ”h]”(jæ)�”}”(hŒ``map``”h]”jì)�”}”(hjûh]”hŒmap”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjùubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´K½hjõubj)�”}”(hhh]”hÌ)�”}”(hŒVirtual address for the buffer”h]”hŒVirtual address for the buffer”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j h´K½hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjõubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j h´K½hjpubjà)�”}”(hŒ``fb`` DRM framebuffer”h]”(jæ)�”}”(hŒ``fb``”h]”jì)�”}”(hj4 h]”hŒfb”…”�”}”(hj6 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj2 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´KÁhj. ubj)�”}”(hhh]”hÌ)�”}”(hŒDRM framebuffer”h]”hŒDRM framebuffer”…”�”}”(hjM h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´KÂhjJ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj. ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jI h´KÁhjpubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÚhj(ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒ%drm_client_for_each_modeset (C macro)”Œc.drm_client_for_each_modeset”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒdrm_client_for_each_modeset”h]”j)�”}”(hŒdrm_client_for_each_modeset”h]”j1)�”}”(hŒdrm_client_for_each_modeset”h]”j7)�”}”(hjˆ h]”hŒdrm_client_for_each_modeset”…”�”}”(hj’ h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjŽ ubah}”(h]”h ]”(jIjJeh"]”h$]”h&]”jNjOuh1j0hjŠ h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Kßubah}”(h]”h ]”h"]”h$]”h&]”jNjOjVˆuh1jjWjXhj† h²hh³j¥ h´Kßubah}”(h]”j� ah ]”(j\j]eh"]”h$]”h&]”jaˆjb)jchuh1jh³j¥ h´Kßhjƒ h²hubje)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jdhjƒ h²hh³j¥ h´Kßubeh}”(h]”h ]”(j�Œmacro”eh"]”h$]”h&]”j†j�j‡j¾ jˆj¾ j‰‰jЉj‹‰uh1hüh²hhh·h³Nh´NubhÌ)�”}”(hŒ1``drm_client_for_each_modeset (modeset, client)``”h]”jì)�”}”(hjÄ h]”hŒ-drm_client_for_each_modeset (modeset, client)”…”�”}”(hjÆ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Káhh·h²hubhŒ block_quote”“”)�”}”(hŒIterate over client modesets ”h]”hÌ)�”}”(hŒIterate over client modesets”h]”hŒIterate over client modesets”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´KßhjÜ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚ h³jî h´Kßhh·h²hubj�)�”}”(hŒY**Parameters** ``modeset`` :c:type:`drm_mode_set` loop cursor ``client`` DRM client”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³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Kãhjõ ubjÛ)�”}”(hhh]”(jà)�”}”(hŒ/``modeset`` :c:type:`drm_mode_set` loop cursor ”h]”(jæ)�”}”(hŒ ``modeset``”h]”jì)�”}”(hj h]”hŒmodeset”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Kàhj ubj)�”}”(hhh]”hÌ)�”}”(hŒ":c:type:`drm_mode_set` loop cursor”h]”(h)�”}”(hŒ:c:type:`drm_mode_set`”h]”jì)�”}”(hj9 h]”hŒ drm_mode_set”…”�”}”(hj; h²hh³Nh´Nubah}”(h]”h ]”(j�j�Œc-type”eh"]”h$]”h&]”uh1jëhj7 ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j©Œ refdomain”j�Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰j¯j³j·Œ drm_mode_set”uh1hh³j/ h´Kàhj3 ubhŒ loop cursor”…”�”}”(hj3 h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j/ h´Kàhj0 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j/ h´Kàhj ubjà)�”}”(hŒ``client`` DRM client”h]”(jæ)�”}”(hŒ ``client``”h]”jì)�”}”(hjr h]”hŒclient”…”�”}”(hjt h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjp ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Kâhjl ubj)�”}”(hhh]”hÌ)�”}”(hŒ DRM client”h]”hŒ DRM client”…”�”}”(hj‹ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Káhjˆ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjl ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j‡ h´Kâhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjõ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒ,drm_client_for_each_connector_iter (C macro)”Œ$c.drm_client_for_each_connector_iter”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒ"drm_client_for_each_connector_iter”h]”j)�”}”(hŒ"drm_client_for_each_connector_iter”h]”j1)�”}”(hŒ"drm_client_for_each_connector_iter”h]”j7)�”}”(hjÆ h]”hŒ"drm_client_for_each_connector_iter”…”�”}”(hjÐ h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjÌ ubah}”(h]”h ]”(jIjJeh"]”h$]”h&]”jNjOuh1j0hjÈ h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Kèubah}”(h]”h ]”h"]”h$]”h&]”jNjOjVˆuh1jjWjXhjÄ h²hh³jã h´Kèubah}”(h]”j¿ ah ]”(j\j]eh"]”h$]”h&]”jaˆjb)jchuh1jh³jã h´KèhjÁ h²hubje)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jdhjÁ h²hh³jã h´Kèubeh}”(h]”h ]”(j�Œmacro”eh"]”h$]”h&]”j†j�j‡jü jˆjü j‰‰jЉj‹‰uh1hüh²hhh·h³Nh´NubhÌ)�”}”(hŒ8``drm_client_for_each_connector_iter (connector, iter)``”h]”jì)�”}”(hj h]”hŒ4drm_client_for_each_connector_iter (connector, iter)”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Kêhh·h²hubjÛ )�”}”(hŒconnector_list iterator macro ”h]”hÌ)�”}”(hŒconnector_list iterator macro”h]”hŒconnector_list iterator macro”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Kèhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚ h³j* h´Kèhh·h²hubj�)�”}”(hX\**Parameters** ``connector`` :c:type:`struct drm_connector ` pointer used as cursor ``iter`` :c:type:`struct drm_connector_list_iter ` **Description** This iterates the connectors that are useable for internal clients (excludes writeback connectors). For more info see drm_for_each_connector_iter().”h]”(hÌ)�”}”(hŒ**Parameters**”h]”j—)�”}”(hj7 h]”hŒ Parameters”…”�”}”(hj9 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj5 ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Kìhj1 ubjÛ)�”}”(hhh]”(jà)�”}”(hŒT``connector`` :c:type:`struct drm_connector ` pointer used as cursor ”h]”(jæ)�”}”(hŒ ``connector``”h]”jì)�”}”(hjV h]”hŒ connector”…”�”}”(hjX h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjT ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´KéhjP ubj)�”}”(hhh]”hÌ)�”}”(hŒE:c:type:`struct drm_connector ` pointer used as cursor”h]”(h)�”}”(hŒ.:c:type:`struct drm_connector `”h]”jì)�”}”(hju h]”hŒstruct drm_connector”…”�”}”(hjw h²hh³Nh´Nubah}”(h]”h ]”(j�j�Œc-type”eh"]”h$]”h&]”uh1jëhjs ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j©Œ refdomain”j�Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j¯j³j·Œ drm_connector”uh1hh³jk h´Kéhjo ubhŒ pointer used as cursor”…”�”}”(hjo h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jk h´Kéhjl ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjP ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jk h´KéhjM ubjà)�”}”(hŒL``iter`` :c:type:`struct drm_connector_list_iter ` ”h]”(jæ)�”}”(hŒ``iter``”h]”jì)�”}”(hj® h]”hŒiter”…”�”}”(hj° h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj¬ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Kêhj¨ ubj)�”}”(hhh]”hÌ)�”}”(hŒB:c:type:`struct drm_connector_list_iter `”h]”h)�”}”(hjÉ h]”jì)�”}”(hjÉ h]”hŒstruct drm_connector_list_iter”…”�”}”(hjÎ h²hh³Nh´Nubah}”(h]”h ]”(j�j�Œc-type”eh"]”h$]”h&]”uh1jëhjË ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j©Œ refdomain”j�Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j¯j³j·Œdrm_connector_list_iter”uh1hh³jà h´KêhjÇ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jà h´KêhjÄ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¨ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jà h´KêhjM ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÚhj1 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³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Kìhj1 ubhÌ)�”}”(hŒcThis iterates the connectors that are useable for internal clients (excludes writeback connectors).”h]”hŒcThis iterates the connectors that are useable for internal clients (excludes writeback connectors).”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Këhj1 ubhÌ)�”}”(hŒ0For more info see drm_for_each_connector_iter().”h]”hŒ0For more info see drm_for_each_connector_iter().”…”�”}”(hj( h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒV/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:8: ./include/drm/drm_client.h”h´Kîhj1 ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒdrm_client_init (C function)”Œc.drm_client_init”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒƒint drm_client_init (struct drm_device *dev, struct drm_client_dev *client, const char *name, const struct drm_client_funcs *funcs)”h]”j)�”}”(hŒ‚int drm_client_init(struct drm_device *dev, struct drm_client_dev *client, const char *name, const struct drm_client_funcs *funcs)”h]”(hŒdesc_sig_keyword_type”“”)�”}”(hŒint”h]”hŒint”…”�”}”(hjY h²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1jW hjS h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´KBubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hji h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjS h²hh³jh h´KBubj1)�”}”(hŒdrm_client_init”h]”j7)�”}”(hŒdrm_client_init”h]”hŒdrm_client_init”…”�”}”(hj{ h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjw ubah}”(h]”h ]”(jIjJeh"]”h$]”h&]”jNjOuh1j0hjS h²hh³jh h´KBubhŒdesc_parameterlist”“”)�”}”(hŒo(struct drm_device *dev, struct drm_client_dev *client, const char *name, const struct drm_client_funcs *funcs)”h]”(hŒdesc_parameter”“”)�”}”(hŒstruct drm_device *dev”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj› h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hj— ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨ h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj— ubh)�”}”(hhh]”j7)�”}”(hŒ drm_device”h]”hŒ drm_device”…”�”}”(hj¹ h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj¶ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”Œ identifier”Œ reftarget”j» Œmodname”NŒ classname”Nj¯j²)�”}”jµ]”j°Œ ASTIdentifier”“”)�”}”jÏ j} sbŒc.drm_client_init”†”asbuh1hhj— ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜ h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj— ubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hjì h²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1jê hj— ubj7)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjû h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj— ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hj‘ ubj– )�”}”(hŒstruct drm_client_dev *client”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hj ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj! h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj ubh)�”}”(hhh]”j7)�”}”(hŒdrm_client_dev”h]”hŒdrm_client_dev”…”�”}”(hj2 h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj/ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”j4 Œmodname”NŒ classname”Nj¯j²)�”}”jµ]”jØ Œc.drm_client_init”†”asbuh1hhj ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjP h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj ubjë )�”}”(hjî h]”hŒ*”…”�”}”(hj^ h²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hj ubj7)�”}”(hŒclient”h]”hŒclient”…”�”}”(hjk h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hj‘ ubj– )�”}”(hŒconst char *name”h]”(j)�”}”(hŒconst”h]”hŒconst”…”�”}”(hj„ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hj€ ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’ h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj€ ubjX )�”}”(hŒchar”h]”hŒchar”…”�”}”(hj  h²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hj€ ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj® h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj€ ubjë )�”}”(hjî h]”hŒ*”…”�”}”(hj¼ h²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hj€ ubj7)�”}”(hŒname”h]”hŒname”…”�”}”(hjÉ h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj€ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hj‘ ubj– )�”}”(hŒ$const struct drm_client_funcs *funcs”h]”(j)�”}”(hj† h]”hŒconst”…”�”}”(hjâ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hjÞ ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjï h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjÞ ubj)�”}”(hjh]”hŒstruct”…”�”}”(hjý h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hjÞ ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjÞ ubh)�”}”(hhh]”j7)�”}”(hŒdrm_client_funcs”h]”hŒdrm_client_funcs”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”jŒmodname”NŒ classname”Nj¯j²)�”}”jµ]”jØ Œc.drm_client_init”†”asbuh1hhjÞ ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjÞ ubjë )�”}”(hjî h]”hŒ*”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hjÞ ubj7)�”}”(hŒfuncs”h]”hŒfuncs”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjÞ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hj‘ ubeh}”(h]”h ]”h"]”h$]”h&]”jNjOuh1j� hjS h²hh³jh h´KBubeh}”(h]”h ]”h"]”h$]”h&]”jNjOjVˆuh1jjWjXhjO h²hh³jh h´KBubah}”(h]”jJ ah ]”(j\j]eh"]”h$]”h&]”jaˆjb)jchuh1jh³jh h´KBhjL h²hubje)�”}”(hhh]”hÌ)�”}”(hŒInitialise a DRM client”h]”hŒInitialise a DRM client”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´KBhj{h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jdhjL h²hh³jh h´KBubeh}”(h]”h ]”(j�Œfunction”eh"]”h$]”h&]”j†j�j‡j–jˆj–j‰‰jЉj‹‰uh1hüh²hhh·h³Nh´Nubj�)�”}”(hXC**Parameters** ``struct drm_device *dev`` DRM device ``struct drm_client_dev *client`` DRM client ``const char *name`` Client name ``const struct drm_client_funcs *funcs`` DRM client functions (optional) **Description** This initialises the client and opens a :c:type:`drm_file`. Use drm_client_register() to complete the process. The caller needs to hold a reference on **dev** before calling this function. The client is freed when the :c:type:`drm_device` is unregistered. See drm_client_release(). **Return** Zero on success or negative error code on failure.”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/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´KFhjšubjÛ)�”}”(hhh]”(jà)�”}”(hŒ&``struct drm_device *dev`` DRM device ”h]”(jæ)�”}”(hŒ``struct drm_device *dev``”h]”jì)�”}”(hj¿h]”hŒstruct drm_device *dev”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj½ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´KChj¹ubj)�”}”(hhh]”hÌ)�”}”(hŒ DRM device”h]”hŒ DRM device”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÔh´KChjÕubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jÔh´KChj¶ubjà)�”}”(hŒ-``struct drm_client_dev *client`` DRM client ”h]”(jæ)�”}”(hŒ!``struct drm_client_dev *client``”h]”jì)�”}”(hjøh]”hŒstruct drm_client_dev *client”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjöubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´KDhjòubj)�”}”(hhh]”hÌ)�”}”(hŒ DRM client”h]”hŒ DRM client”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j h´KDhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjòubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j h´KDhj¶ubjà)�”}”(hŒ!``const char *name`` Client name ”h]”(jæ)�”}”(hŒ``const char *name``”h]”jì)�”}”(hj1h]”hŒconst char *name”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´KEhj+ubj)�”}”(hhh]”hÌ)�”}”(hŒ Client name”h]”hŒ Client name”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jFh´KEhjGubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jFh´KEhj¶ubjà)�”}”(hŒI``const struct drm_client_funcs *funcs`` DRM client functions (optional) ”h]”(jæ)�”}”(hŒ(``const struct drm_client_funcs *funcs``”h]”jì)�”}”(hjjh]”hŒ$const struct drm_client_funcs *funcs”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjhubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´KFhjdubj)�”}”(hhh]”hÌ)�”}”(hŒDRM client functions (optional)”h]”hŒDRM client functions (optional)”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jh´KFhj€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjdubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jh´KFhj¶ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjš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/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´KHhjšubhÌ)�”}”(hXThis initialises the client and opens a :c:type:`drm_file`. Use drm_client_register() to complete the process. The caller needs to hold a reference on **dev** before calling this function. The client is freed when the :c:type:`drm_device` is unregistered. See drm_client_release().”h]”(hŒ(This initialises the client and opens a ”…”�”}”(hj»h²hh³Nh´Nubh)�”}”(hŒ:c:type:`drm_file`”h]”jì)�”}”(hjÅh]”hŒdrm_file”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”(j�j�Œc-type”eh"]”h$]”h&]”uh1jëhjÃubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j©Œ refdomain”j�Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰j¯j³j·Œdrm_file”uh1hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´KGhj»ubhŒ]. Use drm_client_register() to complete the process. The caller needs to hold a reference on ”…”�”}”(hj»h²hh³Nh´Nubj—)�”}”(hŒ**dev**”h]”hŒdev”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj»ubhŒ< before calling this function. The client is freed when the ”…”�”}”(hj»h²hh³Nh´Nubh)�”}”(hŒ:c:type:`drm_device`”h]”jì)�”}”(hjûh]”hŒ drm_device”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”(j�j�Œc-type”eh"]”h$]”h&]”uh1jëhjùubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j©Œ refdomain”j�Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰j¯j³j·Œ drm_device”uh1hh³jâh´KGhj»ubhŒ+ is unregistered. See drm_client_release().”…”�”}”(hj»h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jâh´KGhjš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/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´KLhjšubhÌ)�”}”(hŒ2Zero on success or negative error code on failure.”h]”hŒ2Zero on success or negative error code on failure.”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´KMhjšubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒ drm_client_register (C function)”Œc.drm_client_register”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒ8void drm_client_register (struct drm_client_dev *client)”h]”j)�”}”(hŒ7void drm_client_register(struct drm_client_dev *client)”h]”(jX )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hjeh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´Koubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjeh²hh³jwh´Koubj1)�”}”(hŒdrm_client_register”h]”j7)�”}”(hŒdrm_client_register”h]”hŒdrm_client_register”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj†ubah}”(h]”h ]”(jIjJeh"]”h$]”h&]”jNjOuh1j0hjeh²hh³jwh´Koubj� )�”}”(hŒ(struct drm_client_dev *client)”h]”j– )�”}”(hŒstruct drm_client_dev *client”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hj¢ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj¢ubh)�”}”(hhh]”j7)�”}”(hŒdrm_client_dev”h]”hŒdrm_client_dev”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjÁubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”jÆŒmodname”NŒ classname”Nj¯j²)�”}”jµ]”j× )�”}”jÏ jŒsbŒc.drm_client_register”†”asbuh1hhj¢ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj¢ubjë )�”}”(hjî h]”hŒ*”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hj¢ubj7)�”}”(hŒclient”h]”hŒclient”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj¢ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hjžubah}”(h]”h ]”h"]”h$]”h&]”jNjOuh1j� hjeh²hh³jwh´Koubeh}”(h]”h ]”h"]”h$]”h&]”jNjOjVˆuh1jjWjXhjah²hh³jwh´Koubah}”(h]”j\ah ]”(j\j]eh"]”h$]”h&]”jaˆjb)jchuh1jh³jwh´Kohj^h²hubje)�”}”(hhh]”hÌ)�”}”(hŒRegister client”h]”hŒRegister client”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´Kohj&h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jdhj^h²hh³jwh´Koubeh}”(h]”h ]”(j�Œfunction”eh"]”h$]”h&]”j†j�j‡jAjˆjAj‰‰jЉj‹‰uh1hüh²hhh·h³Nh´Nubj�)�”}”(hXs**Parameters** ``struct drm_client_dev *client`` DRM client **Description** Add the client to the :c:type:`drm_device` client list to activate its callbacks. **client** must be initialized by a call to drm_client_init(). After drm_client_register() it is no longer permissible to call drm_client_release() directly (outside the unregister callback), instead cleanup will happen automatically on driver unload. Registering a client generates a hotplug event that allows the client to set up its display from pre-existing outputs. The client must have initialized its state to able to handle the hotplug event successfully.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”j—)�”}”(hjKh]”hŒ Parameters”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjIubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´KshjEubjÛ)�”}”(hhh]”jà)�”}”(hŒ-``struct drm_client_dev *client`` DRM client ”h]”(jæ)�”}”(hŒ!``struct drm_client_dev *client``”h]”jì)�”}”(hjjh]”hŒstruct drm_client_dev *client”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjhubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´Kphjdubj)�”}”(hhh]”hÌ)�”}”(hŒ DRM client”h]”hŒ DRM client”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jh´Kphj€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjdubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jh´Kphjaubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjEubhÌ)�”}”(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/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´KrhjEubhÌ)�”}”(hXMAdd the client to the :c:type:`drm_device` client list to activate its callbacks. **client** must be initialized by a call to drm_client_init(). After drm_client_register() it is no longer permissible to call drm_client_release() directly (outside the unregister callback), instead cleanup will happen automatically on driver unload.”h]”(hŒAdd the client to the ”…”�”}”(hj»h²hh³Nh´Nubh)�”}”(hŒ:c:type:`drm_device`”h]”jì)�”}”(hjÅh]”hŒ drm_device”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”(j�j�Œc-type”eh"]”h$]”h&]”uh1jëhjÃubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j©Œ refdomain”j�Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰j¯j³j·Œ drm_device”uh1hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´Kqhj»ubhŒ( client list to activate its callbacks. ”…”�”}”(hj»h²hh³Nh´Nubj—)�”}”(hŒ **client**”h]”hŒclient”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj»ubhŒñ must be initialized by a call to drm_client_init(). After drm_client_register() it is no longer permissible to call drm_client_release() directly (outside the unregister callback), instead cleanup will happen automatically on driver unload.”…”�”}”(hj»h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jâh´KqhjEubhÌ)�”}”(hŒÓRegistering a client generates a hotplug event that allows the client to set up its display from pre-existing outputs. The client must have initialized its state to able to handle the hotplug event successfully.”h]”hŒÓRegistering a client generates a hotplug event that allows the client to set up its display from pre-existing outputs. The client must have initialized its state to able to handle the hotplug event successfully.”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´KwhjEubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒdrm_client_release (C function)”Œc.drm_client_release”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒ7void drm_client_release (struct drm_client_dev *client)”h]”j)�”}”(hŒ6void drm_client_release(struct drm_client_dev *client)”h]”(jX )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hj*h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´K˜ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj*h²hh³j<h´K˜ubj1)�”}”(hŒdrm_client_release”h]”j7)�”}”(hŒdrm_client_release”h]”hŒdrm_client_release”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjKubah}”(h]”h ]”(jIjJeh"]”h$]”h&]”jNjOuh1j0hj*h²hh³j<h´K˜ubj� )�”}”(hŒ(struct drm_client_dev *client)”h]”j– )�”}”(hŒstruct drm_client_dev *client”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hjgubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjgubh)�”}”(hhh]”j7)�”}”(hŒdrm_client_dev”h]”hŒdrm_client_dev”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj†ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”j‹Œmodname”NŒ classname”Nj¯j²)�”}”jµ]”j× )�”}”jÏ jQsbŒc.drm_client_release”†”asbuh1hhjgubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjgubjë )�”}”(hjî h]”hŒ*”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hjgubj7)�”}”(hŒclient”h]”hŒclient”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjgubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hjcubah}”(h]”h ]”h"]”h$]”h&]”jNjOuh1j� hj*h²hh³j<h´K˜ubeh}”(h]”h ]”h"]”h$]”h&]”jNjOjVˆuh1jjWjXhj&h²hh³j<h´K˜ubah}”(h]”j!ah ]”(j\j]eh"]”h$]”h&]”jaˆjb)jchuh1jh³j<h´K˜hj#h²hubje)�”}”(hhh]”hÌ)�”}”(hŒRelease DRM client resources”h]”hŒRelease DRM client resources”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´K˜hjëh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jdhj#h²hh³j<h´K˜ubeh}”(h]”h ]”(j�Œfunction”eh"]”h$]”h&]”j†j�j‡jjˆjj‰‰jЉj‹‰uh1hüh²hhh·h³Nh´Nubj�)�”}”(hX^**Parameters** ``struct drm_client_dev *client`` DRM client **Description** Releases resources by closing the :c:type:`drm_file` that was opened by drm_client_init(). It is called automatically if the :c:type:`drm_client_funcs.unregister ` callback is _not_ set. This function should only be called from the unregister callback. An exception is fbdev which cannot free the buffer if userspace has open file descriptors. **Note** Clients cannot initiate a release by themselves. This is done to keep the code simple. The driver has to be unloaded before the client can be unloaded.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”j—)�”}”(hjh]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´Kœhj ubjÛ)�”•}”(hhh]”jà)�”}”(hŒ-``struct drm_client_dev *client`` DRM client ”h]”(jæ)�”}”(hŒ!``struct drm_client_dev *client``”h]”jì)�”}”(hj/h]”hŒstruct drm_client_dev *client”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´K™hj)ubj)�”}”(hhh]”hÌ)�”}”(hŒ DRM client”h]”hŒ DRM client”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jDh´K™hjEubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jDh´K™hj&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhj ubhÌ)�”}”(hŒ**Description**”h]”j—)�”}”(hjjh]”hŒ Description”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjhubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´K›hj ubhÌ)�”}”(hŒÌReleases resources by closing the :c:type:`drm_file` that was opened by drm_client_init(). It is called automatically if the :c:type:`drm_client_funcs.unregister ` callback is _not_ set.”h]”(hŒ"Releases resources by closing the ”…”�”}”(hj€h²hh³Nh´Nubh)�”}”(hŒ:c:type:`drm_file`”h]”jì)�”}”(hjŠh]”hŒdrm_file”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”(j�j�Œc-type”eh"]”h$]”h&]”uh1jëhjˆubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j©Œ refdomain”j�Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰j¯j³j·Œdrm_file”uh1hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´Kšhj€ubhŒI that was opened by drm_client_init(). It is called automatically if the ”…”�”}”(hj€h²hh³Nh´Nubh)�”}”(hŒ8:c:type:`drm_client_funcs.unregister `”h]”jì)�”}”(hj®h]”hŒdrm_client_funcs.unregister”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”(j�j�Œc-type”eh"]”h$]”h&]”uh1jëhj¬ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j©Œ refdomain”j�Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j¯j³j·Œdrm_client_funcs”uh1hh³j§h´Kšhj€ubhŒ callback is _not_ set.”…”�”}”(hj€h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j§h´Kšhj ubhÌ)�”}”(hŒœThis function should only be called from the unregister callback. An exception is fbdev which cannot free the buffer if userspace has open file descriptors.”h]”hŒœThis function should only be called from the unregister callback. An exception is fbdev which cannot free the buffer if userspace has open file descriptors.”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´K�hj ubhÌ)�”}”(hŒ**Note**”h]”j—)�”}”(hjæh]”hŒNote”…”�”}”(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/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´K hj ubhÌ)�”}”(hŒ—Clients cannot initiate a release by themselves. This is done to keep the code simple. The driver has to be unloaded before the client can be unloaded.”h]”hŒ—Clients cannot initiate a release by themselves. This is done to keep the code simple. The driver has to be unloaded before the client can be unloaded.”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´K¡hj ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒ%drm_client_buffer_delete (C function)”Œc.drm_client_buffer_delete”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒ@void drm_client_buffer_delete (struct drm_client_buffer *buffer)”h]”j)�”}”(hŒ?void drm_client_buffer_delete(struct drm_client_buffer *buffer)”h]”(jX )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hj'h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´K¶ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj'h²hh³j9h´K¶ubj1)�”}”(hŒdrm_client_buffer_delete”h]”j7)�”}”(hŒdrm_client_buffer_delete”h]”hŒdrm_client_buffer_delete”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjHubah}”(h]”h ]”(jIjJeh"]”h$]”h&]”jNjOuh1j0hj'h²hh³j9h´K¶ubj� )�”}”(hŒ"(struct drm_client_buffer *buffer)”h]”j– )�”}”(hŒ struct drm_client_buffer *buffer”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hjdubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjdubh)�”}”(hhh]”j7)�”}”(hŒdrm_client_buffer”h]”hŒdrm_client_buffer”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjƒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”jˆŒmodname”NŒ classname”Nj¯j²)�”}”jµ]”j× )�”}”jÏ jNsbŒc.drm_client_buffer_delete”†”asbuh1hhjdubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjdubjë )�”}”(hjî h]”hŒ*”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hjdubj7)�”}”(hŒbuffer”h]”hŒbuffer”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjdubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hj`ubah}”(h]”h ]”h"]”h$]”h&]”jNjOuh1j� hj'h²hh³j9h´K¶ubeh}”(h]”h ]”h"]”h$]”h&]”jNjOjVˆuh1jjWjXhj#h²hh³j9h´K¶ubah}”(h]”jah ]”(j\j]eh"]”h$]”h&]”jaˆjb)jchuh1jh³j9h´K¶hj h²hubje)�”}”(hhh]”hÌ)�”}”(hŒDelete a client buffer”h]”hŒDelete a client buffer”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´K¶hjèh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jdhj h²hh³j9h´K¶ubeh}”(h]”h ]”(j�Œfunction”eh"]”h$]”h&]”j†j�j‡jjˆjj‰‰jЉj‹‰uh1hüh²hhh·h³Nh´Nubj�)�”}”(hŒH**Parameters** ``struct drm_client_buffer *buffer`` DRM client buffer”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³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´KºhjubjÛ)�”}”(hhh]”jà)�”}”(hŒ6``struct drm_client_buffer *buffer`` DRM client buffer”h]”(jæ)�”}”(hŒ$``struct drm_client_buffer *buffer``”h]”jì)�”}”(hj,h]”hŒ struct drm_client_buffer *buffer”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´K¼hj&ubj)�”}”(hhh]”hÌ)�”}”(hŒDRM client buffer”h]”hŒDRM client buffer”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´K·hjBubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jAh´K¼hj#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒ)drm_client_buffer_vmap_local (C function)”Œc.drm_client_buffer_vmap_local”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒ_int drm_client_buffer_vmap_local (struct drm_client_buffer *buffer, struct iosys_map *map_copy)”h]”j)�”}”(hŒ^int drm_client_buffer_vmap_local(struct drm_client_buffer *buffer, struct iosys_map *map_copy)”h]”(jX )�”}”(hŒint”h]”hŒint”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hj‚h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´Mubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj‚h²hh³j”h´Mubj1)�”}”(hŒdrm_client_buffer_vmap_local”h]”j7)�”}”(hŒdrm_client_buffer_vmap_local”h]”hŒdrm_client_buffer_vmap_local”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj£ubah}”(h]”h ]”(jIjJeh"]”h$]”h&]”jNjOuh1j0hj‚h²hh³j”h´Mubj� )�”}”(hŒ>(struct drm_client_buffer *buffer, struct iosys_map *map_copy)”h]”(j– )�”}”(hŒ struct drm_client_buffer *buffer”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hj¿ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj¿ubh)�”}”(hhh]”j7)�”}”(hŒdrm_client_buffer”h]”hŒdrm_client_buffer”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjÞubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”jãŒmodname”NŒ classname”Nj¯j²)�”}”jµ]”j× )�”}”jÏ j©sbŒc.drm_client_buffer_vmap_local”†”asbuh1hhj¿ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj¿ubjë )�”}”(hjî h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hj¿ubj7)�”}”(hŒbuffer”h]”hŒbuffer”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj¿ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hj»ubj– )�”}”(hŒstruct iosys_map *map_copy”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hj1ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj1ubh)�”}”(hhh]”j7)�”}”(hŒ iosys_map”h]”hŒ iosys_map”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjPubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”jUŒmodname”NŒ classname”Nj¯j²)�”}”jµ]”jýŒc.drm_client_buffer_vmap_local”†”asbuh1hhj1ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj1ubjë )�”}”(hjî h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hj1ubj7)�”}”(hŒmap_copy”h]”hŒmap_copy”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj1ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hj»ubeh}”(h]”h ]”h"]”h$]”h&]”jNjOuh1j� hj‚h²hh³j”h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jNjOjVˆuh1jjWjXhj~h²hh³j”h´Mubah}”(h]”jyah ]”(j\j]eh"]”h$]”h&]”jaˆjb)jchuh1jh³j”h´Mhj{h²hubje)�”}”(hhh]”hÌ)�”}”(hŒ(Map DRM client buffer into address space”h]”hŒ(Map DRM client buffer into address space”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´Mhj³h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jdhj{h²hh³j”h´Mubeh}”(h]”h ]”(j�Œfunction”eh"]”h$]”h&]”j†j�j‡jÎjˆjÎj‰‰jЉj‹‰uh1hüh²hhh·h³Nh´Nubj�)�”}”(hX**Parameters** ``struct drm_client_buffer *buffer`` DRM client buffer ``struct iosys_map *map_copy`` Returns the mapped memory's address **Description** This function maps a client buffer into kernel address space. If the buffer is already mapped, it returns the existing mapping's address. Client buffer mappings are not ref'counted. Each call to drm_client_buffer_vmap_local() should be closely followed by a call to drm_client_buffer_vunmap_local(). See drm_client_buffer_vmap() for long-term mappings. The returned address is a copy of the internal value. In contrast to other vmap interfaces, you don't need it for the client's vunmap function. So you can modify it at will during blit and draw operations. **Return** 0 on success, or a negative errno code otherwise.”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/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MhjÒubjÛ)�”}”(hhh]”(jà)�”}”(hŒ7``struct drm_client_buffer *buffer`` DRM client buffer ”h]”(jæ)�”}”(hŒ$``struct drm_client_buffer *buffer``”h]”jì)�”}”(hj÷h]”hŒ struct drm_client_buffer *buffer”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjõubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´Mhjñubj)�”}”(hhh]”hÌ)�”}”(hŒDRM client buffer”h]”hŒDRM client buffer”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j h´Mhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j h´Mhjîubjà)�”}”(hŒC``struct iosys_map *map_copy`` Returns the mapped memory's address ”h]”(jæ)�”}”(hŒ``struct iosys_map *map_copy``”h]”jì)�”}”(hj0h]”hŒstruct iosys_map *map_copy”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´Mhj*ubj)�”}”(hhh]”hÌ)�”}”(hŒ#Returns the mapped memory's address”h]”hŒ%Returns the mapped memory’s address”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jEh´MhjFubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jEh´Mhjîubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjÒubhÌ)�”}”(hŒ**Description**”h]”j—)�”}”(hjkh]”hŒ Description”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjiubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MhjÒubhÌ)�”}”(hŒ‰This function maps a client buffer into kernel address space. If the buffer is already mapped, it returns the existing mapping's address.”h]”hŒ‹This function maps a client buffer into kernel address space. If the buffer is already mapped, it returns the existing mapping’s address.”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MhjÒubhÌ)�”}”(hŒÖClient buffer mappings are not ref'counted. Each call to drm_client_buffer_vmap_local() should be closely followed by a call to drm_client_buffer_vunmap_local(). See drm_client_buffer_vmap() for long-term mappings.”h]”hŒØClient buffer mappings are not ref’counted. Each call to drm_client_buffer_vmap_local() should be closely followed by a call to drm_client_buffer_vunmap_local(). See drm_client_buffer_vmap() for long-term mappings.”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MhjÒubhÌ)�”}”(hŒÍThe returned address is a copy of the internal value. In contrast to other vmap interfaces, you don't need it for the client's vunmap function. So you can modify it at will during blit and draw operations.”h]”hŒÑThe returned address is a copy of the internal value. In contrast to other vmap interfaces, you don’t need it for the client’s vunmap function. So you can modify it at will during blit and draw operations.”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MhjÒ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/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MhjÒubhÌ)�”}”(hŒ10 on success, or a negative errno code otherwise.”h]”hŒ10 on success, or a negative errno code otherwise.”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MhjÒubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒ+drm_client_buffer_vunmap_local (C function)”Œ c.drm_client_buffer_vunmap_local”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒFvoid drm_client_buffer_vunmap_local (struct drm_client_buffer *buffer)”h]”j)�”}”(hŒEvoid drm_client_buffer_vunmap_local(struct drm_client_buffer *buffer)”h]”(jX )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hjñh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M9ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjñh²hh³jh´M9ubj1)�”}”(hŒdrm_client_buffer_vunmap_local”h]”j7)�”}”(hŒdrm_client_buffer_vunmap_local”h]”hŒdrm_client_buffer_vunmap_local”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjubah}”(h]”h ]”(jIjJeh"]”h$]”h&]”jNjOuh1j0hjñh²hh³jh´M9ubj� )�”}”(hŒ"(struct drm_client_buffer *buffer)”h]”j– )�”}”(hŒ struct drm_client_buffer *buffer”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hj.ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj.ubh)�”}”(hhh]”j7)�”}”(hŒdrm_client_buffer”h]”hŒdrm_client_buffer”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjMubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”jRŒmodname”NŒ classname”Nj¯j²)�”}”jµ]”j× )�”}”jÏ jsbŒ c.drm_client_buffer_vunmap_local”†”asbuh1hhj.ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj.ubjë )�”}”(hjî h]”hŒ*”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hj.ubj7)�”}”(hŒbuffer”h]”hŒbuffer”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj.ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hj*ubah}”(h]”h ]”h"]”h$]”h&]”jNjOuh1j� hjñh²hh³jh´M9ubeh}”(h]”h ]”h"]”h$]”h&]”jNjOjVˆuh1jjWjXhjíh²hh³jh´M9ubah}”(h]”jèah ]”(j\j]eh"]”h$]”h&]”jaˆjb)jchuh1jh³jh´M9hjêh²hubje)�”}”(hhh]”hÌ)�”}”(hŒUnmap DRM client buffer”h]”hŒUnmap DRM client buffer”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M9hj²h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jdhjêh²hh³jh´M9ubeh}”(h]”h ]”(j�Œfunction”eh"]”h$]”h&]”j†j�j‡jÍjˆjÍj‰‰jЉj‹‰uh1hüh²hhh·h³Nh´Nubj�)�”}”(hX'**Parameters** ``struct drm_client_buffer *buffer`` DRM client buffer **Description** This function removes a client buffer's memory mapping established with drm_client_buffer_vunmap_local(). Calling this function is only required by clients that manage their buffer mappings by themselves.”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/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M=hjÑubjÛ)�”}”(hhh]”jà)�”}”(hŒ7``struct drm_client_buffer *buffer`` DRM client buffer ”h]”(jæ)�”}”(hŒ$``struct drm_client_buffer *buffer``”h]”jì)�”}”(hjöh]”hŒ struct drm_client_buffer *buffer”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjôubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M:hjðubj)�”}”(hhh]”hÌ)�”}”(hŒDRM client buffer”h]”hŒDRM client buffer”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j h´M:hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjðubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j h´M:hjíubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjÑubhÌ)�”}”(hŒ**Description**”h]”j—)�”}”(hj1h]”hŒ Description”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj/ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M<hjÑubhÌ)�”}”(hŒÌThis function removes a client buffer's memory mapping established with drm_client_buffer_vunmap_local(). Calling this function is only required by clients that manage their buffer mappings by themselves.”h]”hŒÎThis function removes a client buffer’s memory mapping established with drm_client_buffer_vunmap_local(). Calling this function is only required by clients that manage their buffer mappings by themselves.”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M;hjÑubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒ#drm_client_buffer_vmap (C function)”Œc.drm_client_buffer_vmap”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒYint drm_client_buffer_vmap (struct drm_client_buffer *buffer, struct iosys_map *map_copy)”h]”j)�”}”(hŒXint drm_client_buffer_vmap(struct drm_client_buffer *buffer, struct iosys_map *map_copy)”h]”(jX )�”}”(hŒint”h]”hŒint”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hjrh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MKubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjrh²hh³j„h´MKubj1)�”}”(hŒdrm_client_buffer_vmap”h]”j7)�”}”(hŒdrm_client_buffer_vmap”h]”hŒdrm_client_buffer_vmap”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj“ubah}”(h]”h ]”(jIjJeh"]”h$]”h&]”jNjOuh1j0hjrh²hh³j„h´MKubj� )�”}”(hŒ>(struct drm_client_buffer *buffer, struct iosys_map *map_copy)”h]”(j– )�”}”(hŒ struct drm_client_buffer *buffer”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hj¯ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj¯ubh)�”}”(hhh]”j7)�”}”(hŒdrm_client_buffer”h]”hŒdrm_client_buffer”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjÎubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”jÓŒmodname”NŒ classname”Nj¯j²)�”}”jµ]”j× )�”}”jÏ j™sbŒc.drm_client_buffer_vmap”†”asbuh1hhj¯ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj¯ubjë )�”}”(hjî h]”hŒ*”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hj¯ubj7)�”}”(hŒbuffer”h]”hŒbuffer”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj¯ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hj«ubj– )�”}”(hŒstruct iosys_map *map_copy”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hj!ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj!ubh)�”}”(hhh]”j7)�”}”(hŒ iosys_map”h]”hŒ iosys_map”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj@ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”jEŒmodname”NŒ classname”Nj¯j²)�”}”jµ]”jíŒc.drm_client_buffer_vmap”†”asbuh1hhj!ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj!ubjë )�”}”(hjî h]”hŒ*”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hj!ubj7)�”}”(hŒmap_copy”h]”hŒmap_copy”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj!ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hj«ubeh}”(h]”h ]”h"]”h$]”h&]”jNjOuh1j� hjrh²hh³j„h´MKubeh}”(h]”h ]”h"]”h$]”h&]”jNjOjVˆuh1jjWjXhjnh²hh³j„h´MKubah}”(h]”jiah ]”(j\j]eh"]”h$]”h&]”jaˆjb)jchuh1jh³j„h´MKhjkh²hubje)�”}”(hhh]”hÌ)�”}”(hŒ(Map DRM client buffer into address space”h]”hŒ(Map DRM client buffer into address space”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MKhj£h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jdhjkh²hh³j„h´MKubeh}”(h]”h ]”(j�Œfunction”eh"]”h$]”h&]”j†j�j‡j¾jˆj¾j‰‰jЉj‹‰uh1hüh²hhh·h³Nh´Nubj�)�”}”(hX**Parameters** ``struct drm_client_buffer *buffer`` DRM client buffer ``struct iosys_map *map_copy`` Returns the mapped memory's address **Description** This function maps a client buffer into kernel address space. If the buffer is already mapped, it returns the existing mapping's address. Client buffer mappings are not ref'counted. Each call to drm_client_buffer_vmap() should be followed by a call to drm_client_buffer_vunmap(); or the client buffer should be mapped throughout its lifetime. The returned address is a copy of the internal value. In contrast to other vmap interfaces, you don't need it for the client's vunmap function. So you can modify it at will during blit and draw operations. **Return** 0 on success, or a negative errno code otherwise.”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/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MOhjÂubjÛ)�”}”(hhh]”(jà)�”}”(hŒ7``struct drm_client_buffer *buffer`` DRM client buffer ”h]”(jæ)�”}”(hŒ$``struct drm_client_buffer *buffer``”h]”jì)�”}”(hjçh]”hŒ struct drm_client_buffer *buffer”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjåubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MLhjáubj)�”}”(hhh]”hÌ)�”}”(hŒDRM client buffer”h]”hŒDRM client buffer”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jüh´MLhjýubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjáubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jüh´MLhjÞubjà)�”}”(hŒC``struct iosys_map *map_copy`` Returns the mapped memory's address ”h]”(jæ)�”}”(hŒ``struct iosys_map *map_copy``”h]”jì)�”}”(hj h]”hŒstruct iosys_map *map_copy”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MMhjubj)�”}”(hhh]”hÌ)�”}”(hŒ#Returns the mapped memory's address”h]”hŒ%Returns the mapped memory’s address”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j5h´MMhj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j5h´MMhjÞubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjÂubhÌ)�”}”(hŒ**Description**”h]”j—)�”}”(hj[h]”hŒ Description”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjYubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MOhjÂubhÌ)�”}”(hŒ‰This function maps a client buffer into kernel address space. If the buffer is already mapped, it returns the existing mapping's address.”h]”hŒ‹This function maps a client buffer into kernel address space. If the buffer is already mapped, it returns the existing mapping’s address.”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MNhjÂubhÌ)�”}”(hŒÌClient buffer mappings are not ref'counted. Each call to drm_client_buffer_vmap() should be followed by a call to drm_client_buffer_vunmap(); or the client buffer should be mapped throughout its lifetime.”h]”hŒÎClient buffer mappings are not ref’counted. Each call to drm_client_buffer_vmap() should be followed by a call to drm_client_buffer_vunmap(); or the client buffer should be mapped throughout its lifetime.”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MQhjÂubhÌ)�”}”(hŒÍThe returned address is a copy of the internal value. In contrast to other vmap interfaces, you don't need it for the client's vunmap function. So you can modify it at will during blit and draw operations.”h]”hŒÑThe returned address is a copy of the internal value. In contrast to other vmap interfaces, you don’t need it for the client’s vunmap function. So you can modify it at will during blit and draw operations.”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MVhjÂ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/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MZhjÂubhÌ)�”}”(hŒ10 on success, or a negative errno code otherwise.”h]”hŒ10 on success, or a negative errno code otherwise.”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M[hjÂubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒ%drm_client_buffer_vunmap (C function)”Œc.drm_client_buffer_vunmap”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒ@void drm_client_buffer_vunmap (struct drm_client_buffer *buffer)”h]”j)�”}”(hŒ?void drm_client_buffer_vunmap(struct drm_client_buffer *buffer)”h]”(jX )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hjáh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´Mnubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjáh²hh³jóh´Mnubj1)�”}”(hŒdrm_client_buffer_vunmap”h]”j7)�”}”(hŒdrm_client_buffer_vunmap”h]”hŒdrm_client_buffer_vunmap”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjubah}”(h]”h ]”(jIjJeh"]”h$]”h&]”jNjOuh1j0hjáh²hh³jóh´Mnubj� )�”}”(hŒ"(struct drm_client_buffer *buffer)”h]”j– )�”}”(hŒ struct drm_client_buffer *buffer”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hjubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjubh)�”}”(hhh]”j7)�”}”(hŒdrm_client_buffer”h]”hŒdrm_client_buffer”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj=ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”jBŒmodname”NŒ classname”Nj¯j²)�”}”jµ]”j× )�”}”jÏ jsbŒc.drm_client_buffer_vunmap”†”asbuh1hhjubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjubjë )�”}”(hjî h]”hŒ*”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hjubj7)�”}”(hŒbuffer”h]”hŒbuffer”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hjubah}”(h]”h ]”h"]”h$]”h&]”jNjOuh1j� hjáh²hh³jóh´Mnubeh}”(h]”h ]”h"]”h$]”h&]”jNjOjVˆuh1jjWjXhjÝh²hh³jóh´Mnubah}”(h]”jØah ]”(j\j]eh"]”h$]”h&]”jaˆjb)jchuh1jh³jóh´MnhjÚh²hubje)�”}”(hhh]”hÌ)�”}”(hŒUnmap DRM client buffer”h]”hŒUnmap DRM client buffer”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´Mnhj¢h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jdhjÚh²hh³jóh´Mnubeh}”(h]”h ]”(j�Œfunction”eh"]”h$]”h&]”j†j�j‡j½jˆj½j‰‰jЉj‹‰uh1hüh²hhh·h³Nh´Nubj�)�”}”(hŒõ**Parameters** ``struct drm_client_buffer *buffer`` DRM client buffer **Description** This function removes a client buffer's memory mapping. Calling this function is only required by clients that manage their buffer mappings by themselves.”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/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MrhjÁubjÛ)�”}”(hhh]”jà)�”}”(hŒ7``struct drm_client_buffer *buffer`` DRM client buffer ”h]”(jæ)�”}”(hŒ$``struct drm_client_buffer *buffer``”h]”jì)�”}”(hjæh]”hŒ struct drm_client_buffer *buffer”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjäubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´Mohjàubj)�”}”(hhh]”hÌ)�”}”(hŒDRM client buffer”h]”hŒDRM client buffer”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jûh´Mohjüubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjàubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jûh´MohjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjÁubhÌ)�”}”(hŒ**Description**”h]”j—)�”}”(hj!h]”hŒ Description”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MqhjÁubhÌ)�”}”(hŒšThis function removes a client buffer's memory mapping. Calling this function is only required by clients that manage their buffer mappings by themselves.”h]”hŒœThis function removes a client buffer’s memory mapping. Calling this function is only required by clients that manage their buffer mappings by themselves.”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MphjÁubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒ*drm_client_buffer_create_dumb (C function)”Œc.drm_client_buffer_create_dumb”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒ{struct drm_client_buffer * drm_client_buffer_create_dumb (struct drm_client_dev *client, u32 width, u32 height, u32 format)”h]”j)�”}”(hŒystruct drm_client_buffer *drm_client_buffer_create_dumb(struct drm_client_dev *client, u32 width, u32 height, u32 format)”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hjbh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M~ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjbh²hh³jsh´M~ubh)�”}”(hhh]”j7)�”}”(hŒdrm_client_buffer”h]”hŒdrm_client_buffer”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj‚ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”j‡Œmodname”NŒ classname”Nj¯j²)�”}”jµ]”j× )�”}”jÏ Œdrm_client_buffer_create_dumb”sbŒc.drm_client_buffer_create_dumb”†”asbuh1hhjbh²hh³jsh´M~ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjbh²hh³jsh´M~ubjë )�”}”(hjî h]”hŒ*”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hjbh²hh³jsh´M~ubj1)�”}”(hŒdrm_client_buffer_create_dumb”h]”j7)�”}”(hj£h]”hŒdrm_client_buffer_create_dumb”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjÁubah}”(h]”h ]”(jIjJeh"]”h$]”h&]”jNjOuh1j0hjbh²hh³jsh´M~ubj� )�”}”(hŒB(struct drm_client_dev *client, u32 width, u32 height, u32 format)”h]”(j– )�”}”(hŒstruct drm_client_dev *client”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjàh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hjÜubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjÜubh)�”}”(hhh]”j7)�”}”(hŒdrm_client_dev”h]”hŒdrm_client_dev”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjûubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”jŒmodname”NŒ classname”Nj¯j²)�”}”jµ]”j¡Œc.drm_client_buffer_create_dumb”†”asbuh1hhjÜubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjÜubjë )�”}”(hjî h]”hŒ*”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hjÜubj7)�”}”(hŒclient”h]”hŒclient”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjÜubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hjØubj– )�”}”(hŒ u32 width”h]”(h)�”}”(hhh]”j7)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjPubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”jUŒmodname”NŒ classname”Nj¯j²)�”}”jµ]”j¡Œc.drm_client_buffer_create_dumb”†”asbuh1hhjLubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjLubj7)�”}”(hŒwidth”h]”hŒwidth”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjLubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hjØubj– )�”}”(hŒ u32 height”h]”(h)�”}”(hhh]”j7)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj˜ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”j�Œmodname”NŒ classname”Nj¯j²)�”}”jµ]”j¡Œc.drm_client_buffer_create_dumb”†”asbuh1hhj”ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj”ubj7)�”}”(hŒheight”h]”hŒheight”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj”ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hjØubj– )�”}”(hŒ u32 format”h]”(h)�”}”(hhh]”j7)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjàubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”jåŒmodname”NŒ classname”Nj¯j²)�”}”jµ]”j¡Œc.drm_client_buffer_create_dumb”†”asbuh1hhjÜubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjÜubj7)�”}”(hŒformat”h]”hŒformat”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjÜubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hjØubeh}”(h]”h ]”h"]”h$]”h&]”jNjOuh1j� hjbh²hh³jsh´M~ubeh}”(h]”h ]”h"]”h$]”h&]”jNjOjVˆuh1jjWjXhj^h²hh³jsh´M~ubah}”(h]”jYah ]”(j\j]eh"]”h$]”h&]”jaˆjb)jchuh1jh³jsh´M~hj[h²hubje)�”}”(hhh]”hÌ)�”}”(hŒ.Create a client buffer backed by a dumb buffer”h]”hŒ.Create a client buffer backed by a dumb buffer”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M~hj6h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jdhj[h²hh³jsh´M~ubeh}”(h]”h ]”(j�Œfunction”eh"]”h$]”h&]”j†j�j‡jQjˆjQj‰‰jЉj‹‰uh1hüh²hhh·h³Nh´Nubj�)�”}”(hX¯**Parameters** ``struct drm_client_dev *client`` DRM client ``u32 width`` Framebuffer width ``u32 height`` Framebuffer height ``u32 format`` Buffer format **Description** This function creates a :c:type:`drm_client_buffer` which consists of a :c:type:`drm_framebuffer` backed by a dumb buffer. Call drm_client_buffer_delete() to free the buffer. **Return** Pointer to a client buffer or an error pointer on failure.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”j—)�”}”(hj[h]”hŒ Parameters”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjYubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M‚hjUubjÛ)�”}”(hhh]”(jà)�”}”(hŒ-``struct drm_client_dev *client`` DRM client ”h]”(jæ)�”}”(hŒ!``struct drm_client_dev *client``”h]”jì)�”}”(hjzh]”hŒstruct drm_client_dev *client”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjxubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´Mhjtubj)�”}”(hhh]”hÌ)�”}”(hŒ DRM client”h]”hŒ DRM client”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j�h´Mhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjtubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j�h´Mhjqubjà)�”}”(hŒ ``u32 width`` Framebuffer width ”h]”(jæ)�”}”(hŒ ``u32 width``”h]”jì)�”}”(hj³h]”hŒ u32 width”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M€hj­ubj)�”}”(hhh]”hÌ)�”}”(hŒFramebuffer width”h]”hŒFramebuffer width”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÈh´M€hjÉubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj­ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jÈh´M€hjqubjà)�”}”(hŒ"``u32 height`` Framebuffer height ”h]”(jæ)�”}”(hŒ``u32 height``”h]”jì)�”}”(hjìh]”hŒ u32 height”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjêubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M�hjæubj)�”}”(hhh]”hÌ)�”}”(hŒFramebuffer height”h]”hŒFramebuffer height”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j h´M�hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjæubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j h´M�hjqubjà)�”}”(hŒ``u32 format`` Buffer format ”h]”(jæ)�”}”(hŒ``u32 format``”h]”jì)�”}”(hj% h]”hŒ u32 format”…”�”}”(hj' h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj# ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M‚hj ubj)�”}”(hhh]”hÌ)�”}”(hŒ Buffer format”h]”hŒ Buffer format”…”�”}”(hj> h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j: h´M‚hj; ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j: h´M‚hjqubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjUubhÌ)�”}”(hŒ**Description**”h]”j—)�”}”(hj` h]”hŒ Description”…”�”}”(hjb 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/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M„hjUubhÌ)�”}”(hŒ®This function creates a :c:type:`drm_client_buffer` which consists of a :c:type:`drm_framebuffer` backed by a dumb buffer. Call drm_client_buffer_delete() to free the buffer.”h]”(hŒThis function creates a ”…”�”}”(hjv h²hh³Nh´Nubh)�”}”(hŒ:c:type:`drm_client_buffer`”h]”jì)�”}”(hj€ h]”hŒdrm_client_buffer”…”�”}”(hj‚ h²hh³Nh´Nubah}”(h]”h ]”(j�j�Œc-type”eh"]”h$]”h&]”uh1jëhj~ ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j©Œ refdomain”j�Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰j¯j³j·Œdrm_client_buffer”uh1hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´Mƒhjv ubhŒ which consists of a ”…”�”}”(hjv h²hh³Nh´Nubh)�”}”(hŒ:c:type:`drm_framebuffer`”h]”jì)�”}”(hj¤ h]”hŒdrm_framebuffer”…”�”}”(hj¦ h²hh³Nh´Nubah}”(h]”h ]”(j�j�Œc-type”eh"]”h$]”h&]”uh1jëhj¢ ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j©Œ refdomain”j�Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰j¯j³j·Œdrm_framebuffer”uh1hh³j� h´Mƒhjv ubhŒM backed by a dumb buffer. Call drm_client_buffer_delete() to free the buffer.”…”�”}”(hjv h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j� h´MƒhjUubhÌ)�”}”(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/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M‡hjUubhÌ)�”}”(hŒ:Pointer to a client buffer or an error pointer on failure.”h]”hŒ:Pointer to a client buffer or an error pointer on failure.”…”�”}”(hjã h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´MˆhjUubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒ$drm_client_buffer_flush (C function)”Œc.drm_client_buffer_flush”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒUint drm_client_buffer_flush (struct drm_client_buffer *buffer, struct drm_rect *rect)”h]”j)�”}”(hŒTint drm_client_buffer_flush(struct drm_client_buffer *buffer, struct drm_rect *rect)”h]”(jX )�”}”(hŒint”h]”hŒint”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hj!h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M³ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!!h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj!h²hh³j !h´M³ubj1)�”}”(hŒdrm_client_buffer_flush”h]”j7)�”}”(hŒdrm_client_buffer_flush”h]”hŒdrm_client_buffer_flush”…”�”}”(hj3!h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj/!ubah}”(h]”h ]”(jIjJeh"]”h$]”h&]”jNjOuh1j0hj!h²hh³j !h´M³ubj� )�”}”(hŒ9(struct drm_client_buffer *buffer, struct drm_rect *rect)”h]”(j– )�”}”(hŒ struct drm_client_buffer *buffer”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjO!h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hjK!ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\!h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjK!ubh)�”}”(hhh]”j7)�”}”(hŒdrm_client_buffer”h]”hŒdrm_client_buffer”…”�”}”(hjm!h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjj!ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”jo!Œmodname”NŒ classname”Nj¯j²)�”}”jµ]”j× )�”}”jÏ j5!sbŒc.drm_client_buffer_flush”†”asbuh1hhjK!ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�!h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjK!ubjë )�”}”(hjî h]”hŒ*”…”�”}”(hj›!h²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hjK!ubj7)�”}”(hŒbuffer”h]”hŒbuffer”…”�”}”(hj¨!h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjK!ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hjG!ubj– )�”}”(hŒstruct drm_rect *rect”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjÁ!h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hj½!ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎ!h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj½!ubh)�”}”(hhh]”j7)�”}”(hŒdrm_rect”h]”hŒdrm_rect”…”�”}”(hjß!h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjÜ!ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”já!Œmodname”NŒ classname”Nj¯j²)�”}”jµ]”j‰!Œc.drm_client_buffer_flush”†”asbuh1hhj½!ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjý!h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj½!ubjë )�”}”(hjî h]”hŒ*”…”�”}”(hj "h²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hj½!ubj7)�”}”(hŒrect”h]”hŒrect”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj½!ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hjG!ubeh}”(h]”h ]”h"]”h$]”h&]”jNjOuh1j� hj!h²hh³j !h´M³ubeh}”(h]”h ]”h"]”h$]”h&]”jNjOjVˆuh1jjWjXhj !h²hh³j !h´M³ubah}”(h]”j!ah ]”(j\j]eh"]”h$]”h&]”jaˆjb)jchuh1jh³j !h´M³hj!h²hubje)�”}”(hhh]”hÌ)�”}”(hŒManually flush client buffer”h]”hŒManually flush client buffer”…”�”}”(hjB"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M³hj?"h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jdhj!h²hh³j !h´M³ubeh}”(h]”h ]”(j�Œfunction”eh"]”h$]”h&]”j†j�j‡jZ"jˆjZ"j‰‰jЉj‹‰uh1hüh²hhh·h³Nh´Nubj�)�”}”(hXg**Parameters** ``struct drm_client_buffer *buffer`` DRM client buffer ``struct drm_rect *rect`` Damage rectangle (if NULL flushes all) **Description** This calls :c:type:`drm_framebuffer_funcs->dirty ` (if present) to flush buffer changes for drivers that need it. **Return** Zero on success or negative error code on failure.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”j—)�”}”(hjd"h]”hŒ Parameters”…”�”}”(hjf"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjb"ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M·hj^"ubjÛ)�”}”(hhh]”(jà)�”}”(hŒ7``struct drm_client_buffer *buffer`` DRM client buffer ”h]”(jæ)�”}”(hŒ$``struct drm_client_buffer *buffer``”h]”jì)�”}”(hjƒ"h]”hŒ struct drm_client_buffer *buffer”…”�”}”(hj…"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj�"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M´hj}"ubj)�”}”(hhh]”hÌ)�”}”(hŒDRM client buffer”h]”hŒDRM client buffer”…”�”}”(hjœ"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j˜"h´M´hj™"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj}"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j˜"h´M´hjz"ubjà)�”}”(hŒA``struct drm_rect *rect`` Damage rectangle (if NULL flushes all) ”h]”(jæ)�”}”(hŒ``struct drm_rect *rect``”h]”jì)�”}”(hj¼"h]”hŒstruct drm_rect *rect”…”�”}”(hj¾"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjº"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´Mµhj¶"ubj)�”}”(hhh]”hÌ)�”}”(hŒ&Damage rectangle (if NULL flushes all)”h]”hŒ&Damage rectangle (if NULL flushes all)”…”�”}”(hjÕ"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÑ"h´MµhjÒ"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¶"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jÑ"h´Mµhjz"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÚhj^"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/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M·hj^"ubhÌ)�”}”(hŒˆThis calls :c:type:`drm_framebuffer_funcs->dirty ` (if present) to flush buffer changes for drivers that need it.”h]”(hŒ This calls ”…”�”}”(hj #h²hh³Nh´Nubh)�”}”(hŒ>:c:type:`drm_framebuffer_funcs->dirty `”h]”jì)�”}”(hj#h]”hŒdrm_framebuffer_funcs->dirty”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”(j�j�Œc-type”eh"]”h$]”h&]”uh1jëhj#ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j©Œ refdomain”j�Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j¯j³j·Œdrm_framebuffer_funcs”uh1hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M¶hj #ubhŒ? (if present) to flush buffer changes for drivers that need it.”…”�”}”(hj #h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j4#h´M¶hj^"ubhÌ)�”}”(hŒ **Return**”h]”j—)�”}”(hjA#h]”hŒReturn”…”�”}”(hjC#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/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´M¹hj^"ubhÌ)�”}”(hŒ2Zero on success or negative error code on failure.”h]”hŒ2Zero on success or negative error code on failure.”…”�”}”(hjW#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:11: ./drivers/gpu/drm/drm_client.c”h´Mºhj^"ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒ%drm_client_modeset_probe (C function)”Œc.drm_client_modeset_probe”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒeint drm_client_modeset_probe (struct drm_client_dev *client, unsigned int width, unsigned int height)”h]”j)�”}”(hŒdint drm_client_modeset_probe(struct drm_client_dev *client, unsigned int width, unsigned int height)”h]”(jX )�”}”(hŒint”h]”hŒint”…”�”}”(hj†#h²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hj‚#h²hh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M&ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•#h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj‚#h²hh³j”#h´M&ubj1)�”}”(hŒdrm_client_modeset_probe”h]”j7)�”}”(hŒdrm_client_modeset_probe”h]”hŒdrm_client_modeset_probe”…”�”}”(hj§#h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj£#ubah}”(h]”h ]”(jIjJeh"]”h$]”h&]”jNjOuh1j0hj‚#h²hh³j”#h´M&ubj� )�”}”(hŒH(struct drm_client_dev *client, unsigned int width, unsigned int height)”h]”(j– )�”}”(hŒstruct drm_client_dev *client”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjÃ#h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hj¿#ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐ#h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj¿#ubh)�”}”(hhh]”j7)�”}”(hŒdrm_client_dev”h]”hŒdrm_client_dev”…”�”}”(hjá#h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjÞ#ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”jã#Œmodname”NŒ classname”Nj¯j²)�”}”jµ]”j× )�”}”jÏ j©#sbŒc.drm_client_modeset_probe”†”asbuh1hhj¿#ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj¿#ubjë )�”}”(hjî h]”hŒ*”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hj¿#ubj7)�”}”(hŒclient”h]”hŒclient”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj¿#ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hj»#ubj– )�”}”(hŒunsigned int width”h]”(jX )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj5$h²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hj1$ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjC$h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj1$ubjX )�”}”(hŒint”h]”hŒint”…”�”}”(hjQ$h²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hj1$ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj_$h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj1$ubj7)�”}”(hŒwidth”h]”hŒwidth”…”�”}”(hjm$h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj1$ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hj»#ubj– )�”}”(hŒunsigned int height”h]”(jX )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj†$h²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hj‚$ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”$h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj‚$ubjX )�”}”(hŒint”h]”hŒint”…”�”}”(hj¢$h²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hj‚$ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj°$h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj‚$ubj7)�”}”(hŒheight”h]”hŒheight”…”�”}”(hj¾$h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj‚$ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hj»#ubeh}”(h]”h ]”h"]”h$]”h&]”jNjOuh1j� hj‚#h²hh³j”#h´M&ubeh}”(h]”h ]”h"]”h$]”h&]”jNjOjVˆuh1jjWjXhj~#h²hh³j”#h´M&ubah}”(h]”jy#ah ]”(j\j]eh"]”h$]”h&]”jaˆjb)jchuh1jh³j”#h´M&hj{#h²hubje)�”}”(hhh]”hÌ)�”}”(hŒProbe for displays”h]”hŒProbe for displays”…”�”}”(hjè$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M&hjå$h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jdhj{#h²hh³j”#h´M&ubeh}”(h]”h ]”(j�Œfunction”eh"]”h$]”h&]”j†j�j‡j%jˆj%j‰‰jЉj‹‰uh1hüh²hhh·h³Nh´Nubj�)�”}”(hX†**Parameters** ``struct drm_client_dev *client`` DRM client ``unsigned int width`` Maximum display mode width (optional) ``unsigned int height`` Maximum display mode height (optional) **Description** This function sets up display pipelines for enabled connectors and stores the config in the client's modeset array. **Return** Zero on success or negative error code on failure.”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³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M*hj%ubjÛ)�”}”(hhh]”(jà)�”}”(hŒ-``struct drm_client_dev *client`` DRM client ”h]”(jæ)�”}”(hŒ!``struct drm_client_dev *client``”h]”jì)�”}”(hj)%h]”hŒstruct drm_client_dev *client”…”�”}”(hj+%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj'%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M'hj#%ubj)�”}”(hhh]”hÌ)�”}”(hŒ DRM client”h]”hŒ DRM client”…”�”}”(hjB%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j>%h´M'hj?%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj#%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j>%h´M'hj %ubjà)�”}”(hŒ=``unsigned int width`` Maximum display mode width (optional) ”h]”(jæ)�”}”(hŒ``unsigned int width``”h]”jì)�”}”(hjb%h]”hŒunsigned int width”…”�”}”(hjd%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj`%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M(hj\%ubj)�”}”(hhh]”hÌ)�”}”(hŒ%Maximum display mode width (optional)”h]”hŒ%Maximum display mode width (optional)”…”�”}”(hj{%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jw%h´M(hjx%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj\%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jw%h´M(hj %ubjà)�”}”(hŒ?``unsigned int height`` Maximum display mode height (optional) ”h]”(jæ)�”}”(hŒ``unsigned int height``”h]”jì)�”}”(hj›%h]”hŒunsigned int height”…”�”}”(hj�%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj™%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M)hj•%ubj)�”}”(hhh]”hÌ)�”}”(hŒ&Maximum display mode height (optional)”h]”hŒ&Maximum display mode height (optional)”…”�”}”(hj´%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j°%h´M)hj±%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj•%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j°%h´M)hj %ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÚhj%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³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M+hj%ubhÌ)�”}”(hŒsThis function sets up display pipelines for enabled connectors and stores the config in the client's modeset array.”h]”hŒuThis function sets up display pipelines for enabled connectors and stores the config in the client’s modeset array.”…”�”}”(hjì%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.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³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M-hj%ubhÌ)�”}”(hŒ2Zero on success or negative error code on failure.”h]”hŒ2Zero on success or negative error code on failure.”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M.hj%ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒ drm_client_rotation (C function)”Œc.drm_client_rotation”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒObool drm_client_rotation (struct drm_mode_set *modeset, unsigned int *rotation)”h]”j)�”}”(hŒNbool drm_client_rotation(struct drm_mode_set *modeset, unsigned int *rotation)”h]”(jX )�”}”(hŒbool”h]”hŒbool”…”�”}”(hjB&h²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hj>&h²hh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M´ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQ&h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj>&h²hh³jP&h´M´ubj1)�”}”(hŒdrm_client_rotation”h]”j7)�”}”(hŒdrm_client_rotation”h]”hŒdrm_client_rotation”…”�”}”(hjc&h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj_&ubah}”(h]”h ]”(jIjJeh"]”h$]”h&]”jNjOuh1j0hj>&h²hh³jP&h´M´ubj� )�”}”(hŒ6(struct drm_mode_set *modeset, unsigned int *rotation)”h]”(j– )�”}”(hŒstruct drm_mode_set *modeset”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hj{&ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒ&h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj{&ubh)�”}”(hhh]”j7)�”}”(hŒ drm_mode_set”h]”hŒ drm_mode_set”…”�”}”(hj�&h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjš&ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”jŸ&Œmodname”NŒ classname”Nj¯j²)�”}”jµ]”j× )�”}”jÏ je&sbŒc.drm_client_rotation”†”asbuh1hhj{&ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½&h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj{&ubjë )�”}”(hjî h]”hŒ*”…”�”}”(hjË&h²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hj{&ubj7)�”}”(hŒmodeset”h]”hŒmodeset”…”�”}”(hjØ&h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj{&ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hjw&ubj– )�”}”(hŒunsigned int *rotation”h]”(jX )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjñ&h²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hjí&ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿ&h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjí&ubjX )�”}”(hŒint”h]”hŒint”…”�”}”(hj 'h²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hjí&ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjí&ubjë )�”}”(hjî h]”hŒ*”…”�”}”(hj)'h²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hjí&ubj7)�”}”(hŒrotation”h]”hŒrotation”…”�”}”(hj6'h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjí&ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hjw&ubeh}”(h]”h ]”h"]”h$]”h&]”jNjOuh1j� hj>&h²hh³jP&h´M´ubeh}”(h]”h ]”h"]”h$]”h&]”jNjOjVˆuh1jjWjXhj:&h²hh³jP&h´M´ubah}”(h]”j5&ah ]”(j\j]eh"]”h$]”h&]”jaˆjb)jchuh1jh³jP&h´M´hj7&h²hubje)�”}”(hhh]”hÌ)�”}”(hŒ Check the initial rotation value”h]”hŒ Check the initial rotation value”…”�”}”(hj`'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M´hj]'h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jdhj7&h²hh³jP&h´M´ubeh}”(h]”h ]”(j�Œfunction”eh"]”h$]”h&]”j†j�j‡jx'jˆjx'j‰‰jЉj‹‰uh1hüh²hhh·h³Nh´Nubj�)�”}”(hX|**Parameters** ``struct drm_mode_set *modeset`` DRM modeset ``unsigned int *rotation`` Returned rotation value **Description** This function checks if the primary plane in **modeset** can hw rotate to match the rotation needed on its connector. **Note** Currently only 0 and 180 degrees are supported. **Return** True if the plane can do the rotation, false otherwise.”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³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M¸hj|'ubjÛ)�”}”(hhh]”(jà)�”}”(hŒ-``struct drm_mode_set *modeset`` DRM modeset ”h]”(jæ)�”}”(hŒ ``struct drm_mode_set *modeset``”h]”jì)�”}”(hj¡'h]”hŒstruct drm_mode_set *modeset”…”�”}”(hj£'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjŸ'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´Mµ•±hj›'ubj)�”}”(hhh]”hÌ)�”}”(hŒ DRM modeset”h]”hŒ DRM modeset”…”�”}”(hjº'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j¶'h´Mµhj·'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj›'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j¶'h´Mµhj˜'ubjà)�”}”(hŒ3``unsigned int *rotation`` Returned rotation value ”h]”(jæ)�”}”(hŒ``unsigned int *rotation``”h]”jì)�”}”(hjÚ'h]”hŒunsigned int *rotation”…”�”}”(hjÜ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhjØ'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M¶hjÔ'ubj)�”}”(hhh]”hÌ)�”}”(hŒReturned rotation value”h]”hŒReturned rotation value”…”�”}”(hjó'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jï'h´M¶hjð'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÔ'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jï'h´M¶hj˜'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÚhj|'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³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M¸hj|'ubhÌ)�”}”(hŒuThis function checks if the primary plane in **modeset** can hw rotate to match the rotation needed on its connector.”h]”(hŒ-This function checks if the primary plane in ”…”�”}”(hj+(h²hh³Nh´Nubj—)�”}”(hŒ **modeset**”h]”hŒmodeset”…”�”}”(hj3(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj+(ubhŒ= can hw rotate to match the rotation needed on its connector.”…”�”}”(hj+(h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M·hj|'ubhÌ)�”}”(hŒ**Note**”h]”j—)�”}”(hjN(h]”hŒNote”…”�”}”(hjP(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjL(ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´Mºhj|'ubhÌ)�”}”(hŒ/Currently only 0 and 180 degrees are supported.”h]”hŒ/Currently only 0 and 180 degrees are supported.”…”�”}”(hjd(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M»hj|'ubhÌ)�”}”(hŒ **Return**”h]”j—)�”}”(hju(h]”hŒReturn”…”�”}”(hjw(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjs(ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M½hj|'ubhÌ)�”}”(hŒ7True if the plane can do the rotation, false otherwise.”h]”hŒ7True if the plane can do the rotation, false otherwise.”…”�”}”(hj‹(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M½hj|'ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒ%drm_client_modeset_check (C function)”Œc.drm_client_modeset_check”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒ+ubjÛ)�”}”(hhh]”jà)�”}”(hŒ-``struct drm_client_dev *client`` DRM client ”h]”(jæ)�”}”(hŒ!``struct drm_client_dev *client``”h]”jì)�”}”(hjc+h]”hŒstruct drm_client_dev *client”…”�”}”(hje+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhja+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M§hj]+ubj)�”}”(hhh]”hÌ)�”}”(hŒ DRM client”h]”hŒ DRM client”…”�”}”(hj|+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jx+h´M§hjy+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj]+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jx+h´M§hjZ+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhj>+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³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M©hj>+ubhÌ)�”}”(hŒÎCommit modeset configuration to crtcs without checking if there is a DRM master. The assumption is that the caller already holds an internal DRM master reference acquired with drm_master_internal_acquire().”h]”hŒÎCommit modeset configuration to crtcs without checking if there is a DRM master. The assumption is that the caller already holds an internal DRM master reference acquired with drm_master_internal_acquire().”…”�”}”(hj´+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.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³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M¬hj>+ubhÌ)�”}”(hŒ2Zero on success or negative error code on failure.”h]”hŒ2Zero on success or negative error code on failure.”…”�”}”(hjÛ+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:14: ./drivers/gpu/drm/drm_client_modeset.c”h´M­hj>+ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒ&drm_client_modeset_commit (C function)”Œc.drm_client_modeset_commit”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒ=int drm_client_modeset_commit (struct drm_client_dev *client)”h]”j)�”}”(hŒ` callback. The callback function is responsibe for releaseing all resources including the client itself. The helper drm_dev_unregister() calls this function. Drivers that use it don't need to call this function themselves.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”j—)�”}”(hjî2h]”hŒ Parameters”…”�”}”(hjð2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjì2ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:17: ./drivers/gpu/drm/drm_client_event.c”h´Khjè2ubjÛ)�”}”(hhh]”jà)�”}”(hŒ&``struct drm_device *dev`` DRM device ”h]”(jæ)�”}”(hŒ``struct drm_device *dev``”h]”jì)�”}”(hj 3h]”hŒstruct drm_device *dev”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj 3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œa/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:17: ./drivers/gpu/drm/drm_client_event.c”h´Khj3ubj)�”}”(hhh]”hÌ)�”}”(hŒ DRM device”h]”hŒ DRM device”…”�”}”(hj&3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j"3h´Khj#3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³j"3h´Khj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjè2ubhÌ)�”}”(hŒ**Description**”h]”j—)�”}”(hjH3h]”hŒ Description”…”�”}”(hjJ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjF3ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:17: ./drivers/gpu/drm/drm_client_event.c”h´Khjè2ubhÌ)�”}”(hŒÜThis function releases all clients by calling each client's :c:type:`drm_client_funcs.unregister ` callback. The callback function is responsibe for releaseing all resources including the client itself.”h]”(hŒ>This function releases all clients by calling each client’s ”…”�”}”(hj^3h²hh³Nh´Nubh)�”}”(hŒ8:c:type:`drm_client_funcs.unregister `”h]”jì)�”}”(hjh3h]”hŒdrm_client_funcs.unregister”…”�”}”(hjj3h²hh³Nh´Nubah}”(h]”h ]”(j�j�Œc-type”eh"]”h$]”h&]”uh1jëhjf3ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j©Œ refdomain”j�Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j¯j³j·Œdrm_client_funcs”uh1hh³Œa/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:17: ./drivers/gpu/drm/drm_client_event.c”h´Khj^3ubhŒh callback. The callback function is responsibe for releaseing all resources including the client itself.”…”�”}”(hj^3h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j…3h´Khjè2ubhÌ)�”}”(hŒuThe helper drm_dev_unregister() calls this function. Drivers that use it don't need to call this function themselves.”h]”hŒwThe helper drm_dev_unregister() calls this function. Drivers that use it don’t need to call this function themselves.”…”�”}”(hj�3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:17: ./drivers/gpu/drm/drm_client_event.c”h´Khjè2ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubhì)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(høŒ#drm_client_dev_hotplug (C function)”Œc.drm_client_dev_hotplug”hNt”auh1hëhh·h²hh³Nh´Nubhý)�”}”(hhh]”(j)�”}”(hŒ4void drm_client_dev_hotplug (struct drm_device *dev)”h]”j)�”}”(hŒ3void drm_client_dev_hotplug(struct drm_device *dev)”h]”(jX )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¿3h²hh³Nh´Nubah}”(h]”h ]”jd ah"]”h$]”h&]”uh1jW hj»3h²hh³Œa/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:17: ./drivers/gpu/drm/drm_client_event.c”h´KNubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎ3h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhj»3h²hh³jÍ3h´KNubj1)�”}”(hŒdrm_client_dev_hotplug”h]”j7)�”}”(hŒdrm_client_dev_hotplug”h]”hŒdrm_client_dev_hotplug”…”�”}”(hjà3h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjÜ3ubah}”(h]”h ]”(jIjJeh"]”h$]”h&]”jNjOuh1j0hj»3h²hh³jÍ3h´KNubj� )�”}”(hŒ(struct drm_device *dev)”h]”j– )�”}”(hŒstruct drm_device *dev”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjü3h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1j hjø3ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj 4h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjø3ubh)�”}”(hhh]”j7)�”}”(hŒ drm_device”h]”hŒ drm_device”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hj4ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j�Œreftype”jÏ Œ reftarget”j4Œmodname”NŒ classname”Nj¯j²)�”}”jµ]”j× )�”}”jÏ jâ3sbŒc.drm_client_dev_hotplug”†”asbuh1hhjø3ubj )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:4h²hh³Nh´Nubah}”(h]”h ]”j,ah"]”h$]”h&]”uh1jhjø3ubjë )�”}”(hjî h]”hŒ*”…”�”}”(hjH4h²hh³Nh´Nubah}”(h]”h ]”j÷ ah"]”h$]”h&]”uh1jê hjø3ubj7)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjU4h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j6hjø3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjNjOuh1j• hjô3ubah}”(h]”h ]”h"]”h$]”h&]”jNjOuh1j� hj»3h²hh³jÍ3h´KNubeh}”(h]”h ]”h"]”h$]”h&]”jNjOjVˆuh1jjWjXhj·3h²hh³jÍ3h´KNubah}”(h]”j²3ah ]”(j\j]eh"]”h$]”h&]”jaˆjb)jchuh1jh³jÍ3h´KNhj´3h²hubje)�”}”(hhh]”hÌ)�”}”(hŒSend hotplug event to clients”h]”hŒSend hotplug event to clients”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:17: ./drivers/gpu/drm/drm_client_event.c”h´KNhj|4h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jdhj´3h²hh³jÍ3h´KNubeh}”(h]”h ]”(j�Œfunction”eh"]”h$]”h&]”j†j�j‡j—4jˆj—4j‰‰jЉj‹‰uh1hüh²hhh·h³Nh´Nubj�)�”}”(hX2**Parameters** ``struct drm_device *dev`` DRM device **Description** This function calls the :c:type:`drm_client_funcs.hotplug ` callback on the attached clients. drm_kms_helper_hotplug_event() calls this function, so drivers that use it don't need to call this function themselves.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”j—)�”}”(hj¡4h]”hŒ Parameters”…”�”}”(hj£4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjŸ4ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:17: ./drivers/gpu/drm/drm_client_event.c”h´KRhj›4ubjÛ)�”}”(hhh]”jà)�”}”(hŒ&``struct drm_device *dev`` DRM device ”h]”(jæ)�”}”(hŒ``struct drm_device *dev``”h]”jì)�”}”(hjÀ4h]”hŒstruct drm_device *dev”…”�”}”(hjÂ4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj¾4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåh³Œa/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:17: ./drivers/gpu/drm/drm_client_event.c”h´KOhjº4ubj)�”}”(hhh]”hÌ)�”}”(hŒ DRM device”h]”hŒ DRM device”…”�”}”(hjÙ4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÕ4h´KOhjÖ4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjº4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jßh³jÕ4h´KOhj·4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhj›4ubhÌ)�”}”(hŒ**Description**”h]”j—)�”}”(hjû4h]”hŒ Description”…”�”}”(hjý4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjù4ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:17: ./drivers/gpu/drm/drm_client_event.c”h´KQhj›4ubhÌ)�”}”(hŒoThis function calls the :c:type:`drm_client_funcs.hotplug ` callback on the attached clients.”h]”(hŒThis function calls the ”…”�”}”(hj5h²hh³Nh´Nubh)�”}”(hŒ5:c:type:`drm_client_funcs.hotplug `”h]”jì)�”}”(hj5h]”hŒdrm_client_funcs.hotplug”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”(j�j�Œc-type”eh"]”h$]”h&]”uh1jëhj5ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j©Œ refdomain”j�Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j¯j³j·Œdrm_client_funcs”uh1hh³Œa/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:17: ./drivers/gpu/drm/drm_client_event.c”h´KPhj5ubhŒ" callback on the attached clients.”…”�”}”(hj5h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j85h´KPhj›4ubhÌ)�”}”(hŒwdrm_kms_helper_hotplug_event() calls this function, so drivers that use it don't need to call this function themselves.”h]”hŒydrm_kms_helper_hotplug_event() calls this function, so drivers that use it don’t need to call this function themselves.”…”�”}”(hjC5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/gpu/drm-client:17: ./drivers/gpu/drm/drm_client_event.c”h´KRhj›4ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŒhh·h²hh³Nh´Nubeh}”(h]”Œkernel-clients”ah ]”h"]”Œkernel clients”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„5Œ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”}”j^5j[5sŒ nametypes”}”j^5‰sh}”(j[5h·hújjZj_j½jÂj� j† j¿ jÄ jJ jO j\jaj!j&jj#jyj~jèjíjijnjØjÝjYj^j!j !jy#j~#j5&j:&j­(j²(jU*jZ*jý+j,j¥-jª-jÍ/jÒ/jÿ1j2j²3j·3uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.