From: Nicholas Kazlauskas <[email protected]>

[Why]
Newer DCN use the DMCUB HW lock via inbox0 for performance reasons while
older ones will use inbox1.

The should_use_dmub_lock() function does not describe whether the lock
in general should be used, but whether it should be used via inbox1.

[How]
Rename the function to should_use_dmub_inbox1_lock() to reflect this.

Reviewed-by: Alvin Lee <[email protected]>
Signed-off-by: Nicholas Kazlauskas <[email protected]>
Signed-off-by: Roman Li <[email protected]>
---
 drivers/gpu/drm/amd/display/dc/core/dc.c               |  4 ++--
 drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c  |  2 +-
 drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.h  | 10 +++++++++-
 .../gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c    |  2 +-
 .../gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c    |  2 +-
 .../drm/amd/display/dc/link/accessories/link_dp_cts.c  |  4 ++--
 6 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c 
b/drivers/gpu/drm/amd/display/dc/core/dc.c
index 3f5ec076da1c..be885801a9ed 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -4149,7 +4149,7 @@ static void commit_planes_for_stream(struct dc *dc,
        if ((update_type != UPDATE_TYPE_FAST) && 
stream->update_flags.bits.dsc_changed)
                if (top_pipe_to_program &&
                        
top_pipe_to_program->stream_res.tg->funcs->lock_doublebuffer_enable) {
-                       if (should_use_dmub_lock(dc, stream->link)) {
+                       if (should_use_dmub_inbox1_lock(dc, stream->link)) {
                                union dmub_hw_lock_flags hw_locks = { 0 };
                                struct dmub_hw_lock_inst_flags inst_flags = { 0 
};
 
@@ -4419,7 +4419,7 @@ static void commit_planes_for_stream(struct dc *dc,
                                top_pipe_to_program->stream_res.tg,
                                CRTC_STATE_VACTIVE);
 
-                       if (should_use_dmub_lock(dc, stream->link)) {
+                       if (should_use_dmub_inbox1_lock(dc, stream->link)) {
                                union dmub_hw_lock_flags hw_locks = { 0 };
                                struct dmub_hw_lock_inst_flags inst_flags = { 0 
};
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c 
b/drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c
index 17c30c5b1679..39f5fa73c43e 100644
--- a/drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c
+++ b/drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c
@@ -61,7 +61,7 @@ void dmub_hw_lock_mgr_inbox0_cmd(struct dc_dmub_srv *dmub_srv,
        dc_dmub_srv_wait_for_inbox0_ack(dmub_srv);
 }
 
-bool should_use_dmub_lock(const struct dc *dc, const struct dc_link *link)
+bool should_use_dmub_inbox1_lock(const struct dc *dc, const struct dc_link 
*link)
 {
        /* ASIC doesn't support DMUB */
        if (!dc->ctx->dmub_srv)
diff --git a/drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.h 
b/drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.h
index 6e8863877686..9f53d2ea5fa5 100644
--- a/drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.h
+++ b/drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.h
@@ -37,6 +37,14 @@ void dmub_hw_lock_mgr_cmd(struct dc_dmub_srv *dmub_srv,
 void dmub_hw_lock_mgr_inbox0_cmd(struct dc_dmub_srv *dmub_srv,
                union dmub_inbox0_cmd_lock_hw hw_lock_cmd);
 
-bool should_use_dmub_lock(const struct dc *dc, const struct dc_link *link);
+/**
+ * should_use_dmub_inbox1_lock() - Checks if the DMCUB hardware lock via 
inbox1 should be used.
+ *
+ * @dc: pointer to DC object
+ * @link: optional pointer to the link object to check for enabled link 
features
+ *
+ * Return: true if the inbox1 lock should be used, false otherwise
+ */
+bool should_use_dmub_inbox1_lock(const struct dc *dc, const struct dc_link 
*link);
 
 #endif /*_DMUB_HW_LOCK_MGR_H_ */
diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c 
b/drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
index cb915abac15a..c88781de6d18 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
@@ -2245,7 +2245,7 @@ void dcn10_cursor_lock(struct dc *dc, struct pipe_ctx 
*pipe, bool lock)
        if (lock)
                delay_cursor_until_vupdate(dc, pipe);
 
-       if (pipe->stream && should_use_dmub_lock(dc, pipe->stream->link)) {
+       if (pipe->stream && should_use_dmub_inbox1_lock(dc, 
pipe->stream->link)) {
                union dmub_hw_lock_flags hw_locks = { 0 };
                struct dmub_hw_lock_inst_flags inst_flags = { 0 };
 
diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c 
b/drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
index 57343b08a3f0..27a23ce45ec6 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
@@ -1449,7 +1449,7 @@ void dcn20_pipe_control_lock(
                !flip_immediate)
            dcn20_setup_gsl_group_as_lock(dc, pipe, false);
 
-       if (pipe->stream && should_use_dmub_lock(dc, pipe->stream->link)) {
+       if (pipe->stream && should_use_dmub_inbox1_lock(dc, 
pipe->stream->link)) {
                union dmub_hw_lock_flags hw_locks = { 0 };
                struct dmub_hw_lock_inst_flags inst_flags = { 0 };
 
diff --git a/drivers/gpu/drm/amd/display/dc/link/accessories/link_dp_cts.c 
b/drivers/gpu/drm/amd/display/dc/link/accessories/link_dp_cts.c
index 3c8eb1510226..1593412354cf 100644
--- a/drivers/gpu/drm/amd/display/dc/link/accessories/link_dp_cts.c
+++ b/drivers/gpu/drm/amd/display/dc/link/accessories/link_dp_cts.c
@@ -876,7 +876,7 @@ bool dp_set_test_pattern(
                        return false;
 
                if (pipe_ctx->stream_res.tg->funcs->lock_doublebuffer_enable) {
-                       if (should_use_dmub_lock(pipe_ctx->stream->link->dc, 
pipe_ctx->stream->link)) {
+                       if 
(should_use_dmub_inbox1_lock(pipe_ctx->stream->link->dc, 
pipe_ctx->stream->link)) {
                                union dmub_hw_lock_flags hw_locks = { 0 };
                                struct dmub_hw_lock_inst_flags inst_flags = { 0 
};
 
@@ -924,7 +924,7 @@ bool dp_set_test_pattern(
                                CRTC_STATE_VACTIVE);
 
                if (pipe_ctx->stream_res.tg->funcs->lock_doublebuffer_disable) {
-                       if (should_use_dmub_lock(pipe_ctx->stream->link->dc, 
pipe_ctx->stream->link)) {
+                       if 
(should_use_dmub_inbox1_lock(pipe_ctx->stream->link->dc, 
pipe_ctx->stream->link)) {
                                union dmub_hw_lock_flags hw_locks = { 0 };
                                struct dmub_hw_lock_inst_flags inst_flags = { 0 
};
 
-- 
2.34.1

Reply via email to