summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRhys Kidd <rhyskidd@gmail.com>2019-06-02 17:13:14 +0300
committerBen Skeggs <bskeggs@redhat.com>2019-08-23 05:55:32 +0300
commit66cbcc72ae34711854ae7af8056bfb7169f874fd (patch)
tree235bd45d50173f433ac65c934d9c9d744e52be35
parent607db661b7ac338943bb5efd94a7eac0051af440 (diff)
downloadlinux-66cbcc72ae34711854ae7af8056bfb7169f874fd.tar.xz
drm/nouveau/bios/init: handle INIT_RESET_BEGUN devinit opcode
Signal that the reset sequence has begun. This opcode signals that the software reset sequence has begun. 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>
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c
index 3f4f27d191ae..5e02832304e2 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c
@@ -1935,6 +1935,17 @@ init_ram_restrict_pll(struct nvbios_init *init)
}
/**
+ * INIT_RESET_BEGUN - opcode 0x8c
+ *
+ */
+static void
+init_reset_begun(struct nvbios_init *init)
+{
+ trace("RESET_BEGUN\n");
+ init->offset += 1;
+}
+
+/**
* INIT_GPIO - opcode 0x8e
*
*/
@@ -2260,7 +2271,7 @@ static struct nvbios_init_opcode {
[0x79] = { init_pll },
[0x7a] = { init_zm_reg },
[0x87] = { init_ram_restrict_pll },
- [0x8c] = { init_reserved },
+ [0x8c] = { init_reset_begun },
[0x8d] = { init_reserved },
[0x8e] = { init_gpio },
[0x8f] = { init_ram_restrict_zm_reg_group },