value = USES_PPGTT(dev_priv);
                break;
        case I915_PARAM_HAS_SEMAPHORES:
-               value = i915_modparams.semaphores;
+               value = HAS_LEGACY_SEMAPHORES(dev_priv);
                break;
        case I915_PARAM_HAS_SECURE_BATCHES:
                value = capable(CAP_SYS_ADMIN);
                                            i915_modparams.enable_ppgtt);
        DRM_DEBUG_DRIVER("ppgtt mode: %i\n", i915_modparams.enable_ppgtt);
 
-       i915_modparams.semaphores =
-               intel_sanitize_semaphores(dev_priv, i915_modparams.semaphores);
-       DRM_DEBUG_DRIVER("use GPU semaphores? %s\n",
-                        yesno(i915_modparams.semaphores));
-
        intel_uc_sanitize_options(dev_priv);
 
        intel_gvt_sanitize_options(dev_priv);
 
 #define HAS_BLT(dev_priv)      HAS_ENGINE(dev_priv, BCS)
 #define HAS_VEBOX(dev_priv)    HAS_ENGINE(dev_priv, VECS)
 
+#define HAS_LEGACY_SEMAPHORES(dev_priv) IS_GEN7(dev_priv)
+
 #define HAS_LLC(dev_priv)      ((dev_priv)->info.has_llc)
 #define HAS_SNOOP(dev_priv)    ((dev_priv)->info.has_snoop)
 #define HAS_EDRAM(dev_priv)    (!!((dev_priv)->edram_cap & EDRAM_ENABLED))
 int intel_sanitize_enable_ppgtt(struct drm_i915_private *dev_priv,
                                int enable_ppgtt);
 
-bool intel_sanitize_semaphores(struct drm_i915_private *dev_priv, int value);
-
 /* i915_drv.c */
 void __printf(3, 4)
 __i915_printk(struct drm_i915_private *dev_priv, const char *level,
 
        return ret;
 }
 
-bool intel_sanitize_semaphores(struct drm_i915_private *dev_priv, int value)
-{
-       if (!IS_GEN7(dev_priv))
-               return false;
-
-       if (value >= 0)
-               return value;
-
-       return true;
-}
-
 static int __intel_engines_record_defaults(struct drm_i915_private *i915)
 {
        struct i915_gem_context *ctx;
 
        enum intel_engine_id id;
        const int num_rings =
                /* Use an extended w/a on gen7 if signalling from other rings */
-               (i915_modparams.semaphores && IS_GEN7(dev_priv)) ?
+               (HAS_LEGACY_SEMAPHORES(dev_priv) && IS_GEN7(dev_priv)) ?
                INTEL_INFO(dev_priv)->num_rings - 1 :
                0;
        int len;
 
        "Override lid status (0=autodetect, 1=autodetect disabled [default], "
        "-1=force lid closed, -2=force lid open)");
 
-i915_param_named_unsafe(semaphores, int, 0400,
-       "Use semaphores for inter-ring sync "
-       "(default: -1 (use per-chip defaults))");
-
 i915_param_named_unsafe(enable_rc6, int, 0400,
        "Enable power-saving render C-state 6. "
        "Different stages can be selected via bitmask values "
 
        param(char *, vbt_firmware, NULL) \
        param(int, modeset, -1) \
        param(int, panel_ignore_lid, 1) \
-       param(int, semaphores, -1) \
        param(int, lvds_channel_mode, 0) \
        param(int, panel_use_ssc, -1) \
        param(int, vbt_sdvo_panel_type, -1) \
 
                           I915_READ(RING_MI_MODE(engine->mmio_base)),
                           I915_READ(RING_MI_MODE(engine->mmio_base)) & (MODE_IDLE) ? " [idle]" : "");
        }
-       if (i915_modparams.semaphores) {
+       if (HAS_LEGACY_SEMAPHORES(dev_priv)) {
                drm_printf(m, "\tSYNC_0: 0x%08x\n",
                           I915_READ(RING_SYNC_0(engine->mmio_base)));
                drm_printf(m, "\tSYNC_1: 0x%08x\n",
 
 {
        int i;
 
-       if (!i915_modparams.semaphores)
+       if (!HAS_LEGACY_SEMAPHORES(dev_priv))
                return;
 
        GEM_BUG_ON(INTEL_GEN(dev_priv) < 6);
 
        engine->emit_breadcrumb = i9xx_emit_breadcrumb;
        engine->emit_breadcrumb_sz = i9xx_emit_breadcrumb_sz;
-       if (i915_modparams.semaphores) {
+       if (HAS_LEGACY_SEMAPHORES(dev_priv)) {
                int num_rings;
 
                engine->emit_breadcrumb = gen6_sema_emit_breadcrumb;