Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b6199a1 authored by Roman Li's avatar Roman Li Committed by Alex Deucher
Browse files

drm/amd/display: replace msleep with udelay in fbc path



FBC enabling and disabling path has msleep which leads to
BUG hit when called in atomic context, hence this patch
replaces msleeps with udelays appropriately.

Signed-off-by: default avatarShirish S <shirish.s@amd.com>
Signed-off-by: default avatarRoman Li <Roman.Li@amd.com>
Reviewed-by: default avatarTony Cheng <Tony.Cheng@amd.com>
Acked-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent e03fd3f3
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -121,10 +121,10 @@ static void reset_lb_on_vblank(struct dc_context *ctx)
		frame_count = dm_read_reg(ctx, mmCRTC_STATUS_FRAME_COUNT);


		for (retry = 100; retry > 0; retry--) {
		for (retry = 10000; retry > 0; retry--) {
			if (frame_count != dm_read_reg(ctx, mmCRTC_STATUS_FRAME_COUNT))
				break;
			msleep(1);
			udelay(10);
		}
		if (!retry)
			dm_error("Frame count did not increase for 100ms.\n");
@@ -147,14 +147,14 @@ static void wait_for_fbc_state_changed(
	uint32_t addr = mmFBC_STATUS;
	uint32_t value;

	while (counter < 10) {
	while (counter < 1000) {
		value = dm_read_reg(cp110->base.ctx, addr);
		if (get_reg_field_value(
			value,
			FBC_STATUS,
			FBC_ENABLE_STATUS) == enabled)
			break;
		msleep(10);
		udelay(100);
		counter++;
	}