mxm               149 drivers/gpu/drm/nouveau/include/nvkm/core/device.h 	struct nvkm_subdev *mxm;
mxm               222 drivers/gpu/drm/nouveau/include/nvkm/core/device.h 	int (*mxm     )(struct nvkm_device *, int idx, struct nvkm_subdev **);
mxm               825 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm               932 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm               964 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm               996 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1028 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1060 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1092 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1124 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1156 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1190 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1223 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1256 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1288 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1320 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1356 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1393 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1429 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1465 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1502 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1539 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1576 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1612 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1647 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1683 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1722 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1761 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1825 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1863 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1901 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1939 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              1977 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              2011 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              2044 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              2079 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              2114 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	.mxm = nv50_mxm_new,
mxm              2658 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 	_(MXM     , device->mxm     ,  device->mxm);
mxm              3164 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c 		_(NVKM_SUBDEV_MXM     ,      mxm);
mxm                79 drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.c 	u16 mxm = mxm_table(bios, &ver, &hdr);
mxm                80 drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.c 	if (mxm && hdr >= 6) {
mxm                81 drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.c 		u16 map = nvbios_rd16(bios, mxm + 4);
mxm               116 drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.c 	u16 mxm = mxm_table(bios, &ver, &hdr);
mxm               117 drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.c 	if (mxm && hdr >= 8) {
mxm               118 drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.c 		u16 map = nvbios_rd16(bios, mxm + 6);
mxm                44 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c mxm_shadow_rom(struct nvkm_mxm *mxm, u8 version)
mxm                46 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	struct nvkm_device *device = mxm->subdev.device;
mxm                65 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	mxm->mxms = mxms;
mxm                66 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	size = mxms_headerlen(mxm) + mxms_structlen(mxm);
mxm                67 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	mxm->mxms = kmalloc(size, GFP_KERNEL);
mxm                69 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	if (mxm->mxms &&
mxm                70 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	    mxm_shadow_rom_fetch(bus, addr, 0, size, mxm->mxms))
mxm                73 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	kfree(mxm->mxms);
mxm                74 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	mxm->mxms = NULL;
mxm                80 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c mxm_shadow_dsm(struct nvkm_mxm *mxm, u8 version)
mxm                82 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	struct nvkm_subdev *subdev = &mxm->subdev;
mxm               114 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 		mxm->mxms = kmemdup(obj->buffer.pointer,
mxm               122 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	return mxm->mxms != NULL;
mxm               131 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c wmi_wmmx_mxmi(struct nvkm_mxm *mxm, u8 version)
mxm               133 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	struct nvkm_subdev *subdev = &mxm->subdev;
mxm               161 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c mxm_shadow_wmi(struct nvkm_mxm *mxm, u8 version)
mxm               163 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	struct nvkm_subdev *subdev = &mxm->subdev;
mxm               175 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	mxms_args[1] = wmi_wmmx_mxmi(mxm, 0x00);
mxm               177 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 		mxms_args[1] = wmi_wmmx_mxmi(mxm, version);
mxm               189 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 		mxm->mxms = kmemdup(obj->buffer.pointer,
mxm               194 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	return mxm->mxms != NULL;
mxm               213 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c mxm_shadow(struct nvkm_mxm *mxm, u8 version)
mxm               217 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 		nvkm_debug(&mxm->subdev, "checking %s\n", shadow->name);
mxm               218 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 		if (shadow->exec(mxm, version)) {
mxm               219 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 			if (mxms_valid(mxm))
mxm               221 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 			kfree(mxm->mxms);
mxm               222 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 			mxm->mxms = NULL;
mxm               236 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	struct nvkm_mxm *mxm;
mxm               240 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	if (!(mxm = *pmxm = kzalloc(sizeof(*mxm), GFP_KERNEL)))
mxm               243 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	nvkm_subdev_ctor(&nvkm_mxm, device, index, &mxm->subdev);
mxm               247 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 		nvkm_debug(&mxm->subdev, "no VBIOS data, nothing to do\n");
mxm               251 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	nvkm_info(&mxm->subdev, "BIOS version %d.%d\n", ver >> 4, ver & 0x0f);
mxm               252 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	nvkm_debug(&mxm->subdev, "module flags: %02x\n",
mxm               254 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	nvkm_debug(&mxm->subdev, "config flags: %02x\n",
mxm               257 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	if (mxm_shadow(mxm, ver)) {
mxm               258 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 		nvkm_warn(&mxm->subdev, "failed to locate valid SIS\n");
mxm               271 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	nvkm_debug(&mxm->subdev, "MXMS Version %d.%d\n",
mxm               272 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 		   mxms_version(mxm) >> 8, mxms_version(mxm) & 0xff);
mxm               273 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 	mxms_foreach(mxm, 0, NULL, NULL);
mxm               276 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c 		mxm->action |= MXM_SANITISE_DCB;
mxm                30 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c mxms_data(struct nvkm_mxm *mxm)
mxm                32 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 	return mxm->mxms;
mxm                37 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c mxms_version(struct nvkm_mxm *mxm)
mxm                39 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 	u8 *mxms = mxms_data(mxm);
mxm                50 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 	nvkm_debug(&mxm->subdev, "unknown version %d.%d\n", mxms[4], mxms[5]);
mxm                55 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c mxms_headerlen(struct nvkm_mxm *mxm)
mxm                61 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c mxms_structlen(struct nvkm_mxm *mxm)
mxm                63 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 	return *(u16 *)&mxms_data(mxm)[6];
mxm                67 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c mxms_checksum(struct nvkm_mxm *mxm)
mxm                69 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 	u16 size = mxms_headerlen(mxm) + mxms_structlen(mxm);
mxm                70 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 	u8 *mxms = mxms_data(mxm), sum = 0;
mxm                74 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 		nvkm_debug(&mxm->subdev, "checksum invalid\n");
mxm                81 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c mxms_valid(struct nvkm_mxm *mxm)
mxm                83 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 	u8 *mxms = mxms_data(mxm);
mxm                85 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 		nvkm_debug(&mxm->subdev, "signature invalid\n");
mxm                89 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 	if (!mxms_version(mxm) || !mxms_checksum(mxm))
mxm                96 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c mxms_foreach(struct nvkm_mxm *mxm, u8 types,
mxm                99 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 	struct nvkm_subdev *subdev = &mxm->subdev;
mxm               100 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 	u8 *mxms = mxms_data(mxm);
mxm               101 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 	u8 *desc = mxms + mxms_headerlen(mxm);
mxm               102 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 	u8 *fini = desc + mxms_structlen(mxm) - 1;
mxm               111 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 			if (mxms_version(mxm) >= 0x0300)
mxm               130 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 			if (mxms_version(mxm) >= 0x0300) {
mxm               148 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 		if (mxm->subdev.debug >= NV_DBG_DEBUG && (exec == NULL)) {
mxm               170 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 			if (!exec(mxm, desc, info))
mxm               181 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c mxms_output_device(struct nvkm_mxm *mxm, u8 *pdata, struct mxms_odev *desc)
mxm               184 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c 	if (mxms_version(mxm) >= 0x0300)
mxm                37 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c mxm_match_tmds_partner(struct nvkm_mxm *mxm, u8 *data, void *info)
mxm                42 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 	mxms_output_device(mxm, data, &desc);
mxm                50 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c mxm_match_dcb(struct nvkm_mxm *mxm, u8 *data, void *info)
mxm                52 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 	struct nvkm_bios *bios = mxm->subdev.device->bios;
mxm                56 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 	mxms_output_device(mxm, data, &ctx->desc);
mxm                85 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 	    mxms_foreach(mxm, 0x01, mxm_match_tmds_partner, ctx)) {
mxm                97 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 	struct nvkm_mxm *mxm = data;
mxm               105 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 	if (mxms_foreach(mxm, 0x01, mxm_match_dcb, &ctx)) {
mxm               106 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 		nvkm_debug(&mxm->subdev, "disable %d: %08x %08x\n",
mxm               171 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 	if (mxms_version(mxm) >= 0x0300)
mxm               178 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c mxm_show_unmatched(struct nvkm_mxm *mxm, u8 *data, void *info)
mxm               180 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 	struct nvkm_subdev *subdev = &mxm->subdev;
mxm               188 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c mxm_dcb_sanitise(struct nvkm_mxm *mxm)
mxm               190 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 	struct nvkm_subdev *subdev = &mxm->subdev;
mxm               199 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 	dcb_outp_foreach(bios, mxm, mxm_dcb_sanitise_entry);
mxm               200 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 	mxms_foreach(mxm, 0x01, mxm_show_unmatched, NULL);
mxm               206 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 	struct nvkm_mxm *mxm;
mxm               209 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 	ret = nvkm_mxm_new_(device, index, &mxm);
mxm               210 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 	if (mxm)
mxm               211 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 		*pmxm = &mxm->subdev;
mxm               215 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 	if (mxm->action & MXM_SANITISE_DCB)
mxm               216 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c 		mxm_dcb_sanitise(mxm);