提交 93c6e966 编写于 作者: C Chris Wilson

drm/i915: Remove i915.semaphores modparam

Having disabled the broken semaphores on Sandybridge, there is no need
for a modparam any more, so remove it in favour of a simple
HAS_LEGACY_SEMAPHORES() guard.
Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171120205504.21892-5-chris@chris-wilson.co.uk
上级 af9ff6c7
...@@ -321,7 +321,7 @@ static int i915_getparam(struct drm_device *dev, void *data, ...@@ -321,7 +321,7 @@ static int i915_getparam(struct drm_device *dev, void *data,
value = USES_PPGTT(dev_priv); value = USES_PPGTT(dev_priv);
break; break;
case I915_PARAM_HAS_SEMAPHORES: case I915_PARAM_HAS_SEMAPHORES:
value = i915_modparams.semaphores; value = HAS_LEGACY_SEMAPHORES(dev_priv);
break; break;
case I915_PARAM_HAS_SECURE_BATCHES: case I915_PARAM_HAS_SECURE_BATCHES:
value = capable(CAP_SYS_ADMIN); value = capable(CAP_SYS_ADMIN);
...@@ -1063,11 +1063,6 @@ static void intel_sanitize_options(struct drm_i915_private *dev_priv) ...@@ -1063,11 +1063,6 @@ static void intel_sanitize_options(struct drm_i915_private *dev_priv)
i915_modparams.enable_ppgtt); i915_modparams.enable_ppgtt);
DRM_DEBUG_DRIVER("ppgtt mode: %i\n", 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_uc_sanitize_options(dev_priv);
intel_gvt_sanitize_options(dev_priv); intel_gvt_sanitize_options(dev_priv);
......
...@@ -3139,6 +3139,8 @@ intel_info(const struct drm_i915_private *dev_priv) ...@@ -3139,6 +3139,8 @@ intel_info(const struct drm_i915_private *dev_priv)
#define HAS_BLT(dev_priv) HAS_ENGINE(dev_priv, BCS) #define HAS_BLT(dev_priv) HAS_ENGINE(dev_priv, BCS)
#define HAS_VEBOX(dev_priv) HAS_ENGINE(dev_priv, VECS) #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_LLC(dev_priv) ((dev_priv)->info.has_llc)
#define HAS_SNOOP(dev_priv) ((dev_priv)->info.has_snoop) #define HAS_SNOOP(dev_priv) ((dev_priv)->info.has_snoop)
#define HAS_EDRAM(dev_priv) (!!((dev_priv)->edram_cap & EDRAM_ENABLED)) #define HAS_EDRAM(dev_priv) (!!((dev_priv)->edram_cap & EDRAM_ENABLED))
...@@ -3302,8 +3304,6 @@ intel_ggtt_update_needs_vtd_wa(struct drm_i915_private *dev_priv) ...@@ -3302,8 +3304,6 @@ intel_ggtt_update_needs_vtd_wa(struct drm_i915_private *dev_priv)
int intel_sanitize_enable_ppgtt(struct drm_i915_private *dev_priv, int intel_sanitize_enable_ppgtt(struct drm_i915_private *dev_priv,
int enable_ppgtt); int enable_ppgtt);
bool intel_sanitize_semaphores(struct drm_i915_private *dev_priv, int value);
/* i915_drv.c */ /* i915_drv.c */
void __printf(3, 4) void __printf(3, 4)
__i915_printk(struct drm_i915_private *dev_priv, const char *level, __i915_printk(struct drm_i915_private *dev_priv, const char *level,
......
...@@ -4997,17 +4997,6 @@ int i915_gem_init_hw(struct drm_i915_private *dev_priv) ...@@ -4997,17 +4997,6 @@ int i915_gem_init_hw(struct drm_i915_private *dev_priv)
return ret; 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) static int __intel_engines_record_defaults(struct drm_i915_private *i915)
{ {
struct i915_gem_context *ctx; struct i915_gem_context *ctx;
......
...@@ -574,7 +574,7 @@ mi_set_context(struct drm_i915_gem_request *req, u32 flags) ...@@ -574,7 +574,7 @@ mi_set_context(struct drm_i915_gem_request *req, u32 flags)
enum intel_engine_id id; enum intel_engine_id id;
const int num_rings = const int num_rings =
/* Use an extended w/a on gen7 if signalling from other 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 : INTEL_INFO(dev_priv)->num_rings - 1 :
0; 0;
int len; int len;
......
...@@ -46,10 +46,6 @@ i915_param_named_unsafe(panel_ignore_lid, int, 0600, ...@@ -46,10 +46,6 @@ i915_param_named_unsafe(panel_ignore_lid, int, 0600,
"Override lid status (0=autodetect, 1=autodetect disabled [default], " "Override lid status (0=autodetect, 1=autodetect disabled [default], "
"-1=force lid closed, -2=force lid open)"); "-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, i915_param_named_unsafe(enable_rc6, int, 0400,
"Enable power-saving render C-state 6. " "Enable power-saving render C-state 6. "
"Different stages can be selected via bitmask values " "Different stages can be selected via bitmask values "
......
...@@ -31,7 +31,6 @@ ...@@ -31,7 +31,6 @@
param(char *, vbt_firmware, NULL) \ param(char *, vbt_firmware, NULL) \
param(int, modeset, -1) \ param(int, modeset, -1) \
param(int, panel_ignore_lid, 1) \ param(int, panel_ignore_lid, 1) \
param(int, semaphores, -1) \
param(int, lvds_channel_mode, 0) \ param(int, lvds_channel_mode, 0) \
param(int, panel_use_ssc, -1) \ param(int, panel_use_ssc, -1) \
param(int, vbt_sdvo_panel_type, -1) \ param(int, vbt_sdvo_panel_type, -1) \
......
...@@ -1713,7 +1713,7 @@ void intel_engine_dump(struct intel_engine_cs *engine, struct drm_printer *m) ...@@ -1713,7 +1713,7 @@ void intel_engine_dump(struct intel_engine_cs *engine, struct drm_printer *m)
I915_READ(RING_MI_MODE(engine->mmio_base)), I915_READ(RING_MI_MODE(engine->mmio_base)),
I915_READ(RING_MI_MODE(engine->mmio_base)) & (MODE_IDLE) ? " [idle]" : ""); 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", drm_printf(m, "\tSYNC_0: 0x%08x\n",
I915_READ(RING_SYNC_0(engine->mmio_base))); I915_READ(RING_SYNC_0(engine->mmio_base)));
drm_printf(m, "\tSYNC_1: 0x%08x\n", drm_printf(m, "\tSYNC_1: 0x%08x\n",
......
...@@ -1712,7 +1712,7 @@ static void intel_ring_init_semaphores(struct drm_i915_private *dev_priv, ...@@ -1712,7 +1712,7 @@ static void intel_ring_init_semaphores(struct drm_i915_private *dev_priv,
{ {
int i; int i;
if (!i915_modparams.semaphores) if (!HAS_LEGACY_SEMAPHORES(dev_priv))
return; return;
GEM_BUG_ON(INTEL_GEN(dev_priv) < 6); GEM_BUG_ON(INTEL_GEN(dev_priv) < 6);
...@@ -1823,7 +1823,7 @@ static void intel_ring_default_vfuncs(struct drm_i915_private *dev_priv, ...@@ -1823,7 +1823,7 @@ static void intel_ring_default_vfuncs(struct drm_i915_private *dev_priv,
engine->emit_breadcrumb = i9xx_emit_breadcrumb; engine->emit_breadcrumb = i9xx_emit_breadcrumb;
engine->emit_breadcrumb_sz = i9xx_emit_breadcrumb_sz; engine->emit_breadcrumb_sz = i9xx_emit_breadcrumb_sz;
if (i915_modparams.semaphores) { if (HAS_LEGACY_SEMAPHORES(dev_priv)) {
int num_rings; int num_rings;
engine->emit_breadcrumb = gen6_sema_emit_breadcrumb; engine->emit_breadcrumb = gen6_sema_emit_breadcrumb;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册