From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Hans de Goede <hansg@kernel.org>
Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com>,
"Jani Nikula" <jani.nikula@linux.intel.com>,
"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
"Tvrtko Ursulin" <tursulin@ursulin.net>,
intel-gfx <intel-gfx@lists.freedesktop.org>,
dri-devel@lists.freedesktop.org,
"Hans de Goede" <hdegoede@redhat.com>
Subject: Re: [PATCH resend] drm/i915/bios: Apply vlv_fixup_mipi_sequences() to v2 mipi-sequences too
Date: Thu, 10 Jul 2025 11:34:45 -0400 [thread overview]
Message-ID: <aG_dlWJO-3YwXeub@intel.com> (raw)
In-Reply-To: <c2b14619-c981-4caf-a295-2571506cc955@kernel.org>
On Mon, Jul 07, 2025 at 11:10:59PM +0200, Hans de Goede wrote:
> Hi Ville,
>
> On 4-Jul-25 12:31 PM, Ville Syrjälä wrote:
> > On Thu, Jul 03, 2025 at 04:38:24PM +0200, Hans de Goede wrote:
> >> From: Hans de Goede <hdegoede@redhat.com>
> >>
> >> It turns out that the fixup from vlv_fixup_mipi_sequences() is necessary
> >> for some DSI panel's with version 2 mipi-sequences too.
> >>
> >> Specifically the Acer Iconia One 8 A1-840 (not to be confused with the
> >> A1-840FHD which is different) has the following sequences:
> >>
> >> BDB block 53 (1284 bytes) - MIPI sequence block:
> >> Sequence block version v2
> >> Panel 0 *
> >>
> >> Sequence 2 - MIPI_SEQ_INIT_OTP
> >> GPIO index 9, source 0, set 0 (0x00)
> >> Delay: 50000 us
> >> GPIO index 9, source 0, set 1 (0x01)
> >> Delay: 6000 us
> >> GPIO index 9, source 0, set 0 (0x00)
> >> Delay: 6000 us
> >> GPIO index 9, source 0, set 1 (0x01)
> >> Delay: 25000 us
> >> Send DCS: Port A, VC 0, LP, Type 39, Length 5, Data ff aa 55 a5 80
> >> Send DCS: Port A, VC 0, LP, Type 39, Length 3, Data 6f 11 00
> >> ...
> >> Send DCS: Port A, VC 0, LP, Type 05, Length 1, Data 29
> >> Delay: 120000 us
> >>
> >> Sequence 4 - MIPI_SEQ_DISPLAY_OFF
> >> Send DCS: Port A, VC 0, LP, Type 05, Length 1, Data 28
> >> Delay: 105000 us
> >> Send DCS: Port A, VC 0, LP, Type 05, Length 2, Data 10 00
> >> Delay: 10000 us
> >>
> >> Sequence 5 - MIPI_SEQ_ASSERT_RESET
> >> Delay: 10000 us
> >> GPIO index 9, source 0, set 0 (0x00)
> >>
> >> Notice how there is no MIPI_SEQ_DEASSERT_RESET, instead the deassert
> >> is done at the beginning of MIPI_SEQ_INIT_OTP, which is exactly what
> >> the fixup from vlv_fixup_mipi_sequences() fixes up.
> >>
> >> Extend it to also apply to v2 sequences, this fixes the panel not working
> >> on the Acer Iconia One 8 A1-840.
> >
> > Do we have the full VBT for this machine already in some bug? If not,
> > please file a new issue with the VBT attached for posterity.
>
> I've filed: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14605
> with the VBT attached and I'll add a Closes: tag pointing to that
> to the patch while applying it to drm-intel-fixes.
Hi Hans,
Thank you so much for all the work here.
Just one thing here is that in drm-intel and drm-xe branches,
differently from drm-misc ones, we push to the -next variants, and
then the maintainers run cherry-pick rounds to propagate to the -fixes ones.
I have just moved it around with a force-push, pushed to drm-intel-next and
cherry-picked back.
Thank you,
Rodrigo.
>
> Regards,
>
> Hans
>
>
>
> >
> >>
> >> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> >> ---
> >> drivers/gpu/drm/i915/display/intel_bios.c | 8 ++++----
> >> 1 file changed, 4 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> >> index ba7b8938b17c..166ee11831ab 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> >> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> >> @@ -1938,7 +1938,7 @@ static int get_init_otp_deassert_fragment_len(struct intel_display *display,
> >> int index, len;
> >>
> >> if (drm_WARN_ON(display->drm,
> >> - !data || panel->vbt.dsi.seq_version != 1))
> >> + !data || panel->vbt.dsi.seq_version >= 3))
> >> return 0;
> >>
> >> /* index = 1 to skip sequence byte */
> >> @@ -1961,7 +1961,7 @@ static int get_init_otp_deassert_fragment_len(struct intel_display *display,
> >> }
> >>
> >> /*
> >> - * Some v1 VBT MIPI sequences do the deassert in the init OTP sequence.
> >> + * Some v1/v2 VBT MIPI sequences do the deassert in the init OTP sequence.
> >> * The deassert must be done before calling intel_dsi_device_ready, so for
> >> * these devices we split the init OTP sequence into a deassert sequence and
> >> * the actual init OTP part.
> >> @@ -1972,9 +1972,9 @@ static void vlv_fixup_mipi_sequences(struct intel_display *display,
> >> u8 *init_otp;
> >> int len;
> >>
> >> - /* Limit this to v1 vid-mode sequences */
> >> + /* Limit this to v1/v2 vid-mode sequences */
> >> if (panel->vbt.dsi.config->is_cmd_mode ||
> >> - panel->vbt.dsi.seq_version != 1)
> >> + panel->vbt.dsi.seq_version >= 3)
> >> return;
> >>
> >> /* Only do this if there are otp and assert seqs and no deassert seq */
> >> --
> >> 2.49.0
> >
>
next prev parent reply other threads:[~2025-07-10 15:34 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-03 14:38 [PATCH resend] drm/i915/bios: Apply vlv_fixup_mipi_sequences() to v2 mipi-sequences too Hans de Goede
2025-07-03 17:21 ` ✓ i915.CI.BAT: success for drm/i915/bios: Apply vlv_fixup_mipi_sequences() to v2 mipi-sequences too (rev2) Patchwork
2025-07-03 22:27 ` ✓ i915.CI.Full: " Patchwork
2025-07-04 9:26 ` [PATCH resend] drm/i915/bios: Apply vlv_fixup_mipi_sequences() to v2 mipi-sequences too Jani Nikula
2025-07-04 10:31 ` Ville Syrjälä
2025-07-07 21:10 ` Hans de Goede
2025-07-10 15:34 ` Rodrigo Vivi [this message]
2025-07-10 15:47 ` Hans de Goede
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=aG_dlWJO-3YwXeub@intel.com \
--to=rodrigo.vivi@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=hansg@kernel.org \
--cc=hdegoede@redhat.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
--cc=joonas.lahtinen@linux.intel.com \
--cc=tursulin@ursulin.net \
--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.