mbox series

[0/2] drm/nouveau/bios/init: Improve pre-PMU devinit opcode coverage

Message ID 20190602141315.6197-1-rhyskidd@gmail.com (mailing list archive)
Headers show
Series drm/nouveau/bios/init: Improve pre-PMU devinit opcode coverage | expand

Message

Rhys Kidd June 2, 2019, 2:13 p.m. UTC
NVIDIA GPUs include a common scripting language (devinit) that can be
interpreted by a number of "engines", e.g. within a kernel-mode software
driver, the VGA BIOS or an on-board small microcontroller which provides
certain security assertions (the 'PMU').

This system allows a GPU programming sequence to be shared by multiple
entities that would not otherwise be able to execute common code.

This series adds support to nouveau for two opcodes seen on VBIOSes prior
to the locked-down PMU taking over responsibility for executing devinit
scripts.

Documentation for these two opcodes can be found at:

  https://github.com/envytools/envytools/pull/189

Rhys Kidd (2):
  drm/nouveau/bios/init: handle INIT_RESET_BEGUN devinit opcode
  drm/nouveau/bios/init: handle INIT_RESET_END devinit opcode

 .../gpu/drm/nouveau/nvkm/subdev/bios/init.c   | 26 +++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

Comments

Lyude Paul June 4, 2019, 6:07 p.m. UTC | #1
For the whole series:

Reviewed-by: Lyude Paul <lyude@redhat.com>

Tested on a GK104 and GK110 (same ones as my vbios traces in our vbios repo)

On Mon, 2019-06-03 at 00:13 +1000, Rhys Kidd wrote:
> NVIDIA GPUs include a common scripting language (devinit) that can be
> interpreted by a number of "engines", e.g. within a kernel-mode software
> driver, the VGA BIOS or an on-board small microcontroller which provides
> certain security assertions (the 'PMU').
> 
> This system allows a GPU programming sequence to be shared by multiple
> entities that would not otherwise be able to execute common code.
> 
> This series adds support to nouveau for two opcodes seen on VBIOSes prior
> to the locked-down PMU taking over responsibility for executing devinit
> scripts.
> 
> Documentation for these two opcodes can be found at:
> 
>   https://github.com/envytools/envytools/pull/189
> 
> Rhys Kidd (2):
>   drm/nouveau/bios/init: handle INIT_RESET_BEGUN devinit opcode
>   drm/nouveau/bios/init: handle INIT_RESET_END devinit opcode
> 
>  .../gpu/drm/nouveau/nvkm/subdev/bios/init.c   | 26 +++++++++++++++++--
>  1 file changed, 24 insertions(+), 2 deletions(-)
>