disp: msm: move from drm_mode to msm_mode

Move away from the private and private_flags fields from drm_mode,
as it is being deprecated in latest kernel version. Instead, Add
msm_display_mode as a wrapper to be used in downstream to store these
parameters. Also, store msm_mode in connector_state to be accessed
in commit path.

Change-Id: Ia5bdebe75f00aa15fb7db4dc3a0d50c30894a95c
Signed-off-by: Orion Brody <obrody@codeaurora.org>
Šī revīzija ir iekļauta:
orion brody
2020-11-24 14:19:42 -08:00
vecāks 262099e94a
revīzija d00d481360
12 mainīti faili ar 396 papildinājumiem un 169 dzēšanām

Parādīt failu

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2016-2020, The Linux Foundation. All rights reserved.
* Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
* Copyright (C) 2013 Red Hat
* Author: Rob Clark <robdclark@gmail.com>
*
@@ -67,6 +67,8 @@ struct msm_kms_funcs {
void (*commit)(struct msm_kms *kms, struct drm_atomic_state *state);
void (*complete_commit)(struct msm_kms *kms,
struct drm_atomic_state *state);
struct msm_display_mode *(*get_msm_mode)(
struct drm_crtc_state *c_state);
/* functions to wait for atomic commit completed on each CRTC */
void (*wait_for_crtc_commit_done)(struct msm_kms *kms,
struct drm_crtc *crtc);
@@ -206,45 +208,45 @@ struct msm_kms *sde_kms_init(struct drm_device *dev);
/**
* Mode Set Utility Functions
*/
static inline bool msm_is_mode_seamless(const struct drm_display_mode *mode)
static inline bool msm_is_mode_seamless(const struct msm_display_mode *mode)
{
return (mode->private_flags & DRM_MODE_FLAG_SEAMLESS);
}
static inline bool msm_is_mode_seamless_dms(const struct drm_display_mode *mode)
static inline bool msm_is_mode_seamless_dms(const struct msm_display_mode *mode)
{
return mode ? (mode->private_flags & MSM_MODE_FLAG_SEAMLESS_DMS)
: false;
}
static inline bool msm_is_mode_dynamic_fps(const struct drm_display_mode *mode)
static inline bool msm_is_mode_dynamic_fps(const struct msm_display_mode *mode)
{
return ((mode->private_flags & DRM_MODE_FLAG_SEAMLESS) &&
(mode->private_flags & MSM_MODE_FLAG_SEAMLESS_DYNAMIC_FPS));
}
static inline bool msm_is_mode_seamless_vrr(const struct drm_display_mode *mode)
static inline bool msm_is_mode_seamless_vrr(const struct msm_display_mode *mode)
{
return mode ? (mode->private_flags & MSM_MODE_FLAG_SEAMLESS_VRR)
: false;
}
static inline bool msm_is_mode_seamless_poms(
const struct drm_display_mode *mode)
const struct msm_display_mode *mode)
{
return mode ? (mode->private_flags & MSM_MODE_FLAG_SEAMLESS_POMS)
: false;
}
static inline bool msm_is_mode_seamless_dyn_clk(
const struct drm_display_mode *mode)
const struct msm_display_mode *mode)
{
return mode ? (mode->private_flags & MSM_MODE_FLAG_SEAMLESS_DYN_CLK)
: false;
}
static inline bool msm_needs_vblank_pre_modeset(
const struct drm_display_mode *mode)
const struct msm_display_mode *mode)
{
return (mode->private_flags & MSM_MODE_FLAG_VBLANK_PRE_MODESET);
}