diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2023-09-19 23:56:08 +0200 |
---|---|---|
committer | Lyude Paul <lyude@redhat.com> | 2023-09-20 00:21:59 +0200 |
commit | cefc3c1452b19920038b44ae257d6a8af2d4da51 (patch) | |
tree | 8abbf9b6f493ff965c8ccac1df94c0fdd20ed4ae /drivers/gpu/drm/nouveau/nvif | |
parent | drm/nouveau/disp: add acquire_dac() (diff) | |
download | linux-cefc3c1452b19920038b44ae257d6a8af2d4da51.tar.xz linux-cefc3c1452b19920038b44ae257d6a8af2d4da51.zip |
drm/nouveau/disp: add acquire_sor/pior()
- preparing to move protocol-specific args out of acquire() again
- avoid re-acquiring acquired output, will matter when enforced later
- sor/pior done at same time due to shared tmds/dp handling
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Acked-by: Danilo Krummrich <me@dakr.org>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230919220442.202488-14-lyude@redhat.com
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvif')
-rw-r--r-- | drivers/gpu/drm/nouveau/nvif/outp.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nvif/outp.c b/drivers/gpu/drm/nouveau/nvif/outp.c index 41c4de40895f..81dbda52117e 100644 --- a/drivers/gpu/drm/nouveau/nvif/outp.c +++ b/drivers/gpu/drm/nouveau/nvif/outp.c @@ -188,6 +188,30 @@ nvif_outp_acquire(struct nvif_outp *outp, u8 type, struct nvif_outp_acquire_v0 * } int +nvif_outp_acquire_pior(struct nvif_outp *outp) +{ + struct nvif_outp_acquire_v0 args; + int ret; + + ret = nvif_outp_acquire(outp, NVIF_OUTP_ACQUIRE_V0_PIOR, &args); + NVIF_ERRON(ret, &outp->object, "[ACQUIRE PIOR] or:%d", args.or); + return ret; +} + +int +nvif_outp_acquire_sor(struct nvif_outp *outp, bool hda) +{ + struct nvif_outp_acquire_v0 args; + int ret; + + args.sor.hda = hda; + + ret = nvif_outp_acquire(outp, NVIF_OUTP_ACQUIRE_V0_SOR, &args); + NVIF_ERRON(ret, &outp->object, "[ACQUIRE SOR] or:%d link:%d", args.or, args.link); + return ret; +} + +int nvif_outp_acquire_dac(struct nvif_outp *outp) { struct nvif_outp_acquire_v0 args; |