Commit 9f9b4507 authored by Rhys Kidd's avatar Rhys Kidd Committed by Ben Skeggs
Browse files

drm/nouveau/bios/init: handle INIT_RESET_END devinit opcode



Signal that the reset sequence has completed.

This opcode signals that the software reset sequence has completed.
Ordinarily, no actual operations are performed by the opcode.
However it allows for possible software work arounds by devinit
engines in software agents other than the VBIOS, such as the resman,
FCODE, and EFI driver.

Signed-off-by: default avatarRhys Kidd <rhyskidd@gmail.com>
Reviewed-by: default avatarLyude Paul <lyude@redhat.com>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 66cbcc72
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -1945,6 +1945,17 @@ init_reset_begun(struct nvbios_init *init)
	init->offset += 1;
}

/**
 * INIT_RESET_END - opcode 0x8d
 *
 */
static void
init_reset_end(struct nvbios_init *init)
{
	trace("RESET_END\n");
	init->offset += 1;
}

/**
 * INIT_GPIO - opcode 0x8e
 *
@@ -2272,7 +2283,7 @@ static struct nvbios_init_opcode {
	[0x7a] = { init_zm_reg },
	[0x87] = { init_ram_restrict_pll },
	[0x8c] = { init_reset_begun },
	[0x8d] = { init_reserved },
	[0x8d] = { init_reset_end },
	[0x8e] = { init_gpio },
	[0x8f] = { init_ram_restrict_zm_reg_group },
	[0x90] = { init_copy_zm_reg },