drm/nouveau/pmu/gk104: check fuse to determine presence of PGOB
Not 100% confirmed, but seems to match from the few boards I've looked at so far. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
779d16aacc
commit
560f989fe4
|
@ -27,6 +27,7 @@
|
||||||
#include "fuc/gf119.fuc4.h"
|
#include "fuc/gf119.fuc4.h"
|
||||||
|
|
||||||
#include <core/option.h>
|
#include <core/option.h>
|
||||||
|
#include <subdev/fuse.h>
|
||||||
#include <subdev/timer.h>
|
#include <subdev/timer.h>
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -57,6 +58,9 @@ gk104_pmu_pgob(struct nvkm_pmu *pmu, bool enable)
|
||||||
{
|
{
|
||||||
struct nvkm_device *device = pmu->subdev.device;
|
struct nvkm_device *device = pmu->subdev.device;
|
||||||
|
|
||||||
|
if (!(nvkm_fuse_read(device->fuse, 0x31c) & 0x00000001))
|
||||||
|
return;
|
||||||
|
|
||||||
nvkm_mask(device, 0x000200, 0x00001000, 0x00000000);
|
nvkm_mask(device, 0x000200, 0x00001000, 0x00000000);
|
||||||
nvkm_rd32(device, 0x000200);
|
nvkm_rd32(device, 0x000200);
|
||||||
nvkm_mask(device, 0x000200, 0x08000000, 0x08000000);
|
nvkm_mask(device, 0x000200, 0x08000000, 0x08000000);
|
||||||
|
|
Loading…
Reference in New Issue