AMD-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: <sunpeng.li@amd.com>
To: <amd-gfx@lists.freedesktop.org>
Cc: dingchen.zhang@amd.com, Leo Li <sunpeng.li@amd.com>,
	roman.li@amd.com, alexander.deucher@amd.com,
	Mikita Lipski <mikita.lipski@amd.com>,
	harry.wentland@amd.com
Subject: [PATCH 3/4] drm/amd/display: pass panel instance in dirty rect message
Date: Thu, 2 Jun 2022 14:03:46 -0400	[thread overview]
Message-ID: <20220602180347.754067-4-sunpeng.li@amd.com> (raw)
In-Reply-To: <20220602180347.754067-1-sunpeng.li@amd.com>

From: David Zhang <dingchen.zhang@amd.com>

[why]
DMUB FW uses OTG instance to get eDP panel instance. But in case
of MPO multiple pipe indexes are passed to updated the same panel.
The other OTG instance passed would be ignored causing in DMUB not
acknowledging the messages.

[how]
Add panel instance to dirty rectangle data and cursor update data
structures and pass to DMUB.

Signed-off-by: Mikita Lipski <mikita.lipski@amd.com>
Acked-by: Leo Li <sunpeng.li@amd.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
index d4173be11903..31d83297bcb5 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -2837,10 +2837,14 @@ void dc_dmub_update_dirty_rect(struct dc *dc,
 	struct dc_context *dc_ctx = dc->ctx;
 	struct dmub_cmd_update_dirty_rect_data *update_dirty_rect;
 	unsigned int i, j;
+	unsigned int panel_inst = 0;
 
 	if (stream->link->psr_settings.psr_version != DC_PSR_VERSION_SU_1)
 		return;
 
+	if (!dc_get_edp_link_panel_inst(dc, stream->link, &panel_inst))
+		return;
+
 	memset(&cmd, 0x0, sizeof(cmd));
 	cmd.update_dirty_rect.header.type = DMUB_CMD__UPDATE_DIRTY_RECT;
 	cmd.update_dirty_rect.header.sub_type = 0;
@@ -2869,6 +2873,7 @@ void dc_dmub_update_dirty_rect(struct dc *dc,
 			if (pipe_ctx->plane_state != plane_state)
 				continue;
 
+			update_dirty_rect->panel_inst = panel_inst;
 			update_dirty_rect->pipe_idx = j;
 			dc_dmub_srv_cmd_queue(dc_ctx->dmub_srv, &cmd);
 			dc_dmub_srv_cmd_execute(dc_ctx->dmub_srv);
-- 
2.36.1


  parent reply	other threads:[~2022-06-02 19:31 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-02 18:03 [PATCH 0/4] PSR-SU-RC DC support and some PSR-SU fixes sunpeng.li
2022-06-02 18:03 ` [PATCH 1/4] drm/amd/display: expose AMD specific DPCD for PSR-SU-RC support sunpeng.li
2022-06-02 18:03 ` [PATCH 2/4] drm/amd/display: Add PSR-SU-RC support in DC sunpeng.li
2022-06-02 18:03 ` sunpeng.li [this message]
2022-06-02 20:48   ` [PATCH 3/4] drm/amd/display: pass panel instance in dirty rect message Harry Wentland
2022-06-03 15:08     ` Leo
2022-06-03 16:32   ` [PATCH v2 3/4] drm/amd/display: pass panel instance in DMUB dirty rect command sunpeng.li
2022-06-03 17:29     ` Harry Wentland
2022-06-02 18:03 ` [PATCH 4/4] drm/amd/display: refactor dirty rect dmub command decision sunpeng.li
2022-06-02 20:50 ` [PATCH 0/4] PSR-SU-RC DC support and some PSR-SU fixes Harry Wentland

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=20220602180347.754067-4-sunpeng.li@amd.com \
    --to=sunpeng.li@amd.com \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=dingchen.zhang@amd.com \
    --cc=harry.wentland@amd.com \
    --cc=mikita.lipski@amd.com \
    --cc=roman.li@amd.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