From: sashiko-bot@kernel.org
To: "Ville Syrjala" <ville.syrjala@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Subject: Re: [PATCH 1/3] drm/i915/gmbus: Switch GMBUS fully to _fw() register accesses
Date: Wed, 30 Sep 2026 12:04:28 +0000 [thread overview]
Message-ID: <20260930120429.519401F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260930115303.24285-1-ville.syrjala@linux.intel.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] drm/i915: accidental use of intel_de_wait_ms() defeats DC optimization
--
commit 1836a89e6bc24b1ddcaa1396b56e118dff0e2e2c
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
drm/i915/gmbus: Switch GMBUS fully to _fw() register accesses
This commit switches GMBUS code to use _fw() register accesses rather than
_notrace() variants. The primary goal is to avoid exiting DC5/6 during PCH
register accesses, which was causing significant performance penalties.
> diff --git a/drivers/gpu/drm/i915/display/intel_gmbus.c b/drivers/gpu/drm/i915/display/intel_gmbus.c
> index 60a70dea5d856..09171f3db298d 100644
> --- a/drivers/gpu/drm/i915/display/intel_gmbus.c
> +++ b/drivers/gpu/drm/i915/display/intel_gmbus.c
[ ... ]
> @@ -454,7 +454,7 @@ gmbus_wait_idle(struct intel_display *display)
> add_wait_queue(&display->gmbus.wait_queue, &wait);
> intel_de_write_fw(display, GMBUS4(display), irq_enable);
>
> - ret = intel_de_wait_fw_ms(display, GMBUS2(display), GMBUS_ACTIVE, 0, 10, NULL);
> + ret = intel_de_wait_ms(display, GMBUS2(display), GMBUS_ACTIVE, 0, 10, NULL);
[Severity: Medium]
Does replacing intel_de_wait_fw_ms() with intel_de_wait_ms() defeat the DC
optimization intended by this commit?
Looking at intel_de_wait_ms() in intel_de.c, it acquires wakelocks and does
standard register reads:
int intel_de_wait_ms(...)
{
...
intel_dmc_wl_get(display, reg);
ret = intel_de_wait_for_register(display, reg, mask, value,
timeout_ms * 1000,
intel_de_read,
out_value, false);
...
}
Since the commit message notes that the extra north FPGA_DBG register
accesses cause DC5/6 exits, it seems calling intel_de_wait_ms() here will pull
in the uncore lock acquisitions and DMC wakelocks that force the hardware out
of DC5/6.
Could this unintended swap cause a performance regression during display
operations that require GMBUS transfers?
>
> intel_de_write_fw(display, GMBUS4(display), 0);
> remove_wait_queue(&display->gmbus.wait_queue, &wait);
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260930115303.24285-1-ville.syrjala@linux.intel.com?part=1
next prev parent reply other threads:[~2026-09-30 12:04 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-30 11:53 [PATCH 1/3] drm/i915/gmbus: Switch GMBUS fully to _fw() register accesses Ville Syrjala
2026-09-30 11:53 ` [PATCH 2/3] drm/i915/dp: Drop using intel_de_read_notrace() Ville Syrjala
2026-09-30 12:02 ` sashiko-bot
2026-09-30 14:53 ` Jani Nikula
2026-10-01 15:16 ` Jani Nikula
2026-10-02 13:57 ` [PATCH v2 " Ville Syrjala
2026-09-30 11:53 ` [PATCH 3/3] drm/i915/de: Nuke intel_de_{read,write}_notrace() Ville Syrjala
2026-09-30 12:01 ` sashiko-bot
2026-09-30 14:54 ` Jani Nikula
2026-09-30 12:01 ` ✓ CI.KUnit: success for series starting with [1/3] drm/i915/gmbus: Switch GMBUS fully to _fw() register accesses Patchwork
2026-09-30 12:04 ` sashiko-bot [this message]
2026-09-30 13:16 ` [PATCH v2 1/3] " Ville Syrjala
2026-09-30 14:14 ` Jani Nikula
2026-09-30 13:24 ` ✓ CI.KUnit: success for series starting with [v2,1/3] drm/i915/gmbus: Switch GMBUS fully to _fw() register accesses (rev2) Patchwork
2026-09-30 13:35 ` ✓ Xe.CI.BAT: success for series starting with [1/3] drm/i915/gmbus: Switch GMBUS fully to _fw() register accesses Patchwork
2026-09-30 13:52 ` ✓ i915.CI.BAT: " Patchwork
2026-09-30 15:02 ` ✓ Xe.CI.BAT: success for series starting with [v2,1/3] drm/i915/gmbus: Switch GMBUS fully to _fw() register accesses (rev2) Patchwork
2026-09-30 16:19 ` ✓ i915.CI.BAT: " Patchwork
2026-09-30 18:11 ` ✓ Xe.CI.FULL: " Patchwork
2026-10-01 6:08 ` ✓ i915.CI.Full: " Patchwork
2026-10-02 14:05 ` ✓ CI.KUnit: success for series starting with [v2,1/3] drm/i915/gmbus: Switch GMBUS fully to _fw() register accesses (rev3) Patchwork
2026-10-02 14:49 ` ✓ Xe.CI.BAT: " Patchwork
2026-10-02 16:18 ` ✗ i915.CI.BAT: failure " Patchwork
2026-10-02 16:26 ` ✗ Xe.CI.FULL: " Patchwork
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=20260930120429.519401F000FF@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=ville.syrjala@linux.intel.com \
/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.