| From 5495e39fb3695182b9f2a72fe4169056cada37a1 Mon Sep 17 00:00:00 2001 |
| From: Ben Skeggs <bskeggs@redhat.com> |
| Date: Tue, 10 Sep 2013 12:11:01 +1000 |
| Subject: drm/nouveau/bios/init: stub opcode 0xaa |
| |
| From: Ben Skeggs <bskeggs@redhat.com> |
| |
| commit 5495e39fb3695182b9f2a72fe4169056cada37a1 upstream. |
| |
| Signed-off-by: Ben Skeggs <bskeggs@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/nouveau/core/subdev/bios/init.c | 19 +++++++++++++++++-- |
| 1 file changed, 17 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/gpu/drm/nouveau/core/subdev/bios/init.c |
| +++ b/drivers/gpu/drm/nouveau/core/subdev/bios/init.c |
| @@ -580,8 +580,22 @@ static void |
| init_reserved(struct nvbios_init *init) |
| { |
| u8 opcode = nv_ro08(init->bios, init->offset); |
| - trace("RESERVED\t0x%02x\n", opcode); |
| - init->offset += 1; |
| + u8 length, i; |
| + |
| + switch (opcode) { |
| + case 0xaa: |
| + length = 4; |
| + break; |
| + default: |
| + length = 1; |
| + break; |
| + } |
| + |
| + trace("RESERVED 0x%02x\t", opcode); |
| + for (i = 1; i < length; i++) |
| + cont(" 0x%02x", nv_ro08(init->bios, init->offset + i)); |
| + cont("\n"); |
| + init->offset += length; |
| } |
| |
| /** |
| @@ -2136,6 +2150,7 @@ static struct nvbios_init_opcode { |
| [0x99] = { init_zm_auxch }, |
| [0x9a] = { init_i2c_long_if }, |
| [0xa9] = { init_gpio_ne }, |
| + [0xaa] = { init_reserved }, |
| }; |
| |
| #define init_opcode_nr (sizeof(init_opcode) / sizeof(init_opcode[0])) |