Commit 7ec60c04 authored by Ben Skeggs's avatar Ben Skeggs

drm/nouveau/disp/hda/gf119-: select HDA device entry based on bound head

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent d4115d17
...@@ -28,14 +28,14 @@ gf119_hda_device_entry(struct nvkm_ior *ior, int head) ...@@ -28,14 +28,14 @@ gf119_hda_device_entry(struct nvkm_ior *ior, int head)
{ {
struct nvkm_device *device = ior->disp->engine.subdev.device; struct nvkm_device *device = ior->disp->engine.subdev.device;
const u32 hoff = 0x800 * head; const u32 hoff = 0x800 * head;
nvkm_mask(device, 0x616548 + hoff, 0x00000070, 0x00000000); nvkm_mask(device, 0x616548 + hoff, 0x00000070, head << 4);
} }
void void
gf119_hda_eld(struct nvkm_ior *ior, int head, 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; struct nvkm_device *device = ior->disp->engine.subdev.device;
const u32 soff = 0x030 * ior->id; const u32 soff = 0x030 * ior->id + (head * 0x04);
int i; int i;
for (i = 0; i < size; i++) for (i = 0; i < size; i++)
...@@ -49,6 +49,7 @@ void ...@@ -49,6 +49,7 @@ void
gf119_hda_hpd(struct nvkm_ior *ior, int head, bool present) gf119_hda_hpd(struct nvkm_ior *ior, int head, bool present)
{ {
struct nvkm_device *device = ior->disp->engine.subdev.device; struct nvkm_device *device = ior->disp->engine.subdev.device;
const u32 soff = 0x030 * ior->id + (head * 0x04);
u32 data = 0x80000000; u32 data = 0x80000000;
u32 mask = 0x80000001; u32 mask = 0x80000001;
if (present) { if (present) {
...@@ -57,5 +58,5 @@ gf119_hda_hpd(struct nvkm_ior *ior, int head, bool present) ...@@ -57,5 +58,5 @@ gf119_hda_hpd(struct nvkm_ior *ior, int head, bool present)
} else { } else {
mask |= 0x00000002; mask |= 0x00000002;
} }
nvkm_mask(device, 0x10ec10 + ior->id * 0x030, mask, data); nvkm_mask(device, 0x10ec10 + soff, mask, data);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment