Commit 1404e56a authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/disp/hda/gt215-: pass head to nvkm_ior.hda.eld()



We're going to use the bound head to select HDA device entry.

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 18d8cf93
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@
#include "ior.h"

void
gf119_hda_eld(struct nvkm_ior *ior, u8 *data, u8 size)
gf119_hda_eld(struct nvkm_ior *ior, int head, u8 *data, u8 size)
{
	struct nvkm_device *device = ior->disp->engine.subdev.device;
	const u32 soff = 0x030 * ior->id;
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@
#include "ior.h"

void
gt215_hda_eld(struct nvkm_ior *ior, u8 *data, u8 size)
gt215_hda_eld(struct nvkm_ior *ior, int head, u8 *data, u8 size)
{
	struct nvkm_device *device = ior->disp->engine.subdev.device;
	const u32 soff = ior->id * 0x800;
+3 −3
Original line number Diff line number Diff line
@@ -87,7 +87,7 @@ struct nvkm_ior_func {

	struct {
		void (*hpd)(struct nvkm_ior *, int head, bool present);
		void (*eld)(struct nvkm_ior *, u8 *data, u8 size);
		void (*eld)(struct nvkm_ior *, int head, u8 *data, u8 size);
	} hda;
};

@@ -158,10 +158,10 @@ void gv100_hdmi_ctrl(struct nvkm_ior *, int, bool, u8, u8, u8 *, u8 , u8 *, u8);
void gm200_hdmi_scdc(struct nvkm_ior *, int, u8);

void gt215_hda_hpd(struct nvkm_ior *, int, bool);
void gt215_hda_eld(struct nvkm_ior *, u8 *, u8);
void gt215_hda_eld(struct nvkm_ior *, int, u8 *, u8);

void gf119_hda_hpd(struct nvkm_ior *, int, bool);
void gf119_hda_eld(struct nvkm_ior *, u8 *, u8);
void gf119_hda_eld(struct nvkm_ior *, int, u8 *, u8);

#define IOR_MSG(i,l,f,a...) do {                                               \
	struct nvkm_ior *_ior = (i);                                           \
+1 −1
Original line number Diff line number Diff line
@@ -155,7 +155,7 @@ nv50_disp_root_mthd_(struct nvkm_object *object, u32 mthd, void *data, u32 size)
			if (outp->info.type == DCB_OUTPUT_DP)
				ior->func->dp.audio(ior, hidx, true);
			ior->func->hda.hpd(ior, hidx, true);
			ior->func->hda.eld(ior, data, size);
			ior->func->hda.eld(ior, hidx, data, size);
		} else {
			if (outp->info.type == DCB_OUTPUT_DP)
				ior->func->dp.audio(ior, hidx, false);