diff -ur a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
--- a/drivers/gpu/drm/i915/i915_params.c	2024-09-04 13:59:20.626309515 +0500
+++ b/drivers/gpu/drm/i915/i915_params.c	2024-09-04 14:51:02.539226342 +0500
@@ -136,6 +136,9 @@
 		 "Enable support for unstable debug only userspace API. (default:false)");
 #endif
 
+i915_param_named_unsafe(force_tgp_vpch, bool, 0400,
+        "Enable force Tiger Point PCH Detection with Comet Lake CPU on virtual machines (default: false)");
+
 static void _param_print_bool(struct drm_printer *p, const char *name,
 			      bool val)
 {
diff -ur a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
--- a/drivers/gpu/drm/i915/i915_params.h	2024-09-04 13:59:29.005345962 +0500
+++ b/drivers/gpu/drm/i915/i915_params.h	2024-09-04 14:47:15.005895085 +0500
@@ -64,7 +64,8 @@
 	param(bool, enable_hangcheck, true, 0600) \
 	param(bool, error_capture, true, IS_ENABLED(CONFIG_DRM_I915_CAPTURE_ERROR) ? 0600 : 0) \
 	param(bool, enable_gvt, false, IS_ENABLED(CONFIG_DRM_I915_GVT) ? 0400 : 0) \
-	param(bool, enable_debug_only_api, false, IS_ENABLED(CONFIG_DRM_I915_REPLAY_GPU_HANGS_API) ? 0400 : 0)
+	param(bool, enable_debug_only_api, false, IS_ENABLED(CONFIG_DRM_I915_REPLAY_GPU_HANGS_API) ? 0400 : 0) \
+	param(bool, force_tgp_vpch, false, 0400)
 
 #define MEMBER(T, member, ...) T member;
 struct i915_params {
diff -ur a/drivers/gpu/drm/i915/soc/intel_pch.c b/drivers/gpu/drm/i915/soc/intel_pch.c
--- a/drivers/gpu/drm/i915/soc/intel_pch.c	2024-09-04 14:07:30.274908882 +0500
+++ b/drivers/gpu/drm/i915/soc/intel_pch.c	2024-09-04 14:07:48.548895055 +0500
@@ -170,7 +170,8 @@
 
 	if (IS_ALDERLAKE_S(dev_priv) || IS_ALDERLAKE_P(dev_priv))
 		id = INTEL_PCH_ADP_DEVICE_ID_TYPE;
-	else if (IS_TIGERLAKE(dev_priv) || IS_ROCKETLAKE(dev_priv))
+	else if (IS_TIGERLAKE(dev_priv) || IS_ROCKETLAKE(dev_priv) ||
+		 (IS_COMETLAKE(dev_priv) && dev_priv->params.force_tgp_vpch))
 		id = INTEL_PCH_TGP_DEVICE_ID_TYPE;
 	else if (IS_JASPERLAKE(dev_priv) || IS_ELKHARTLAKE(dev_priv))
 		id = INTEL_PCH_MCC_DEVICE_ID_TYPE;
