Commit b8407c9e authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/disp/dp: create subclass for dp outputs



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 456b0579
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -224,6 +224,7 @@ nouveau-y += core/engine/device/gm100.o
nouveau-y += core/engine/disp/base.o
nouveau-y += core/engine/disp/conn.o
nouveau-y += core/engine/disp/outp.o
nouveau-y += core/engine/disp/outpdp.o
nouveau-y += core/engine/disp/nv04.o
nouveau-y += core/engine/disp/nv50.o
nouveau-y += core/engine/disp/nv84.o
+1 −0
Original line number Diff line number Diff line
@@ -94,6 +94,7 @@ gm107_disp_oclass = &(struct nv50_disp_impl) {
		.init = _nouveau_disp_init,
		.fini = _nouveau_disp_fini,
	},
	.base.outp =  nvd0_disp_outp_sclass,
	.mthd.core = &nve0_disp_mast_mthd_chan,
	.mthd.base = &nvd0_disp_sync_mthd_chan,
	.mthd.ovly = &nve0_disp_ovly_mthd_chan,
+7 −0
Original line number Diff line number Diff line
@@ -1660,6 +1660,12 @@ nv50_disp_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
	return 0;
}

struct nouveau_oclass *
nv50_disp_outp_sclass[] = {
	&nv50_pior_dp_impl.base.base,
	NULL
};

struct nouveau_oclass *
nv50_disp_oclass = &(struct nv50_disp_impl) {
	.base.base.handle = NV_ENGINE(DISP, 0x50),
@@ -1669,6 +1675,7 @@ nv50_disp_oclass = &(struct nv50_disp_impl) {
		.init = _nouveau_disp_init,
		.fini = _nouveau_disp_fini,
	},
	.base.outp =  nv50_disp_outp_sclass,
	.mthd.core = &nv50_disp_mast_mthd_chan,
	.mthd.base = &nv50_disp_sync_mthd_chan,
	.mthd.ovly = &nv50_disp_ovly_mthd_chan,
+10 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
#include "dport.h"
#include "priv.h"
#include "outp.h"
#include "outpdp.h"

struct nv50_disp_impl {
	struct nouveau_disp_impl base;
@@ -200,4 +201,13 @@ void nvd0_disp_intr(struct nouveau_subdev *);
extern const struct nv50_disp_mthd_chan nve0_disp_mast_mthd_chan;
extern const struct nv50_disp_mthd_chan nve0_disp_ovly_mthd_chan;

extern struct nvkm_output_dp_impl nv50_pior_dp_impl;
extern struct nouveau_oclass *nv50_disp_outp_sclass[];

extern struct nvkm_output_dp_impl nv94_sor_dp_impl;
extern struct nouveau_oclass *nv94_disp_outp_sclass[];

extern struct nvkm_output_dp_impl nvd0_sor_dp_impl;
extern struct nouveau_oclass *nvd0_disp_outp_sclass[];

#endif
+1 −0
Original line number Diff line number Diff line
@@ -277,6 +277,7 @@ nv84_disp_oclass = &(struct nv50_disp_impl) {
		.init = _nouveau_disp_init,
		.fini = _nouveau_disp_fini,
	},
	.base.outp =  nv50_disp_outp_sclass,
	.mthd.core = &nv84_disp_mast_mthd_chan,
	.mthd.base = &nv84_disp_sync_mthd_chan,
	.mthd.ovly = &nv84_disp_ovly_mthd_chan,
Loading