Commit ae5e5ae9 authored by Dave Airlie's avatar Dave Airlie

Merge branch 'linux-4.21' of git://github.com/skeggsb/linux into drm-fixes

3 nouveau fixes:
one backlight, falcon register access, and a fan fix.
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
From: Ben Skeggs <skeggsb@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/CACAvsv4MHr=Rq3FkZFTYWPc7o5-dTWFysXB=wN2L91SYeFbzkQ@mail.gmail.com
parents f34c48e0 a5176a4c
...@@ -253,6 +253,9 @@ nouveau_backlight_init(struct drm_connector *connector) ...@@ -253,6 +253,9 @@ nouveau_backlight_init(struct drm_connector *connector)
case NV_DEVICE_INFO_V0_FERMI: case NV_DEVICE_INFO_V0_FERMI:
case NV_DEVICE_INFO_V0_KEPLER: case NV_DEVICE_INFO_V0_KEPLER:
case NV_DEVICE_INFO_V0_MAXWELL: case NV_DEVICE_INFO_V0_MAXWELL:
case NV_DEVICE_INFO_V0_PASCAL:
case NV_DEVICE_INFO_V0_VOLTA:
case NV_DEVICE_INFO_V0_TURING:
ret = nv50_backlight_init(nv_encoder, &props, &ops); ret = nv50_backlight_init(nv_encoder, &props, &ops);
break; break;
default: default:
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include <engine/falcon.h> #include <engine/falcon.h>
#include <core/gpuobj.h> #include <core/gpuobj.h>
#include <subdev/mc.h>
#include <subdev/timer.h> #include <subdev/timer.h>
#include <engine/fifo.h> #include <engine/fifo.h>
...@@ -107,8 +108,10 @@ nvkm_falcon_fini(struct nvkm_engine *engine, bool suspend) ...@@ -107,8 +108,10 @@ nvkm_falcon_fini(struct nvkm_engine *engine, bool suspend)
} }
} }
nvkm_mask(device, base + 0x048, 0x00000003, 0x00000000); if (nvkm_mc_enabled(device, engine->subdev.index)) {
nvkm_wr32(device, base + 0x014, 0xffffffff); nvkm_mask(device, base + 0x048, 0x00000003, 0x00000000);
nvkm_wr32(device, base + 0x014, 0xffffffff);
}
return 0; return 0;
} }
......
...@@ -132,11 +132,12 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode) ...@@ -132,11 +132,12 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode)
duty = nvkm_therm_update_linear(therm); duty = nvkm_therm_update_linear(therm);
break; break;
case NVBIOS_THERM_FAN_OTHER: case NVBIOS_THERM_FAN_OTHER:
if (therm->cstate) if (therm->cstate) {
duty = therm->cstate; duty = therm->cstate;
else poll = false;
} else {
duty = nvkm_therm_update_linear_fallback(therm); duty = nvkm_therm_update_linear_fallback(therm);
poll = false; }
break; break;
} }
immd = false; immd = false;
......
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