forked from Minki/linux
drm/i915: Don't use DDB allocation when choosing gen9 watermark method
The bspec gives an if/else chain for choosing whether to use "method 1" or "method 2" for calculating the watermark "Selected Result Blocks" value for a plane. One of the branches of the if chain is: "Else If ('plane buffer allocation' is known and (plane buffer allocation / plane blocks per line) >=1)" Since our driver currently calculates DDB allocations first and the actual watermark values second, the plane buffer allocation is known at this point in our code and we include this test in our driver's logic. However we plan to soon move to a "watermarks first, ddb allocation second" sequence where we won't know the DDB allocation at this point. Let's drop this arm of the if/else statement (effectively considering the DDB allocation unknown) as an independent patch so that any regressions can be more accurately bisected to either the different watermark value (in this patch) or the new DDB allocation (in the next patch). Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20181211173107.11068-1-matthew.d.roper@intel.com
This commit is contained in:
parent
ab2cb2cb1a
commit
9343bb247b
@ -4761,13 +4761,6 @@ static int skl_compute_plane_wm(const struct intel_crtc_state *cstate,
|
||||
wp->dbuf_block_size < 1) &&
|
||||
(wp->plane_bytes_per_line / wp->dbuf_block_size < 1)) {
|
||||
selected_result = method2;
|
||||
} else if (ddb_allocation >=
|
||||
fixed16_to_u32_round_up(wp->plane_blocks_per_line)) {
|
||||
if (IS_GEN9(dev_priv) &&
|
||||
!IS_GEMINILAKE(dev_priv))
|
||||
selected_result = min_fixed16(method1, method2);
|
||||
else
|
||||
selected_result = method2;
|
||||
} else if (latency >= wp->linetime_us) {
|
||||
if (IS_GEN9(dev_priv) &&
|
||||
!IS_GEMINILAKE(dev_priv))
|
||||
|
Loading…
Reference in New Issue
Block a user