summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2017-05-19 23:59:35 +1000
committerBen Skeggs <bskeggs@redhat.com>2017-06-16 14:04:57 +1000
commit6c22ea3747fd36409ce4a1e1a0cbac40f93e1e71 (patch)
tree3e59368a13cff78bed2206404138b0849b56c69d /drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c
parent3c66c87dc96b3113b5ee84604800c2aabbb48994 (diff)
drm/nouveau/disp: introduce acquire/release display path methods
These exist to give NVKM information on the set of display paths that the DD needs to be active at any given time. Previously, the supervisor attempted to determine this solely from OR state, but there's a few configurations where this information on its own isn't enough to determine the specific display paths in question: - ANX9805, where the PIOR protocol for both DP and TMDS is TMDS. - On a device using DCB Switched Outputs. - On GM20x and newer, with a crossbar between the SOR and macro links. After this commit, the DD tells NVKM *exactly* which display path it's attempting a modeset on. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c')
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c
index b531890b1a6f..0f1c223cc7a8 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c
@@ -24,7 +24,6 @@
#include "dp.h"
#include "conn.h"
#include "ior.h"
-#include "nv50.h"
#include <subdev/bios.h>
#include <subdev/bios/init.h>
@@ -351,7 +350,6 @@ static const struct dp_rates {
static int
nvkm_dp_train(struct nvkm_dp *dp, u32 dataKBps)
{
- struct nv50_disp *disp = nv50_disp(dp->outp.disp);
struct nvkm_ior *ior = dp->outp.ior;
const u8 sink_nr = dp->dpcd[DPCD_RC02] & DPCD_RC02_MAX_LANE_COUNT;
const u8 sink_bw = dp->dpcd[DPCD_RC01_MAX_LINK_RATE];
@@ -361,9 +359,6 @@ nvkm_dp_train(struct nvkm_dp *dp, u32 dataKBps)
int ret = -EINVAL;
u8 pwr;
- if (!dp->outp.info.location && disp->func->sor.magic)
- disp->func->sor.magic(&dp->outp);
-
/* Find the lowest configuration of the OR that can support
* the required link rate.
*