Commit e40889ec authored by John Clements's avatar John Clements Committed by Alex Deucher
Browse files

drm/amdgpu: update host to psp interface



added interface support for setting boot config

Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: default avatarJohn Clements <john.clements@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 9a8fe555
Loading
Loading
Loading
Loading
+25 −0
Original line number Original line Diff line number Diff line
@@ -102,6 +102,21 @@ enum psp_gfx_cmd_id
    /* IDs upto 0x1F are reserved for older programs (Raven, Vega 10/12/20) */
    /* IDs upto 0x1F are reserved for older programs (Raven, Vega 10/12/20) */
    GFX_CMD_ID_LOAD_TOC           = 0x00000020,   /* Load TOC and obtain TMR size */
    GFX_CMD_ID_LOAD_TOC           = 0x00000020,   /* Load TOC and obtain TMR size */
    GFX_CMD_ID_AUTOLOAD_RLC       = 0x00000021,   /* Indicates all graphics fw loaded, start RLC autoload */
    GFX_CMD_ID_AUTOLOAD_RLC       = 0x00000021,   /* Indicates all graphics fw loaded, start RLC autoload */
    GFX_CMD_ID_BOOT_CFG           = 0x00000022,   /* Boot Config */
};

/* PSP boot config sub-commands */
enum psp_gfx_boot_config_cmd
{
    BOOTCFG_CMD_SET         = 1, /* Set boot configuration settings */
    BOOTCFG_CMD_GET         = 2, /* Get boot configuration settings */
    BOOTCFG_CMD_INVALIDATE  = 3  /* Reset current boot configuration settings to VBIOS defaults */
};

/* PSP boot config bitmask values */
enum psp_gfx_boot_config
{
    BOOT_CONFIG_GECC = 0x1,
};
};


/* Command to load Trusted Application binary into PSP OS. */
/* Command to load Trusted Application binary into PSP OS. */
@@ -273,6 +288,15 @@ struct psp_gfx_cmd_load_toc
    uint32_t        toc_size;               /* FW buffer size in bytes */
    uint32_t        toc_size;               /* FW buffer size in bytes */
};
};


/* Dynamic boot configuration */
struct psp_gfx_cmd_boot_cfg
{
    uint32_t                        timestamp;            /* calendar time as number of seconds */
    enum psp_gfx_boot_config_cmd    sub_cmd;              /* sub-command indicating how to process command data */
    uint32_t                        boot_config;          /* dynamic boot configuration bitmask */
    uint32_t                        boot_config_valid;    /* dynamic boot configuration valid bits bitmask */
};

/* All GFX ring buffer commands. */
/* All GFX ring buffer commands. */
union psp_gfx_commands
union psp_gfx_commands
{
{
@@ -285,6 +309,7 @@ union psp_gfx_commands
    struct psp_gfx_cmd_reg_prog       cmd_setup_reg_prog;
    struct psp_gfx_cmd_reg_prog       cmd_setup_reg_prog;
    struct psp_gfx_cmd_setup_tmr        cmd_setup_vmr;
    struct psp_gfx_cmd_setup_tmr        cmd_setup_vmr;
    struct psp_gfx_cmd_load_toc         cmd_load_toc;
    struct psp_gfx_cmd_load_toc         cmd_load_toc;
    struct psp_gfx_cmd_boot_cfg         boot_cfg;
};
};


struct psp_gfx_uresp_reserved
struct psp_gfx_uresp_reserved