drm/i915: Perform automated conversions for crtc uapi/hw split, base -> uapi.
Split up crtc_state->base to uapi. This is done using the following patch, ran after the previous commit that splits out any hw references: @@ struct intel_crtc_state *T; @@ -T->base +T->uapi Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20191031112610.27608-5-maarten.lankhorst@linux.intel.com
This commit is contained in:
@@ -455,7 +455,7 @@ static const int pessimal_latency_ns = 5000;
|
||||
|
||||
static void vlv_get_fifo_size(struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
|
||||
struct vlv_fifo_state *fifo_state = &crtc_state->wm.vlv.fifo_state;
|
||||
enum pipe pipe = crtc->pipe;
|
||||
@@ -1135,7 +1135,7 @@ static u16 g4x_compute_wm(const struct intel_crtc_state *crtc_state,
|
||||
static bool g4x_raw_plane_wm_set(struct intel_crtc_state *crtc_state,
|
||||
int level, enum plane_id plane_id, u16 value)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->base.crtc->dev);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
|
||||
bool dirty = false;
|
||||
|
||||
for (; level < intel_wm_num_levels(dev_priv); level++) {
|
||||
@@ -1151,7 +1151,7 @@ static bool g4x_raw_plane_wm_set(struct intel_crtc_state *crtc_state,
|
||||
static bool g4x_raw_fbc_wm_set(struct intel_crtc_state *crtc_state,
|
||||
int level, u16 value)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->base.crtc->dev);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
|
||||
bool dirty = false;
|
||||
|
||||
/* NORMAL level doesn't have an FBC watermark */
|
||||
@@ -1253,7 +1253,7 @@ static bool g4x_raw_plane_wm_is_valid(const struct intel_crtc_state *crtc_state,
|
||||
static bool g4x_raw_crtc_wm_is_valid(const struct intel_crtc_state *crtc_state,
|
||||
int level)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->base.crtc->dev);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
|
||||
|
||||
if (level > dev_priv->wm.max_level)
|
||||
return false;
|
||||
@@ -1291,9 +1291,9 @@ static void g4x_invalidate_wms(struct intel_crtc *crtc,
|
||||
|
||||
static int g4x_compute_pipe_wm(struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
|
||||
struct intel_atomic_state *state =
|
||||
to_intel_atomic_state(crtc_state->base.state);
|
||||
to_intel_atomic_state(crtc_state->uapi.state);
|
||||
struct g4x_wm_state *wm_state = &crtc_state->wm.g4x.optimal;
|
||||
int num_active_planes = hweight8(crtc_state->active_planes &
|
||||
~BIT(PLANE_CURSOR));
|
||||
@@ -1380,17 +1380,17 @@ static int g4x_compute_pipe_wm(struct intel_crtc_state *crtc_state)
|
||||
|
||||
static int g4x_compute_intermediate_wm(struct intel_crtc_state *new_crtc_state)
|
||||
{
|
||||
struct intel_crtc *crtc = to_intel_crtc(new_crtc_state->base.crtc);
|
||||
struct intel_crtc *crtc = to_intel_crtc(new_crtc_state->uapi.crtc);
|
||||
struct g4x_wm_state *intermediate = &new_crtc_state->wm.g4x.intermediate;
|
||||
const struct g4x_wm_state *optimal = &new_crtc_state->wm.g4x.optimal;
|
||||
struct intel_atomic_state *intel_state =
|
||||
to_intel_atomic_state(new_crtc_state->base.state);
|
||||
to_intel_atomic_state(new_crtc_state->uapi.state);
|
||||
const struct intel_crtc_state *old_crtc_state =
|
||||
intel_atomic_get_old_crtc_state(intel_state, crtc);
|
||||
const struct g4x_wm_state *active = &old_crtc_state->wm.g4x.optimal;
|
||||
enum plane_id plane_id;
|
||||
|
||||
if (!new_crtc_state->hw.active || drm_atomic_crtc_needs_modeset(&new_crtc_state->base)) {
|
||||
if (!new_crtc_state->hw.active || drm_atomic_crtc_needs_modeset(&new_crtc_state->uapi)) {
|
||||
*intermediate = *optimal;
|
||||
|
||||
intermediate->cxsr = false;
|
||||
@@ -1522,8 +1522,8 @@ static void g4x_program_watermarks(struct drm_i915_private *dev_priv)
|
||||
static void g4x_initial_watermarks(struct intel_atomic_state *state,
|
||||
struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->base.crtc->dev);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
|
||||
|
||||
mutex_lock(&dev_priv->wm.wm_mutex);
|
||||
crtc->wm.active.g4x = crtc_state->wm.g4x.intermediate;
|
||||
@@ -1534,8 +1534,8 @@ static void g4x_initial_watermarks(struct intel_atomic_state *state,
|
||||
static void g4x_optimize_watermarks(struct intel_atomic_state *state,
|
||||
struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->base.crtc->dev);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
|
||||
|
||||
if (!crtc_state->wm.need_postvbl_update)
|
||||
return;
|
||||
@@ -1622,7 +1622,7 @@ static bool vlv_need_sprite0_fifo_workaround(unsigned int active_planes)
|
||||
|
||||
static int vlv_compute_fifo(struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
|
||||
const struct g4x_pipe_wm *raw =
|
||||
&crtc_state->wm.vlv.raw[VLV_WM_LEVEL_PM2];
|
||||
struct vlv_fifo_state *fifo_state = &crtc_state->wm.vlv.fifo_state;
|
||||
@@ -1734,7 +1734,7 @@ static u16 vlv_invert_wm_value(u16 wm, u16 fifo_size)
|
||||
static bool vlv_raw_plane_wm_set(struct intel_crtc_state *crtc_state,
|
||||
int level, enum plane_id plane_id, u16 value)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->base.crtc->dev);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
|
||||
int num_levels = intel_wm_num_levels(dev_priv);
|
||||
bool dirty = false;
|
||||
|
||||
@@ -1809,16 +1809,16 @@ static bool vlv_raw_crtc_wm_is_valid(const struct intel_crtc_state *crtc_state,
|
||||
|
||||
static int vlv_compute_pipe_wm(struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
|
||||
struct intel_atomic_state *state =
|
||||
to_intel_atomic_state(crtc_state->base.state);
|
||||
to_intel_atomic_state(crtc_state->uapi.state);
|
||||
struct vlv_wm_state *wm_state = &crtc_state->wm.vlv.optimal;
|
||||
const struct vlv_fifo_state *fifo_state =
|
||||
&crtc_state->wm.vlv.fifo_state;
|
||||
int num_active_planes = hweight8(crtc_state->active_planes &
|
||||
~BIT(PLANE_CURSOR));
|
||||
bool needs_modeset = drm_atomic_crtc_needs_modeset(&crtc_state->base);
|
||||
bool needs_modeset = drm_atomic_crtc_needs_modeset(&crtc_state->uapi);
|
||||
const struct intel_plane_state *old_plane_state;
|
||||
const struct intel_plane_state *new_plane_state;
|
||||
struct intel_plane *plane;
|
||||
@@ -1917,7 +1917,7 @@ static int vlv_compute_pipe_wm(struct intel_crtc_state *crtc_state)
|
||||
static void vlv_atomic_update_fifo(struct intel_atomic_state *state,
|
||||
struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
|
||||
struct intel_uncore *uncore = &dev_priv->uncore;
|
||||
const struct vlv_fifo_state *fifo_state =
|
||||
@@ -2013,17 +2013,17 @@ static void vlv_atomic_update_fifo(struct intel_atomic_state *state,
|
||||
|
||||
static int vlv_compute_intermediate_wm(struct intel_crtc_state *new_crtc_state)
|
||||
{
|
||||
struct intel_crtc *crtc = to_intel_crtc(new_crtc_state->base.crtc);
|
||||
struct intel_crtc *crtc = to_intel_crtc(new_crtc_state->uapi.crtc);
|
||||
struct vlv_wm_state *intermediate = &new_crtc_state->wm.vlv.intermediate;
|
||||
const struct vlv_wm_state *optimal = &new_crtc_state->wm.vlv.optimal;
|
||||
struct intel_atomic_state *intel_state =
|
||||
to_intel_atomic_state(new_crtc_state->base.state);
|
||||
to_intel_atomic_state(new_crtc_state->uapi.state);
|
||||
const struct intel_crtc_state *old_crtc_state =
|
||||
intel_atomic_get_old_crtc_state(intel_state, crtc);
|
||||
const struct vlv_wm_state *active = &old_crtc_state->wm.vlv.optimal;
|
||||
int level;
|
||||
|
||||
if (!new_crtc_state->hw.active || drm_atomic_crtc_needs_modeset(&new_crtc_state->base)) {
|
||||
if (!new_crtc_state->hw.active || drm_atomic_crtc_needs_modeset(&new_crtc_state->uapi)) {
|
||||
*intermediate = *optimal;
|
||||
|
||||
intermediate->cxsr = false;
|
||||
@@ -2141,8 +2141,8 @@ static void vlv_program_watermarks(struct drm_i915_private *dev_priv)
|
||||
static void vlv_initial_watermarks(struct intel_atomic_state *state,
|
||||
struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->base.crtc->dev);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
|
||||
|
||||
mutex_lock(&dev_priv->wm.wm_mutex);
|
||||
crtc->wm.active.vlv = crtc_state->wm.vlv.intermediate;
|
||||
@@ -2153,8 +2153,8 @@ static void vlv_initial_watermarks(struct intel_atomic_state *state,
|
||||
static void vlv_optimize_watermarks(struct intel_atomic_state *state,
|
||||
struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->base.crtc->dev);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
|
||||
|
||||
if (!crtc_state->wm.need_postvbl_update)
|
||||
return;
|
||||
@@ -2758,7 +2758,7 @@ static u32
|
||||
hsw_compute_linetime_wm(const struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
const struct intel_atomic_state *intel_state =
|
||||
to_intel_atomic_state(crtc_state->base.state);
|
||||
to_intel_atomic_state(crtc_state->uapi.state);
|
||||
const struct drm_display_mode *adjusted_mode =
|
||||
&crtc_state->hw.adjusted_mode;
|
||||
u32 linetime, ips_linetime;
|
||||
@@ -3073,8 +3073,8 @@ static bool ilk_validate_pipe_wm(const struct drm_i915_private *dev_priv,
|
||||
/* Compute new watermarks for the pipe */
|
||||
static int ilk_compute_pipe_wm(struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->base.crtc->dev);
|
||||
struct intel_crtc *intel_crtc = to_intel_crtc(crtc_state->base.crtc);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
|
||||
struct intel_crtc *intel_crtc = to_intel_crtc(crtc_state->uapi.crtc);
|
||||
struct intel_pipe_wm *pipe_wm;
|
||||
struct intel_plane *plane;
|
||||
const struct intel_plane_state *plane_state;
|
||||
@@ -3152,11 +3152,11 @@ static int ilk_compute_pipe_wm(struct intel_crtc_state *crtc_state)
|
||||
*/
|
||||
static int ilk_compute_intermediate_wm(struct intel_crtc_state *newstate)
|
||||
{
|
||||
struct intel_crtc *intel_crtc = to_intel_crtc(newstate->base.crtc);
|
||||
struct intel_crtc *intel_crtc = to_intel_crtc(newstate->uapi.crtc);
|
||||
struct drm_i915_private *dev_priv = to_i915(intel_crtc->base.dev);
|
||||
struct intel_pipe_wm *a = &newstate->wm.ilk.intermediate;
|
||||
struct intel_atomic_state *intel_state =
|
||||
to_intel_atomic_state(newstate->base.state);
|
||||
to_intel_atomic_state(newstate->uapi.state);
|
||||
const struct intel_crtc_state *oldstate =
|
||||
intel_atomic_get_old_crtc_state(intel_state, intel_crtc);
|
||||
const struct intel_pipe_wm *b = &oldstate->wm.ilk.optimal;
|
||||
@@ -3168,7 +3168,7 @@ static int ilk_compute_intermediate_wm(struct intel_crtc_state *newstate)
|
||||
* and after the vblank.
|
||||
*/
|
||||
*a = newstate->wm.ilk.optimal;
|
||||
if (!newstate->hw.active || drm_atomic_crtc_needs_modeset(&newstate->base) ||
|
||||
if (!newstate->hw.active || drm_atomic_crtc_needs_modeset(&newstate->uapi) ||
|
||||
intel_state->skip_intermediate_wm)
|
||||
return 0;
|
||||
|
||||
@@ -3849,9 +3849,9 @@ skl_ddb_get_pipe_allocation_limits(struct drm_i915_private *dev_priv,
|
||||
struct skl_ddb_entry *alloc, /* out */
|
||||
int *num_active /* out */)
|
||||
{
|
||||
struct drm_atomic_state *state = crtc_state->base.state;
|
||||
struct drm_atomic_state *state = crtc_state->uapi.state;
|
||||
struct intel_atomic_state *intel_state = to_intel_atomic_state(state);
|
||||
struct drm_crtc *for_crtc = crtc_state->base.crtc;
|
||||
struct drm_crtc *for_crtc = crtc_state->uapi.crtc;
|
||||
const struct intel_crtc *crtc;
|
||||
u32 pipe_width = 0, total_width = 0, width_before_pipe = 0;
|
||||
enum pipe for_pipe = to_intel_crtc(for_crtc)->pipe;
|
||||
@@ -3932,7 +3932,7 @@ static unsigned int
|
||||
skl_cursor_allocation(const struct intel_crtc_state *crtc_state,
|
||||
int num_active)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->base.crtc->dev);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
|
||||
int level, max_level = ilk_wm_max_level(dev_priv);
|
||||
struct skl_wm_level wm = {};
|
||||
int ret, min_ddb_alloc = 0;
|
||||
@@ -4136,7 +4136,7 @@ skl_get_total_relative_data_rate(struct intel_crtc_state *crtc_state,
|
||||
u64 *plane_data_rate,
|
||||
u64 *uv_plane_data_rate)
|
||||
{
|
||||
struct drm_atomic_state *state = crtc_state->base.state;
|
||||
struct drm_atomic_state *state = crtc_state->uapi.state;
|
||||
struct intel_plane *plane;
|
||||
const struct intel_plane_state *plane_state;
|
||||
u64 total_data_rate = 0;
|
||||
@@ -4171,7 +4171,7 @@ icl_get_total_relative_data_rate(struct intel_crtc_state *crtc_state,
|
||||
const struct intel_plane_state *plane_state;
|
||||
u64 total_data_rate = 0;
|
||||
|
||||
if (WARN_ON(!crtc_state->base.state))
|
||||
if (WARN_ON(!crtc_state->uapi.state))
|
||||
return 0;
|
||||
|
||||
/* Calculate and cache data rate for each plane */
|
||||
@@ -4215,8 +4215,8 @@ static int
|
||||
skl_allocate_pipe_ddb(struct intel_crtc_state *crtc_state,
|
||||
struct skl_ddb_allocation *ddb /* out */)
|
||||
{
|
||||
struct drm_atomic_state *state = crtc_state->base.state;
|
||||
struct drm_crtc *crtc = crtc_state->base.crtc;
|
||||
struct drm_atomic_state *state = crtc_state->uapi.state;
|
||||
struct drm_crtc *crtc = crtc_state->uapi.crtc;
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc->dev);
|
||||
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
|
||||
struct skl_ddb_entry *alloc = &crtc_state->wm.skl.ddb;
|
||||
@@ -4523,7 +4523,7 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state,
|
||||
u32 plane_pixel_rate, struct skl_wm_params *wp,
|
||||
int color_plane)
|
||||
{
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
|
||||
u32 interm_pbpl;
|
||||
|
||||
@@ -4644,7 +4644,7 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
|
||||
const struct skl_wm_level *result_prev,
|
||||
struct skl_wm_level *result /* out */)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->base.crtc->dev);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
|
||||
u32 latency = dev_priv->wm.skl_latency[level];
|
||||
uint_fixed_16_16_t method1, method2;
|
||||
uint_fixed_16_16_t selected_result;
|
||||
@@ -4768,7 +4768,7 @@ skl_compute_wm_levels(const struct intel_crtc_state *crtc_state,
|
||||
const struct skl_wm_params *wm_params,
|
||||
struct skl_wm_level *levels)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->base.crtc->dev);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
|
||||
int level, max_level = ilk_wm_max_level(dev_priv);
|
||||
struct skl_wm_level *result_prev = &levels[0];
|
||||
|
||||
@@ -4785,7 +4785,7 @@ skl_compute_wm_levels(const struct intel_crtc_state *crtc_state,
|
||||
static u32
|
||||
skl_compute_linetime_wm(const struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
struct drm_atomic_state *state = crtc_state->base.state;
|
||||
struct drm_atomic_state *state = crtc_state->uapi.state;
|
||||
struct drm_i915_private *dev_priv = to_i915(state->dev);
|
||||
uint_fixed_16_16_t linetime_us;
|
||||
u32 linetime_wm;
|
||||
@@ -4804,7 +4804,7 @@ static void skl_compute_transition_wm(const struct intel_crtc_state *crtc_state,
|
||||
const struct skl_wm_params *wp,
|
||||
struct skl_plane_wm *wm)
|
||||
{
|
||||
struct drm_device *dev = crtc_state->base.crtc->dev;
|
||||
struct drm_device *dev = crtc_state->uapi.crtc->dev;
|
||||
const struct drm_i915_private *dev_priv = to_i915(dev);
|
||||
u16 trans_min, trans_y_tile_min;
|
||||
const u16 trans_amount = 10; /* This is configurable amount */
|
||||
@@ -4964,7 +4964,7 @@ static int icl_build_plane_wm(struct intel_crtc_state *crtc_state,
|
||||
|
||||
static int skl_build_pipe_wm(struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->base.crtc->dev);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
|
||||
struct skl_pipe_wm *pipe_wm = &crtc_state->wm.skl.optimal;
|
||||
struct intel_plane *plane;
|
||||
const struct intel_plane_state *plane_state;
|
||||
@@ -5141,8 +5141,8 @@ static int
|
||||
skl_ddb_add_affected_planes(const struct intel_crtc_state *old_crtc_state,
|
||||
struct intel_crtc_state *new_crtc_state)
|
||||
{
|
||||
struct intel_atomic_state *state = to_intel_atomic_state(new_crtc_state->base.state);
|
||||
struct intel_crtc *crtc = to_intel_crtc(new_crtc_state->base.crtc);
|
||||
struct intel_atomic_state *state = to_intel_atomic_state(new_crtc_state->uapi.state);
|
||||
struct intel_crtc *crtc = to_intel_crtc(new_crtc_state->uapi.crtc);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
|
||||
struct intel_plane *plane;
|
||||
|
||||
@@ -5426,7 +5426,7 @@ static int skl_wm_add_affected_planes(struct intel_atomic_state *state,
|
||||
* power well the hardware state will go out of sync
|
||||
* with the software state.
|
||||
*/
|
||||
if (!drm_atomic_crtc_needs_modeset(&new_crtc_state->base) &&
|
||||
if (!drm_atomic_crtc_needs_modeset(&new_crtc_state->uapi) &&
|
||||
skl_plane_wm_equals(dev_priv,
|
||||
&old_crtc_state->wm.skl.optimal.planes[plane_id],
|
||||
&new_crtc_state->wm.skl.optimal.planes[plane_id]))
|
||||
@@ -5492,7 +5492,7 @@ skl_compute_wm(struct intel_atomic_state *state)
|
||||
static void skl_atomic_update_crtc_wm(struct intel_atomic_state *state,
|
||||
struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
|
||||
struct drm_i915_private *dev_priv = to_i915(state->base.dev);
|
||||
struct skl_pipe_wm *pipe_wm = &crtc_state->wm.skl.optimal;
|
||||
enum pipe pipe = crtc->pipe;
|
||||
@@ -5506,7 +5506,7 @@ static void skl_atomic_update_crtc_wm(struct intel_atomic_state *state,
|
||||
static void skl_initial_wm(struct intel_atomic_state *state,
|
||||
struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
|
||||
struct skl_ddb_values *results = &state->wm_results;
|
||||
|
||||
@@ -5515,7 +5515,7 @@ static void skl_initial_wm(struct intel_atomic_state *state,
|
||||
|
||||
mutex_lock(&dev_priv->wm.wm_mutex);
|
||||
|
||||
if (crtc_state->base.active_changed)
|
||||
if (crtc_state->uapi.active_changed)
|
||||
skl_atomic_update_crtc_wm(state, crtc_state);
|
||||
|
||||
mutex_unlock(&dev_priv->wm.wm_mutex);
|
||||
@@ -5574,8 +5574,8 @@ static void ilk_program_watermarks(struct drm_i915_private *dev_priv)
|
||||
static void ilk_initial_watermarks(struct intel_atomic_state *state,
|
||||
struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->base.crtc->dev);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
|
||||
|
||||
mutex_lock(&dev_priv->wm.wm_mutex);
|
||||
crtc->wm.active.ilk = crtc_state->wm.ilk.intermediate;
|
||||
@@ -5586,8 +5586,8 @@ static void ilk_initial_watermarks(struct intel_atomic_state *state,
|
||||
static void ilk_optimize_watermarks(struct intel_atomic_state *state,
|
||||
struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->base.crtc->dev);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
|
||||
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
|
||||
|
||||
if (!crtc_state->wm.need_postvbl_update)
|
||||
return;
|
||||
|
Reference in New Issue
Block a user