All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/9] amdgpu/dc: make get_audio_clock_info return void.
@ 2017-09-29  4:34 Dave Airlie
       [not found] ` <20170929043442.7984-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 10+ messages in thread
From: Dave Airlie @ 2017-09-29  4:34 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

From: Dave Airlie <airlied@redhat.com>

This function never returned false under any sane circumstances.

Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 .../drm/amd/display/dc/dce/dce_stream_encoder.c    | 75 ++++++++++------------
 1 file changed, 34 insertions(+), 41 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c b/drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c
index b2add58..a09727f 100644
--- a/drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c
+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c
@@ -1238,7 +1238,7 @@ uint32_t calc_max_audio_packets_per_line(
 	return max_packets_per_line;
 }
 
-bool get_audio_clock_info(
+void get_audio_clock_info(
 	enum dc_color_depth color_depth,
 	uint32_t crtc_pixel_clock_in_khz,
 	uint32_t actual_pixel_clock_in_khz,
@@ -1249,9 +1249,6 @@ bool get_audio_clock_info(
 	uint32_t crtc_pixel_clock_in_10khz = crtc_pixel_clock_in_khz / 10;
 	uint32_t audio_array_size;
 
-	if (audio_clock_info == NULL)
-		return false; /* should not happen */
-
 	switch (color_depth) {
 	case COLOR_DEPTH_161616:
 		clock_info = audio_clock_info_table_48bpc;
@@ -1280,7 +1277,7 @@ bool get_audio_clock_info(
 					crtc_pixel_clock_in_10khz) {
 				/* match found */
 				*audio_clock_info = clock_info[index];
-				return true;
+				return;
 			}
 		}
 	}
@@ -1300,8 +1297,6 @@ bool get_audio_clock_info(
 	audio_clock_info->n_32khz = 4096;
 	audio_clock_info->n_44khz = 6272;
 	audio_clock_info->n_48khz = 6144;
-
-	return true;
 }
 
 static void dce110_se_audio_setup(
@@ -1362,40 +1357,38 @@ static void dce110_se_setup_hdmi_audio(
 			HDMI_ACR_AUDIO_PRIORITY, 0);
 
 	/* Program audio clock sample/regeneration parameters */
-	if (get_audio_clock_info(
-		crtc_info->color_depth,
-		crtc_info->requested_pixel_clock,
-		crtc_info->calculated_pixel_clock,
-		&audio_clock_info)) {
-		dm_logger_write(enc->ctx->logger, LOG_HW_AUDIO,
-				"\n%s:Input::requested_pixel_clock = %d"\
-				"calculated_pixel_clock = %d \n", __func__,\
-				crtc_info->requested_pixel_clock,\
-				crtc_info->calculated_pixel_clock);
-
-		/* HDMI_ACR_32_0__HDMI_ACR_CTS_32_MASK */
-		REG_UPDATE(HDMI_ACR_32_0, HDMI_ACR_CTS_32, audio_clock_info.cts_32khz);
-
-		/* HDMI_ACR_32_1__HDMI_ACR_N_32_MASK */
-		REG_UPDATE(HDMI_ACR_32_1, HDMI_ACR_N_32, audio_clock_info.n_32khz);
-
-		/* HDMI_ACR_44_0__HDMI_ACR_CTS_44_MASK */
-		REG_UPDATE(HDMI_ACR_44_0, HDMI_ACR_CTS_44, audio_clock_info.cts_44khz);
-
-		/* HDMI_ACR_44_1__HDMI_ACR_N_44_MASK */
-		REG_UPDATE(HDMI_ACR_44_1, HDMI_ACR_N_44, audio_clock_info.n_44khz);
-
-		/* HDMI_ACR_48_0__HDMI_ACR_CTS_48_MASK */
-		REG_UPDATE(HDMI_ACR_48_0, HDMI_ACR_CTS_48, audio_clock_info.cts_48khz);
-
-		/* HDMI_ACR_48_1__HDMI_ACR_N_48_MASK */
-		REG_UPDATE(HDMI_ACR_48_1, HDMI_ACR_N_48, audio_clock_info.n_48khz);
-
-		/* Video driver cannot know in advance which sample rate will
-		be used by HD Audio driver
-		HDMI_ACR_PACKET_CONTROL__HDMI_ACR_N_MULTIPLE field is
-		programmed below in interruppt callback */
-	} /* if */
+	get_audio_clock_info(crtc_info->color_depth,
+			     crtc_info->requested_pixel_clock,
+			     crtc_info->calculated_pixel_clock,
+			     &audio_clock_info);
+	dm_logger_write(enc->ctx->logger, LOG_HW_AUDIO,
+			"\n%s:Input::requested_pixel_clock = %d"	\
+			"calculated_pixel_clock = %d \n", __func__,	\
+			crtc_info->requested_pixel_clock,		\
+			crtc_info->calculated_pixel_clock);
+
+	/* HDMI_ACR_32_0__HDMI_ACR_CTS_32_MASK */
+	REG_UPDATE(HDMI_ACR_32_0, HDMI_ACR_CTS_32, audio_clock_info.cts_32khz);
+
+	/* HDMI_ACR_32_1__HDMI_ACR_N_32_MASK */
+	REG_UPDATE(HDMI_ACR_32_1, HDMI_ACR_N_32, audio_clock_info.n_32khz);
+
+	/* HDMI_ACR_44_0__HDMI_ACR_CTS_44_MASK */
+	REG_UPDATE(HDMI_ACR_44_0, HDMI_ACR_CTS_44, audio_clock_info.cts_44khz);
+
+	/* HDMI_ACR_44_1__HDMI_ACR_N_44_MASK */
+	REG_UPDATE(HDMI_ACR_44_1, HDMI_ACR_N_44, audio_clock_info.n_44khz);
+
+	/* HDMI_ACR_48_0__HDMI_ACR_CTS_48_MASK */
+	REG_UPDATE(HDMI_ACR_48_0, HDMI_ACR_CTS_48, audio_clock_info.cts_48khz);
+
+	/* HDMI_ACR_48_1__HDMI_ACR_N_48_MASK */
+	REG_UPDATE(HDMI_ACR_48_1, HDMI_ACR_N_48, audio_clock_info.n_48khz);
+
+	/* Video driver cannot know in advance which sample rate will
+	   be used by HD Audio driver
+	   HDMI_ACR_PACKET_CONTROL__HDMI_ACR_N_MULTIPLE field is
+	   programmed below in interruppt callback */
 
 	/* AFMT_60958_0__AFMT_60958_CS_CHANNEL_NUMBER_L_MASK &
 	AFMT_60958_0__AFMT_60958_CS_CLOCK_ACCURACY_MASK */
-- 
2.9.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/9] amdgpu/dc: make program_regamma_pwl return void
       [not found] ` <20170929043442.7984-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-09-29  4:34   ` Dave Airlie
  2017-09-29  4:34   ` [PATCH 3/9] amdgpu/dc: make some audio functions " Dave Airlie
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Dave Airlie @ 2017-09-29  4:34 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

From: Dave Airlie <airlied@redhat.com>

The return value was unused.

Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 drivers/gpu/drm/amd/display/dc/dce/dce_transform.c           | 4 +---
 drivers/gpu/drm/amd/display/dc/dce/dce_transform.h           | 2 +-
 drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_regamma_v.c | 4 +---
 drivers/gpu/drm/amd/display/dc/dce110/dce110_transform_v.h   | 2 +-
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c             | 4 +---
 drivers/gpu/drm/amd/display/dc/inc/hw/transform.h            | 2 +-
 6 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_transform.c b/drivers/gpu/drm/amd/display/dc/dce/dce_transform.c
index c40d2e9..ae32af3 100644
--- a/drivers/gpu/drm/amd/display/dc/dce/dce_transform.c
+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_transform.c
@@ -1375,7 +1375,7 @@ static void regamma_config_regions_and_segments(
 
 
 
-bool dce110_opp_program_regamma_pwl(
+void dce110_opp_program_regamma_pwl(
 	struct transform *xfm,
 	const struct pwl_params *params)
 {
@@ -1386,8 +1386,6 @@ bool dce110_opp_program_regamma_pwl(
 
 	/* Program PWL */
 	program_pwl(xfm_dce, params);
-
-	return true;
 }
 
 void dce110_opp_power_on_regamma_lut(
diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_transform.h b/drivers/gpu/drm/amd/display/dc/dce/dce_transform.h
index e1f1e51..bfc94b4 100644
--- a/drivers/gpu/drm/amd/display/dc/dce/dce_transform.h
+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_transform.h
@@ -506,7 +506,7 @@ void dce110_opp_power_on_regamma_lut(
 	struct transform *xfm,
 	bool power_on);
 
-bool dce110_opp_program_regamma_pwl(
+void dce110_opp_program_regamma_pwl(
 	struct transform *xfm,
 	const struct pwl_params *params);
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_regamma_v.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_regamma_v.c
index c86105b..e98ed30 100644
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_regamma_v.c
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_regamma_v.c
@@ -490,7 +490,7 @@ static void program_pwl(struct dce_transform *xfm_dce,
 	}
 }
 
-bool dce110_opp_program_regamma_pwl_v(
+void dce110_opp_program_regamma_pwl_v(
 	struct transform *xfm,
 	const struct pwl_params *params)
 {
@@ -512,8 +512,6 @@ bool dce110_opp_program_regamma_pwl_v(
 
 	/* Power return to auto back */
 	power_on_lut(xfm, false, false, true);
-
-	return true;
 }
 
 void dce110_opp_power_on_regamma_lut_v(
diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_transform_v.h b/drivers/gpu/drm/amd/display/dc/dce110/dce110_transform_v.h
index eeed3b9..b707802 100644
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_transform_v.h
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_transform_v.h
@@ -43,7 +43,7 @@ void dce110_opp_v_set_csc_adjustment(
 	const struct out_csc_color_matrix *tbl_entry);
 
 
-bool dce110_opp_program_regamma_pwl_v(
+void dce110_opp_program_regamma_pwl_v(
 	struct transform *xfm,
 	const struct pwl_params *params);
 
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c
index ac03b04..8607ab2 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c
@@ -183,7 +183,7 @@ void dpp_reset(struct transform *xfm_base)
 
 
 
-static bool dcn10_dpp_cm_set_regamma_pwl(
+static void dcn10_dpp_cm_set_regamma_pwl(
 	struct transform *xfm_base, const struct pwl_params *params)
 {
 	struct dcn10_dpp *xfm = TO_DCN10_DPP(xfm_base);
@@ -198,8 +198,6 @@ static bool dcn10_dpp_cm_set_regamma_pwl(
 
 	dcn10_dpp_cm_program_regamma_lut(
 			xfm_base, params->rgb_resulted, params->hw_points_num);
-
-	return true;
 }
 
 static void dcn10_dpp_cm_set_regamma_mode(
diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/transform.h b/drivers/gpu/drm/amd/display/dc/inc/hw/transform.h
index 9d4a3a0..785d397 100644
--- a/drivers/gpu/drm/amd/display/dc/inc/hw/transform.h
+++ b/drivers/gpu/drm/amd/display/dc/inc/hw/transform.h
@@ -213,7 +213,7 @@ struct transform_funcs {
 			struct transform *xfm,
 			const struct pwl_params *params);
 
-	bool (*opp_program_regamma_pwl)(
+	void (*opp_program_regamma_pwl)(
 		struct transform *xfm, const struct pwl_params *params);
 
 	void (*opp_set_regamma_mode)(
-- 
2.9.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/9] amdgpu/dc: make some audio functions return void
       [not found] ` <20170929043442.7984-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2017-09-29  4:34   ` [PATCH 2/9] amdgpu/dc: make program_regamma_pwl " Dave Airlie
@ 2017-09-29  4:34   ` Dave Airlie
  2017-09-29  4:34   ` [PATCH 4/9] amdgpu/dc: remove pointless returns in the i2caux constructor paths Dave Airlie
                     ` (5 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Dave Airlie @ 2017-09-29  4:34 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

From: Dave Airlie <airlied@redhat.com>

There is no need to check for these pointers being valid
at this level. Check earlier if required.

Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 drivers/gpu/drm/amd/display/dc/dce/dce_audio.c | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_audio.c b/drivers/gpu/drm/amd/display/dc/dce/dce_audio.c
index 198f453..6e94028 100644
--- a/drivers/gpu/drm/amd/display/dc/dce/dce_audio.c
+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_audio.c
@@ -703,14 +703,11 @@ void dce_aud_az_configure(
 */
 
 /* search pixel clock value for Azalia HDMI Audio */
-static bool get_azalia_clock_info_hdmi(
+static void get_azalia_clock_info_hdmi(
 	uint32_t crtc_pixel_clock_in_khz,
 	uint32_t actual_pixel_clock_in_khz,
 	struct azalia_clock_info *azalia_clock_info)
 {
-	if (azalia_clock_info == NULL)
-		return false;
-
 	/* audio_dto_phase= 24 * 10,000;
 	 *   24MHz in [100Hz] units */
 	azalia_clock_info->audio_dto_phase =
@@ -720,18 +717,13 @@ static bool get_azalia_clock_info_hdmi(
 	 *  [khz] -> [100Hz] */
 	azalia_clock_info->audio_dto_module =
 			actual_pixel_clock_in_khz * 10;
-
-	return true;
 }
 
-static bool get_azalia_clock_info_dp(
+static void get_azalia_clock_info_dp(
 	uint32_t requested_pixel_clock_in_khz,
 	const struct audio_pll_info *pll_info,
 	struct azalia_clock_info *azalia_clock_info)
 {
-	if (pll_info == NULL || azalia_clock_info == NULL)
-		return false;
-
 	/* Reported dpDtoSourceClockInkhz value for
 	 * DCE8 already adjusted for SS, do not need any
 	 * adjustment here anymore
@@ -745,8 +737,6 @@ static bool get_azalia_clock_info_dp(
 	 *  [khz] ->[100Hz] */
 	azalia_clock_info->audio_dto_module =
 		pll_info->dp_dto_source_clock_in_khz * 10;
-
-	return true;
 }
 
 void dce_aud_wall_dto_setup(
-- 
2.9.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 4/9] amdgpu/dc: remove pointless returns in the i2caux constructor paths.
       [not found] ` <20170929043442.7984-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2017-09-29  4:34   ` [PATCH 2/9] amdgpu/dc: make program_regamma_pwl " Dave Airlie
  2017-09-29  4:34   ` [PATCH 3/9] amdgpu/dc: make some audio functions " Dave Airlie
@ 2017-09-29  4:34   ` Dave Airlie
  2017-09-29  4:34   ` [PATCH 5/9] amdgpu/dc: cleanup construct returns in gpio Dave Airlie
                     ` (4 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Dave Airlie @ 2017-09-29  4:34 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

From: Dave Airlie <airlied@redhat.com>

There was lots of return true, and error checking that was never used
in these paths.

Just remove it all.

Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c |  6 ++--
 drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h |  2 +-
 .../amd/display/dc/i2caux/dce100/i2caux_dce100.c   | 21 +++++---------
 .../display/dc/i2caux/dce110/aux_engine_dce110.c   | 20 +++-----------
 .../dc/i2caux/dce110/i2c_hw_engine_dce110.c        | 24 ++++++----------
 .../dc/i2caux/dce110/i2c_hw_engine_dce110.h        |  4 ---
 .../dc/i2caux/dce110/i2c_sw_engine_dce110.c        | 20 +++-----------
 .../amd/display/dc/i2caux/dce110/i2caux_dce110.c   | 30 ++++++--------------
 .../amd/display/dc/i2caux/dce110/i2caux_dce110.h   |  2 +-
 .../amd/display/dc/i2caux/dce112/i2caux_dce112.c   | 30 ++++++--------------
 .../amd/display/dc/i2caux/dce120/i2caux_dce120.c   | 21 +++++---------
 .../display/dc/i2caux/dce80/i2c_hw_engine_dce80.c  | 32 ++++++++--------------
 .../display/dc/i2caux/dce80/i2c_sw_engine_dce80.c  | 17 +++---------
 .../drm/amd/display/dc/i2caux/dce80/i2caux_dce80.c | 19 +++----------
 .../drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c | 21 +++++---------
 .../display/dc/i2caux/diagnostics/i2caux_diag.c    | 20 +++-----------
 drivers/gpu/drm/amd/display/dc/i2caux/engine.h     |  2 +-
 .../gpu/drm/amd/display/dc/i2caux/engine_base.c    |  3 +-
 drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.c |  7 ++---
 drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.h |  2 +-
 .../amd/display/dc/i2caux/i2c_generic_hw_engine.c  |  6 ++--
 .../amd/display/dc/i2caux/i2c_generic_hw_engine.h  |  2 +-
 .../gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.c  |  6 ++--
 .../gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.h  |  2 +-
 .../gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.c  | 17 +++---------
 .../gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.h  |  2 +-
 drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c     |  4 +--
 drivers/gpu/drm/amd/display/dc/i2caux/i2caux.h     |  2 +-
 28 files changed, 100 insertions(+), 244 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c b/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c
index 3c9608c..fc7a7d4 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c
@@ -555,15 +555,13 @@ bool dal_aux_engine_submit_request(
 	return result;
 }
 
-bool dal_aux_engine_construct(
+void dal_aux_engine_construct(
 	struct aux_engine *engine,
 	struct dc_context *ctx)
 {
-	if (!dal_i2caux_construct_engine(&engine->base, ctx))
-		return false;
+	dal_i2caux_construct_engine(&engine->base, ctx);
 	engine->delay = 0;
 	engine->max_defer_write_retry = 0;
-	return true;
 }
 
 void dal_aux_engine_destruct(
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h b/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h
index 40b2028..8e71324 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h
@@ -100,7 +100,7 @@ struct aux_engine {
 	bool acquire_reset;
 };
 
-bool dal_aux_engine_construct(
+void dal_aux_engine_construct(
 	struct aux_engine *engine,
 	struct dc_context *ctx);
 
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce100/i2caux_dce100.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce100/i2caux_dce100.c
index c45a2ee..e8d3781 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce100/i2caux_dce100.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce100/i2caux_dce100.c
@@ -95,18 +95,11 @@ struct i2caux *dal_i2caux_dce100_create(
 		return NULL;
 	}
 
-	if (dal_i2caux_dce110_construct(
-			i2caux_dce110,
-			ctx,
-			dce100_aux_regs,
-			dce100_hw_engine_regs,
-			&i2c_shift,
-			&i2c_mask))
-		return &i2caux_dce110->base;
-
-	ASSERT_CRITICAL(false);
-
-	kfree(i2caux_dce110);
-
-	return NULL;
+	dal_i2caux_dce110_construct(i2caux_dce110,
+				    ctx,
+				    dce100_aux_regs,
+				    dce100_hw_engine_regs,
+				    &i2c_shift,
+				    &i2c_mask);
+	return &i2caux_dce110->base;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c
index 4b673b4..0c4bbc1 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c
@@ -426,22 +426,16 @@ static const struct engine_funcs engine_funcs = {
 	.acquire = dal_aux_engine_acquire,
 };
 
-static bool construct(
+static void construct(
 	struct aux_engine_dce110 *engine,
 	const struct aux_engine_dce110_init_data *aux_init_data)
 {
-	if (!dal_aux_engine_construct(
-		&engine->base, aux_init_data->ctx)) {
-		ASSERT_CRITICAL(false);
-		return false;
-	}
+	dal_aux_engine_construct(&engine->base, aux_init_data->ctx);
 	engine->base.base.funcs = &engine_funcs;
 	engine->base.funcs = &aux_engine_funcs;
 
 	engine->timeout_period = aux_init_data->timeout_period;
 	engine->regs = aux_init_data->regs;
-
-	return true;
 }
 
 static void destruct(
@@ -471,12 +465,6 @@ struct aux_engine *dal_aux_engine_dce110_create(
 		return NULL;
 	}
 
-	if (construct(engine, aux_init_data))
-		return &engine->base;
-
-	ASSERT_CRITICAL(false);
-
-	kfree(engine);
-
-	return NULL;
+	construct(engine, aux_init_data);
+	return &engine->base;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.c
index aab77a8..1a5b3f7 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.c
@@ -498,17 +498,13 @@ static const struct i2c_hw_engine_funcs i2c_hw_engine_funcs = {
 	.wait_on_operation_result = dal_i2c_hw_engine_wait_on_operation_result,
 };
 
-bool i2c_hw_engine_dce110_construct(
+static void construct(
 	struct i2c_hw_engine_dce110 *hw_engine,
 	const struct i2c_hw_engine_dce110_create_arg *arg)
 {
 	uint32_t xtal_ref_div = 0;
 
-	if (!arg->reference_frequency)
-		return false;
-
-	if (!dal_i2c_hw_engine_construct(&hw_engine->base, arg->ctx))
-		return false;
+	dal_i2c_hw_engine_construct(&hw_engine->base, arg->ctx);
 
 	hw_engine->base.base.base.funcs = &engine_funcs;
 	hw_engine->base.base.funcs = &i2c_engine_funcs;
@@ -545,8 +541,6 @@ bool i2c_hw_engine_dce110_construct(
 	 */
 	hw_engine->reference_frequency =
 		(arg->reference_frequency * 2) / xtal_ref_div;
-
-	return true;
 }
 
 struct i2c_engine *dal_i2c_hw_engine_dce110_create(
@@ -558,6 +552,10 @@ struct i2c_engine *dal_i2c_hw_engine_dce110_create(
 		ASSERT_CRITICAL(false);
 		return NULL;
 	}
+	if (!arg->reference_frequency) {
+		ASSERT_CRITICAL(false);
+		return NULL;
+	}
 
 	engine_dce10 = kzalloc(sizeof(struct i2c_hw_engine_dce110),
 			       GFP_KERNEL);
@@ -567,12 +565,6 @@ struct i2c_engine *dal_i2c_hw_engine_dce110_create(
 		return NULL;
 	}
 
-	if (i2c_hw_engine_dce110_construct(engine_dce10, arg))
-		return &engine_dce10->base.base;
-
-	ASSERT_CRITICAL(false);
-
-	kfree(engine_dce10);
-
-	return NULL;
+	construct(engine_dce10, arg);
+	return &engine_dce10->base.base;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.h b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.h
index c573c64..5bb0408 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.h
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.h
@@ -207,8 +207,4 @@ struct i2c_hw_engine_dce110_create_arg {
 struct i2c_engine *dal_i2c_hw_engine_dce110_create(
 	const struct i2c_hw_engine_dce110_create_arg *arg);
 
-bool i2c_hw_engine_dce110_construct(
-	struct i2c_hw_engine_dce110 *engine_dce110,
-	const struct i2c_hw_engine_dce110_create_arg *arg);
-
 #endif
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_sw_engine_dce110.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_sw_engine_dce110.c
index bf2c4b2..3aa7f79 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_sw_engine_dce110.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_sw_engine_dce110.c
@@ -118,7 +118,7 @@ static const struct engine_funcs engine_funcs = {
 	.submit_request = dal_i2c_sw_engine_submit_request,
 };
 
-static bool construct(
+static void construct(
 	struct i2c_sw_engine_dce110 *engine_dce110,
 	const struct i2c_sw_engine_dce110_create_arg *arg_dce110)
 {
@@ -127,11 +127,7 @@ static bool construct(
 	arg_base.ctx = arg_dce110->ctx;
 	arg_base.default_speed = arg_dce110->default_speed;
 
-	if (!dal_i2c_sw_engine_construct(
-			&engine_dce110->base, &arg_base)) {
-		ASSERT_CRITICAL(false);
-		return false;
-	}
+	dal_i2c_sw_engine_construct(&engine_dce110->base, &arg_base);
 
 	/*struct engine   struct engine_funcs*/
 	engine_dce110->base.base.base.funcs = &engine_funcs;
@@ -139,8 +135,6 @@ static bool construct(
 	engine_dce110->base.base.funcs = &i2c_engine_funcs;
 	engine_dce110->base.default_speed = arg_dce110->default_speed;
 	engine_dce110->engine_id = arg_dce110->engine_id;
-
-	return true;
 }
 
 struct i2c_engine *dal_i2c_sw_engine_dce110_create(
@@ -161,12 +155,6 @@ struct i2c_engine *dal_i2c_sw_engine_dce110_create(
 		return NULL;
 	}
 
-	if (construct(engine_dce110, arg))
-		return &engine_dce110->base.base;
-
-	ASSERT_CRITICAL(false);
-
-	kfree(engine_dce110);
-
-	return NULL;
+	construct(engine_dce110, arg);
+	return &engine_dce110->base.base;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.c
index ae9adb3..2a047f8 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.c
@@ -196,7 +196,7 @@ static const struct dce110_i2c_hw_engine_mask i2c_mask = {
 		I2C_COMMON_MASK_SH_LIST_DCE110(_MASK)
 };
 
-bool dal_i2caux_dce110_construct(
+void dal_i2caux_dce110_construct(
 	struct i2caux_dce110 *i2caux_dce110,
 	struct dc_context *ctx,
 	const struct dce110_aux_registers aux_regs[],
@@ -217,10 +217,7 @@ bool dal_i2caux_dce110_construct(
 
 	base = &i2caux_dce110->base;
 
-	if (!dal_i2caux_construct(base, ctx)) {
-		ASSERT_CRITICAL(false);
-		return false;
-	}
+	dal_i2caux_construct(base, ctx);
 
 	i2caux_dce110->base.funcs = &i2caux_funcs;
 	i2caux_dce110->i2c_hw_buffer_in_use = false;
@@ -278,8 +275,6 @@ bool dal_i2caux_dce110_construct(
 	} while (i < ARRAY_SIZE(hw_aux_lines));
 
 	/*TODO Generic I2C SW and HW*/
-
-	return true;
 }
 
 /*
@@ -306,18 +301,11 @@ struct i2caux *dal_i2caux_dce110_create(
 		return NULL;
 	}
 
-	if (dal_i2caux_dce110_construct(
-			i2caux_dce110,
-			ctx,
-			dce110_aux_regs,
-			i2c_hw_engine_regs,
-			&i2c_shift,
-			&i2c_mask))
-		return &i2caux_dce110->base;
-
-	ASSERT_CRITICAL(false);
-
-	kfree(i2caux_dce110);
-
-	return NULL;
+	dal_i2caux_dce110_construct(i2caux_dce110,
+				    ctx,
+				    dce110_aux_regs,
+				    i2c_hw_engine_regs,
+				    &i2c_shift,
+				    &i2c_mask);
+	return &i2caux_dce110->base;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.h b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.h
index fd1cc23..1b1f71c 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.h
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.h
@@ -42,7 +42,7 @@ struct dce110_i2c_hw_engine_mask;
 struct i2caux *dal_i2caux_dce110_create(
 	struct dc_context *ctx);
 
-bool dal_i2caux_dce110_construct(
+void dal_i2caux_dce110_construct(
 	struct i2caux_dce110 *i2caux_dce110,
 	struct dc_context *ctx,
 	const struct dce110_aux_registers *aux_regs,
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce112/i2caux_dce112.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce112/i2caux_dce112.c
index 715ba43..dafc1a7 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce112/i2caux_dce112.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce112/i2caux_dce112.c
@@ -87,22 +87,16 @@ static const struct dce110_i2c_hw_engine_mask i2c_mask = {
 		I2C_COMMON_MASK_SH_LIST_DCE110(_MASK)
 };
 
-static bool construct(
+static void construct(
 	struct i2caux_dce110 *i2caux_dce110,
 	struct dc_context *ctx)
 {
-	if (!dal_i2caux_dce110_construct(
-			i2caux_dce110,
-			ctx,
-			dce112_aux_regs,
-			dce112_hw_engine_regs,
-			&i2c_shift,
-			&i2c_mask)) {
-		ASSERT_CRITICAL(false);
-		return false;
-	}
-
-	return true;
+	dal_i2caux_dce110_construct(i2caux_dce110,
+				    ctx,
+				    dce112_aux_regs,
+				    dce112_hw_engine_regs,
+				    &i2c_shift,
+				    &i2c_mask);
 }
 
 /*
@@ -129,12 +123,6 @@ struct i2caux *dal_i2caux_dce112_create(
 		return NULL;
 	}
 
-	if (construct(i2caux_dce110, ctx))
-		return &i2caux_dce110->base;
-
-	ASSERT_CRITICAL(false);
-
-	kfree(i2caux_dce110);
-
-	return NULL;
+	construct(i2caux_dce110, ctx);
+	return &i2caux_dce110->base;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce120/i2caux_dce120.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce120/i2caux_dce120.c
index d52827a..668981a 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce120/i2caux_dce120.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce120/i2caux_dce120.c
@@ -108,18 +108,11 @@ struct i2caux *dal_i2caux_dce120_create(
 		return NULL;
 	}
 
-	if (dal_i2caux_dce110_construct(
-			i2caux_dce110,
-			ctx,
-			dce120_aux_regs,
-			dce120_hw_engine_regs,
-			&i2c_shift,
-			&i2c_mask))
-		return &i2caux_dce110->base;
-
-	ASSERT_CRITICAL(false);
-
-	kfree(i2caux_dce110);
-
-	return NULL;
+	dal_i2caux_dce110_construct(i2caux_dce110,
+				    ctx,
+				    dce120_aux_regs,
+				    dce120_hw_engine_regs,
+				    &i2c_shift,
+				    &i2c_mask);
+	return &i2caux_dce110->base;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_hw_engine_dce80.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_hw_engine_dce80.c
index d41e37c..fd0832d 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_hw_engine_dce80.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_hw_engine_dce80.c
@@ -824,20 +824,11 @@ static const struct i2c_hw_engine_funcs i2c_hw_engine_funcs = {
 		dal_i2c_hw_engine_wait_on_operation_result,
 };
 
-static bool construct(
+static void construct(
 	struct i2c_hw_engine_dce80 *engine,
 	const struct i2c_hw_engine_dce80_create_arg *arg)
 {
-	if (arg->engine_id >= sizeof(ddc_setup_offset) / sizeof(int32_t))
-		return false;
-	if (arg->engine_id >= sizeof(ddc_speed_offset) / sizeof(int32_t))
-		return false;
-
-	if (!arg->reference_frequency)
-		return false;
-
-	if (!dal_i2c_hw_engine_construct(&engine->base, arg->ctx))
-		return false;
+	dal_i2c_hw_engine_construct(&engine->base, arg->ctx);
 
 	engine->base.base.base.funcs = &engine_funcs;
 	engine->base.base.funcs = &i2c_engine_funcs;
@@ -853,8 +844,6 @@ static bool construct(
 	engine->buffer_used_bytes = 0;
 	engine->transaction_count = 0;
 	engine->engine_keep_power_up_count = 1;
-
-	return true;
 }
 
 struct i2c_engine *dal_i2c_hw_engine_dce80_create(
@@ -867,6 +856,13 @@ struct i2c_engine *dal_i2c_hw_engine_dce80_create(
 		return NULL;
 	}
 
+	if ((arg->engine_id >= sizeof(ddc_setup_offset) / sizeof(int32_t)) ||
+	    (arg->engine_id >= sizeof(ddc_speed_offset) / sizeof(int32_t)) ||
+	    !arg->reference_frequency) {
+		BREAK_TO_DEBUGGER();
+		return NULL;
+	}
+
 	engine = kzalloc(sizeof(struct i2c_hw_engine_dce80), GFP_KERNEL);
 
 	if (!engine) {
@@ -874,12 +870,6 @@ struct i2c_engine *dal_i2c_hw_engine_dce80_create(
 		return NULL;
 	}
 
-	if (construct(engine, arg))
-		return &engine->base.base;
-
-	BREAK_TO_DEBUGGER();
-
-	kfree(engine);
-
-	return NULL;
+	construct(engine, arg);
+	return &engine->base.base;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_sw_engine_dce80.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_sw_engine_dce80.c
index 6be77bc..40d9a65 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_sw_engine_dce80.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_sw_engine_dce80.c
@@ -133,7 +133,7 @@ static const struct engine_funcs engine_funcs = {
 	.submit_request = dal_i2c_sw_engine_submit_request,
 };
 
-static bool construct(
+static void construct(
 	struct i2c_sw_engine_dce80 *engine,
 	const struct i2c_sw_engine_dce80_create_arg *arg)
 {
@@ -142,10 +142,7 @@ static bool construct(
 	arg_base.ctx = arg->ctx;
 	arg_base.default_speed = arg->default_speed;
 
-	if (!dal_i2c_sw_engine_construct(&engine->base, &arg_base)) {
-		BREAK_TO_DEBUGGER();
-		return false;
-	}
+	dal_i2c_sw_engine_construct(&engine->base, &arg_base);
 
 	engine->base.base.base.funcs = &engine_funcs;
 	engine->base.base.funcs = &i2c_engine_funcs;
@@ -172,13 +169,7 @@ struct i2c_engine *dal_i2c_sw_engine_dce80_create(
 		return NULL;
 	}
 
-	if (construct(engine, arg))
-		return &engine->base.base;
-
-	BREAK_TO_DEBUGGER();
-
-	kfree(engine);
-
-	return NULL;
+	construct(engine, arg);
+	return &engine->base.base;
 }
 
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2caux_dce80.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2caux_dce80.c
index d3c157e..ed48596 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2caux_dce80.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2caux_dce80.c
@@ -187,7 +187,7 @@ static const struct i2caux_funcs i2caux_funcs = {
 	.acquire_aux_engine = dal_i2caux_acquire_aux_engine,
 };
 
-static bool construct(
+static void construct(
 	struct i2caux_dce80 *i2caux_dce80,
 	struct dc_context *ctx)
 {
@@ -207,10 +207,7 @@ static bool construct(
 
 	uint32_t i;
 
-	if (!dal_i2caux_construct(base, ctx)) {
-		BREAK_TO_DEBUGGER();
-		return false;
-	}
+	dal_i2caux_construct(base, ctx);
 
 	i2caux_dce80->base.funcs = &i2caux_funcs;
 	i2caux_dce80->i2c_hw_buffer_in_use = false;
@@ -269,8 +266,6 @@ static bool construct(
 	} while (i < ARRAY_SIZE(hw_aux_lines));
 
 	/* TODO Generic I2C SW and HW */
-
-	return true;
 }
 
 struct i2caux *dal_i2caux_dce80_create(
@@ -284,12 +279,6 @@ struct i2caux *dal_i2caux_dce80_create(
 		return NULL;
 	}
 
-	if (construct(i2caux_dce80, ctx))
-		return &i2caux_dce80->base;
-
-	BREAK_TO_DEBUGGER();
-
-	kfree(i2caux_dce80);
-
-	return NULL;
+	construct(i2caux_dce80, ctx);
+	return &i2caux_dce80->base;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c b/drivers/gpu/drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c
index f8659f1..13b807d 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c
@@ -108,18 +108,11 @@ struct i2caux *dal_i2caux_dcn10_create(
 		return NULL;
 	}
 
-	if (dal_i2caux_dce110_construct(
-			i2caux_dce110,
-			ctx,
-			dcn10_aux_regs,
-			dcn10_hw_engine_regs,
-			&i2c_shift,
-			&i2c_mask))
-		return &i2caux_dce110->base;
-
-	ASSERT_CRITICAL(false);
-
-	kfree(i2caux_dce110);
-
-	return NULL;
+	dal_i2caux_dce110_construct(i2caux_dce110,
+				    ctx,
+				    dcn10_aux_regs,
+				    dcn10_hw_engine_regs,
+				    &i2c_shift,
+				    &i2c_mask);
+	return &i2caux_dce110->base;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/diagnostics/i2caux_diag.c b/drivers/gpu/drm/amd/display/dc/i2caux/diagnostics/i2caux_diag.c
index 1fdb325..e6408f6 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/diagnostics/i2caux_diag.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/diagnostics/i2caux_diag.c
@@ -73,18 +73,12 @@ static const struct i2caux_funcs i2caux_funcs = {
 	.acquire_aux_engine = NULL,
 };
 
-static bool construct(
+static void construct(
 	struct i2caux *i2caux,
 	struct dc_context *ctx)
 {
-	if (!dal_i2caux_construct(i2caux, ctx)) {
-		ASSERT_CRITICAL(false);
-		return false;
-	}
-
+	dal_i2caux_construct(i2caux, ctx);
 	i2caux->funcs = &i2caux_funcs;
-
-	return true;
 }
 
 struct i2caux *dal_i2caux_diag_fpga_create(
@@ -98,12 +92,6 @@ struct i2caux *dal_i2caux_diag_fpga_create(
 		return NULL;
 	}
 
-	if (construct(i2caux, ctx))
-		return i2caux;
-
-	ASSERT_CRITICAL(false);
-
-	kfree(i2caux);
-
-	return NULL;
+	construct(i2caux, ctx);
+	return i2caux;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/engine.h b/drivers/gpu/drm/amd/display/dc/i2caux/engine.h
index 76fe2df..33de8a8 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/engine.h
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/engine.h
@@ -110,7 +110,7 @@ struct engine {
 	struct dc_context *ctx;
 };
 
-bool dal_i2caux_construct_engine(
+void dal_i2caux_construct_engine(
 	struct engine *engine,
 	struct dc_context *ctx);
 
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/engine_base.c b/drivers/gpu/drm/amd/display/dc/i2caux/engine_base.c
index 09da813..5d155d3 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/engine_base.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/engine_base.c
@@ -36,13 +36,12 @@
 
 #include "engine.h"
 
-bool dal_i2caux_construct_engine(
+void dal_i2caux_construct_engine(
 	struct engine *engine,
 	struct dc_context *ctx)
 {
 	engine->ddc = NULL;
 	engine->ctx = ctx;
-	return true;
 }
 
 void dal_i2caux_destruct_engine(
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.c b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.c
index 144f51d..70e20bd 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.c
@@ -103,15 +103,12 @@ void dal_i2c_engine_process_channel_reply(
 
 }
 
-bool dal_i2c_engine_construct(
+void dal_i2c_engine_construct(
 	struct i2c_engine *engine,
 	struct dc_context *ctx)
 {
-	if (!dal_i2caux_construct_engine(&engine->base, ctx))
-		return false;
-
+	dal_i2caux_construct_engine(&engine->base, ctx);
 	engine->timeout_delay = 0;
-	return true;
 }
 
 void dal_i2c_engine_destruct(
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.h b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.h
index ce2c51d..58fc0f2 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.h
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.h
@@ -88,7 +88,7 @@ struct i2c_engine {
 	uint32_t timeout_delay;
 };
 
-bool dal_i2c_engine_construct(
+void dal_i2c_engine_construct(
 	struct i2c_engine *engine,
 	struct dc_context *ctx);
 
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.c b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.c
index 521c4ec..5a4295e 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.c
@@ -270,13 +270,11 @@ uint32_t dal_i2c_generic_hw_engine_get_transaction_timeout(
 		(1 + (length << 3) + 1);
 }
 
-bool dal_i2c_generic_hw_engine_construct(
+void dal_i2c_generic_hw_engine_construct(
 	struct i2c_generic_hw_engine *engine,
 	struct dc_context *ctx)
 {
-	if (!dal_i2c_hw_engine_construct(&engine->base, ctx))
-		return false;
-	return true;
+	dal_i2c_hw_engine_construct(&engine->base, ctx);
 }
 
 void dal_i2c_generic_hw_engine_destruct(
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.h b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.h
index 083bb0d..1da0397 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.h
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.h
@@ -59,7 +59,7 @@ struct i2c_generic_hw_engine {
 	const struct i2c_generic_hw_engine_funcs *funcs;
 };
 
-bool dal_i2c_generic_hw_engine_construct(
+void dal_i2c_generic_hw_engine_construct(
 	struct i2c_generic_hw_engine *engine,
 	struct dc_context *ctx);
 
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.c b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.c
index 00a8f07..4b54fcf 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.c
@@ -228,15 +228,13 @@ enum i2c_channel_operation_result dal_i2c_hw_engine_wait_on_operation_result(
 	return result;
 }
 
-bool dal_i2c_hw_engine_construct(
+void dal_i2c_hw_engine_construct(
 	struct i2c_hw_engine *engine,
 	struct dc_context *ctx)
 {
-	if (!dal_i2c_engine_construct(&engine->base, ctx))
-		return false;
+	dal_i2c_engine_construct(&engine->base, ctx);
 	engine->original_speed = I2CAUX_DEFAULT_I2C_HW_SPEED;
 	engine->default_speed = I2CAUX_DEFAULT_I2C_HW_SPEED;
-	return true;
 }
 
 void dal_i2c_hw_engine_destruct(
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.h b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.h
index f2df174..8936a99 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.h
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.h
@@ -53,7 +53,7 @@ struct i2c_hw_engine {
 	uint32_t default_speed;
 };
 
-bool dal_i2c_hw_engine_construct(
+void dal_i2c_hw_engine_construct(
 	struct i2c_hw_engine *engine,
 	struct dc_context *ctx);
 
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.c b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.c
index 9d0077a..8e19bb6 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.c
@@ -569,17 +569,14 @@ static const struct engine_funcs engine_funcs = {
 	.submit_request = dal_i2c_sw_engine_submit_request,
 };
 
-bool dal_i2c_sw_engine_construct(
+void dal_i2c_sw_engine_construct(
 	struct i2c_sw_engine *engine,
 	const struct i2c_sw_engine_create_arg *arg)
 {
-	if (!dal_i2c_engine_construct(&engine->base, arg->ctx))
-		return false;
-
+	dal_i2c_engine_construct(&engine->base, arg->ctx);
 	dal_i2c_sw_engine_set_speed(&engine->base, arg->default_speed);
 	engine->base.funcs = &i2c_engine_funcs;
 	engine->base.base.funcs = &engine_funcs;
-	return true;
 }
 
 struct i2c_engine *dal_i2c_sw_engine_create(
@@ -599,12 +596,6 @@ struct i2c_engine *dal_i2c_sw_engine_create(
 		return NULL;
 	}
 
-	if (dal_i2c_sw_engine_construct(engine, arg))
-		return &engine->base;
-
-	BREAK_TO_DEBUGGER();
-
-	kfree(engine);
-
-	return NULL;
+	dal_i2c_sw_engine_construct(engine, arg);
+	return &engine->base;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.h b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.h
index e0cb4c3..546f15b 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.h
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.h
@@ -48,7 +48,7 @@ struct i2c_sw_engine_create_arg {
 	struct dc_context *ctx;
 };
 
-bool dal_i2c_sw_engine_construct(
+void dal_i2c_sw_engine_construct(
 	struct i2c_sw_engine *engine,
 	const struct i2c_sw_engine_create_arg *arg);
 
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c b/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c
index 9b115e1..e1593ff 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c
@@ -423,7 +423,7 @@ void dal_i2caux_release_engine(
 	engine->ddc = NULL;
 }
 
-bool dal_i2caux_construct(
+void dal_i2caux_construct(
 	struct i2caux *i2caux,
 	struct dc_context *ctx)
 {
@@ -451,8 +451,6 @@ bool dal_i2caux_construct(
 		i2caux->default_i2c_hw_speed = DEFAULT_I2C_HW_SPEED;
 		i2caux->default_i2c_sw_speed = DEFAULT_I2C_SW_SPEED;
 	}
-
-	return true;
 }
 
 void dal_i2caux_destruct(
diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.h b/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.h
index bc20de3..64f51bb 100644
--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.h
+++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.h
@@ -97,7 +97,7 @@ struct i2caux {
 	uint32_t default_i2c_hw_speed;
 };
 
-bool dal_i2caux_construct(
+void dal_i2caux_construct(
 	struct i2caux *i2caux,
 	struct dc_context *ctx);
 
-- 
2.9.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 5/9] amdgpu/dc: cleanup construct returns in gpio.
       [not found] ` <20170929043442.7984-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (2 preceding siblings ...)
  2017-09-29  4:34   ` [PATCH 4/9] amdgpu/dc: remove pointless returns in the i2caux constructor paths Dave Airlie
@ 2017-09-29  4:34   ` Dave Airlie
  2017-09-29  4:34   ` [PATCH 6/9] amdgpu/dc: another round of dce/dcn construct cleanups Dave Airlie
                     ` (3 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Dave Airlie @ 2017-09-29  4:34 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

From: Dave Airlie <airlied@redhat.com>

This is similiar to previous patches, don't return when we don't
need to, also do error checking before allocating memory, makes
it simpler to cleanup after.

Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c  | 33 +++++++------------
 drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.c |  4 +--
 drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.h |  2 +-
 drivers/gpu/drm/amd/display/dc/gpio/hw_hpd.c  | 47 ++++++++++-----------------
 4 files changed, 30 insertions(+), 56 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c b/drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c
index 7b6efa4..310f489 100644
--- a/drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c
+++ b/drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c
@@ -199,25 +199,14 @@ static const struct hw_gpio_pin_funcs funcs = {
 	.close = dal_hw_gpio_close,
 };
 
-static bool construct(
+static void construct(
 	struct hw_ddc *ddc,
 	enum gpio_id id,
 	uint32_t en,
 	struct dc_context *ctx)
 {
-	if ((en < GPIO_DDC_LINE_MIN) || (en > GPIO_DDC_LINE_MAX)) {
-		ASSERT_CRITICAL(false);
-		return false;
-	}
-
-	if (!dal_hw_gpio_construct(&ddc->base, id, en, ctx)) {
-		ASSERT_CRITICAL(false);
-		return false;
-	}
-
+	dal_hw_gpio_construct(&ddc->base, id, en, ctx);
 	ddc->base.base.funcs = &funcs;
-
-	return true;
 }
 
 struct hw_gpio_pin *dal_hw_ddc_create(
@@ -225,19 +214,19 @@ struct hw_gpio_pin *dal_hw_ddc_create(
 	enum gpio_id id,
 	uint32_t en)
 {
-	struct hw_ddc *pin = kzalloc(sizeof(struct hw_ddc), GFP_KERNEL);
+	struct hw_ddc *pin;
 
-	if (!pin) {
+	if ((en < GPIO_DDC_LINE_MIN) || (en > GPIO_DDC_LINE_MAX)) {
 		ASSERT_CRITICAL(false);
 		return NULL;
 	}
 
-	if (construct(pin, id, en, ctx))
-		return &pin->base.base;
-
-	ASSERT_CRITICAL(false);
-
-	kfree(pin);
+	pin = kzalloc(sizeof(struct hw_ddc), GFP_KERNEL);
+	if (!pin) {
+		ASSERT_CRITICAL(false);
+		return NULL;
+	}
 
-	return NULL;
+	construct(pin, id, en, ctx);
+	return &pin->base.base;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.c b/drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.c
index 4cdcdfb..6605108 100644
--- a/drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.c
+++ b/drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.c
@@ -176,7 +176,7 @@ enum gpio_result dal_hw_gpio_config_mode(
 	}
 }
 
-bool dal_hw_gpio_construct(
+void dal_hw_gpio_construct(
 	struct hw_gpio *pin,
 	enum gpio_id id,
 	uint32_t en,
@@ -194,8 +194,6 @@ bool dal_hw_gpio_construct(
 	pin->store.mux = 0;
 
 	pin->mux_supported = false;
-
-	return true;
 }
 
 void dal_hw_gpio_destruct(
diff --git a/drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.h b/drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.h
index fb41ee2..bca0cef 100644
--- a/drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.h
+++ b/drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.h
@@ -109,7 +109,7 @@ struct hw_gpio {
 #define HW_GPIO_FROM_BASE(hw_gpio_pin) \
 	container_of((hw_gpio_pin), struct hw_gpio, base)
 
-bool dal_hw_gpio_construct(
+void dal_hw_gpio_construct(
 	struct hw_gpio *pin,
 	enum gpio_id id,
 	uint32_t en,
diff --git a/drivers/gpu/drm/amd/display/dc/gpio/hw_hpd.c b/drivers/gpu/drm/amd/display/dc/gpio/hw_hpd.c
index 0c255c0..784fecc 100644
--- a/drivers/gpu/drm/amd/display/dc/gpio/hw_hpd.c
+++ b/drivers/gpu/drm/amd/display/dc/gpio/hw_hpd.c
@@ -41,15 +41,13 @@
 #define REG(reg)\
 	(hpd->regs->reg)
 
-static bool dal_hw_hpd_construct(
+static void dal_hw_hpd_construct(
 	struct hw_hpd *pin,
 	enum gpio_id id,
 	uint32_t en,
 	struct dc_context *ctx)
 {
-	if (!dal_hw_gpio_construct(&pin->base, id, en, ctx))
-		return false;
-	return true;
+	dal_hw_gpio_construct(&pin->base, id, en, ctx);
 }
 
 static void dal_hw_hpd_destruct(
@@ -126,30 +124,14 @@ static const struct hw_gpio_pin_funcs funcs = {
 	.close = dal_hw_gpio_close,
 };
 
-static bool construct(
+static void construct(
 	struct hw_hpd *hpd,
 	enum gpio_id id,
 	uint32_t en,
 	struct dc_context *ctx)
 {
-	if (id != GPIO_ID_HPD) {
-		ASSERT_CRITICAL(false);
-		return false;
-	}
-
-	if ((en < GPIO_HPD_MIN) || (en > GPIO_HPD_MAX)) {
-		ASSERT_CRITICAL(false);
-		return false;
-	}
-
-	if (!dal_hw_hpd_construct(hpd, id, en, ctx)) {
-		ASSERT_CRITICAL(false);
-		return false;
-	}
-
+	dal_hw_hpd_construct(hpd, id, en, ctx);
 	hpd->base.base.funcs = &funcs;
-
-	return true;
 }
 
 struct hw_gpio_pin *dal_hw_hpd_create(
@@ -157,19 +139,24 @@ struct hw_gpio_pin *dal_hw_hpd_create(
 	enum gpio_id id,
 	uint32_t en)
 {
-	struct hw_hpd *hpd = kzalloc(sizeof(struct hw_hpd), GFP_KERNEL);
+	struct hw_hpd *hpd;
 
-	if (!hpd) {
+	if (id != GPIO_ID_HPD) {
 		ASSERT_CRITICAL(false);
 		return NULL;
 	}
 
-	if (construct(hpd, id, en, ctx))
-		return &hpd->base.base;
-
-	ASSERT_CRITICAL(false);
+	if ((en < GPIO_HPD_MIN) || (en > GPIO_HPD_MAX)) {
+		ASSERT_CRITICAL(false);
+		return NULL;
+	}
 
-	kfree(hpd);
+	hpd = kzalloc(sizeof(struct hw_hpd), GFP_KERNEL);
+	if (!hpd) {
+		ASSERT_CRITICAL(false);
+		return NULL;
+	}
 
-	return NULL;
+	construct(hpd, id, en, ctx);
+	return &hpd->base.base;
 }
-- 
2.9.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 6/9] amdgpu/dc: another round of dce/dcn construct cleanups.
       [not found] ` <20170929043442.7984-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (3 preceding siblings ...)
  2017-09-29  4:34   ` [PATCH 5/9] amdgpu/dc: cleanup construct returns in gpio Dave Airlie
@ 2017-09-29  4:34   ` Dave Airlie
  2017-09-29  4:34   ` [PATCH 7/9] amdgpu/dc: remove pointless return from build_pipe_hw_param Dave Airlie
                     ` (2 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Dave Airlie @ 2017-09-29  4:34 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

From: Dave Airlie <airlied@redhat.com>

This removes any remaining pointless return codepaths from the
DCE code.

Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 .../drm/amd/display/dc/dce100/dce100_hw_sequencer.c  |  4 +---
 .../drm/amd/display/dc/dce100/dce100_hw_sequencer.h  |  2 +-
 .../gpu/drm/amd/display/dc/dce100/dce100_resource.c  |  4 +---
 .../drm/amd/display/dc/dce110/dce110_compressor.c    | 11 +++--------
 .../drm/amd/display/dc/dce110/dce110_compressor.h    |  2 +-
 .../drm/amd/display/dc/dce110/dce110_hw_sequencer.c  |  4 +---
 .../drm/amd/display/dc/dce110/dce110_hw_sequencer.h  |  2 +-
 drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_v.c |  4 +---
 drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_v.h |  2 +-
 .../gpu/drm/amd/display/dc/dce110/dce110_resource.c  |  6 ++----
 .../display/dc/dce110/dce110_timing_generator_v.c    |  7 +------
 .../display/dc/dce110/dce110_timing_generator_v.h    |  2 +-
 .../drm/amd/display/dc/dce112/dce112_compressor.c    | 11 +++--------
 .../drm/amd/display/dc/dce112/dce112_compressor.h    |  2 +-
 .../drm/amd/display/dc/dce112/dce112_hw_sequencer.c  |  4 +---
 .../drm/amd/display/dc/dce112/dce112_hw_sequencer.h  |  2 +-
 .../gpu/drm/amd/display/dc/dce112/dce112_resource.c  |  3 +--
 .../drm/amd/display/dc/dce120/dce120_hw_sequencer.c  |  4 +---
 .../drm/amd/display/dc/dce120/dce120_hw_sequencer.h  |  2 +-
 .../gpu/drm/amd/display/dc/dce120/dce120_resource.c  |  8 ++------
 .../amd/display/dc/dce120/dce120_timing_generator.c  |  7 +------
 .../amd/display/dc/dce120/dce120_timing_generator.h  |  2 +-
 .../gpu/drm/amd/display/dc/dce80/dce80_compressor.c  | 11 +++--------
 .../gpu/drm/amd/display/dc/dce80/dce80_compressor.h  |  2 +-
 .../drm/amd/display/dc/dce80/dce80_hw_sequencer.c    |  4 +---
 .../drm/amd/display/dc/dce80/dce80_hw_sequencer.h    |  2 +-
 .../gpu/drm/amd/display/dc/dce80/dce80_resource.c    |  9 +++------
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c     |  4 +---
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.h     |  2 +-
 .../gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.c   |  4 +---
 .../gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.h   |  2 +-
 .../gpu/drm/amd/display/dc/dcn10/dcn10_resource.c    | 20 ++++++--------------
 32 files changed, 47 insertions(+), 108 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dce100/dce100_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dce100/dce100_hw_sequencer.c
index 492ea60..e7a6948 100644
--- a/drivers/gpu/drm/amd/display/dc/dce100/dce100_hw_sequencer.c
+++ b/drivers/gpu/drm/amd/display/dc/dce100/dce100_hw_sequencer.c
@@ -142,13 +142,11 @@ void dce100_set_bandwidth(
 
 /**************************************************************************/
 
-bool dce100_hw_sequencer_construct(struct dc *dc)
+void dce100_hw_sequencer_construct(struct dc *dc)
 {
 	dce110_hw_sequencer_construct(dc);
 
 	dc->hwss.enable_display_power_gating = dce100_enable_display_power_gating;
 	dc->hwss.set_bandwidth = dce100_set_bandwidth;
-
-	return true;
 }
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce100/dce100_hw_sequencer.h b/drivers/gpu/drm/amd/display/dc/dce100/dce100_hw_sequencer.h
index 770b5bb..cb5384e 100644
--- a/drivers/gpu/drm/amd/display/dc/dce100/dce100_hw_sequencer.h
+++ b/drivers/gpu/drm/amd/display/dc/dce100/dce100_hw_sequencer.h
@@ -31,7 +31,7 @@
 struct dc;
 struct dc_state;
 
-bool dce100_hw_sequencer_construct(struct dc *dc);
+void dce100_hw_sequencer_construct(struct dc *dc);
 
 void dce100_set_bandwidth(
 		struct dc *dc,
diff --git a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c
index 1caf298..0db987d 100644
--- a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c
@@ -909,9 +909,7 @@ static bool construct(
 		goto res_create_fail;
 
 	/* Create hardware sequencer */
-	if (!dce100_hw_sequencer_construct(dc))
-		goto res_create_fail;
-
+	dce100_hw_sequencer_construct(dc);
 	return true;
 
 res_create_fail:
diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_compressor.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_compressor.c
index 90770cb..3872feb 100644
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_compressor.c
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_compressor.c
@@ -393,12 +393,8 @@ struct compressor *dce110_compressor_create(struct dc_context *ctx)
 	if (!cp110)
 		return NULL;
 
-	if (dce110_compressor_construct(cp110, ctx))
-		return &cp110->base;
-
-	BREAK_TO_DEBUGGER();
-	kfree(cp110);
-	return NULL;
+	dce110_compressor_construct(cp110, ctx);
+	return &cp110->base;
 }
 
 void dce110_compressor_destroy(struct compressor **compressor)
@@ -485,7 +481,7 @@ static const struct compressor_funcs dce110_compressor_funcs = {
 };
 
 
-bool dce110_compressor_construct(struct dce110_compressor *compressor,
+void dce110_compressor_construct(struct dce110_compressor *compressor,
 	struct dc_context *ctx)
 {
 
@@ -522,6 +518,5 @@ bool dce110_compressor_construct(struct dce110_compressor *compressor,
 	compressor->base.funcs = &dce110_compressor_funcs;
 
 #endif
-	return true;
 }
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_compressor.h b/drivers/gpu/drm/amd/display/dc/dce110/dce110_compressor.h
index 460cb77..26c7335 100644
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_compressor.h
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_compressor.h
@@ -42,7 +42,7 @@ struct dce110_compressor {
 
 struct compressor *dce110_compressor_create(struct dc_context *ctx);
 
-bool dce110_compressor_construct(struct dce110_compressor *cp110,
+void dce110_compressor_construct(struct dce110_compressor *cp110,
 	struct dc_context *ctx);
 
 void dce110_compressor_destroy(struct compressor **cp);
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 5bbfc34..de15432 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,10 +2723,8 @@ static const struct hw_sequencer_funcs dce110_funcs = {
 
 };
 
-bool dce110_hw_sequencer_construct(struct dc *dc)
+void dce110_hw_sequencer_construct(struct dc *dc)
 {
 	dc->hwss = dce110_funcs;
-
-	return true;
 }
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.h b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.h
index baa20c1..db6c19c 100644
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.h
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.h
@@ -33,7 +33,7 @@ struct dc;
 struct dc_state;
 struct dm_pp_display_configuration;
 
-bool dce110_hw_sequencer_construct(struct dc *dc);
+void dce110_hw_sequencer_construct(struct dc *dc);
 
 enum dc_status dce110_apply_ctx_to_hw(
 		struct dc *dc,
diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_v.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_v.c
index 69d6a11..3545e43 100644
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_v.c
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_v.c
@@ -44,13 +44,11 @@ static const struct opp_funcs funcs = {
 				dce110_opp_program_bit_depth_reduction
 };
 
-bool dce110_opp_v_construct(struct dce110_opp *opp110,
+void dce110_opp_v_construct(struct dce110_opp *opp110,
 	struct dc_context *ctx)
 {
 	opp110->base.funcs = &funcs;
 
 	opp110->base.ctx = ctx;
-
-	return true;
 }
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_v.h b/drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_v.h
index 269c1a8..152af4c 100644
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_v.h
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_v.h
@@ -29,7 +29,7 @@
 #include "opp.h"
 #include "core_types.h"
 
-bool dce110_opp_v_construct(struct dce110_opp *opp110,
+void dce110_opp_v_construct(struct dce110_opp *opp110,
 	struct dc_context *ctx);
 
 /* underlay callbacks */
diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
index 45c5fac..017a1fd 100644
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
@@ -1041,8 +1041,7 @@ static bool underlay_create(struct dc_context *ctx, struct resource_pool *pool)
 		(dce110_oppv == NULL))
 			return false;
 
-	if (!dce110_opp_v_construct(dce110_oppv, ctx))
-		return false;
+	dce110_opp_v_construct(dce110_oppv, ctx);
 
 	dce110_timing_generator_v_construct(dce110_tgv, ctx);
 	dce110_mem_input_v_construct(dce110_miv, ctx);
@@ -1292,8 +1291,7 @@ static bool construct(
 		goto res_create_fail;
 
 	/* Create hardware sequencer */
-	if (!dce110_hw_sequencer_construct(dc))
-		goto res_create_fail;
+	dce110_hw_sequencer_construct(dc);
 
 	dc->caps.max_planes =  pool->base.pipe_count;
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_timing_generator_v.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_timing_generator_v.c
index 93ca6ae..07d9303 100644
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_timing_generator_v.c
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_timing_generator_v.c
@@ -668,13 +668,10 @@ static const struct timing_generator_funcs dce110_tg_v_funcs = {
 				dce110_timing_generator_v_enable_advanced_request
 };
 
-bool dce110_timing_generator_v_construct(
+void dce110_timing_generator_v_construct(
 	struct dce110_timing_generator *tg110,
 	struct dc_context *ctx)
 {
-	if (!tg110)
-		return false;
-
 	tg110->controller_id = CONTROLLER_ID_UNDERLAY0;
 
 	tg110->base.funcs = &dce110_tg_v_funcs;
@@ -688,6 +685,4 @@ bool dce110_timing_generator_v_construct(
 	tg110->min_h_blank = 56;
 	tg110->min_h_front_porch = 4;
 	tg110->min_h_back_porch = 4;
-
-	return true;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_timing_generator_v.h b/drivers/gpu/drm/amd/display/dc/dce110/dce110_timing_generator_v.h
index 7e49ca8..d2623a5 100644
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_timing_generator_v.h
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_timing_generator_v.h
@@ -26,7 +26,7 @@
 #ifndef __DC_TIMING_GENERATOR_V_DCE110_H__
 #define __DC_TIMING_GENERATOR_V_DCE110_H__
 
-bool dce110_timing_generator_v_construct(
+void dce110_timing_generator_v_construct(
 	struct dce110_timing_generator *tg110,
 	struct dc_context *ctx);
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce112/dce112_compressor.c b/drivers/gpu/drm/amd/display/dc/dce112/dce112_compressor.c
index e75895b..6964992 100644
--- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_compressor.c
+++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_compressor.c
@@ -791,7 +791,7 @@ void dce112_compressor_set_fbc_invalidation_triggers(
 	dm_write_reg(compressor->ctx, addr, value);
 }
 
-bool dce112_compressor_construct(struct dce112_compressor *compressor,
+void dce112_compressor_construct(struct dce112_compressor *compressor,
 	struct dc_context *ctx)
 {
 	struct dc_bios *bp = ctx->dc_bios;
@@ -833,7 +833,6 @@ bool dce112_compressor_construct(struct dce112_compressor *compressor,
 		compressor->base.embedded_panel_v_size =
 			panel_info.lcd_timing.vertical_addressable;
 	}
-	return true;
 }
 
 struct compressor *dce112_compressor_create(struct dc_context *ctx)
@@ -844,12 +843,8 @@ struct compressor *dce112_compressor_create(struct dc_context *ctx)
 	if (!cp110)
 		return NULL;
 
-	if (dce112_compressor_construct(cp110, ctx))
-		return &cp110->base;
-
-	BREAK_TO_DEBUGGER();
-	kfree(cp110);
-	return NULL;
+	dce112_compressor_construct(cp110, ctx);
+	return &cp110->base;
 }
 
 void dce112_compressor_destroy(struct compressor **compressor)
diff --git a/drivers/gpu/drm/amd/display/dc/dce112/dce112_compressor.h b/drivers/gpu/drm/amd/display/dc/dce112/dce112_compressor.h
index 1065063..f122713 100644
--- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_compressor.h
+++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_compressor.h
@@ -42,7 +42,7 @@ struct dce112_compressor {
 
 struct compressor *dce112_compressor_create(struct dc_context *ctx);
 
-bool dce112_compressor_construct(struct dce112_compressor *cp110,
+void dce112_compressor_construct(struct dce112_compressor *cp110,
 	struct dc_context *ctx);
 
 void dce112_compressor_destroy(struct compressor **cp);
diff --git a/drivers/gpu/drm/amd/display/dc/dce112/dce112_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dce112/dce112_hw_sequencer.c
index 8816e09..1e4a7c1 100644
--- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_hw_sequencer.c
+++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_hw_sequencer.c
@@ -152,14 +152,12 @@ static bool dce112_enable_display_power_gating(
 		return false;
 }
 
-bool dce112_hw_sequencer_construct(struct dc *dc)
+void dce112_hw_sequencer_construct(struct dc *dc)
 {
 	/* All registers used by dce11.2 match those in dce11 in offset and
 	 * structure
 	 */
 	dce110_hw_sequencer_construct(dc);
 	dc->hwss.enable_display_power_gating = dce112_enable_display_power_gating;
-
-	return true;
 }
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce112/dce112_hw_sequencer.h b/drivers/gpu/drm/amd/display/dc/dce112/dce112_hw_sequencer.h
index 37bd60c..e646f4a 100644
--- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_hw_sequencer.h
+++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_hw_sequencer.h
@@ -30,7 +30,7 @@
 
 struct dc;
 
-bool dce112_hw_sequencer_construct(struct dc *dc);
+void dce112_hw_sequencer_construct(struct dc *dc);
 
 #endif /* __DC_HWSS_DCE112_H__ */
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
index 251e4a2..11902a2 100644
--- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
@@ -1256,8 +1256,7 @@ static bool construct(
 	dc->caps.max_planes =  pool->base.pipe_count;
 
 	/* Create hardware sequencer */
-	if (!dce112_hw_sequencer_construct(dc))
-		goto res_create_fail;
+	dce112_hw_sequencer_construct(dc);
 
 	bw_calcs_init(dc->bw_dceip, dc->bw_vbios, dc->ctx->asic_id);
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce120/dce120_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dce120/dce120_hw_sequencer.c
index 56e3b12..1a0b54d 100644
--- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_hw_sequencer.c
+++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_hw_sequencer.c
@@ -245,7 +245,7 @@ static void dce120_update_dchub(
 
 
 
-bool dce120_hw_sequencer_construct(struct dc *dc)
+void dce120_hw_sequencer_construct(struct dc *dc)
 {
 	/* All registers used by dce11.2 match those in dce11 in offset and
 	 * structure
@@ -253,7 +253,5 @@ bool dce120_hw_sequencer_construct(struct dc *dc)
 	dce110_hw_sequencer_construct(dc);
 	dc->hwss.enable_display_power_gating = dce120_enable_display_power_gating;
 	dc->hwss.update_dchub = dce120_update_dchub;
-
-	return true;
 }
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce120/dce120_hw_sequencer.h b/drivers/gpu/drm/amd/display/dc/dce120/dce120_hw_sequencer.h
index 6448a17..77a6b86 100644
--- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_hw_sequencer.h
+++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_hw_sequencer.h
@@ -30,7 +30,7 @@
 
 struct dc;
 
-bool dce120_hw_sequencer_construct(struct dc *dc);
+void dce120_hw_sequencer_construct(struct dc *dc);
 
 #endif /* __DC_HWSS_DCE112_H__ */
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
index 13d75df..3ed28a8 100644
--- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
@@ -429,12 +429,8 @@ static struct timing_generator *dce120_timing_generator_create(
 	if (!tg110)
 		return NULL;
 
-	if (dce120_timing_generator_construct(tg110, ctx, instance, offsets))
-		return &tg110->base;
-
-	BREAK_TO_DEBUGGER();
-	kfree(tg110);
-	return NULL;
+	dce120_timing_generator_construct(tg110, ctx, instance, offsets);
+	return &tg110->base;
 }
 
 static void dce120_transform_destroy(struct transform **xfm)
diff --git a/drivers/gpu/drm/amd/display/dc/dce120/dce120_timing_generator.c b/drivers/gpu/drm/amd/display/dc/dce120/dce120_timing_generator.c
index 791c9b0..95d871b 100644
--- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_timing_generator.c
+++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_timing_generator.c
@@ -1143,15 +1143,12 @@ static const struct timing_generator_funcs dce120_tg_funcs = {
 };
 
 
-bool dce120_timing_generator_construct(
+void dce120_timing_generator_construct(
 	struct dce110_timing_generator *tg110,
 	struct dc_context *ctx,
 	uint32_t instance,
 	const struct dce110_timing_generator_offsets *offsets)
 {
-	if (!tg110)
-			return false;
-
 	tg110->controller_id = CONTROLLER_ID_D0 + instance;
 	tg110->base.inst = instance;
 
@@ -1175,6 +1172,4 @@ bool dce120_timing_generator_construct(
 	tg110->min_h_sync_width = 8;
 	tg110->min_v_sync_width = 1;
 	tg110->min_v_blank = 3;
-
-	return true;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/dce120/dce120_timing_generator.h b/drivers/gpu/drm/amd/display/dc/dce120/dce120_timing_generator.h
index 243c0a3..d69871e 100644
--- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_timing_generator.h
+++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_timing_generator.h
@@ -32,7 +32,7 @@
 #include "dce110/dce110_timing_generator.h"
 
 
-bool dce120_timing_generator_construct(
+void dce120_timing_generator_construct(
 	struct dce110_timing_generator *tg110,
 	struct dc_context *ctx,
 	uint32_t instance,
diff --git a/drivers/gpu/drm/amd/display/dc/dce80/dce80_compressor.c b/drivers/gpu/drm/amd/display/dc/dce80/dce80_compressor.c
index cc1c0d3..951f2ca 100644
--- a/drivers/gpu/drm/amd/display/dc/dce80/dce80_compressor.c
+++ b/drivers/gpu/drm/amd/display/dc/dce80/dce80_compressor.c
@@ -771,7 +771,7 @@ void dce80_compressor_set_fbc_invalidation_triggers(
 	dm_write_reg(compressor->ctx, addr, value);
 }
 
-bool dce80_compressor_construct(struct dce80_compressor *compressor,
+void dce80_compressor_construct(struct dce80_compressor *compressor,
 	struct dc_context *ctx)
 {
 	struct dc_bios *bp = ctx->dc_bios;
@@ -813,7 +813,6 @@ bool dce80_compressor_construct(struct dce80_compressor *compressor,
 		compressor->base.embedded_panel_v_size =
 			panel_info.lcd_timing.vertical_addressable;
 	}
-	return true;
 }
 
 struct compressor *dce80_compressor_create(struct dc_context *ctx)
@@ -824,12 +823,8 @@ struct compressor *dce80_compressor_create(struct dc_context *ctx)
 	if (!cp80)
 		return NULL;
 
-	if (dce80_compressor_construct(cp80, ctx))
-		return &cp80->base;
-
-	BREAK_TO_DEBUGGER();
-	kfree(cp80);
-	return NULL;
+	dce80_compressor_construct(cp80, ctx);
+	return &cp80->base;
 }
 
 void dce80_compressor_destroy(struct compressor **compressor)
diff --git a/drivers/gpu/drm/amd/display/dc/dce80/dce80_compressor.h b/drivers/gpu/drm/amd/display/dc/dce80/dce80_compressor.h
index 0129096..cca58b0 100644
--- a/drivers/gpu/drm/amd/display/dc/dce80/dce80_compressor.h
+++ b/drivers/gpu/drm/amd/display/dc/dce80/dce80_compressor.h
@@ -42,7 +42,7 @@ struct dce80_compressor {
 
 struct compressor *dce80_compressor_create(struct dc_context *ctx);
 
-bool dce80_compressor_construct(struct dce80_compressor *cp80,
+void dce80_compressor_construct(struct dce80_compressor *cp80,
 		struct dc_context *ctx);
 
 void dce80_compressor_destroy(struct compressor **cp);
diff --git a/drivers/gpu/drm/amd/display/dc/dce80/dce80_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dce80/dce80_hw_sequencer.c
index 28fe382..ccfcf1c 100644
--- a/drivers/gpu/drm/amd/display/dc/dce80/dce80_hw_sequencer.c
+++ b/drivers/gpu/drm/amd/display/dc/dce80/dce80_hw_sequencer.c
@@ -106,14 +106,12 @@ static bool dce80_enable_display_power_gating(
 		return false;
 }
 
-bool dce80_hw_sequencer_construct(struct dc *dc)
+void dce80_hw_sequencer_construct(struct dc *dc)
 {
 	dce110_hw_sequencer_construct(dc);
 
 	dc->hwss.enable_display_power_gating = dce80_enable_display_power_gating;
 	dc->hwss.pipe_control_lock = dce_pipe_control_lock;
 	dc->hwss.set_bandwidth = dce100_set_bandwidth;
-
-	return true;
 }
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce80/dce80_hw_sequencer.h b/drivers/gpu/drm/amd/display/dc/dce80/dce80_hw_sequencer.h
index 9d6dd05..7a1b31d 100644
--- a/drivers/gpu/drm/amd/display/dc/dce80/dce80_hw_sequencer.h
+++ b/drivers/gpu/drm/amd/display/dc/dce80/dce80_hw_sequencer.h
@@ -30,7 +30,7 @@
 
 struct dc;
 
-bool dce80_hw_sequencer_construct(struct dc *dc);
+void dce80_hw_sequencer_construct(struct dc *dc);
 
 #endif /* __DC_HWSS_DCE80_H__ */
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
index 5e00ca6..c6571a9 100644
--- a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
@@ -910,8 +910,7 @@ static bool dce80_construct(
 		goto res_create_fail;
 
 	/* Create hardware sequencer */
-	if (!dce80_hw_sequencer_construct(dc))
-		goto res_create_fail;
+	dce80_hw_sequencer_construct(dc);
 
 	return true;
 
@@ -1075,8 +1074,7 @@ static bool dce81_construct(
 		goto res_create_fail;
 
 	/* Create hardware sequencer */
-	if (!dce80_hw_sequencer_construct(dc))
-		goto res_create_fail;
+	dce80_hw_sequencer_construct(dc);
 
 	return true;
 
@@ -1236,8 +1234,7 @@ static bool dce83_construct(
 		goto res_create_fail;
 
 	/* Create hardware sequencer */
-	if (!dce80_hw_sequencer_construct(dc))
-		goto res_create_fail;
+	dce80_hw_sequencer_construct(dc);
 
 	return true;
 
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c
index 8607ab2..9d9604f 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c
@@ -397,7 +397,7 @@ static const struct transform_funcs dcn10_dpp_funcs = {
 /* Constructor, Destructor               */
 /*****************************************/
 
-bool dcn10_dpp_construct(
+void dcn10_dpp_construct(
 	struct dcn10_dpp *xfm,
 	struct dc_context *ctx,
 	uint32_t inst,
@@ -421,6 +421,4 @@ bool dcn10_dpp_construct(
 
 	xfm->lb_bits_per_entry = LB_BITS_PER_ENTRY;
 	xfm->lb_memory_size = LB_TOTAL_NUMBER_OF_ENTRIES; /*0x1404*/
-
-	return true;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.h b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.h
index afe9d8f..a1f6b01 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.h
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.h
@@ -1356,7 +1356,7 @@ void ippn10_cnv_setup (
 
 void ippn10_full_bypass(struct transform *xfm_base);
 
-bool dcn10_dpp_construct(struct dcn10_dpp *xfm110,
+void dcn10_dpp_construct(struct dcn10_dpp *xfm110,
 	struct dc_context *ctx,
 	uint32_t inst,
 	const struct dcn_dpp_registers *tf_regs,
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.c
index 9008cd0..c808848 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.c
@@ -786,7 +786,7 @@ static struct mem_input_funcs dcn10_mem_input_funcs = {
 /* Constructor, Destructor               */
 /*****************************************/
 
-bool dcn10_mem_input_construct(
+void dcn10_mem_input_construct(
 	struct dcn10_mem_input *mi,
 	struct dc_context *ctx,
 	uint32_t inst,
@@ -802,7 +802,5 @@ bool dcn10_mem_input_construct(
 	mi->base.inst = inst;
 	mi->base.opp_id = 0xf;
 	mi->base.mpcc_id = 0xf;
-
-	return true;
 }
 
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.h b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.h
index acee051..aefd3e7 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.h
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.h
@@ -538,7 +538,7 @@ struct dcn10_mem_input {
 	const struct dcn_mi_mask *mi_mask;
 };
 
-bool dcn10_mem_input_construct(
+void dcn10_mem_input_construct(
 	struct dcn10_mem_input *mi,
 	struct dc_context *ctx,
 	uint32_t inst,
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 c2df57b..fb3ef13 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
@@ -462,13 +462,9 @@ static struct transform *dcn10_dpp_create(
 	if (!dpp)
 		return NULL;
 
-	if (dcn10_dpp_construct(dpp, ctx, inst,
-			&tf_regs[inst], &tf_shift, &tf_mask))
-		return &dpp->base;
-
-	BREAK_TO_DEBUGGER();
-	kfree(dpp);
-	return NULL;
+	dcn10_dpp_construct(dpp, ctx, inst,
+			    &tf_regs[inst], &tf_shift, &tf_mask);
+	return &dpp->base;
 }
 
 static struct input_pixel_processor *dcn10_ipp_create(
@@ -771,13 +767,9 @@ static struct mem_input *dcn10_mem_input_create(
 	if (!mem_inputn10)
 		return NULL;
 
-	if (dcn10_mem_input_construct(mem_inputn10, ctx, inst,
-			&mi_regs[inst], &mi_shift, &mi_mask))
-		return &mem_inputn10->base;
-
-	BREAK_TO_DEBUGGER();
-	kfree(mem_inputn10);
-	return NULL;
+	dcn10_mem_input_construct(mem_inputn10, ctx, inst,
+				  &mi_regs[inst], &mi_shift, &mi_mask);
+	return &mem_inputn10->base;
 }
 
 static void get_pixel_clock_parameters(
-- 
2.9.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 7/9] amdgpu/dc: remove pointless return from build_pipe_hw_param
       [not found] ` <20170929043442.7984-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (4 preceding siblings ...)
  2017-09-29  4:34   ` [PATCH 6/9] amdgpu/dc: another round of dce/dcn construct cleanups Dave Airlie
@ 2017-09-29  4:34   ` Dave Airlie
  2017-09-29  4:34   ` [PATCH 8/9] amdgpu: fixup construct to void paths on some more dc objects Dave Airlie
  2017-09-29  4:34   ` [PATCH 9/9] amdgpu/dc: fix construct return values on irq service Dave Airlie
  7 siblings, 0 replies; 10+ messages in thread
From: Dave Airlie @ 2017-09-29  4:34 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

From: Dave Airlie <airlied@redhat.com>

This never returned anything else.

Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c |  6 +-----
 drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c | 10 ++--------
 drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.h |  2 +-
 drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c |  6 +-----
 drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c   |  6 +-----
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c   | 11 ++---------
 6 files changed, 8 insertions(+), 33 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c
index 0db987d..b1cf591 100644
--- a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c
@@ -631,16 +631,12 @@ static enum dc_status build_mapped_resource(
 		struct dc_state *context,
 		struct dc_stream_state *stream)
 {
-	enum dc_status status = DC_OK;
 	struct pipe_ctx *pipe_ctx = resource_get_head_pipe_for_stream(&context->res_ctx, stream);
 
 	if (!pipe_ctx)
 		return DC_ERROR_UNEXPECTED;
 
-	status = dce110_resource_build_pipe_hw_param(pipe_ctx);
-
-	if (status != DC_OK)
-		return status;
+	dce110_resource_build_pipe_hw_param(pipe_ctx);
 
 	resource_build_info_frame(pipe_ctx);
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
index 017a1fd..89036af 100644
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
@@ -724,7 +724,7 @@ static void get_pixel_clock_parameters(
 	}
 }
 
-enum dc_status dce110_resource_build_pipe_hw_param(struct pipe_ctx *pipe_ctx)
+void dce110_resource_build_pipe_hw_param(struct pipe_ctx *pipe_ctx)
 {
 	get_pixel_clock_parameters(pipe_ctx, &pipe_ctx->stream_res.pix_clk_params);
 	pipe_ctx->clock_source->funcs->get_pix_clk_dividers(
@@ -734,8 +734,6 @@ enum dc_status dce110_resource_build_pipe_hw_param(struct pipe_ctx *pipe_ctx)
 	resource_build_bit_depth_reduction_params(pipe_ctx->stream,
 			&pipe_ctx->stream->bit_depth_params);
 	pipe_ctx->stream->clamping.pixel_encoding = pipe_ctx->stream->timing.pixel_encoding;
-
-	return DC_OK;
 }
 
 static bool is_surface_pixel_format_supported(struct pipe_ctx *pipe_ctx, unsigned int underlay_idx)
@@ -754,7 +752,6 @@ static enum dc_status build_mapped_resource(
 		struct dc_state *context,
 		struct dc_stream_state *stream)
 {
-	enum dc_status status = DC_OK;
 	struct pipe_ctx *pipe_ctx = resource_get_head_pipe_for_stream(&context->res_ctx, stream);
 
 	if (!pipe_ctx)
@@ -764,10 +761,7 @@ static enum dc_status build_mapped_resource(
 			dc->res_pool->underlay_pipe_index))
 		return DC_SURFACE_PIXEL_FORMAT_UNSUPPORTED;
 
-	status = dce110_resource_build_pipe_hw_param(pipe_ctx);
-
-	if (status != DC_OK)
-		return status;
+	dce110_resource_build_pipe_hw_param(pipe_ctx);
 
 	/* TODO: validate audio ASIC caps, encoder */
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.h b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.h
index 5bb692d..e5f168c 100644
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.h
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.h
@@ -38,7 +38,7 @@ struct dce110_resource_pool {
 	struct resource_pool base;
 };
 
-enum dc_status dce110_resource_build_pipe_hw_param(struct pipe_ctx *pipe_ctx);
+void dce110_resource_build_pipe_hw_param(struct pipe_ctx *pipe_ctx);
 
 struct resource_pool *dce110_create_resource_pool(
 	uint8_t num_virtual_links,
diff --git a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
index 11902a2..663e0a0 100644
--- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
@@ -704,16 +704,12 @@ static enum dc_status build_mapped_resource(
 		struct dc_state *context,
 		struct dc_stream_state *stream)
 {
-	enum dc_status status = DC_OK;
 	struct pipe_ctx *pipe_ctx = resource_get_head_pipe_for_stream(&context->res_ctx, stream);
 
 	if (!pipe_ctx)
 		return DC_ERROR_UNEXPECTED;
 
-	status = dce110_resource_build_pipe_hw_param(pipe_ctx);
-
-	if (status != DC_OK)
-		return status;
+	dce110_resource_build_pipe_hw_param(pipe_ctx);
 
 	resource_build_info_frame(pipe_ctx);
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
index c6571a9..9c18efd 100644
--- a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
@@ -665,16 +665,12 @@ static enum dc_status build_mapped_resource(
 		struct dc_state *context,
 		struct dc_stream_state *stream)
 {
-	enum dc_status status = DC_OK;
 	struct pipe_ctx *pipe_ctx = resource_get_head_pipe_for_stream(&context->res_ctx, stream);
 
 	if (!pipe_ctx)
 		return DC_ERROR_UNEXPECTED;
 
-	status = dce110_resource_build_pipe_hw_param(pipe_ctx);
-
-	if (status != DC_OK)
-		return status;
+	dce110_resource_build_pipe_hw_param(pipe_ctx);
 
 	resource_build_info_frame(pipe_ctx);
 
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 fb3ef13..dc878f7 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
@@ -805,7 +805,7 @@ static void build_clamping_params(struct dc_stream_state *stream)
 	stream->clamping.pixel_encoding = stream->timing.pixel_encoding;
 }
 
-static enum dc_status build_pipe_hw_param(struct pipe_ctx *pipe_ctx)
+static void build_pipe_hw_param(struct pipe_ctx *pipe_ctx)
 {
 
 	get_pixel_clock_parameters(pipe_ctx, &pipe_ctx->stream_res.pix_clk_params);
@@ -820,8 +820,6 @@ static enum dc_status build_pipe_hw_param(struct pipe_ctx *pipe_ctx)
 	resource_build_bit_depth_reduction_params(pipe_ctx->stream,
 					&pipe_ctx->stream->bit_depth_params);
 	build_clamping_params(pipe_ctx->stream);
-
-	return DC_OK;
 }
 
 static enum dc_status build_mapped_resource(
@@ -829,7 +827,6 @@ static enum dc_status build_mapped_resource(
 		struct dc_state *context,
 		struct dc_stream_state *stream)
 {
-	enum dc_status status = DC_OK;
 	struct pipe_ctx *pipe_ctx = resource_get_head_pipe_for_stream(&context->res_ctx, stream);
 
 	/*TODO Seems unneeded anymore */
@@ -853,11 +850,7 @@ static enum dc_status build_mapped_resource(
 	if (!pipe_ctx)
 		return DC_ERROR_UNEXPECTED;
 
-	status = build_pipe_hw_param(pipe_ctx);
-
-	if (status != DC_OK)
-		return status;
-
+	build_pipe_hw_param(pipe_ctx);
 	return DC_OK;
 }
 
-- 
2.9.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 8/9] amdgpu: fixup construct to void paths on some more dc objects.
       [not found] ` <20170929043442.7984-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (5 preceding siblings ...)
  2017-09-29  4:34   ` [PATCH 7/9] amdgpu/dc: remove pointless return from build_pipe_hw_param Dave Airlie
@ 2017-09-29  4:34   ` Dave Airlie
  2017-09-29  4:34   ` [PATCH 9/9] amdgpu/dc: fix construct return values on irq service Dave Airlie
  7 siblings, 0 replies; 10+ messages in thread
From: Dave Airlie @ 2017-09-29  4:34 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

From: Dave Airlie <airlied@redhat.com>

Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c | 10 +++-------
 drivers/gpu/drm/amd/display/dc/core/dc_stream.c   | 18 +++++-------------
 drivers/gpu/drm/amd/display/dc/core/dc_surface.c  | 15 +++------------
 3 files changed, 11 insertions(+), 32 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c
index 226512c..315160d 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c
@@ -245,7 +245,7 @@ void dal_ddc_aux_payloads_add(
 	}
 }
 
-static bool construct(
+static void construct(
 	struct ddc_service *ddc_service,
 	struct ddc_service_init_data *init_data)
 {
@@ -282,7 +282,6 @@ static bool construct(
 		connector_id == CONNECTOR_ID_LVDS;
 
 	ddc_service->wa.raw = 0;
-	return true;
 }
 
 struct ddc_service *dal_ddc_service_create(
@@ -295,11 +294,8 @@ struct ddc_service *dal_ddc_service_create(
 	if (!ddc_service)
 		return NULL;
 
-	if (construct(ddc_service, init_data))
-		return ddc_service;
-
-	kfree(ddc_service);
-	return NULL;
+	construct(ddc_service, init_data);
+	return ddc_service;
 }
 
 static void destruct(struct ddc_service *ddc)
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 d5da847..a9919641 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
@@ -56,7 +56,7 @@ static void update_stream_signal(struct dc_stream_state *stream)
 	}
 }
 
-static bool construct(struct dc_stream_state *stream,
+static void construct(struct dc_stream_state *stream,
 	struct dc_sink *dc_sink_data)
 {
 	uint32_t i = 0;
@@ -104,7 +104,6 @@ static bool construct(struct dc_stream_state *stream,
 	stream->status.link = stream->sink->link;
 
 	update_stream_signal(stream);
-	return true;
 }
 
 static void destruct(struct dc_stream_state *stream)
@@ -142,25 +141,18 @@ struct dc_stream_state *dc_create_stream_for_sink(
 	struct dc_stream_state *stream;
 
 	if (sink == NULL)
-		goto alloc_fail;
+		return NULL;
 
 	stream = kzalloc(sizeof(struct dc_stream_state), GFP_KERNEL);
+	if (stream == NULL)
+		return NULL;
 
-	if (NULL == stream)
-		goto alloc_fail;
-
-	if (false == construct(stream, sink))
-			goto construct_fail;
+	construct(stream, sink);
 
 	atomic_inc(&stream->ref_count);
 
 	return stream;
 
-construct_fail:
-	kfree(stream);
-
-alloc_fail:
-	return NULL;
 }
 
 struct dc_stream_status *dc_stream_get_status(
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c
index 511ada9..f170ae9 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c
@@ -34,12 +34,11 @@
 /*******************************************************************************
  * Private functions
  ******************************************************************************/
-static bool construct(struct dc_context *ctx, struct dc_plane_state *plane_state)
+static void construct(struct dc_context *ctx, struct dc_plane_state *plane_state)
 {
 	plane_state->ctx = ctx;
 	memset(&plane_state->hdr_static_ctx,
 			0, sizeof(struct dc_hdr_static_metadata));
-	return true;
 }
 
 static void destruct(struct dc_plane_state *plane_state)
@@ -72,20 +71,12 @@ struct dc_plane_state *dc_create_plane_state(struct dc *dc)
 						     GFP_KERNEL);
 
 	if (NULL == plane_state)
-		goto alloc_fail;
-
-	if (false == construct(core_dc->ctx, plane_state))
-		goto construct_fail;
+		return NULL;
 
+	construct(core_dc->ctx, plane_state);
 	atomic_inc(&plane_state->ref_count);
 
 	return plane_state;
-
-construct_fail:
-	kfree(plane_state);
-
-alloc_fail:
-	return NULL;
 }
 
 const struct dc_plane_status *dc_plane_get_status(
-- 
2.9.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 9/9] amdgpu/dc: fix construct return values on irq service.
       [not found] ` <20170929043442.7984-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (6 preceding siblings ...)
  2017-09-29  4:34   ` [PATCH 8/9] amdgpu: fixup construct to void paths on some more dc objects Dave Airlie
@ 2017-09-29  4:34   ` Dave Airlie
       [not found]     ` <20170929043442.7984-9-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  7 siblings, 1 reply; 10+ messages in thread
From: Dave Airlie @ 2017-09-29  4:34 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

From: Dave Airlie <airlied@redhat.com>

This just removes more unused return/errors paths.

Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 .../gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.c | 14 ++++----------
 .../gpu/drm/amd/display/dc/irq/dce120/irq_service_dce120.c | 14 ++++----------
 .../gpu/drm/amd/display/dc/irq/dce80/irq_service_dce80.c   | 14 ++++----------
 .../gpu/drm/amd/display/dc/irq/dcn10/irq_service_dcn10.c   | 14 ++++----------
 drivers/gpu/drm/amd/display/dc/irq/irq_service.c           |  9 +++++----
 drivers/gpu/drm/amd/display/dc/irq/irq_service.h           |  2 +-
 6 files changed, 22 insertions(+), 45 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.c b/drivers/gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.c
index 5c55896..f7e40b2 100644
--- a/drivers/gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.c
+++ b/drivers/gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.c
@@ -406,17 +406,14 @@ static const struct irq_service_funcs irq_service_funcs_dce110 = {
 		.to_dal_irq_source = to_dal_irq_source_dce110
 };
 
-static bool construct(
+static void construct(
 	struct irq_service *irq_service,
 	struct irq_service_init_data *init_data)
 {
-	if (!dal_irq_service_construct(irq_service, init_data))
-		return false;
+	dal_irq_service_construct(irq_service, init_data);
 
 	irq_service->info = irq_source_info_dce110;
 	irq_service->funcs = &irq_service_funcs_dce110;
-
-	return true;
 }
 
 struct irq_service *dal_irq_service_dce110_create(
@@ -428,9 +425,6 @@ struct irq_service *dal_irq_service_dce110_create(
 	if (!irq_service)
 		return NULL;
 
-	if (construct(irq_service, init_data))
-		return irq_service;
-
-	kfree(irq_service);
-	return NULL;
+	construct(irq_service, init_data);
+	return irq_service;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/irq/dce120/irq_service_dce120.c b/drivers/gpu/drm/amd/display/dc/irq/dce120/irq_service_dce120.c
index 61d7c28..2ad56b1 100644
--- a/drivers/gpu/drm/amd/display/dc/irq/dce120/irq_service_dce120.c
+++ b/drivers/gpu/drm/amd/display/dc/irq/dce120/irq_service_dce120.c
@@ -265,17 +265,14 @@ static const struct irq_service_funcs irq_service_funcs_dce120 = {
 		.to_dal_irq_source = to_dal_irq_source_dce110
 };
 
-static bool construct(
+static void construct(
 	struct irq_service *irq_service,
 	struct irq_service_init_data *init_data)
 {
-	if (!dal_irq_service_construct(irq_service, init_data))
-		return false;
+	dal_irq_service_construct(irq_service, init_data);
 
 	irq_service->info = irq_source_info_dce120;
 	irq_service->funcs = &irq_service_funcs_dce120;
-
-	return true;
 }
 
 struct irq_service *dal_irq_service_dce120_create(
@@ -287,9 +284,6 @@ struct irq_service *dal_irq_service_dce120_create(
 	if (!irq_service)
 		return NULL;
 
-	if (construct(irq_service, init_data))
-		return irq_service;
-
-	kfree(irq_service);
-	return NULL;
+	construct(irq_service, init_data);
+	return irq_service;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/irq/dce80/irq_service_dce80.c b/drivers/gpu/drm/amd/display/dc/irq/dce80/irq_service_dce80.c
index d6e1fb6..8a2066c 100644
--- a/drivers/gpu/drm/amd/display/dc/irq/dce80/irq_service_dce80.c
+++ b/drivers/gpu/drm/amd/display/dc/irq/dce80/irq_service_dce80.c
@@ -277,17 +277,14 @@ static const struct irq_service_funcs irq_service_funcs_dce80 = {
 		.to_dal_irq_source = to_dal_irq_source_dce110
 };
 
-static bool construct(
+static void construct(
 	struct irq_service *irq_service,
 	struct irq_service_init_data *init_data)
 {
-	if (!dal_irq_service_construct(irq_service, init_data))
-		return false;
+	dal_irq_service_construct(irq_service, init_data);
 
 	irq_service->info = irq_source_info_dce80;
 	irq_service->funcs = &irq_service_funcs_dce80;
-
-	return true;
 }
 
 struct irq_service *dal_irq_service_dce80_create(
@@ -299,11 +296,8 @@ struct irq_service *dal_irq_service_dce80_create(
 	if (!irq_service)
 		return NULL;
 
-	if (construct(irq_service, init_data))
-		return irq_service;
-
-	kfree(irq_service);
-	return NULL;
+	construct(irq_service, init_data);
+	return irq_service;
 }
 
 
diff --git a/drivers/gpu/drm/amd/display/dc/irq/dcn10/irq_service_dcn10.c b/drivers/gpu/drm/amd/display/dc/irq/dcn10/irq_service_dcn10.c
index f6e8611..74ad247 100644
--- a/drivers/gpu/drm/amd/display/dc/irq/dcn10/irq_service_dcn10.c
+++ b/drivers/gpu/drm/amd/display/dc/irq/dcn10/irq_service_dcn10.c
@@ -332,17 +332,14 @@ static const struct irq_service_funcs irq_service_funcs_dcn10 = {
 		.to_dal_irq_source = to_dal_irq_source_dcn10
 };
 
-static bool construct(
+static void construct(
 	struct irq_service *irq_service,
 	struct irq_service_init_data *init_data)
 {
-	if (!dal_irq_service_construct(irq_service, init_data))
-		return false;
+	dal_irq_service_construct(irq_service, init_data);
 
 	irq_service->info = irq_source_info_dcn10;
 	irq_service->funcs = &irq_service_funcs_dcn10;
-
-	return true;
 }
 
 struct irq_service *dal_irq_service_dcn10_create(
@@ -354,9 +351,6 @@ struct irq_service *dal_irq_service_dcn10_create(
 	if (!irq_service)
 		return NULL;
 
-	if (construct(irq_service, init_data))
-		return irq_service;
-
-	kfree(irq_service);
-	return NULL;
+	construct(irq_service, init_data);
+	return irq_service;
 }
diff --git a/drivers/gpu/drm/amd/display/dc/irq/irq_service.c b/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
index ce20622..b106513 100644
--- a/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
+++ b/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
@@ -48,15 +48,16 @@
 #define CTX \
 		irq_service->ctx
 
-bool dal_irq_service_construct(
+void dal_irq_service_construct(
 	struct irq_service *irq_service,
 	struct irq_service_init_data *init_data)
 {
-	if (!init_data || !init_data->ctx)
-		return false;
+	if (!init_data || !init_data->ctx) {
+		BREAK_TO_DEBUGGER();
+		return;
+	}
 
 	irq_service->ctx = init_data->ctx;
-	return true;
 }
 
 void dal_irq_service_destroy(struct irq_service **irq_service)
diff --git a/drivers/gpu/drm/amd/display/dc/irq/irq_service.h b/drivers/gpu/drm/amd/display/dc/irq/irq_service.h
index a2a2d69..dbfcb09 100644
--- a/drivers/gpu/drm/amd/display/dc/irq/irq_service.h
+++ b/drivers/gpu/drm/amd/display/dc/irq/irq_service.h
@@ -69,7 +69,7 @@ struct irq_service {
 	const struct irq_service_funcs *funcs;
 };
 
-bool dal_irq_service_construct(
+void dal_irq_service_construct(
 	struct irq_service *irq_service,
 	struct irq_service_init_data *init_data);
 
-- 
2.9.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 9/9] amdgpu/dc: fix construct return values on irq service.
       [not found]     ` <20170929043442.7984-9-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-09-29 14:27       ` Harry Wentland
  0 siblings, 0 replies; 10+ messages in thread
From: Harry Wentland @ 2017-09-29 14:27 UTC (permalink / raw)
  To: Dave Airlie, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

On 2017-09-29 12:34 AM, Dave Airlie wrote:
> From: Dave Airlie <airlied@redhat.com>
> 
> This just removes more unused return/errors paths.
> 
> Signed-off-by: Dave Airlie <airlied@redhat.com>

Series is
Reviewed-by: Harry Wentland <harry.wentland@amd.com>

Harry

> ---
>  .../gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.c | 14 ++++----------
>  .../gpu/drm/amd/display/dc/irq/dce120/irq_service_dce120.c | 14 ++++----------
>  .../gpu/drm/amd/display/dc/irq/dce80/irq_service_dce80.c   | 14 ++++----------
>  .../gpu/drm/amd/display/dc/irq/dcn10/irq_service_dcn10.c   | 14 ++++----------
>  drivers/gpu/drm/amd/display/dc/irq/irq_service.c           |  9 +++++----
>  drivers/gpu/drm/amd/display/dc/irq/irq_service.h           |  2 +-
>  6 files changed, 22 insertions(+), 45 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.c b/drivers/gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.c
> index 5c55896..f7e40b2 100644
> --- a/drivers/gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.c
> +++ b/drivers/gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.c
> @@ -406,17 +406,14 @@ static const struct irq_service_funcs irq_service_funcs_dce110 = {
>  		.to_dal_irq_source = to_dal_irq_source_dce110
>  };
>  
> -static bool construct(
> +static void construct(
>  	struct irq_service *irq_service,
>  	struct irq_service_init_data *init_data)
>  {
> -	if (!dal_irq_service_construct(irq_service, init_data))
> -		return false;
> +	dal_irq_service_construct(irq_service, init_data);
>  
>  	irq_service->info = irq_source_info_dce110;
>  	irq_service->funcs = &irq_service_funcs_dce110;
> -
> -	return true;
>  }
>  
>  struct irq_service *dal_irq_service_dce110_create(
> @@ -428,9 +425,6 @@ struct irq_service *dal_irq_service_dce110_create(
>  	if (!irq_service)
>  		return NULL;
>  
> -	if (construct(irq_service, init_data))
> -		return irq_service;
> -
> -	kfree(irq_service);
> -	return NULL;
> +	construct(irq_service, init_data);
> +	return irq_service;
>  }
> diff --git a/drivers/gpu/drm/amd/display/dc/irq/dce120/irq_service_dce120.c b/drivers/gpu/drm/amd/display/dc/irq/dce120/irq_service_dce120.c
> index 61d7c28..2ad56b1 100644
> --- a/drivers/gpu/drm/amd/display/dc/irq/dce120/irq_service_dce120.c
> +++ b/drivers/gpu/drm/amd/display/dc/irq/dce120/irq_service_dce120.c
> @@ -265,17 +265,14 @@ static const struct irq_service_funcs irq_service_funcs_dce120 = {
>  		.to_dal_irq_source = to_dal_irq_source_dce110
>  };
>  
> -static bool construct(
> +static void construct(
>  	struct irq_service *irq_service,
>  	struct irq_service_init_data *init_data)
>  {
> -	if (!dal_irq_service_construct(irq_service, init_data))
> -		return false;
> +	dal_irq_service_construct(irq_service, init_data);
>  
>  	irq_service->info = irq_source_info_dce120;
>  	irq_service->funcs = &irq_service_funcs_dce120;
> -
> -	return true;
>  }
>  
>  struct irq_service *dal_irq_service_dce120_create(
> @@ -287,9 +284,6 @@ struct irq_service *dal_irq_service_dce120_create(
>  	if (!irq_service)
>  		return NULL;
>  
> -	if (construct(irq_service, init_data))
> -		return irq_service;
> -
> -	kfree(irq_service);
> -	return NULL;
> +	construct(irq_service, init_data);
> +	return irq_service;
>  }
> diff --git a/drivers/gpu/drm/amd/display/dc/irq/dce80/irq_service_dce80.c b/drivers/gpu/drm/amd/display/dc/irq/dce80/irq_service_dce80.c
> index d6e1fb6..8a2066c 100644
> --- a/drivers/gpu/drm/amd/display/dc/irq/dce80/irq_service_dce80.c
> +++ b/drivers/gpu/drm/amd/display/dc/irq/dce80/irq_service_dce80.c
> @@ -277,17 +277,14 @@ static const struct irq_service_funcs irq_service_funcs_dce80 = {
>  		.to_dal_irq_source = to_dal_irq_source_dce110
>  };
>  
> -static bool construct(
> +static void construct(
>  	struct irq_service *irq_service,
>  	struct irq_service_init_data *init_data)
>  {
> -	if (!dal_irq_service_construct(irq_service, init_data))
> -		return false;
> +	dal_irq_service_construct(irq_service, init_data);
>  
>  	irq_service->info = irq_source_info_dce80;
>  	irq_service->funcs = &irq_service_funcs_dce80;
> -
> -	return true;
>  }
>  
>  struct irq_service *dal_irq_service_dce80_create(
> @@ -299,11 +296,8 @@ struct irq_service *dal_irq_service_dce80_create(
>  	if (!irq_service)
>  		return NULL;
>  
> -	if (construct(irq_service, init_data))
> -		return irq_service;
> -
> -	kfree(irq_service);
> -	return NULL;
> +	construct(irq_service, init_data);
> +	return irq_service;
>  }
>  
>  
> diff --git a/drivers/gpu/drm/amd/display/dc/irq/dcn10/irq_service_dcn10.c b/drivers/gpu/drm/amd/display/dc/irq/dcn10/irq_service_dcn10.c
> index f6e8611..74ad247 100644
> --- a/drivers/gpu/drm/amd/display/dc/irq/dcn10/irq_service_dcn10.c
> +++ b/drivers/gpu/drm/amd/display/dc/irq/dcn10/irq_service_dcn10.c
> @@ -332,17 +332,14 @@ static const struct irq_service_funcs irq_service_funcs_dcn10 = {
>  		.to_dal_irq_source = to_dal_irq_source_dcn10
>  };
>  
> -static bool construct(
> +static void construct(
>  	struct irq_service *irq_service,
>  	struct irq_service_init_data *init_data)
>  {
> -	if (!dal_irq_service_construct(irq_service, init_data))
> -		return false;
> +	dal_irq_service_construct(irq_service, init_data);
>  
>  	irq_service->info = irq_source_info_dcn10;
>  	irq_service->funcs = &irq_service_funcs_dcn10;
> -
> -	return true;
>  }
>  
>  struct irq_service *dal_irq_service_dcn10_create(
> @@ -354,9 +351,6 @@ struct irq_service *dal_irq_service_dcn10_create(
>  	if (!irq_service)
>  		return NULL;
>  
> -	if (construct(irq_service, init_data))
> -		return irq_service;
> -
> -	kfree(irq_service);
> -	return NULL;
> +	construct(irq_service, init_data);
> +	return irq_service;
>  }
> diff --git a/drivers/gpu/drm/amd/display/dc/irq/irq_service.c b/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
> index ce20622..b106513 100644
> --- a/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
> +++ b/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
> @@ -48,15 +48,16 @@
>  #define CTX \
>  		irq_service->ctx
>  
> -bool dal_irq_service_construct(
> +void dal_irq_service_construct(
>  	struct irq_service *irq_service,
>  	struct irq_service_init_data *init_data)
>  {
> -	if (!init_data || !init_data->ctx)
> -		return false;
> +	if (!init_data || !init_data->ctx) {
> +		BREAK_TO_DEBUGGER();
> +		return;
> +	}
>  
>  	irq_service->ctx = init_data->ctx;
> -	return true;
>  }
>  
>  void dal_irq_service_destroy(struct irq_service **irq_service)
> diff --git a/drivers/gpu/drm/amd/display/dc/irq/irq_service.h b/drivers/gpu/drm/amd/display/dc/irq/irq_service.h
> index a2a2d69..dbfcb09 100644
> --- a/drivers/gpu/drm/amd/display/dc/irq/irq_service.h
> +++ b/drivers/gpu/drm/amd/display/dc/irq/irq_service.h
> @@ -69,7 +69,7 @@ struct irq_service {
>  	const struct irq_service_funcs *funcs;
>  };
>  
> -bool dal_irq_service_construct(
> +void dal_irq_service_construct(
>  	struct irq_service *irq_service,
>  	struct irq_service_init_data *init_data);
>  
> 
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-09-29 14:27 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-29  4:34 [PATCH 1/9] amdgpu/dc: make get_audio_clock_info return void Dave Airlie
     [not found] ` <20170929043442.7984-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-09-29  4:34   ` [PATCH 2/9] amdgpu/dc: make program_regamma_pwl " Dave Airlie
2017-09-29  4:34   ` [PATCH 3/9] amdgpu/dc: make some audio functions " Dave Airlie
2017-09-29  4:34   ` [PATCH 4/9] amdgpu/dc: remove pointless returns in the i2caux constructor paths Dave Airlie
2017-09-29  4:34   ` [PATCH 5/9] amdgpu/dc: cleanup construct returns in gpio Dave Airlie
2017-09-29  4:34   ` [PATCH 6/9] amdgpu/dc: another round of dce/dcn construct cleanups Dave Airlie
2017-09-29  4:34   ` [PATCH 7/9] amdgpu/dc: remove pointless return from build_pipe_hw_param Dave Airlie
2017-09-29  4:34   ` [PATCH 8/9] amdgpu: fixup construct to void paths on some more dc objects Dave Airlie
2017-09-29  4:34   ` [PATCH 9/9] amdgpu/dc: fix construct return values on irq service Dave Airlie
     [not found]     ` <20170929043442.7984-9-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-09-29 14:27       ` Harry Wentland

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.