Commit c5fc7f59 authored by Charlene Liu's avatar Charlene Liu Committed by Alex Deucher
Browse files

drm/amd/display: resume from S3 bypass power down HW block.

parent 5180d4a4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -3803,6 +3803,7 @@ static const struct dc_vbios_funcs vbios_funcs = {

	/* bios scratch register communication */
	.is_accelerated_mode = bios_is_accelerated_mode,
	.get_vga_enabled_displays = bios_get_vga_enabled_displays,

	.set_scratch_critical_state = bios_parser_set_scratch_critical_state,

+7 −0
Original line number Diff line number Diff line
@@ -1280,6 +1280,12 @@ static bool bios_parser_is_accelerated_mode(
	return bios_is_accelerated_mode(dcb);
}

static uint32_t bios_parser_get_vga_enabled_displays(
	struct dc_bios *bios)
{
	return bios_get_vga_enabled_displays(bios);
}


/**
 * bios_parser_set_scratch_critical_state
@@ -1800,6 +1806,7 @@ static const struct dc_vbios_funcs vbios_funcs = {


	.is_accelerated_mode = bios_parser_is_accelerated_mode,
	.get_vga_enabled_displays = bios_parser_get_vga_enabled_displays,

	.set_scratch_critical_state = bios_parser_set_scratch_critical_state,

+8 −0
Original line number Diff line number Diff line
@@ -78,5 +78,13 @@ void bios_set_scratch_critical_state(
	REG_UPDATE(BIOS_SCRATCH_6, S6_CRITICAL_STATE, critial_state);
}

uint32_t bios_get_vga_enabled_displays(
	struct dc_bios *bios)
{
	uint32_t active_disp = 1;

	if (bios->regs->BIOS_SCRATCH_3) /*follow up with other asic, todo*/
		active_disp = REG_READ(BIOS_SCRATCH_3) & 0XFFFF;
	return active_disp;
}
+1 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ uint8_t *bios_get_image(struct dc_bios *bp, uint32_t offset,
bool bios_is_accelerated_mode(struct dc_bios *bios);
void bios_set_scratch_acc_mode_change(struct dc_bios *bios);
void bios_set_scratch_critical_state(struct dc_bios *bios, bool state);
uint32_t bios_get_vga_enabled_displays(struct dc_bios *bios);

#define GET_IMAGE(type, offset) ((type *) bios_get_image(&bp->base, offset, sizeof(type)))

+3 −0
Original line number Diff line number Diff line
@@ -111,6 +111,8 @@ struct dc_vbios_funcs {
		struct dc_bios *bios);
	bool (*is_accelerated_mode)(
		struct dc_bios *bios);
	uint32_t (*get_vga_enabled_displays)(
		struct dc_bios *bios);
	void (*get_bios_event_info)(
		struct dc_bios *bios,
		struct bios_event_info *info);
@@ -199,6 +201,7 @@ struct dc_vbios_funcs {
};

struct bios_registers {
	uint32_t BIOS_SCRATCH_3;
	uint32_t BIOS_SCRATCH_6;
};

Loading