diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2015-08-20 14:54:19 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2015-08-28 12:40:40 +1000 |
commit | 0ce41e3c66ca8958dec427f1c46f64efdda90f30 (patch) | |
tree | d2fbfbe40841488bfc8985af87d2ef7f663025eb /drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h | |
parent | 2a7909c0ade08c66690e6115ae49765dc47873e6 (diff) |
drm/nouveau/disp: convert user classes to new-style nvkm_object
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h')
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h | 59 |
1 files changed, 3 insertions, 56 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h index e42e66e1c1f3..13766b24706d 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h +++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h @@ -1,5 +1,6 @@ #ifndef __NV50_DISP_H__ #define __NV50_DISP_H__ +#define nv50_disp(p) container_of((p), struct nv50_disp, base) #include "priv.h" struct nvkm_output; struct nvkm_output_dp; @@ -11,7 +12,6 @@ struct nvkm_output_dp; struct nv50_disp { struct nvkm_disp base; - struct nvkm_oclass *sclass; struct work_struct supervisor; u32 super; @@ -39,23 +39,18 @@ struct nv50_disp { int (*power)(NV50_DISP_MTHD_V1); u8 type[3]; } pior; + + struct nv50_disp_chan *chan[17]; }; struct nv50_disp_impl { struct nvkm_disp_impl base; struct { - const struct nv50_disp_mthd_chan *core; - const struct nv50_disp_mthd_chan *base; - const struct nv50_disp_mthd_chan *ovly; - int prev; - } mthd; - struct { int (*scanoutpos)(NV50_DISP_MTHD_V0); } head; }; int nv50_disp_root_scanoutpos(NV50_DISP_MTHD_V0); -int nv50_disp_root_mthd(struct nvkm_object *, u32, void *, u32); int gf119_disp_root_scanoutpos(NV50_DISP_MTHD_V0); @@ -73,59 +68,11 @@ int gk104_hdmi_ctrl(NV50_DISP_MTHD_V1); int nv50_sor_power(NV50_DISP_MTHD_V1); int nv50_pior_power(NV50_DISP_MTHD_V1); -extern struct nv50_disp_chan_impl nv50_disp_core_ofuncs; -int nv50_disp_core_ctor(struct nvkm_object *, struct nvkm_object *, - struct nvkm_oclass *, void *, u32, - struct nvkm_object **); -extern struct nv50_disp_chan_impl nv50_disp_base_ofuncs; -int nv50_disp_base_ctor(struct nvkm_object *, struct nvkm_object *, - struct nvkm_oclass *, void *, u32, - struct nvkm_object **); -extern struct nv50_disp_chan_impl nv50_disp_ovly_ofuncs; -int nv50_disp_ovly_ctor(struct nvkm_object *, struct nvkm_object *, - struct nvkm_oclass *, void *, u32, - struct nvkm_object **); -extern struct nv50_disp_chan_impl nv50_disp_oimm_ofuncs; -int nv50_disp_oimm_ctor(struct nvkm_object *, struct nvkm_object *, - struct nvkm_oclass *, void *, u32, - struct nvkm_object **); -extern struct nv50_disp_chan_impl nv50_disp_curs_ofuncs; -int nv50_disp_curs_ctor(struct nvkm_object *, struct nvkm_object *, - struct nvkm_oclass *, void *, u32, - struct nvkm_object **); -extern struct nvkm_ofuncs nv50_disp_root_ofuncs; -int nv50_disp_root_ctor(struct nvkm_object *, struct nvkm_object *, - struct nvkm_oclass *, void *, u32, - struct nvkm_object **); -void nv50_disp_root_dtor(struct nvkm_object *); -extern struct nvkm_oclass nv50_disp_cclass; void nv50_disp_intr_supervisor(struct work_struct *); void nv50_disp_intr(struct nvkm_subdev *); extern const struct nvkm_event_func nv50_disp_vblank_func; -extern struct nv50_disp_chan_impl gf119_disp_core_ofuncs; -extern struct nv50_disp_chan_impl gf119_disp_base_ofuncs; -extern struct nv50_disp_chan_impl gf119_disp_ovly_ofuncs; -extern struct nv50_disp_chan_impl gf119_disp_oimm_ofuncs; -extern struct nv50_disp_chan_impl gf119_disp_curs_ofuncs; -extern struct nvkm_ofuncs gf119_disp_root_ofuncs; -extern struct nvkm_oclass gf119_disp_cclass; void gf119_disp_intr_supervisor(struct work_struct *); void gf119_disp_intr(struct nvkm_subdev *); extern const struct nvkm_event_func gf119_disp_vblank_func; - -extern struct nvkm_output_dp_impl nv50_pior_dp_impl; -extern struct nvkm_oclass *nv50_disp_outp_sclass[]; - -extern struct nvkm_output_dp_impl g94_sor_dp_impl; -u32 g94_sor_dp_lane_map(struct nvkm_device *, u8 lane); -int g94_sor_dp_lnk_pwr(struct nvkm_output_dp *, int); -extern struct nvkm_oclass *g94_disp_outp_sclass[]; - -extern struct nvkm_output_dp_impl gf119_sor_dp_impl; -int gf119_sor_dp_lnk_ctl(struct nvkm_output_dp *, int, int, bool); -extern struct nvkm_oclass *gf119_disp_outp_sclass[]; - -void gm204_sor_magic(struct nvkm_output *outp); -extern struct nvkm_output_dp_impl gm204_sor_dp_impl; #endif |