mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-18 20:06:46 +07:00
drm/pl111: Do not use deprecated drm_driver.{enable|disable)_vblank
Do not use deprecated drm_driver.{enable|disable)_vblank callbacks, but use drm_simple_kms_helpe's pipe callbacks instead. Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com> Cc: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Anholt <eric@anholt.net> Tested-by: Eric Anholt <eric@anholt.net> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/1518425574-32671-5-git-send-email-andr2000@gmail.com
This commit is contained in:
parent
df91972fe3
commit
6c7d091008
@ -321,8 +321,10 @@ static void pl111_display_update(struct drm_simple_display_pipe *pipe,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int pl111_enable_vblank(struct drm_device *drm, unsigned int crtc)
|
static int pl111_display_enable_vblank(struct drm_simple_display_pipe *pipe)
|
||||||
{
|
{
|
||||||
|
struct drm_crtc *crtc = &pipe->crtc;
|
||||||
|
struct drm_device *drm = crtc->dev;
|
||||||
struct pl111_drm_dev_private *priv = drm->dev_private;
|
struct pl111_drm_dev_private *priv = drm->dev_private;
|
||||||
|
|
||||||
writel(CLCD_IRQ_NEXTBASE_UPDATE, priv->regs + priv->ienb);
|
writel(CLCD_IRQ_NEXTBASE_UPDATE, priv->regs + priv->ienb);
|
||||||
@ -330,8 +332,10 @@ int pl111_enable_vblank(struct drm_device *drm, unsigned int crtc)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void pl111_disable_vblank(struct drm_device *drm, unsigned int crtc)
|
static void pl111_display_disable_vblank(struct drm_simple_display_pipe *pipe)
|
||||||
{
|
{
|
||||||
|
struct drm_crtc *crtc = &pipe->crtc;
|
||||||
|
struct drm_device *drm = crtc->dev;
|
||||||
struct pl111_drm_dev_private *priv = drm->dev_private;
|
struct pl111_drm_dev_private *priv = drm->dev_private;
|
||||||
|
|
||||||
writel(0, priv->regs + priv->ienb);
|
writel(0, priv->regs + priv->ienb);
|
||||||
@ -343,7 +347,7 @@ static int pl111_display_prepare_fb(struct drm_simple_display_pipe *pipe,
|
|||||||
return drm_gem_fb_prepare_fb(&pipe->plane, plane_state);
|
return drm_gem_fb_prepare_fb(&pipe->plane, plane_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct drm_simple_display_pipe_funcs pl111_display_funcs = {
|
static struct drm_simple_display_pipe_funcs pl111_display_funcs = {
|
||||||
.check = pl111_display_check,
|
.check = pl111_display_check,
|
||||||
.enable = pl111_display_enable,
|
.enable = pl111_display_enable,
|
||||||
.disable = pl111_display_disable,
|
.disable = pl111_display_disable,
|
||||||
@ -502,6 +506,11 @@ int pl111_display_init(struct drm_device *drm)
|
|||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
if (!priv->variant->broken_vblank) {
|
||||||
|
pl111_display_funcs.enable_vblank = pl111_display_enable_vblank;
|
||||||
|
pl111_display_funcs.disable_vblank = pl111_display_disable_vblank;
|
||||||
|
}
|
||||||
|
|
||||||
ret = drm_simple_display_pipe_init(drm, &priv->pipe,
|
ret = drm_simple_display_pipe_init(drm, &priv->pipe,
|
||||||
&pl111_display_funcs,
|
&pl111_display_funcs,
|
||||||
priv->variant->formats,
|
priv->variant->formats,
|
||||||
|
@ -79,8 +79,6 @@ struct pl111_drm_dev_private {
|
|||||||
};
|
};
|
||||||
|
|
||||||
int pl111_display_init(struct drm_device *dev);
|
int pl111_display_init(struct drm_device *dev);
|
||||||
int pl111_enable_vblank(struct drm_device *drm, unsigned int crtc);
|
|
||||||
void pl111_disable_vblank(struct drm_device *drm, unsigned int crtc);
|
|
||||||
irqreturn_t pl111_irq(int irq, void *data);
|
irqreturn_t pl111_irq(int irq, void *data);
|
||||||
int pl111_debugfs_init(struct drm_minor *minor);
|
int pl111_debugfs_init(struct drm_minor *minor);
|
||||||
|
|
||||||
|
@ -249,11 +249,6 @@ static int pl111_amba_probe(struct amba_device *amba_dev,
|
|||||||
if (!priv)
|
if (!priv)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
if (!variant->broken_vblank) {
|
|
||||||
pl111_drm_driver.enable_vblank = pl111_enable_vblank;
|
|
||||||
pl111_drm_driver.disable_vblank = pl111_disable_vblank;
|
|
||||||
}
|
|
||||||
|
|
||||||
drm = drm_dev_alloc(&pl111_drm_driver, dev);
|
drm = drm_dev_alloc(&pl111_drm_driver, dev);
|
||||||
if (IS_ERR(drm))
|
if (IS_ERR(drm))
|
||||||
return PTR_ERR(drm);
|
return PTR_ERR(drm);
|
||||||
|
Loading…
Reference in New Issue
Block a user