<div dir="ltr">Dear All,<div><br></div><div>Happy new year! and very glad to meet you all!, as I am newbie to DRM susbsytem, seeking for some help please, in understanding some of the below info regarding DRM</div><div><br></div><div>1. May I know please , what could be going wrong based on the attached errors, any debug information, like anywhere can I print the atomic states. What is the api to do that please? or  that I can add further to narrow down the below errors please ? & may I know what is the connection between these 2 signatures below please?</div><div><br></div><div>[  165.434510] RIP: 0010:drm_dp_atomic_release_vcpi_slots+0x90/0xb4</div><div><br></div><div>[  165.434849] RIP: 0010:drm_framebuffer_remove+0x34d/0x478<br></div><div><br></div><div>I see the above issue, when I unplugged the same mst dock with external displays connected which was plugged initially.</div><div><br></div><div>2. trying to understand the below api, "drm_dp_atomic_release_vcpi_slots", could anyone please correct if my understanding is incorrect please based on comment below:</div><div><br></div><div>/**<br> * drm_dp_atomic_release_vcpi_slots() - Release allocated vcpi slots<br> * @state: global atomic state<br> * @mgr: MST topology manager for the port<br> * @port: The port to release the VCPI slots from<br> *<br> * Releases any VCPI slots that have been allocated to a port in the atomic<br> * state. Any atomic drivers which support MST must call this function in<br> * their &drm_connector_helper_funcs.atomic_check() callback when the<br> * connector will no longer have VCPI allocated (e.g. because its CRTC was<br> * removed) when it had VCPI allocated in the previous atomic state.<br> *<br> * It is OK to call this even if @port has been removed from the system.<br> * Additionally, it is OK to call this function multiple times on the same<br> * @port as needed. It is not OK however, to call this function and<br> * drm_dp_atomic_find_vcpi_slots() on the same @port in a single atomic check<br> * phase.<br> *<br> * See also:<br> * drm_dp_atomic_find_vcpi_slots()<br> * drm_dp_mst_atomic_check()<br> *<br> * Returns:<br> * 0 if all slots for this port were added back to<br> * &drm_dp_mst_topology_state.avail_slots or negative error code<br> */<br></div><div><br></div><div>1. The term "vcpi slots" is equivalent to here is the number of display devices connected over mst?</div><div><br></div><div>2. somewhere vcpi allocation is not getting freed, any quick tweaks or hacks please, how can I quickly try to release or free vcpi allocations, when it is removed or unplugged, but my worries is whether any of it is previous atomic state would get affected or impacts or cause any issues due to its freeing?<br></div><div><br></div><div>3. Could anyone please once again explain this portion of the comment "It is not OK however, to call this function and</div> * drm_dp_atomic_find_vcpi_slots() on the same @port in a single atomic check<br> * phase."?<div><br></div><div>Many thanks in advance,<br><div><br></div><div><br><div><br></div><div><br></div></div></div></div>