From: Jani Nikula <jani.nikula@intel.com>
To: "Kandpal, Suraj" <suraj.kandpal@intel.com>,
"Yu, Gareth" <gareth.yu@intel.com>,
"intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>,
"intel-xe@lists.freedesktop.org" <intel-xe@lists.freedesktop.org>
Cc: "Yu, Gareth" <gareth.yu@intel.com>
Subject: RE: [PATCH] drm/i915/display: Send DSI DCS commands with pipeline flush in High Speed
Date: Fri, 09 May 2025 10:22:43 +0300 [thread overview]
Message-ID: <87wmaqmenw.fsf@intel.com> (raw)
In-Reply-To: <SN7PR11MB67504851600CFC833363CB2FE38AA@SN7PR11MB6750.namprd11.prod.outlook.com>
On Fri, 09 May 2025, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote:
>> -----Original Message-----
>> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of
>> gareth.yu@intel.com
>> Sent: Friday, May 9, 2025 7:43 AM
>> To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org
>> Cc: Yu, Gareth <gareth.yu@intel.com>
>> Subject: [PATCH] drm/i915/display: Send DSI DCS commands with pipeline
>> flush in High Speed
>>
>
> Clip the subject make it a little smaller
>
>> From: Gareth Yu <gareth.yu@intel.com>
>>
>> With all of the boundary conditions when streaming the commands B2B in our
>> validation (part of the reason we added the flush), the Flush effectively
>> serializes the transmission of each command enqueued within the command
>> dispatcher to one per V. Blank line which simplifies the behavior of the High
>> Speed Arbitration.
>>
>> So, unless we absolutely have to burst these to the Sink, we should be using
>> the Pipeline Flush bit to serialize the commands.
>
> Do we have a bspec reference and/or dsi spec reference through which we can
> verify the data that needs to be filled out for the dsi packet header.
> Add it here will help make the review smoother and easier
>
>
>>
>> Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14247
>>
>> Cc : Suraj Kandpal <suraj.kandpal@intel.com> Cc : Jani Nikula
>> <jani.nikula@intel.com>
>> Signed-off-by: Gareth Yu <gareth.yu@intel.com>
>> ---
>> drivers/gpu/drm/i915/display/icl_dsi.c | 4 ++--
>> drivers/gpu/drm/i915/display/icl_dsi_regs.h | 1 +
>> 2 files changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c
>> b/drivers/gpu/drm/i915/display/icl_dsi.c
>> index 402b7b2e1829..f91f27067768 100644
>> --- a/drivers/gpu/drm/i915/display/icl_dsi.c
>> +++ b/drivers/gpu/drm/i915/display/icl_dsi.c
>> @@ -191,12 +191,12 @@ static int dsi_send_pkt_hdr(struct intel_dsi_host
>> *host,
>> else
>> tmp &= ~PAYLOAD_PRESENT;
>>
>> - tmp &= ~VBLANK_FENCE;
>> + tmp &= ~(VBLANK_FENCE | LP_DATA_TRANSFER | PIPELINE_FLUSH);
>>
>> if (enable_lpdt)
>> tmp |= LP_DATA_TRANSFER;
>> else
>> - tmp &= ~LP_DATA_TRANSFER;
>> + tmp |= PIPELINE_FLUSH;
>
> Seems a little fishy but cannot be sure till I have the spec and I can verify it
>
>>
>> tmp &= ~(PARAM_WC_MASK | VC_MASK | DT_MASK);
>> tmp |= ((packet->header[0] & VC_MASK) << VC_SHIFT); diff --git
>> a/drivers/gpu/drm/i915/display/icl_dsi_regs.h
>> b/drivers/gpu/drm/i915/display/icl_dsi_regs.h
>> index d4845ac65acc..b601b7632339 100644
>> --- a/drivers/gpu/drm/i915/display/icl_dsi_regs.h
>> +++ b/drivers/gpu/drm/i915/display/icl_dsi_regs.h
>> @@ -272,6 +272,7 @@
>> #define PAYLOAD_PRESENT (1 << 31)
>> #define LP_DATA_TRANSFER (1 << 30)
>> #define VBLANK_FENCE (1 << 29)
>> +#define PIPELINE_FLUSH (1 << 28)
>
> We now follow the REG_BIT(28) macro instead of using (1 << 28) convention
> Would like to see that change too, ill send over a fix to get this to file use REG_BIT instead.
> Or do we leave it as is ? What do you think Jani ?
Fixes first, conversion to REG_BIT() and friends later.
BR,
Jani.
>
> Regards,
> Suraj Kandpal
>
>> #define PARAM_WC_MASK (0xffff << 8)
>> #define PARAM_WC_LOWER_SHIFT 8
>> #define PARAM_WC_UPPER_SHIFT 16
>> --
>> 2.34.1
>
--
Jani Nikula, Intel
next prev parent reply other threads:[~2025-05-09 7:22 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-09 2:13 [PATCH] drm/i915/display: Send DSI DCS commands with pipeline flush in High Speed gareth.yu
2025-05-09 2:19 ` ✓ CI.Patch_applied: success for " Patchwork
2025-05-09 2:19 ` ✗ CI.checkpatch: warning " Patchwork
2025-05-09 2:20 ` ✓ CI.KUnit: success " Patchwork
2025-05-09 2:29 ` ✓ CI.Build: " Patchwork
2025-05-09 2:31 ` ✓ CI.Hooks: " Patchwork
2025-05-09 2:32 ` ✓ CI.checksparse: " Patchwork
2025-05-09 3:06 ` ✗ Fi.CI.CHECKPATCH: warning " Patchwork
2025-05-09 3:15 ` ✓ Xe.CI.BAT: success " Patchwork
2025-05-09 3:28 ` ✓ i915.CI.BAT: " Patchwork
2025-05-09 4:16 ` [PATCH] " Kandpal, Suraj
2025-05-09 4:22 ` Yu, Gareth
2025-05-09 7:22 ` Jani Nikula [this message]
2025-05-09 5:08 ` ✗ i915.CI.Full: failure for " Patchwork
2025-05-09 9:25 ` [PATCH] drm/i915/display: Enforce pipeline flush with DSI HS transfer gareth.yu
2025-05-09 9:51 ` Jani Nikula
2025-05-09 10:34 ` Yu, Gareth
2025-05-16 14:27 ` Jani Nikula
2025-05-09 9:31 ` ✓ CI.Patch_applied: success for drm/i915/display: Send DSI DCS commands with pipeline flush in High Speed (rev2) Patchwork
2025-05-09 9:31 ` ✓ CI.checkpatch: " Patchwork
2025-05-09 9:32 ` ✓ CI.KUnit: " Patchwork
2025-05-09 9:41 ` ✓ CI.Build: " Patchwork
2025-05-09 9:43 ` ✓ CI.Hooks: " Patchwork
2025-05-09 9:45 ` ✓ CI.checksparse: " Patchwork
2025-05-09 10:15 ` ✓ Xe.CI.BAT: " Patchwork
2025-05-09 11:51 ` ✗ i915.CI.BAT: failure " Patchwork
2025-05-09 15:50 ` ✗ Xe.CI.Full: failure for drm/i915/display: Send DSI DCS commands with pipeline flush in High Speed Patchwork
2025-05-09 21:56 ` ✗ Xe.CI.Full: failure for drm/i915/display: Send DSI DCS commands with pipeline flush in High Speed (rev2) Patchwork
2025-05-16 14:27 ` ✓ i915.CI.BAT: success for drm/i915/display: Send DSI DCS commands with pipeline flush in High Speed (rev3) Patchwork
2025-05-16 16:36 ` ✓ i915.CI.Full: " Patchwork
2025-05-26 19:46 ` ✗ CI.Patch_applied: failure for drm/i915/display: Send DSI DCS commands with pipeline flush in High Speed (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=87wmaqmenw.fsf@intel.com \
--to=jani.nikula@intel.com \
--cc=gareth.yu@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=suraj.kandpal@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.