diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2017-05-19 23:59:35 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2017-06-16 14:04:56 +1000 |
commit | 409b9e54727e700ab8dd15a1e29226eda1e04cdb (patch) | |
tree | eed18b0b3d0549c5b1783575a2f1d2985bb7fb63 /drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h | |
parent | drm/nouveau/disp/g94-: port OR DP drive setting control to nvkm_ior (diff) | |
download | linux-dev-409b9e54727e700ab8dd15a1e29226eda1e04cdb.tar.xz linux-dev-409b9e54727e700ab8dd15a1e29226eda1e04cdb.zip |
drm/nouveau/disp/gt215-: port HDA ELD controls to nvkm_ior
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h')
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h index 3295a6a23fb8..0127474dc6c2 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h +++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h @@ -58,7 +58,13 @@ struct nvkm_ior_func { void (*pattern)(struct nvkm_ior *, int pattern); void (*drive)(struct nvkm_ior *, int ln, int pc, int dc, int pe, int tx_pu); + void (*audio)(struct nvkm_ior *, int head, bool enable); } dp; + + struct { + void (*hpd)(struct nvkm_ior *, int head, bool present); + void (*eld)(struct nvkm_ior *, u8 *data, u8 size); + } hda; }; int nvkm_ior_new_(const struct nvkm_ior_func *func, struct nvkm_disp *, @@ -90,10 +96,13 @@ void g94_sor_dp_power(struct nvkm_ior *, int); void g94_sor_dp_pattern(struct nvkm_ior *, int); void g94_sor_dp_drive(struct nvkm_ior *, int, int, int, int, int); +void gt215_sor_dp_audio(struct nvkm_ior *, int, bool); + void gf119_sor_state(struct nvkm_ior *, struct nvkm_ior_state *); int gf119_sor_dp_links(struct nvkm_ior *, struct nvkm_i2c_aux *); void gf119_sor_dp_pattern(struct nvkm_ior *, int); void gf119_sor_dp_drive(struct nvkm_ior *, int, int, int, int, int); +void gf119_sor_dp_audio(struct nvkm_ior *, int, bool); void gm107_sor_dp_pattern(struct nvkm_ior *, int); @@ -102,6 +111,12 @@ void gt215_hdmi_ctrl(struct nvkm_ior *, int, bool, u8, u8, u8 *, u8 , u8 *, u8); void gf119_hdmi_ctrl(struct nvkm_ior *, int, bool, u8, u8, u8 *, u8 , u8 *, u8); void gk104_hdmi_ctrl(struct nvkm_ior *, int, bool, u8, u8, u8 *, u8 , u8 *, u8); +void gt215_hda_hpd(struct nvkm_ior *, int, bool); +void gt215_hda_eld(struct nvkm_ior *, u8 *, u8); + +void gf119_hda_hpd(struct nvkm_ior *, int, bool); +void gf119_hda_eld(struct nvkm_ior *, u8 *, u8); + #define IOR_MSG(i,l,f,a...) do { \ struct nvkm_ior *_ior = (i); \ nvkm_##l(&_ior->disp->engine.subdev, "%s: "f, _ior->name, ##a); \ |