All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felix Richter <judge@felixrichter.tech>
To: Alex Deucher <alexdeucher@gmail.com>
Cc: Mario Limonciello <superm1@kernel.org>,
	Harry Wentland <harry.wentland@amd.com>,
	Leo Li <sunpeng.li@amd.com>,
	Linux regressions mailing list <regressions@lists.linux.dev>,
	amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	jonas@3j14.de, seanpaul@chromium.org
Subject: Re: Regression: DDC I2C Display Freezing for internal displays
Date: Thu, 24 Jul 2025 21:41:05 +0200	[thread overview]
Message-ID: <706fb4e2-8b5b-46fc-b640-b304b224a259@felixrichter.tech> (raw)
In-Reply-To: <CADnq5_Mpsd_68T3uKqdXzHSzm4dWcHamYJZMNpPNZFHBp=DORQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2156 bytes --]


On 7/20/25 17:45, Alex Deucher wrote:
> DP (and all of its variants, eDP, USB-C thunderbolt) doesn't actually
> use i2c directly.  It's aux; you can do i2c over aux, but in the case
> of MST, it's more like a network for displays so naively messing with
> i2c buses from userspace won't do what you expect.  For MST, you have
> a single set of i2c/aux pins for the connector which may have several
> monitors on the other end.
> DP is a two way communications channel.  You may have the driver
> training a link or communicating with other devices on the DP network
> (MST hubs, monitors, etc.).  You can also get requests from the
> monitor to the driver via hpd interrupts.  Many of these processes do
> not do well if interrupted.
>
> Alex
>

I get that this is a part of a very complicated protocol. I am still 
irritated that the points you mention are relevant from the perspective 
of userspace. From my perspective there is no expectation that the 
kernel should just interrupt ongoing procedures when I access an i2c 
link. I am happy to wait for the kernel to schedule the operation for 
when it is convenient. After all the point of abstraction is not having 
to worry about the layers underneath. And if the drm device exposes an 
i2c device that I access it is the job of the drm driver to handle how 
and when that transmission takes place.

Also I would like to point out that the bug I am experiencing does not 
materialize in case of any external displays attached via an MST hub. It 
happens with the internal display even when nothing is attached. The 
point about MST Hubs is only relevant because those i2c interface can 
not be matched via udev to the corresponding display. Though the can be 
matched when reading edid from the device. Those interfaces then work 
just fine when I use ddc to read/set monitor inputs. So those points do 
not seem to really be relevant in case of the screen freezing trigger.

Anyway that is just my thoughts on the matter. I'll look into writing a 
workaround to maybe avoid some i2c devices that could be problematic.

And there still might be a relation to the other screen freezing issues.

Felix

[-- Attachment #2: Type: text/html, Size: 2890 bytes --]

      reply	other threads:[~2025-07-25  7:24 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-22 19:44 Regression: DDC I2C Display Freezing for internal displays Felix Richter
2025-07-17 19:42 ` Felix Richter
2025-07-18 18:02   ` Mario Limonciello
2025-07-19 10:10     ` Felix Richter
2025-07-19 12:23       ` Mario Limonciello
2025-07-19 17:02         ` Felix Richter
2025-07-19 17:36           ` Mario Limonciello
2025-07-20 15:45           ` Alex Deucher
2025-07-24 19:41             ` Felix Richter [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=706fb4e2-8b5b-46fc-b640-b304b224a259@felixrichter.tech \
    --to=judge@felixrichter.tech \
    --cc=alexdeucher@gmail.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=harry.wentland@amd.com \
    --cc=jonas@3j14.de \
    --cc=regressions@lists.linux.dev \
    --cc=seanpaul@chromium.org \
    --cc=sunpeng.li@amd.com \
    --cc=superm1@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.