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: Rhys Kidd <rhyskidd@gmail.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
Rhys Kidd 2019-06-03 00:13:15 +10:00 committed by Ben Skeggs
parent 66cbcc72ae
commit 9f9b450752
1 changed files with 12 additions and 1 deletions

View File

@ -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 },