Lines Matching refs:mxm

28 #include <subdev/bios/mxm.h>
44 mxm_shadow_rom(struct nvkm_mxm *mxm, u8 version)
46 struct nvkm_device *device = mxm->subdev.device;
65 mxm->mxms = mxms;
66 size = mxms_headerlen(mxm) + mxms_structlen(mxm);
67 mxm->mxms = kmalloc(size, GFP_KERNEL);
69 if (mxm->mxms &&
70 mxm_shadow_rom_fetch(bus, addr, 0, size, mxm->mxms))
73 kfree(mxm->mxms);
74 mxm->mxms = NULL;
80 mxm_shadow_dsm(struct nvkm_mxm *mxm, u8 version)
82 struct nvkm_subdev *subdev = &mxm->subdev;
114 mxm->mxms = kmemdup(obj->buffer.pointer,
122 return mxm->mxms != NULL;
131 wmi_wmmx_mxmi(struct nvkm_mxm *mxm, u8 version)
133 struct nvkm_subdev *subdev = &mxm->subdev;
161 mxm_shadow_wmi(struct nvkm_mxm *mxm, u8 version)
163 struct nvkm_subdev *subdev = &mxm->subdev;
175 mxms_args[1] = wmi_wmmx_mxmi(mxm, 0x00);
177 mxms_args[1] = wmi_wmmx_mxmi(mxm, version);
189 mxm->mxms = kmemdup(obj->buffer.pointer,
194 return mxm->mxms != NULL;
213 mxm_shadow(struct nvkm_mxm *mxm, u8 version)
217 nvkm_debug(&mxm->subdev, "checking %s\n", shadow->name);
218 if (shadow->exec(mxm, version)) {
219 if (mxms_valid(mxm))
221 kfree(mxm->mxms);
222 mxm->mxms = NULL;
237 struct nvkm_mxm *mxm;
241 if (!(mxm = *pmxm = kzalloc(sizeof(*mxm), GFP_KERNEL)))
244 nvkm_subdev_ctor(&nvkm_mxm, device, type, inst, &mxm->subdev);
248 nvkm_debug(&mxm->subdev, "no VBIOS data, nothing to do\n");
252 nvkm_info(&mxm->subdev, "BIOS version %d.%d\n", ver >> 4, ver & 0x0f);
253 nvkm_debug(&mxm->subdev, "module flags: %02x\n",
255 nvkm_debug(&mxm->subdev, "config flags: %02x\n",
258 if (mxm_shadow(mxm, ver)) {
259 nvkm_warn(&mxm->subdev, "failed to locate valid SIS\n");
272 nvkm_debug(&mxm->subdev, "MXMS Version %d.%d\n",
273 mxms_version(mxm) >> 8, mxms_version(mxm) & 0xff);
274 mxms_foreach(mxm, 0, NULL, NULL);
277 mxm->action |= MXM_SANITISE_DCB;