summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLloyd Atkinson <latkinso@codeaurora.org>2016-09-14 11:52:00 -0400
committerLloyd Atkinson <latkinso@codeaurora.org>2016-10-17 16:35:42 -0400
commit4d42ec3035dd01d463ab4a77f0772b6ddbcff95e (patch)
tree174a8d6fef7b524b970b7bf85b9efcd80d2a1822
parentadae28042043b18b1033b54c2971f0a68362cd10 (diff)
drm/msm/sde: move sde_crtc away from legacy drm vblank apis
Fix up the SDE CRTC to use the DRM framework's updated vblank related APIs that do not require sub-driver CRTCs to track their own DRM CRTC IDs. Change-Id: Idaa208e6c895850e89a8f8189f9169bd1ca67da8 Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
-rw-r--r--drivers/gpu/drm/msm/sde/sde_crtc.c14
-rw-r--r--drivers/gpu/drm/msm/sde/sde_crtc.h5
-rw-r--r--drivers/gpu/drm/msm/sde/sde_kms.c2
-rw-r--r--drivers/gpu/drm/msm/sde/sde_kms.h5
4 files changed, 5 insertions, 21 deletions
diff --git a/drivers/gpu/drm/msm/sde/sde_crtc.c b/drivers/gpu/drm/msm/sde/sde_crtc.c
index cd393023a309..97ec60d1c4cc 100644
--- a/drivers/gpu/drm/msm/sde/sde_crtc.c
+++ b/drivers/gpu/drm/msm/sde/sde_crtc.c
@@ -338,8 +338,7 @@ static void complete_flip(struct drm_crtc *crtc, struct drm_file *file)
sde_crtc->event = NULL;
SDE_DEBUG("%s: send event: %pK\n",
sde_crtc->name, event);
- drm_send_vblank_event(dev, sde_crtc->drm_crtc_id,
- event);
+ drm_crtc_send_vblank_event(crtc, event);
}
}
spin_unlock_irqrestore(&dev->event_lock, flags);
@@ -348,11 +347,8 @@ static void complete_flip(struct drm_crtc *crtc, struct drm_file *file)
static void sde_crtc_vblank_cb(void *data)
{
struct drm_crtc *crtc = (struct drm_crtc *)data;
- struct sde_crtc *sde_crtc = to_sde_crtc(crtc);
- struct sde_kms *sde_kms = get_kms(crtc);
- struct drm_device *dev = sde_kms->dev;
- drm_handle_vblank(dev, sde_crtc->drm_crtc_id);
+ drm_crtc_handle_vblank(crtc);
DBG_IRQ("");
MSM_EVT(crtc->dev, crtc->base.id, 0);
}
@@ -1181,9 +1177,7 @@ static void _sde_crtc_init_debugfs(struct sde_crtc *sde_crtc,
}
/* initialize crtc */
-struct drm_crtc *sde_crtc_init(struct drm_device *dev,
- struct drm_plane *plane,
- int drm_crtc_id)
+struct drm_crtc *sde_crtc_init(struct drm_device *dev, struct drm_plane *plane)
{
struct drm_crtc *crtc = NULL;
struct sde_crtc *sde_crtc = NULL;
@@ -1200,8 +1194,6 @@ struct drm_crtc *sde_crtc_init(struct drm_device *dev,
crtc = &sde_crtc->base;
crtc->dev = dev;
- sde_crtc->drm_crtc_id = drm_crtc_id;
-
drm_crtc_init_with_planes(dev, crtc, plane, NULL, &sde_crtc_funcs);
drm_crtc_helper_add(crtc, &sde_crtc_helper_funcs);
diff --git a/drivers/gpu/drm/msm/sde/sde_crtc.h b/drivers/gpu/drm/msm/sde/sde_crtc.h
index a32800a31369..a434ea2d4675 100644
--- a/drivers/gpu/drm/msm/sde/sde_crtc.h
+++ b/drivers/gpu/drm/msm/sde/sde_crtc.h
@@ -46,9 +46,6 @@ struct sde_crtc_mixer {
* struct sde_crtc - virtualized CRTC data structure
* @base : Base drm crtc structure
* @name : ASCII description of this crtc
- * @drm_crtc_id : Id for reporting vblank. Id is relative init order into
- * mode_config.crtc_list and used by user space to identify
- * specific crtc in apis such as drm_wait_vblank
* @num_ctls : Number of ctl paths in use
* @num_mixers : Number of mixers in use
* @mixer : List of active mixers
@@ -68,8 +65,6 @@ struct sde_crtc {
struct drm_crtc base;
char name[SDE_CRTC_NAME_SIZE];
- int drm_crtc_id;
-
/* HW Resources reserved for the crtc */
u32 num_ctls;
u32 num_mixers;
diff --git a/drivers/gpu/drm/msm/sde/sde_kms.c b/drivers/gpu/drm/msm/sde/sde_kms.c
index f7e2681e8458..50e8631ecd60 100644
--- a/drivers/gpu/drm/msm/sde/sde_kms.c
+++ b/drivers/gpu/drm/msm/sde/sde_kms.c
@@ -373,7 +373,7 @@ static int modeset_init(struct sde_kms *sde_kms)
/* Create one CRTC per encoder */
for (i = 0; i < max_crtc_count; i++) {
- crtc = sde_crtc_init(dev, primary_planes[i], i);
+ crtc = sde_crtc_init(dev, primary_planes[i]);
if (IS_ERR(crtc)) {
ret = PTR_ERR(crtc);
goto fail;
diff --git a/drivers/gpu/drm/msm/sde/sde_kms.h b/drivers/gpu/drm/msm/sde/sde_kms.h
index ca519529792a..d966437608dd 100644
--- a/drivers/gpu/drm/msm/sde/sde_kms.h
+++ b/drivers/gpu/drm/msm/sde/sde_kms.h
@@ -432,12 +432,9 @@ void sde_crtc_prepare_fence(struct drm_crtc *crtc);
* sde_crtc_init - create a new crtc object
* @dev: sde device
* @plane: base plane
- * @vblank_id: Id for reporting vblank. Id in range from 0..dev->num_crtcs.
* @Return: new crtc object or error
*/
-struct drm_crtc *sde_crtc_init(struct drm_device *dev,
- struct drm_plane *plane,
- int vblank_id);
+struct drm_crtc *sde_crtc_init(struct drm_device *dev, struct drm_plane *plane);
/**
* sde_crtc_complete_commit - callback signalling completion of current commit