mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
drm/nouveau/gsp: add hal for gsp.set_system_info()
545.23.06 has incompatible changes to GspSystemInfo. Signed-off-by: Ben Skeggs <bskeggs@nvidia.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Timur Tabi <ttabi@nvidia.com> Tested-by: Timur Tabi <ttabi@nvidia.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
57fe0d30a0
commit
aa733b3ee6
|
|
@ -871,7 +871,7 @@ r535_gsp_acpi_info(struct nvkm_gsp *gsp, ACPI_METHOD_DATA *acpi)
|
|||
}
|
||||
|
||||
static int
|
||||
r535_gsp_rpc_set_system_info(struct nvkm_gsp *gsp)
|
||||
r535_gsp_set_system_info(struct nvkm_gsp *gsp)
|
||||
{
|
||||
struct nvkm_device *device = gsp->subdev.device;
|
||||
struct nvkm_device_pci *pdev = container_of(device, typeof(*pdev), device);
|
||||
|
|
@ -2080,6 +2080,7 @@ int
|
|||
r535_gsp_oneinit(struct nvkm_gsp *gsp)
|
||||
{
|
||||
struct nvkm_device *device = gsp->subdev.device;
|
||||
const struct nvkm_rm_api *rmapi = gsp->rm->api;
|
||||
const u8 *data;
|
||||
u64 size;
|
||||
int ret;
|
||||
|
|
@ -2134,7 +2135,7 @@ r535_gsp_oneinit(struct nvkm_gsp *gsp)
|
|||
if (WARN_ON(ret))
|
||||
return ret;
|
||||
|
||||
ret = r535_gsp_rpc_set_system_info(gsp);
|
||||
ret = rmapi->gsp->set_system_info(gsp);
|
||||
if (WARN_ON(ret))
|
||||
return ret;
|
||||
|
||||
|
|
@ -2146,3 +2147,8 @@ r535_gsp_oneinit(struct nvkm_gsp *gsp)
|
|||
idr_init(&gsp->client_id.idr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
const struct nvkm_rm_api_gsp
|
||||
r535_gsp = {
|
||||
.set_system_info = r535_gsp_set_system_info,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ r535_wpr_libos3 = {
|
|||
|
||||
static const struct nvkm_rm_api
|
||||
r535_api = {
|
||||
.gsp = &r535_gsp,
|
||||
.rpc = &r535_rpc,
|
||||
.ctrl = &r535_ctrl,
|
||||
.alloc = &r535_alloc,
|
||||
|
|
|
|||
|
|
@ -26,6 +26,10 @@ struct nvkm_rm_wpr {
|
|||
};
|
||||
|
||||
struct nvkm_rm_api {
|
||||
const struct nvkm_rm_api_gsp {
|
||||
int (*set_system_info)(struct nvkm_gsp *);
|
||||
} *gsp;
|
||||
|
||||
const struct nvkm_rm_api_rpc {
|
||||
void *(*get)(struct nvkm_gsp *, u32 fn, u32 argc);
|
||||
void *(*push)(struct nvkm_gsp *gsp, void *argv,
|
||||
|
|
@ -71,6 +75,7 @@ struct nvkm_rm_api {
|
|||
|
||||
extern const struct nvkm_rm_impl r535_rm_tu102;
|
||||
extern const struct nvkm_rm_impl r535_rm_ga102;
|
||||
extern const struct nvkm_rm_api_gsp r535_gsp;
|
||||
extern const struct nvkm_rm_api_rpc r535_rpc;
|
||||
extern const struct nvkm_rm_api_ctrl r535_ctrl;
|
||||
extern const struct nvkm_rm_api_alloc r535_alloc;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user