On 2/20/26 10:09, Michel Dänzer wrote:
> On 2/20/26 09:42, Michel Dänzer wrote:
>> On 2/18/26 10:22, Michel Dänzer wrote:
>>> On 2/18/26 01:45, Hamza Mahfooz wrote:
>>>> On Mon, Feb 16, 2026 at 10:28:13AM +0100, Michel Dänzer wrote:
>>>>> On 2/14/26 23:16, Hamza Mahfooz wrote:
>>>>>> On Sat, Feb 14, 2026 at 03:02:49PM +0100, Michel Dänzer wrote:
>>>>>>
>>>>>>> In principle it's possible to do (the equivalent of) a modeset with the 
>>>>>>> current state for all CRTCs, no need to do it separately per CRTC.
>>>>>>
>>>>>> AFAIK that is what the uevent is already doing (unless I'm mistaken).
>>>>>
>>>>> This is about just doing a full modeset, which isn't something user space 
>>>>> can do in response to a wedged event.
>>>>
>>>> I was referring to what compositors are doing in response to
>>>> `drm_kms_helper_hotplug_event()`. Perhaps, the enum constants should be
>>>> renamed, since the forced modeset is actually sent when the current
>>>> reset phase is DRM_KMS_RESET_NONE (the phase is updated before sending
>>>> out the event though).
>>>
>>> Ah, you're talking about the drm_kms_helper_hotplug_event call in 
>>> drm_atomic_helper_wait_for_flip_done (I thought "uevent" referred to 
>>> drm_dev_wedged_event in patch 2).
>>>
>>> I don't know about other compositors, but I don't think mutter will do a 
>>> modeset in response to a hotplug event if no KMS state changed (because 
>>> some monitors can generate spurious hotplug events).
>>
>> FWIW, if it really turns out impossible for the kernel to do a modeset 
>> itself (which I remain unconvinced of), one way to require a modeset from 
>> user space is to set the "link-status" connector property to "Bad".
> 
> Having written that down, a reason why the kernel can't just do a modeset 
> itself occurred to me: A modeset might affect other CRTCs than the ones 
> affected by the timed-out commit, which could interact badly with other 
> pending commits affecting those other CRTCs.
> 
> The "link-status" property seems like the best solution so far.

Discussing the "link-status" property, it turns out I slightly misremembered 
its purpose, it's not really suitable for this.

Maybe the hotplug event is the only way after all.


-- 
Earthling Michel Dänzer       \        GNOME / Xwayland / Mesa developer
https://redhat.com             \               Libre software enthusiast

Reply via email to