All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Aric Cyr <aric.cyr@amd.com>,
	Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>,
	Aurabindo Pillai <aurabindo.pillai@amd.com>,
	Alex Deucher <alexander.deucher@amd.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.6 128/177] drm/amd/display: Use cursor locking to prevent flip delays
Date: Mon,  1 Jun 2020 19:54:26 +0200	[thread overview]
Message-ID: <20200601174059.219244252@linuxfoundation.org> (raw)
In-Reply-To: <20200601174048.468952319@linuxfoundation.org>

From: Aric Cyr <aric.cyr@amd.com>

[ Upstream commit b2a7b0ce0773bfa4406bc0a78e41979532a1edd7 ]

[Why]
Current locking scheme for cursor can result in a flip missing
its vsync, deferring it for one or more vsyncs.  Result is a
potential for stuttering when cursor is moved.

[How]
Use cursor update lock so that flips are not blocked while cursor
is being programmed.

Signed-off-by: Aric Cyr <aric.cyr@amd.com>
Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Acked-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 .../gpu/drm/amd/display/dc/core/dc_stream.c   | 40 ++-----------------
 .../display/dc/dce110/dce110_hw_sequencer.c   |  1 +
 .../amd/display/dc/dcn10/dcn10_hw_sequencer.c | 10 +++++
 .../amd/display/dc/dcn10/dcn10_hw_sequencer.h |  1 +
 .../gpu/drm/amd/display/dc/dcn10/dcn10_init.c |  1 +
 .../gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c  | 15 +++++++
 .../gpu/drm/amd/display/dc/dcn10/dcn10_mpc.h  | 20 +++++++---
 .../drm/amd/display/dc/dcn10/dcn10_resource.c | 14 ++++++-
 .../gpu/drm/amd/display/dc/dcn20/dcn20_init.c |  1 +
 .../gpu/drm/amd/display/dc/dcn20/dcn20_mpc.c  |  1 +
 .../gpu/drm/amd/display/dc/dcn20/dcn20_mpc.h  |  3 +-
 .../drm/amd/display/dc/dcn20/dcn20_resource.c |  4 ++
 .../gpu/drm/amd/display/dc/dcn21/dcn21_init.c |  1 +
 .../drm/amd/display/dc/dcn21/dcn21_resource.c |  4 ++
 drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h   | 16 ++++++++
 .../gpu/drm/amd/display/dc/inc/hw_sequencer.h |  1 +
 16 files changed, 88 insertions(+), 45 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
index 8c20e9e907b2..4f0e7203dba4 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
@@ -231,34 +231,6 @@ struct dc_stream_status *dc_stream_get_status(
 	return dc_stream_get_status_from_state(dc->current_state, stream);
 }
 
-static void delay_cursor_until_vupdate(struct pipe_ctx *pipe_ctx, struct dc *dc)
-{
-#if defined(CONFIG_DRM_AMD_DC_DCN)
-	unsigned int vupdate_line;
-	unsigned int lines_to_vupdate, us_to_vupdate, vpos, nvpos;
-	struct dc_stream_state *stream = pipe_ctx->stream;
-	unsigned int us_per_line;
-
-	if (!dc->hwss.get_vupdate_offset_from_vsync)
-		return;
-
-	vupdate_line = dc->hwss.get_vupdate_offset_from_vsync(pipe_ctx);
-	if (!dc_stream_get_crtc_position(dc, &stream, 1, &vpos, &nvpos))
-		return;
-
-	if (vpos >= vupdate_line)
-		return;
-
-	us_per_line =
-		stream->timing.h_total * 10000 / stream->timing.pix_clk_100hz;
-	lines_to_vupdate = vupdate_line - vpos;
-	us_to_vupdate = lines_to_vupdate * us_per_line;
-
-	/* 70 us is a conservative estimate of cursor update time*/
-	if (us_to_vupdate < 70)
-		udelay(us_to_vupdate);
-#endif
-}
 
 /**
  * dc_stream_set_cursor_attributes() - Update cursor attributes and set cursor surface address
@@ -298,9 +270,7 @@ bool dc_stream_set_cursor_attributes(
 
 		if (!pipe_to_program) {
 			pipe_to_program = pipe_ctx;
-
-			delay_cursor_until_vupdate(pipe_ctx, dc);
-			dc->hwss.pipe_control_lock(dc, pipe_to_program, true);
+			dc->hwss.cursor_lock(dc, pipe_to_program, true);
 		}
 
 		dc->hwss.set_cursor_attribute(pipe_ctx);
@@ -309,7 +279,7 @@ bool dc_stream_set_cursor_attributes(
 	}
 
 	if (pipe_to_program)
-		dc->hwss.pipe_control_lock(dc, pipe_to_program, false);
+		dc->hwss.cursor_lock(dc, pipe_to_program, false);
 
 	return true;
 }
@@ -349,16 +319,14 @@ bool dc_stream_set_cursor_position(
 
 		if (!pipe_to_program) {
 			pipe_to_program = pipe_ctx;
-
-			delay_cursor_until_vupdate(pipe_ctx, dc);
-			dc->hwss.pipe_control_lock(dc, pipe_to_program, true);
+			dc->hwss.cursor_lock(dc, pipe_to_program, true);
 		}
 
 		dc->hwss.set_cursor_position(pipe_ctx);
 	}
 
 	if (pipe_to_program)
-		dc->hwss.pipe_control_lock(dc, pipe_to_program, false);
+		dc->hwss.cursor_lock(dc, pipe_to_program, false);
 
 	return true;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
index 56d4ec7bdad7..454a123b92fc 100644
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
@@ -2723,6 +2723,7 @@ static const struct hw_sequencer_funcs dce110_funcs = {
 	.disable_plane = dce110_power_down_fe,
 	.pipe_control_lock = dce_pipe_control_lock,
 	.interdependent_update_lock = NULL,
+	.cursor_lock = dce_pipe_control_lock,
 	.prepare_bandwidth = dce110_prepare_bandwidth,
 	.optimize_bandwidth = dce110_optimize_bandwidth,
 	.set_drr = set_drr,
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
index 7fc559acffcd..97a820b90541 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
@@ -1592,6 +1592,16 @@ void dcn10_pipe_control_lock(
 		hws->funcs.verify_allow_pstate_change_high(dc);
 }
 
+void dcn10_cursor_lock(struct dc *dc, struct pipe_ctx *pipe, bool lock)
+{
+	/* cursor lock is per MPCC tree, so only need to lock one pipe per stream */
+	if (!pipe || pipe->top_pipe)
+		return;
+
+	dc->res_pool->mpc->funcs->cursor_lock(dc->res_pool->mpc,
+			pipe->stream_res.opp->inst, lock);
+}
+
 static bool wait_for_reset_trigger_to_occur(
 	struct dc_context *dc_ctx,
 	struct timing_generator *tg)
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h
index 16a50e05ffbf..af51424315d5 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h
@@ -49,6 +49,7 @@ void dcn10_pipe_control_lock(
 	struct dc *dc,
 	struct pipe_ctx *pipe,
 	bool lock);
+void dcn10_cursor_lock(struct dc *dc, struct pipe_ctx *pipe, bool lock);
 void dcn10_blank_pixel_data(
 		struct dc *dc,
 		struct pipe_ctx *pipe_ctx,
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_init.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_init.c
index b88ef9703b2b..4a8e4b797bea 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_init.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_init.c
@@ -50,6 +50,7 @@ static const struct hw_sequencer_funcs dcn10_funcs = {
 	.disable_audio_stream = dce110_disable_audio_stream,
 	.disable_plane = dcn10_disable_plane,
 	.pipe_control_lock = dcn10_pipe_control_lock,
+	.cursor_lock = dcn10_cursor_lock,
 	.interdependent_update_lock = dcn10_lock_all_pipes,
 	.prepare_bandwidth = dcn10_prepare_bandwidth,
 	.optimize_bandwidth = dcn10_optimize_bandwidth,
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c
index 04f863499cfb..3fcd408e9103 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c
@@ -223,6 +223,9 @@ struct mpcc *mpc1_insert_plane(
 	REG_SET(MPCC_TOP_SEL[mpcc_id], 0, MPCC_TOP_SEL, dpp_id);
 	REG_SET(MPCC_OPP_ID[mpcc_id], 0, MPCC_OPP_ID, tree->opp_id);
 
+	/* Configure VUPDATE lock set for this MPCC to map to the OPP */
+	REG_SET(MPCC_UPDATE_LOCK_SEL[mpcc_id], 0, MPCC_UPDATE_LOCK_SEL, tree->opp_id);
+
 	/* update mpc tree mux setting */
 	if (tree->opp_list == insert_above_mpcc) {
 		/* insert the toppest mpcc */
@@ -318,6 +321,7 @@ void mpc1_remove_mpcc(
 		REG_SET(MPCC_TOP_SEL[mpcc_id], 0, MPCC_TOP_SEL, 0xf);
 		REG_SET(MPCC_BOT_SEL[mpcc_id], 0, MPCC_BOT_SEL, 0xf);
 		REG_SET(MPCC_OPP_ID[mpcc_id],  0, MPCC_OPP_ID,  0xf);
+		REG_SET(MPCC_UPDATE_LOCK_SEL[mpcc_id], 0, MPCC_UPDATE_LOCK_SEL, 0xf);
 
 		/* mark this mpcc as not in use */
 		mpc10->mpcc_in_use_mask &= ~(1 << mpcc_id);
@@ -328,6 +332,7 @@ void mpc1_remove_mpcc(
 		REG_SET(MPCC_TOP_SEL[mpcc_id], 0, MPCC_TOP_SEL, 0xf);
 		REG_SET(MPCC_BOT_SEL[mpcc_id], 0, MPCC_BOT_SEL, 0xf);
 		REG_SET(MPCC_OPP_ID[mpcc_id],  0, MPCC_OPP_ID,  0xf);
+		REG_SET(MPCC_UPDATE_LOCK_SEL[mpcc_id], 0, MPCC_UPDATE_LOCK_SEL, 0xf);
 	}
 }
 
@@ -361,6 +366,7 @@ void mpc1_mpc_init(struct mpc *mpc)
 		REG_SET(MPCC_TOP_SEL[mpcc_id], 0, MPCC_TOP_SEL, 0xf);
 		REG_SET(MPCC_BOT_SEL[mpcc_id], 0, MPCC_BOT_SEL, 0xf);
 		REG_SET(MPCC_OPP_ID[mpcc_id],  0, MPCC_OPP_ID,  0xf);
+		REG_SET(MPCC_UPDATE_LOCK_SEL[mpcc_id], 0, MPCC_UPDATE_LOCK_SEL, 0xf);
 
 		mpc1_init_mpcc(&(mpc->mpcc_array[mpcc_id]), mpcc_id);
 	}
@@ -381,6 +387,7 @@ void mpc1_mpc_init_single_inst(struct mpc *mpc, unsigned int mpcc_id)
 	REG_SET(MPCC_TOP_SEL[mpcc_id], 0, MPCC_TOP_SEL, 0xf);
 	REG_SET(MPCC_BOT_SEL[mpcc_id], 0, MPCC_BOT_SEL, 0xf);
 	REG_SET(MPCC_OPP_ID[mpcc_id],  0, MPCC_OPP_ID,  0xf);
+	REG_SET(MPCC_UPDATE_LOCK_SEL[mpcc_id], 0, MPCC_UPDATE_LOCK_SEL, 0xf);
 
 	mpc1_init_mpcc(&(mpc->mpcc_array[mpcc_id]), mpcc_id);
 
@@ -453,6 +460,13 @@ void mpc1_read_mpcc_state(
 			MPCC_BUSY, &s->busy);
 }
 
+void mpc1_cursor_lock(struct mpc *mpc, int opp_id, bool lock)
+{
+	struct dcn10_mpc *mpc10 = TO_DCN10_MPC(mpc);
+
+	REG_SET(CUR[opp_id], 0, CUR_VUPDATE_LOCK_SET, lock ? 1 : 0);
+}
+
 static const struct mpc_funcs dcn10_mpc_funcs = {
 	.read_mpcc_state = mpc1_read_mpcc_state,
 	.insert_plane = mpc1_insert_plane,
@@ -464,6 +478,7 @@ static const struct mpc_funcs dcn10_mpc_funcs = {
 	.assert_mpcc_idle_before_connect = mpc1_assert_mpcc_idle_before_connect,
 	.init_mpcc_list_from_hw = mpc1_init_mpcc_list_from_hw,
 	.update_blending = mpc1_update_blending,
+	.cursor_lock = mpc1_cursor_lock,
 	.set_denorm = NULL,
 	.set_denorm_clamp = NULL,
 	.set_output_csc = NULL,
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.h b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.h
index 962a68e322ee..66a4719c22a0 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.h
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.h
@@ -39,11 +39,12 @@
 	SRII(MPCC_BG_G_Y, MPCC, inst),\
 	SRII(MPCC_BG_R_CR, MPCC, inst),\
 	SRII(MPCC_BG_B_CB, MPCC, inst),\
-	SRII(MPCC_BG_B_CB, MPCC, inst),\
-	SRII(MPCC_SM_CONTROL, MPCC, inst)
+	SRII(MPCC_SM_CONTROL, MPCC, inst),\
+	SRII(MPCC_UPDATE_LOCK_SEL, MPCC, inst)
 
 #define MPC_OUT_MUX_COMMON_REG_LIST_DCN1_0(inst) \
-	SRII(MUX, MPC_OUT, inst)
+	SRII(MUX, MPC_OUT, inst),\
+	VUPDATE_SRII(CUR, VUPDATE_LOCK_SET, inst)
 
 #define MPC_COMMON_REG_VARIABLE_LIST \
 	uint32_t MPCC_TOP_SEL[MAX_MPCC]; \
@@ -55,7 +56,9 @@
 	uint32_t MPCC_BG_R_CR[MAX_MPCC]; \
 	uint32_t MPCC_BG_B_CB[MAX_MPCC]; \
 	uint32_t MPCC_SM_CONTROL[MAX_MPCC]; \
-	uint32_t MUX[MAX_OPP];
+	uint32_t MUX[MAX_OPP]; \
+	uint32_t MPCC_UPDATE_LOCK_SEL[MAX_MPCC]; \
+	uint32_t CUR[MAX_OPP];
 
 #define MPC_COMMON_MASK_SH_LIST_DCN1_0(mask_sh)\
 	SF(MPCC0_MPCC_TOP_SEL, MPCC_TOP_SEL, mask_sh),\
@@ -78,7 +81,8 @@
 	SF(MPCC0_MPCC_SM_CONTROL, MPCC_SM_FIELD_ALT, mask_sh),\
 	SF(MPCC0_MPCC_SM_CONTROL, MPCC_SM_FORCE_NEXT_FRAME_POL, mask_sh),\
 	SF(MPCC0_MPCC_SM_CONTROL, MPCC_SM_FORCE_NEXT_TOP_POL, mask_sh),\
-	SF(MPC_OUT0_MUX, MPC_OUT_MUX, mask_sh)
+	SF(MPC_OUT0_MUX, MPC_OUT_MUX, mask_sh),\
+	SF(MPCC0_MPCC_UPDATE_LOCK_SEL, MPCC_UPDATE_LOCK_SEL, mask_sh)
 
 #define MPC_REG_FIELD_LIST(type) \
 	type MPCC_TOP_SEL;\
@@ -101,7 +105,9 @@
 	type MPCC_SM_FIELD_ALT;\
 	type MPCC_SM_FORCE_NEXT_FRAME_POL;\
 	type MPCC_SM_FORCE_NEXT_TOP_POL;\
-	type MPC_OUT_MUX;
+	type MPC_OUT_MUX;\
+	type MPCC_UPDATE_LOCK_SEL;\
+	type CUR_VUPDATE_LOCK_SET;
 
 struct dcn_mpc_registers {
 	MPC_COMMON_REG_VARIABLE_LIST
@@ -192,4 +198,6 @@ void mpc1_read_mpcc_state(
 		int mpcc_inst,
 		struct mpcc_state *s);
 
+void mpc1_cursor_lock(struct mpc *mpc, int opp_id, bool lock);
+
 #endif
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
index 3b71898e859e..e3c4c06ac191 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
@@ -181,6 +181,14 @@ enum dcn10_clk_src_array_id {
 	.reg_name[id] = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
 					mm ## block ## id ## _ ## reg_name
 
+#define VUPDATE_SRII(reg_name, block, id)\
+	.reg_name[id] = BASE(mm ## reg_name ## 0 ## _ ## block ## id ## _BASE_IDX) + \
+					mm ## reg_name ## 0 ## _ ## block ## id
+
+/* set field/register/bitfield name */
+#define SFRB(field_name, reg_name, bitfield, post_fix)\
+	.field_name = reg_name ## __ ## bitfield ## post_fix
+
 /* NBIO */
 #define NBIO_BASE_INNER(seg) \
 	NBIF_BASE__INST0_SEG ## seg
@@ -419,11 +427,13 @@ static const struct dcn_mpc_registers mpc_regs = {
 };
 
 static const struct dcn_mpc_shift mpc_shift = {
-	MPC_COMMON_MASK_SH_LIST_DCN1_0(__SHIFT)
+	MPC_COMMON_MASK_SH_LIST_DCN1_0(__SHIFT),\
+	SFRB(CUR_VUPDATE_LOCK_SET, CUR0_VUPDATE_LOCK_SET0, CUR0_VUPDATE_LOCK_SET, __SHIFT)
 };
 
 static const struct dcn_mpc_mask mpc_mask = {
-	MPC_COMMON_MASK_SH_LIST_DCN1_0(_MASK),
+	MPC_COMMON_MASK_SH_LIST_DCN1_0(_MASK),\
+	SFRB(CUR_VUPDATE_LOCK_SET, CUR0_VUPDATE_LOCK_SET0, CUR0_VUPDATE_LOCK_SET, _MASK)
 };
 
 #define tg_regs(id)\
diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_init.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_init.c
index 1642bf546ceb..0cae0c2f84c4 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_init.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_init.c
@@ -52,6 +52,7 @@ static const struct hw_sequencer_funcs dcn20_funcs = {
 	.disable_plane = dcn20_disable_plane,
 	.pipe_control_lock = dcn20_pipe_control_lock,
 	.interdependent_update_lock = dcn10_lock_all_pipes,
+	.cursor_lock = dcn10_cursor_lock,
 	.prepare_bandwidth = dcn20_prepare_bandwidth,
 	.optimize_bandwidth = dcn20_optimize_bandwidth,
 	.update_bandwidth = dcn20_update_bandwidth,
diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.c
index de9c857ab3e9..570dfd9a243f 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.c
@@ -545,6 +545,7 @@ const struct mpc_funcs dcn20_mpc_funcs = {
 	.mpc_init = mpc1_mpc_init,
 	.mpc_init_single_inst = mpc1_mpc_init_single_inst,
 	.update_blending = mpc2_update_blending,
+	.cursor_lock = mpc1_cursor_lock,
 	.get_mpcc_for_dpp = mpc2_get_mpcc_for_dpp,
 	.wait_for_idle = mpc2_assert_idle_mpcc,
 	.assert_mpcc_idle_before_connect = mpc2_assert_mpcc_idle_before_connect,
diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.h b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.h
index c78fd5123497..496658f420db 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.h
+++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.h
@@ -179,7 +179,8 @@
 	SF(MPC_OUT0_DENORM_CLAMP_G_Y, MPC_OUT_DENORM_CLAMP_MAX_G_Y, mask_sh),\
 	SF(MPC_OUT0_DENORM_CLAMP_G_Y, MPC_OUT_DENORM_CLAMP_MIN_G_Y, mask_sh),\
 	SF(MPC_OUT0_DENORM_CLAMP_B_CB, MPC_OUT_DENORM_CLAMP_MAX_B_CB, mask_sh),\
-	SF(MPC_OUT0_DENORM_CLAMP_B_CB, MPC_OUT_DENORM_CLAMP_MIN_B_CB, mask_sh)
+	SF(MPC_OUT0_DENORM_CLAMP_B_CB, MPC_OUT_DENORM_CLAMP_MIN_B_CB, mask_sh),\
+	SF(CUR_VUPDATE_LOCK_SET0, CUR_VUPDATE_LOCK_SET, mask_sh)
 
 /*
  *	DCN2 MPC_OCSC debug status register:
diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
index 1b0bca9587d0..1ba47f3a6857 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
@@ -506,6 +506,10 @@ enum dcn20_clk_src_array_id {
 	.block ## _ ## reg_name[id] = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
 					mm ## block ## id ## _ ## reg_name
 
+#define VUPDATE_SRII(reg_name, block, id)\
+	.reg_name[id] = BASE(mm ## reg_name ## _ ## block ## id ## _BASE_IDX) + \
+					mm ## reg_name ## _ ## block ## id
+
 /* NBIO */
 #define NBIO_BASE_INNER(seg) \
 	NBIO_BASE__INST0_SEG ## seg
diff --git a/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_init.c b/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_init.c
index 8b91445389df..8fe8ec7c0882 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_init.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_init.c
@@ -53,6 +53,7 @@ static const struct hw_sequencer_funcs dcn21_funcs = {
 	.disable_plane = dcn20_disable_plane,
 	.pipe_control_lock = dcn20_pipe_control_lock,
 	.interdependent_update_lock = dcn10_lock_all_pipes,
+	.cursor_lock = dcn10_cursor_lock,
 	.prepare_bandwidth = dcn20_prepare_bandwidth,
 	.optimize_bandwidth = dcn20_optimize_bandwidth,
 	.update_bandwidth = dcn20_update_bandwidth,
diff --git a/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c b/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c
index 122d3e734c59..5286cc7d1261 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c
@@ -306,6 +306,10 @@ struct _vcs_dpi_soc_bounding_box_st dcn2_1_soc = {
 	.block ## _ ## reg_name[id] = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
 					mm ## block ## id ## _ ## reg_name
 
+#define VUPDATE_SRII(reg_name, block, id)\
+	.reg_name[id] = BASE(mm ## reg_name ## _ ## block ## id ## _BASE_IDX) + \
+					mm ## reg_name ## _ ## block ## id
+
 /* NBIO */
 #define NBIO_BASE_INNER(seg) \
 	NBIF0_BASE__INST0_SEG ## seg
diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h b/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
index 094afc4c8173..50ee8aa7ec3b 100644
--- a/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
+++ b/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
@@ -210,6 +210,22 @@ struct mpc_funcs {
 		struct mpcc_blnd_cfg *blnd_cfg,
 		int mpcc_id);
 
+	/*
+	 * Lock cursor updates for the specified OPP.
+	 * OPP defines the set of MPCC that are locked together for cursor.
+	 *
+	 * Parameters:
+	 * [in] 	mpc		- MPC context.
+	 * [in]     opp_id	- The OPP to lock cursor updates on
+	 * [in]		lock	- lock/unlock the OPP
+	 *
+	 * Return:  void
+	 */
+	void (*cursor_lock)(
+			struct mpc *mpc,
+			int opp_id,
+			bool lock);
+
 	struct mpcc* (*get_mpcc_for_dpp)(
 			struct mpc_tree *tree,
 			int dpp_id);
diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h b/drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h
index d4c1fb242c63..e57467d99d66 100644
--- a/drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h
+++ b/drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h
@@ -86,6 +86,7 @@ struct hw_sequencer_funcs {
 			struct dc_state *context, bool lock);
 	void (*set_flip_control_gsl)(struct pipe_ctx *pipe_ctx,
 			bool flip_immediate);
+	void (*cursor_lock)(struct dc *dc, struct pipe_ctx *pipe, bool lock);
 
 	/* Timing Related */
 	void (*get_position)(struct pipe_ctx **pipe_ctx, int num_pipes,
-- 
2.25.1




  parent reply	other threads:[~2020-06-01 18:16 UTC|newest]

Thread overview: 179+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-01 17:52 [PATCH 5.6 000/177] 5.6.16-rc1 review Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 001/177] ax25: fix setsockopt(SO_BINDTODEVICE) Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 002/177] dpaa_eth: fix usage as DSA master, try 3 Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 003/177] ethtool: count header size in reply size estimate Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 004/177] felix: Fix initialization of ioremap resources Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 005/177] net: dont return invalid table id error when we fall back to PF_UNSPEC Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 006/177] net: dsa: mt7530: fix roaming from DSA user ports Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 007/177] net: ethernet: ti: cpsw: fix ASSERT_RTNL() warning during suspend Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 008/177] __netif_receive_skb_core: pass skb by reference Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 009/177] net: inet_csk: Fix so_reuseport bind-address cache in tb->fast* Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 010/177] net: ipip: fix wrong address family in init error path Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 011/177] net/mlx5: Add command entry handling completion Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 012/177] net: mvpp2: fix RX hashing for non-10G ports Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 013/177] net: nlmsg_cancel() if put fails for nhmsg Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 014/177] net: qrtr: Fix passing invalid reference to qrtr_local_enqueue() Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 015/177] net: revert "net: get rid of an signed integer overflow in ip_idents_reserve()" Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 016/177] net sched: fix reporting the first-time use timestamp Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 017/177] net/tls: fix race condition causing kernel panic Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 018/177] nexthop: Fix attribute checking for groups Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 019/177] r8152: support additional Microsoft Surface Ethernet Adapter variant Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 020/177] sctp: Dont add the shutdown timer if its already been added Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 021/177] sctp: Start shutdown on association restart if in SHUTDOWN-SENT state and socket is closed Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 022/177] tipc: block BH before using dst_cache Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 023/177] net/mlx5e: kTLS, Destroy key object after destroying the TIS Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 024/177] net/mlx5e: Fix inner tirs handling Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 025/177] net/mlx5: Fix memory leak in mlx5_events_init Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 026/177] net/mlx5e: Update netdev txq on completions during closure Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 027/177] net/mlx5: Fix error flow in case of function_setup failure Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 028/177] wireguard: noise: read preshared key while taking lock Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 029/177] wireguard: queueing: preserve flow hash across packet scrubbing Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 030/177] wireguard: noise: separate receive counter from send counter Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 031/177] r8169: fix OCP access on RTL8117 Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 032/177] net/mlx5: Fix a race when moving command interface to events mode Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 033/177] net/mlx5: Fix cleaning unmanaged flow tables Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 034/177] Revert "virtio-balloon: Revert "virtio-balloon: Switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM"" Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 035/177] net/mlx5: Avoid processing commands before cmdif is ready Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 036/177] net/mlx5: Annotate mutex destroy for root ns Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 037/177] net/tls: fix encryption error checking Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 038/177] net/tls: free record only on encryption error Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 039/177] net: sun: fix missing release regions in cas_init_one() Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 040/177] net/mlx4_core: fix a memory leak bug Greg Kroah-Hartman
2020-06-01 17:52 ` [PATCH 5.6 041/177] net: sgi: ioc3-eth: Fix return value check in ioc3eth_probe() Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 042/177] mlxsw: spectrum: Fix use-after-free of split/unsplit/type_set in case reload fails Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 043/177] net: mscc: ocelot: fix address ageing time (again) Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 044/177] arm64: dts: qcom: db820c: fix audio configuration Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 045/177] ARM: dts: rockchip: fix phy nodename for rk3228-evb Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 046/177] ARM: dts: rockchip: fix phy nodename for rk3229-xms6 Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 047/177] arm64: dts: rockchip: fix status for &gmac2phy in rk3328-evb.dts Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 048/177] arm64: dts: rockchip: swap interrupts interrupt-names rk3399 gpu node Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 049/177] ARM: dts: rockchip: swap clock-names of gpu nodes Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 050/177] ARM: dts: rockchip: fix pinctrl sub nodename for spi in rk322x.dtsi Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 051/177] gpio: tegra: mask GPIO IRQs during IRQ shutdown Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 052/177] ALSA: usb-audio: add mapping for ASRock TRX40 Creator Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 053/177] ARM: dts: omap4-droid4: Fix flakey wlan by disabling internal pull for gpio Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 054/177] ARM: dts: omap4-droid4: Fix occasional lost wakeirq for uart1 Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 055/177] net: microchip: encx24j600: add missed kthread_stop Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 056/177] kselftests: dmabuf-heaps: Fix confused return value on expected error testing Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 057/177] gfs2: move privileged user check to gfs2_quota_lock_check Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 058/177] gfs2: dont call quota_unhold if quotas are not locked Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 059/177] gfs2: Grab glock reference sooner in gfs2_add_revoke Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 060/177] drm/amdgpu: drop unnecessary cancel_delayed_work_sync on PG ungate Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 061/177] drm/amd/powerplay: perform PG ungate prior to CG ungate Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 062/177] drm/amdgpu: Use GEM obj reference for KFD BOs Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 063/177] cachefiles: Fix race between read_waiter and read_copier involving op->to_do Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 064/177] usb: dwc3: pci: Enable extcon driver for Intel Merrifield Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 065/177] usb: phy: twl6030-usb: Fix a resource leak in an error handling path in twl6030_usb_probe() Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 066/177] usb: gadget: legacy: fix redundant initialization warnings Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 067/177] net: freescale: select CONFIG_FIXED_PHY where needed Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 068/177] drm/amd/amdgpu: Update update_config() logic Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 069/177] IB/i40iw: Remove bogus call to netdev_master_upper_dev_get() Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 070/177] riscv: Fix unmet direct dependencies built based on SOC_VIRT Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 071/177] riscv: stacktrace: Fix undefined reference to `walk_stackframe Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 072/177] riscv: Add pgprot_writecombine/device and PAGE_SHARED defination if NOMMU Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 073/177] clk: ti: am33xx: fix RTC clock parent Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 074/177] csky: Fixup msa highest 3 bits mask Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 075/177] csky: Fixup perf callchain unwind Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 076/177] csky: Fixup remove duplicate irq_disable Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 077/177] drm/meson: pm resume add return errno branch Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 078/177] hwmon: (nct7904) Fix incorrect range of temperature limit registers Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 079/177] riscv: pgtable: Fix __kernel_map_pages build error if NOMMU Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 080/177] cifs: Fix null pointer check in cifs_read Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 081/177] csky: Fixup raw_copy_from_user() Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 082/177] samples: bpf: Fix build error Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 083/177] drivers: net: hamradio: Fix suspicious RCU usage warning in bpqether.c Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 084/177] Input: usbtouchscreen - add support for BonXeon TP Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 085/177] Input: i8042 - add ThinkPad S230u to i8042 nomux list Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 086/177] Input: evdev - call input_flush_device() on release(), not flush() Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 087/177] Input: xpad - add custom init packet for Xbox One S controllers Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 088/177] Input: dlink-dir685-touchkeys - fix a typo in driver name Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 089/177] gpio: mvebu: Fix probing for chips without PWM Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 090/177] Input: i8042 - add ThinkPad S230u to i8042 reset list Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 091/177] Input: synaptics-rmi4 - really fix attn_data use-after-free Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 092/177] Input: synaptics-rmi4 - fix error return code in rmi_driver_probe() Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 093/177] ARM: 8970/1: decompressor: increase tag size Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 094/177] ARM: uaccess: consolidate uaccess asm to asm/uaccess-asm.h Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 095/177] ARM: uaccess: integrate uaccess_save and uaccess_restore Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 096/177] ARM: uaccess: fix DACR mismatch with nested exceptions Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 097/177] gpio: exar: Fix bad handling for ida_simple_get error path Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 098/177] arm64: dts: mt8173: fix vcodec-enc clock Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 099/177] soc: mediatek: cmdq: return send msg error code Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 100/177] gpu/drm: ingenic: Fix bogus crtc_atomic_check callback Greg Kroah-Hartman
2020-06-01 17:53 ` [PATCH 5.6 101/177] gpu/drm: Ingenic: Fix opaque pointer casted to wrong type Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 102/177] IB/qib: Call kobject_put() when kobject_init_and_add() fails Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 103/177] ARM: dts/imx6q-bx50v3: Set display interface clock parents Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 104/177] ARM: dts: bcm2835-rpi-zero-w: Fix led polarity Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 105/177] ARM: dts: bcm: HR2: Fix PPI interrupt types Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 106/177] ARM: dts: mmp3: Use the MMP3 compatible string for /clocks Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 107/177] ARM: dts: mmp3-dell-ariel: Fix the SPI devices Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 108/177] ARM: dts: mmp3: Drop usb-nop-xceiv from HSIC phy Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 109/177] RDMA/mlx5: Fix NULL pointer dereference in destroy_prefetch_work Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 110/177] mmc: block: Fix use-after-free issue for rpmb Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 111/177] gpio: pxa: Fix return value of pxa_gpio_probe() Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 112/177] gpio: bcm-kona: Fix return value of bcm_kona_gpio_probe() Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 113/177] RDMA/pvrdma: Fix missing pci disable in pvrdma_pci_probe() Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 114/177] ALSA: hwdep: fix a left shifting 1 by 31 UB bug Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 115/177] ALSA: hda/realtek - Add a model for Thinkpad T570 without DAC workaround Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 116/177] ALSA: usb-audio: mixer: volume quirk for ESS Technology Asus USB DAC Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 117/177] exec: Always set cap_ambient in cap_bprm_set_creds Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 118/177] clk: qcom: gcc: Fix parent for gpll0_out_even Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 119/177] ALSA: usb-audio: Quirks for Gigabyte TRX40 Aorus Master onboard audio Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 120/177] ALSA: hda/realtek - Add new codec supported for ALC287 Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 121/177] libceph: ignore pool overlay and cache logic on redirects Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 122/177] ceph: flush release queue when handling caps for unknown inode Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 123/177] RDMA/core: Fix double destruction of uobject Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 124/177] drm/amd/display: drop cursor position check in atomic test Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 125/177] drm/amd/display: Split program front end part that occur outside lock Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 126/177] drm/amd/display: Indicate dsc updates explicitly Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 127/177] drm/amd/display: Added locking for atomic update stream and update planes Greg Kroah-Hartman
2020-06-01 17:54 ` Greg Kroah-Hartman [this message]
2020-06-01 17:54 ` [PATCH 5.6 129/177] drm/amd/display: Defer cursor lock until after VUPDATE Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 130/177] drm/amd/display: Fix potential integer wraparound resulting in a hang Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 131/177] IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 132/177] mm,thp: stop leaking unreleased file pages Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 133/177] mm: remove VM_BUG_ON(PageSlab()) from page_mapcount() Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 134/177] fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info() Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 135/177] include/asm-generic/topology.h: guard cpumask_of_node() macro argument Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 136/177] Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and REQ_NOWAIT" Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 137/177] gpio: fix locking open drain IRQ lines Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 138/177] iommu: Fix reference count leak in iommu_group_alloc Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 139/177] parisc: Fix kernel panic in mem_init() Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 140/177] cfg80211: fix debugfs rename crash Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 141/177] mac80211: mesh: fix discovery timer re-arming issue / crash Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 142/177] x86/dma: Fix max PFN arithmetic overflow on 32 bit systems Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 143/177] copy_xstate_to_kernel(): dont leave parts of destination uninitialized Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 144/177] xfrm: allow to accept packets with ipv6 NEXTHDR_HOP in xfrm_input Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 145/177] xfrm: do pskb_pull properly in __xfrm_transport_prep Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 146/177] xfrm: remove the xfrm_state_put call becofe going to out_reset Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 147/177] xfrm: espintcp: save and call old ->sk_destruct Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 148/177] xfrm: call xfrm_output_gso when inner_protocol is set in xfrm_output Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 149/177] xfrm interface: fix oops when deleting a x-netns interface Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 150/177] xfrm: fix a warning in xfrm_policy_insert_list Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 151/177] xfrm: fix a NULL-ptr deref in xfrm_local_error Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 152/177] xfrm: fix error in comment Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 153/177] ip_vti: receive ipip packet by calling ip_tunnel_rcv Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 154/177] netfilter: nft_reject_bridge: enable reject with bridge vlan Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 155/177] netfilter: ipset: Fix subcounter update skip Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 156/177] netfilter: conntrack: make conntrack userspace helpers work again Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 157/177] netfilter: nfnetlink_cthelper: unbreak userspace helper support Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 158/177] netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 159/177] esp6: get the right proto for transport mode in esp6_gso_encap Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 160/177] bnxt_en: Fix accumulation of bp->net_stats_prev Greg Kroah-Hartman
2020-06-01 17:54 ` [PATCH 5.6 161/177] bnxt_en: fix firmware message length endianness Greg Kroah-Hartman
2020-06-01 17:55 ` [PATCH 5.6 162/177] ieee80211: Fix incorrect mask for default PE duration Greg Kroah-Hartman
2020-06-01 17:55 ` [PATCH 5.6 163/177] x86/ioperm: Prevent a memory leak when fork fails Greg Kroah-Hartman
2020-06-01 17:55 ` [PATCH 5.6 164/177] xsk: Add overflow check for u64 division, stored into u32 Greg Kroah-Hartman
2020-06-01 17:55 ` [PATCH 5.6 165/177] qlcnic: fix missing release in qlcnic_83xx_interrupt_test Greg Kroah-Hartman
2020-06-01 17:55 ` [PATCH 5.6 166/177] crypto: chelsio/chtls: properly set tp->lsndtime Greg Kroah-Hartman
2020-06-01 17:55 ` [PATCH 5.6 167/177] nexthops: Move code from remove_nexthop_from_groups to remove_nh_grp_entry Greg Kroah-Hartman
2020-06-01 17:55 ` [PATCH 5.6 168/177] nexthops: dont modify published nexthop groups Greg Kroah-Hartman
2020-06-01 17:55 ` [PATCH 5.6 169/177] nexthop: Expand nexthop_is_multipath in a few places Greg Kroah-Hartman
2020-06-01 17:55 ` [PATCH 5.6 170/177] ipv4: nexthop version of fib_info_nh_uses_dev Greg Kroah-Hartman
2020-06-01 17:55 ` [PATCH 5.6 171/177] net: dsa: declare lockless TX feature for slave ports Greg Kroah-Hartman
2020-06-01 17:55 ` [PATCH 5.6 172/177] bonding: Fix reference count leak in bond_sysfs_slave_add Greg Kroah-Hartman
2020-06-01 17:55 ` [PATCH 5.6 173/177] powerpc/bpf: Enable bpf_probe_read{, str}() on powerpc again Greg Kroah-Hartman
2020-06-01 17:55 ` [PATCH 5.6 174/177] Revert "Input: i8042 - add ThinkPad S230u to i8042 nomux list" Greg Kroah-Hartman
2020-06-01 17:55 ` [PATCH 5.6 175/177] netfilter: conntrack: comparison of unsigned in cthelper confirmation Greg Kroah-Hartman
2020-06-01 17:55 ` [PATCH 5.6 176/177] netfilter: conntrack: Pass value of ctinfo to __nf_conntrack_update Greg Kroah-Hartman
2020-06-01 17:55 ` [PATCH 5.6 177/177] netfilter: nf_conntrack_pptp: fix compilation warning with W=1 build Greg Kroah-Hartman
2020-06-02  6:47 ` [PATCH 5.6 000/177] 5.6.16-rc1 review Naresh Kamboju

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=20200601174059.219244252@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=Nicholas.Kazlauskas@amd.com \
    --cc=alexander.deucher@amd.com \
    --cc=aric.cyr@amd.com \
    --cc=aurabindo.pillai@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /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.