Bug 101723 - hdmi unplug not changing connector status
Summary: hdmi unplug not changing connector status
Status: RESOLVED MOVED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Radeon (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: low minor
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2017-07-07 22:37 UTC by Aki Lemmetyinen
Modified: 2019-11-19 09:29 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Small patch to fix the problem (1005 bytes, patch)
2017-07-07 22:37 UTC, Aki Lemmetyinen
no flags Details | Splinter Review

Description Aki Lemmetyinen 2017-07-07 22:37:27 UTC
Created attachment 132558 [details] [review]
Small patch to fix the problem

I made a quick script for my HP Pavilion dv7 to automatically switch audio to hdmi and back at hotplug event, but I noticed that the driver do not react properly to plug/unplug. /sys/class/drm/card0-HDMI-A-1/status was "connected" even after unplugging the cable.

After looking at the code it seemed that in case of cable disconnected there is not point where hotplug state is polled.

Function radeon_connector_hotplug do not do much with hdmi and radeon_hotplug_work_func cals drm_helper_hpd_irq_event which calls radeon_dvi_detect where, in case of disconnected cable, it return with connector_status_connected, just throwing an error for missing EDID.

It looks like there would maybe be a need for a bigger rewrite of hotplug code, but just to get connector state working properly, I added these few lines to radeon_connectors.c.
Comment 1 Martin Peres 2019-11-19 09:29:39 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/808.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.