diff options
| author | Lloyd Atkinson <latkinso@codeaurora.org> | 2016-09-14 11:52:00 -0400 |
|---|---|---|
| committer | Lloyd Atkinson <latkinso@codeaurora.org> | 2016-10-17 16:35:42 -0400 |
| commit | 4d42ec3035dd01d463ab4a77f0772b6ddbcff95e (patch) | |
| tree | 174a8d6fef7b524b970b7bf85b9efcd80d2a1822 | |
| parent | adae28042043b18b1033b54c2971f0a68362cd10 (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.c | 14 | ||||
| -rw-r--r-- | drivers/gpu/drm/msm/sde/sde_crtc.h | 5 | ||||
| -rw-r--r-- | drivers/gpu/drm/msm/sde/sde_kms.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/msm/sde/sde_kms.h | 5 |
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 |
