diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2019-01-25 07:00:04 -0500 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2019-01-25 07:53:13 -0500 |
commit | 9fa4973e91be3e5cb220f7d607c21bf6e82c52d1 (patch) | |
tree | 499a5df69bf7a05e6a9d1f6236559d096d34d5c2 /drivers/gpu/drm/i915/intel_ringbuffer.c | |
parent | e1a73a54a96e80dc6009e73c9209e4f81ae22285 (diff) |
drm/i915: Remove manual breadcumb counting
Now that we know we measure the size of the engine->emit_breadcrumb()
correctly, we can remove the previous manual counting.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190125120005.25191-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ringbuffer.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_ringbuffer.c | 28 |
1 files changed, 5 insertions, 23 deletions
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index 107c4934e2fa..09c90475168a 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c | |||
@@ -330,7 +330,6 @@ static u32 *gen6_rcs_emit_breadcrumb(struct i915_request *rq, u32 *cs) | |||
330 | 330 | ||
331 | return cs; | 331 | return cs; |
332 | } | 332 | } |
333 | static const int gen6_rcs_emit_breadcrumb_sz = 14; | ||
334 | 333 | ||
335 | static int | 334 | static int |
336 | gen7_render_ring_cs_stall_wa(struct i915_request *rq) | 335 | gen7_render_ring_cs_stall_wa(struct i915_request *rq) |
@@ -432,7 +431,6 @@ static u32 *gen7_rcs_emit_breadcrumb(struct i915_request *rq, u32 *cs) | |||
432 | 431 | ||
433 | return cs; | 432 | return cs; |
434 | } | 433 | } |
435 | static const int gen7_rcs_emit_breadcrumb_sz = 6; | ||
436 | 434 | ||
437 | static u32 *gen6_xcs_emit_breadcrumb(struct i915_request *rq, u32 *cs) | 435 | static u32 *gen6_xcs_emit_breadcrumb(struct i915_request *rq, u32 *cs) |
438 | { | 436 | { |
@@ -446,7 +444,6 @@ static u32 *gen6_xcs_emit_breadcrumb(struct i915_request *rq, u32 *cs) | |||
446 | 444 | ||
447 | return cs; | 445 | return cs; |
448 | } | 446 | } |
449 | static const int gen6_xcs_emit_breadcrumb_sz = 4; | ||
450 | 447 | ||
451 | #define GEN7_XCS_WA 32 | 448 | #define GEN7_XCS_WA 32 |
452 | static u32 *gen7_xcs_emit_breadcrumb(struct i915_request *rq, u32 *cs) | 449 | static u32 *gen7_xcs_emit_breadcrumb(struct i915_request *rq, u32 *cs) |
@@ -475,7 +472,6 @@ static u32 *gen7_xcs_emit_breadcrumb(struct i915_request *rq, u32 *cs) | |||
475 | 472 | ||
476 | return cs; | 473 | return cs; |
477 | } | 474 | } |
478 | static const int gen7_xcs_emit_breadcrumb_sz = 8 + GEN7_XCS_WA * 3; | ||
479 | #undef GEN7_XCS_WA | 475 | #undef GEN7_XCS_WA |
480 | 476 | ||
481 | static void set_hwstam(struct intel_engine_cs *engine, u32 mask) | 477 | static void set_hwstam(struct intel_engine_cs *engine, u32 mask) |
@@ -885,7 +881,6 @@ static u32 *i9xx_emit_breadcrumb(struct i915_request *rq, u32 *cs) | |||
885 | 881 | ||
886 | return cs; | 882 | return cs; |
887 | } | 883 | } |
888 | static const int i9xx_emit_breadcrumb_sz = 6; | ||
889 | 884 | ||
890 | #define GEN5_WA_STORES 8 /* must be at least 1! */ | 885 | #define GEN5_WA_STORES 8 /* must be at least 1! */ |
891 | static u32 *gen5_emit_breadcrumb(struct i915_request *rq, u32 *cs) | 886 | static u32 *gen5_emit_breadcrumb(struct i915_request *rq, u32 *cs) |
@@ -908,7 +903,6 @@ static u32 *gen5_emit_breadcrumb(struct i915_request *rq, u32 *cs) | |||
908 | 903 | ||
909 | return cs; | 904 | return cs; |
910 | } | 905 | } |
911 | static const int gen5_emit_breadcrumb_sz = GEN5_WA_STORES * 3 + 2; | ||
912 | #undef GEN5_WA_STORES | 906 | #undef GEN5_WA_STORES |
913 | 907 | ||
914 | static void | 908 | static void |
@@ -2206,11 +2200,8 @@ static void intel_ring_default_vfuncs(struct drm_i915_private *dev_priv, | |||
2206 | engine->request_alloc = ring_request_alloc; | 2200 | engine->request_alloc = ring_request_alloc; |
2207 | 2201 | ||
2208 | engine->emit_breadcrumb = i9xx_emit_breadcrumb; | 2202 | engine->emit_breadcrumb = i9xx_emit_breadcrumb; |
2209 | engine->emit_breadcrumb_sz = i9xx_emit_breadcrumb_sz; | 2203 | if (IS_GEN(dev_priv, 5)) |
2210 | if (IS_GEN(dev_priv, 5)) { | ||
2211 | engine->emit_breadcrumb = gen5_emit_breadcrumb; | 2204 | engine->emit_breadcrumb = gen5_emit_breadcrumb; |
2212 | engine->emit_breadcrumb_sz = gen5_emit_breadcrumb_sz; | ||
2213 | } | ||
2214 | 2205 | ||
2215 | engine->set_default_submission = i9xx_set_default_submission; | 2206 | engine->set_default_submission = i9xx_set_default_submission; |
2216 | 2207 | ||
@@ -2240,12 +2231,10 @@ int intel_init_render_ring_buffer(struct intel_engine_cs *engine) | |||
2240 | engine->init_context = intel_rcs_ctx_init; | 2231 | engine->init_context = intel_rcs_ctx_init; |
2241 | engine->emit_flush = gen7_render_ring_flush; | 2232 | engine->emit_flush = gen7_render_ring_flush; |
2242 | engine->emit_breadcrumb = gen7_rcs_emit_breadcrumb; | 2233 | engine->emit_breadcrumb = gen7_rcs_emit_breadcrumb; |
2243 | engine->emit_breadcrumb_sz = gen7_rcs_emit_breadcrumb_sz; | ||
2244 | } else if (IS_GEN(dev_priv, 6)) { | 2234 | } else if (IS_GEN(dev_priv, 6)) { |
2245 | engine->init_context = intel_rcs_ctx_init; | 2235 | engine->init_context = intel_rcs_ctx_init; |
2246 | engine->emit_flush = gen6_render_ring_flush; | 2236 | engine->emit_flush = gen6_render_ring_flush; |
2247 | engine->emit_breadcrumb = gen6_rcs_emit_breadcrumb; | 2237 | engine->emit_breadcrumb = gen6_rcs_emit_breadcrumb; |
2248 | engine->emit_breadcrumb_sz = gen6_rcs_emit_breadcrumb_sz; | ||
2249 | } else if (IS_GEN(dev_priv, 5)) { | 2238 | } else if (IS_GEN(dev_priv, 5)) { |
2250 | engine->emit_flush = gen4_render_ring_flush; | 2239 | engine->emit_flush = gen4_render_ring_flush; |
2251 | } else { | 2240 | } else { |
@@ -2281,13 +2270,10 @@ int intel_init_bsd_ring_buffer(struct intel_engine_cs *engine) | |||
2281 | engine->emit_flush = gen6_bsd_ring_flush; | 2270 | engine->emit_flush = gen6_bsd_ring_flush; |
2282 | engine->irq_enable_mask = GT_BSD_USER_INTERRUPT; | 2271 | engine->irq_enable_mask = GT_BSD_USER_INTERRUPT; |
2283 | 2272 | ||
2284 | if (IS_GEN(dev_priv, 6)) { | 2273 | if (IS_GEN(dev_priv, 6)) |
2285 | engine->emit_breadcrumb = gen6_xcs_emit_breadcrumb; | 2274 | engine->emit_breadcrumb = gen6_xcs_emit_breadcrumb; |
2286 | engine->emit_breadcrumb_sz = gen6_xcs_emit_breadcrumb_sz; | 2275 | else |
2287 | } else { | ||
2288 | engine->emit_breadcrumb = gen7_xcs_emit_breadcrumb; | 2276 | engine->emit_breadcrumb = gen7_xcs_emit_breadcrumb; |
2289 | engine->emit_breadcrumb_sz = gen7_xcs_emit_breadcrumb_sz; | ||
2290 | } | ||
2291 | } else { | 2277 | } else { |
2292 | engine->emit_flush = bsd_ring_flush; | 2278 | engine->emit_flush = bsd_ring_flush; |
2293 | if (IS_GEN(dev_priv, 5)) | 2279 | if (IS_GEN(dev_priv, 5)) |
@@ -2310,13 +2296,10 @@ int intel_init_blt_ring_buffer(struct intel_engine_cs *engine) | |||
2310 | engine->emit_flush = gen6_ring_flush; | 2296 | engine->emit_flush = gen6_ring_flush; |
2311 | engine->irq_enable_mask = GT_BLT_USER_INTERRUPT; | 2297 | engine->irq_enable_mask = GT_BLT_USER_INTERRUPT; |
2312 | 2298 | ||
2313 | if (IS_GEN(dev_priv, 6)) { | 2299 | if (IS_GEN(dev_priv, 6)) |
2314 | engine->emit_breadcrumb = gen6_xcs_emit_breadcrumb; | 2300 | engine->emit_breadcrumb = gen6_xcs_emit_breadcrumb; |
2315 | engine->emit_breadcrumb_sz = gen6_xcs_emit_breadcrumb_sz; | 2301 | else |
2316 | } else { | ||
2317 | engine->emit_breadcrumb = gen7_xcs_emit_breadcrumb; | 2302 | engine->emit_breadcrumb = gen7_xcs_emit_breadcrumb; |
2318 | engine->emit_breadcrumb_sz = gen7_xcs_emit_breadcrumb_sz; | ||
2319 | } | ||
2320 | 2303 | ||
2321 | return intel_init_ring_buffer(engine); | 2304 | return intel_init_ring_buffer(engine); |
2322 | } | 2305 | } |
@@ -2335,7 +2318,6 @@ int intel_init_vebox_ring_buffer(struct intel_engine_cs *engine) | |||
2335 | engine->irq_disable = hsw_vebox_irq_disable; | 2318 | engine->irq_disable = hsw_vebox_irq_disable; |
2336 | 2319 | ||
2337 | engine->emit_breadcrumb = gen7_xcs_emit_breadcrumb; | 2320 | engine->emit_breadcrumb = gen7_xcs_emit_breadcrumb; |
2338 | engine->emit_breadcrumb_sz = gen7_xcs_emit_breadcrumb_sz; | ||
2339 | 2321 | ||
2340 | return intel_init_ring_buffer(engine); | 2322 | return intel_init_ring_buffer(engine); |
2341 | } | 2323 | } |