From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Mika Kahola <mika.kahola@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH v2] drm/i915/display: Reset message bus after each read/write operation
Date: Fri, 13 Oct 2023 16:21:35 -0400 [thread overview]
Message-ID: <ZSmmz7btjjfX/rX3@intel.com> (raw)
In-Reply-To: <20231013065532.634872-1-mika.kahola@intel.com>
On Fri, Oct 13, 2023 at 09:55:32AM +0300, Mika Kahola wrote:
> Every know and then we receive the following error when running
> for example IGT test kms_flip.
>
> [drm] *ERROR* PHY G Read 0d80 failed after 3 retries.
> [drm] *ERROR* PHY G Write 0d81 failed after 3 retries.
>
> Since the error is sporadic in nature, the patch proposes
> to reset the message bus after every successful or unsuccessful
> read or write operation. However, the testing revealed that this
> alone is not sufficient method and therefore an additional
> delay is introduced anything from 200us to 300us to let HW to
> settle down. This delay is experimental value and has no
> specification to back it up.
>
> v2: Add FIXME's to indicate the experimental nature of
> this workaround (Rodrigo)
>
> Signed-off-by: Mika Kahola <mika.kahola@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_cx0_phy.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_cx0_phy.c b/drivers/gpu/drm/i915/display/intel_cx0_phy.c
> index 6e6a1818071e..7c48ec5e54bd 100644
> --- a/drivers/gpu/drm/i915/display/intel_cx0_phy.c
> +++ b/drivers/gpu/drm/i915/display/intel_cx0_phy.c
> @@ -221,6 +221,14 @@ static u8 __intel_cx0_read(struct drm_i915_private *i915, enum port port,
> for (i = 0; i < 3; i++) {
> status = __intel_cx0_read_once(i915, port, lane, addr);
>
> + /*
> + * FIXME: Workaround to let HW to settle
> + * down and let the message bus to end up
> + * in a known state
> + */
> + intel_cx0_bus_reset(i915, port, lane);
> + usleep_range(200, 300);
> +
> if (status >= 0)
> return status;
> }
> @@ -300,6 +308,14 @@ static void __intel_cx0_write(struct drm_i915_private *i915, enum port port,
> for (i = 0; i < 3; i++) {
> status = __intel_cx0_write_once(i915, port, lane, addr, data, committed);
>
> + /*
> + * FIXME: Workaround to let HW to settle
> + * down and let the message bus to end up
> + * in a known state
> + */
> + intel_cx0_bus_reset(i915, port, lane);
> + usleep_range(200, 300);
what cases trigger these paths?
and how many calls in the modset case?
what about suspend/resume cylces?
if we do a single rmw we are introducing at least 400us of delay here.
have we measured the overall final impact of these extra sleeps on the resume and modeset latencies?
> +
> if (status == 0)
> return;
> }
> --
> 2.34.1
>
next prev parent reply other threads:[~2023-10-13 20:21 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-13 6:55 [Intel-gfx] [PATCH v2] drm/i915/display: Reset message bus after each read/write operation Mika Kahola
2023-10-13 18:52 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Reset message bus after each read/write operation (rev2) Patchwork
2023-10-13 20:21 ` Rodrigo Vivi [this message]
2023-10-16 11:36 ` [Intel-gfx] [PATCH v2] drm/i915/display: Reset message bus after each read/write operation Kahola, Mika
2023-10-14 23:02 ` [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/display: Reset message bus after each read/write operation (rev2) 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=ZSmmz7btjjfX/rX3@intel.com \
--to=rodrigo.vivi@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=mika.kahola@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox