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: Dave Airlie <airlied@redhat.com> From: Ben Skeggs <skeggsb@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/CACAvsv4MHr=Rq3FkZFTYWPc7o5-dTWFysXB=wN2L91SYeFbzkQ@mail.gmail.com
This commit is contained in:
@ -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 @@
|
|||||||
#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)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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)
|
|||||||
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;
|
||||||
|
Reference in New Issue
Block a user