xref: /aosp_15_r20/external/libkmsxx/py/tests/hpd.py (revision f0687c8a10b3e371dbe09214db6664e37c283cca)
1*f0687c8aSRaman Tenneti#!/usr/bin/python3
2*f0687c8aSRaman Tenneti
3*f0687c8aSRaman Tennetiimport pyudev
4*f0687c8aSRaman Tennetiimport pykms
5*f0687c8aSRaman Tenneti
6*f0687c8aSRaman Tenneticard = pykms.Card()
7*f0687c8aSRaman Tenneticonns = card.connectors
8*f0687c8aSRaman Tenneti
9*f0687c8aSRaman Tenneticontext = pyudev.Context()
10*f0687c8aSRaman Tenneti
11*f0687c8aSRaman Tennetidev = pyudev.Devices.from_name(context, 'drm', 'card0')
12*f0687c8aSRaman Tenneti
13*f0687c8aSRaman Tennetimonitor = pyudev.Monitor.from_netlink(context)
14*f0687c8aSRaman Tennetimonitor.filter_by('drm')
15*f0687c8aSRaman Tenneti
16*f0687c8aSRaman Tennetifor device in iter(monitor.poll, None):
17*f0687c8aSRaman Tenneti	if 'HOTPLUG' in device:
18*f0687c8aSRaman Tenneti		print("HPD")
19*f0687c8aSRaman Tenneti		for conn in conns:
20*f0687c8aSRaman Tenneti			conn.refresh()
21*f0687c8aSRaman Tenneti			modes = conn.get_modes()
22*f0687c8aSRaman Tenneti			print("  ", conn.fullname, ["{}x{}".format(m.hdisplay, m.vdisplay) for m in modes])
23