Patch "drm/nouveau/disp/sor/gm107: training pattern registers are like gm200" has been added to the 4.6-stable tree
Subsystems (4)
This is a note to let you know that I've just added the patch titled
drm/nouveau/disp/sor/gm107: training pattern registers are like gm200
to the 4.6-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
drm-nouveau-disp-sor-gm107-training-pattern-registers-are-like-gm200.patch
and it can be found in the queue-4.6 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
4691409b3e2250ed66aa8dcefa23fe765daf7addMon Sep 17 00:00:00 2001
From: Ben Skeggs <[email protected]>
Date: Fri, 3 Jun 2016 15:05:52 +1000
Subject: drm/nouveau/disp/sor/gm107: training pattern registers are like gm200
From: Ben Skeggs <[email protected]>
commit 4691409b3e2250ed66aa8dcefa23fe765daf7add upstream.
--- drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild | 1 drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c | 2 drivers/gpu/drm/nouveau/nvkm/engine/disp/outpdp.h | 9 ++- drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c | 2 drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c | 53 ++++++++++++++++++++ drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c | 15 ----- 6 files changed, 64 insertions(+), 18 deletions(-)
drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild +1 -0
@@ -18,6 +18,7 @@ nvkm-y += nvkm/engine/disp/piornv50.o nvkm-y += nvkm/engine/disp/sornv50.o nvkm-y += nvkm/engine/disp/sorg94.o nvkm-y += nvkm/engine/disp/sorgf119.o +nvkm-y += nvkm/engine/disp/sorgm107.o nvkm-y += nvkm/engine/disp/sorgm200.o nvkm-y += nvkm/engine/disp/dport.o
drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c +1 -1
@@ -36,7 +36,7 @@ gm107_disp = { .outp.internal.crt = nv50_dac_output_new, .outp.internal.tmds = nv50_sor_output_new, .outp.internal.lvds = nv50_sor_output_new, - .outp.internal.dp = gf119_sor_dp_new, + .outp.internal.dp = gm107_sor_dp_new, .dac.nr = 3, .dac.power = nv50_dac_power, .dac.sense = nv50_dac_sense,
drivers/gpu/drm/nouveau/nvkm/engine/disp/outpdp.h +7 -2
@@ -62,7 +62,12 @@ int g94_sor_dp_lnk_pwr(struct nvkm_outpuint gf119_sor_dp_new (struct nvkm_disp *,int ,struct dcb_output *,struct nvkm_output **);int gf119_sor_dp_lnk_ctl (struct nvkm_output_dp *,int ,int ,bool ); +int gf119_sor_dp_drv_ctl (struct nvkm_output_dp *,int ,int ,int ,int ); -int gm200_sor_dp_new (struct nvkm_disp *,int ,struct dcb_output *, -struct nvkm_output **); +int gm107_sor_dp_new (struct nvkm_disp *,int ,struct dcb_output *, +struct nvkm_output **); +int gm107_sor_dp_pattern (struct nvkm_output_dp *,int ); + +int gm200_sor_dp_new (struct nvkm_disp *,int ,struct dcb_output *, +struct nvkm_output **);#endif
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c +1 -1
@@ -63,7 +63,7 @@ gf119_sor_dp_lnk_ctl(struct nvkm_output_return 0 ; } -static int +int gf119_sor_dp_drv_ctl (struct nvkm_output_dp *outp,int ln,int vs,int pe,int pc) {
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c new file +53 -0
53 lines not on this page · raw message
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c +1 -14
@@ -57,19 +57,6 @@ gm200_sor_dp_lane_map(struct nvkm_device }static int -gm200_sor_dp_pattern (struct nvkm_output_dp *outp,int pattern) -{ -struct nvkm_device *device = outp->base.disp->engine.subdev.device; -const u32 soff =gm200_sor_soff (outp); -const u32 data =0x01010101 * pattern; -if (outp->base.info.sorconf.link &1 ) -nvkm_mask (device,0x61c110 + soff,0x0f0f0f0f , data); -else -nvkm_mask (device,0x61c12c + soff,0x0f0f0f0f , data); -return 0 ; -} - -static int gm200_sor_dp_lnk_pwr (struct nvkm_output_dp *outp,int nr) {struct nvkm_device *device = outp->base.disp->engine.subdev.device;
@@ -129,7 +116,7 @@ gm200_sor_dp_drv_ctl(struct nvkm_output_static const struct nvkm_output_dp_func gm200_sor_dp_func = { - .pattern = gm200_sor_dp_pattern, + .pattern = gm107_sor_dp_pattern, .lnk_pwr = gm200_sor_dp_lnk_pwr, .lnk_ctl = gf119_sor_dp_lnk_ctl, .drv_ctl = gm200_sor_dp_drv_ctl,
Patches currently in stable-queue which might be from [email protected] are
queue-4.6/drm-nouveau-fix-for-disabled-fbdev-emulation.patch queue-4.6/drm-nouveau-disp-sor-gf119-both-links-use-the-same-training-register.patch queue-4.6/drm-nouveau-gr-gf100-update-sm-error-decoding-from-gk20a-nvgpu-headers.patch queue-4.6/drm-nouveau-revert-drm-nouveau-device-pci-set-as-non-cpu-coherent-on-arm64.patch queue-4.6/drm-nouveau-bios-disp-fix-handling-of-match-any-protocol-entries.patch queue-4.6/drm-nouveau-disp-sor-gf119-select-correct-sor-when-poking-training-pattern.patch queue-4.6/drm-nouveau-disp-sor-gm107-training-pattern-registers-are-like-gm200.patch queue-4.6/drm-nouveau-fbcon-fix-out-of-bounds-memory-accesses.patch queue-4.6/drm-nouveau-ltc-gm107-fix-typo-in-the-address-of-nv_pltcg_ltc0_lts0_intr.patch