Loading drivers/gpu/drm/msm/msm_drv.c +8 −0 Original line number Diff line number Diff line Loading @@ -535,6 +535,14 @@ static int msm_open(struct drm_device *dev, struct drm_file *file) file->driver_priv = ctx; if (dev && dev->dev_private) { struct msm_drm_private *priv = dev->dev_private; struct msm_kms *kms; kms = priv->kms; if (kms && kms->funcs && kms->funcs->postopen) kms->funcs->postopen(kms, file); } return 0; } Loading drivers/gpu/drm/msm/msm_kms.h +1 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,7 @@ struct msm_kms_funcs { struct drm_encoder *encoder, struct drm_encoder *slave_encoder, bool is_cmd_mode); void (*postopen)(struct msm_kms *kms, struct drm_file *file); /* cleanup: */ void (*destroy)(struct msm_kms *kms); }; Loading drivers/gpu/drm/msm/sde/sde_kms.c +9 −1 Original line number Diff line number Diff line Loading @@ -320,8 +320,16 @@ static long sde_round_pixclk(struct msm_kms *kms, unsigned long rate, return rate; } static void sde_postopen(struct msm_kms *kms, struct drm_file *file) { if (kms) sde_enable(to_sde_kms(kms)); } static void sde_preclose(struct msm_kms *kms, struct drm_file *file) { if (kms) sde_disable(to_sde_kms(kms)); } static void sde_destroy(struct msm_kms *kms) Loading Loading @@ -350,6 +358,7 @@ static const struct msm_kms_funcs kms_funcs = { .check_modified_format = sde_format_check_modified_format, .get_format = sde_get_msm_format, .round_pixclk = sde_round_pixclk, .postopen = sde_postopen, .preclose = sde_preclose, .destroy = sde_destroy, }; Loading Loading @@ -658,7 +667,6 @@ struct msm_kms *sde_kms_init(struct drm_device *dev) */ clk_set_rate(sde_kms->src_clk, DEFAULT_MDP_SRC_CLK); sde_enable(sde_kms); sde_kms->hw_res.res_table = res_table; /* Loading Loading
drivers/gpu/drm/msm/msm_drv.c +8 −0 Original line number Diff line number Diff line Loading @@ -535,6 +535,14 @@ static int msm_open(struct drm_device *dev, struct drm_file *file) file->driver_priv = ctx; if (dev && dev->dev_private) { struct msm_drm_private *priv = dev->dev_private; struct msm_kms *kms; kms = priv->kms; if (kms && kms->funcs && kms->funcs->postopen) kms->funcs->postopen(kms, file); } return 0; } Loading
drivers/gpu/drm/msm/msm_kms.h +1 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,7 @@ struct msm_kms_funcs { struct drm_encoder *encoder, struct drm_encoder *slave_encoder, bool is_cmd_mode); void (*postopen)(struct msm_kms *kms, struct drm_file *file); /* cleanup: */ void (*destroy)(struct msm_kms *kms); }; Loading
drivers/gpu/drm/msm/sde/sde_kms.c +9 −1 Original line number Diff line number Diff line Loading @@ -320,8 +320,16 @@ static long sde_round_pixclk(struct msm_kms *kms, unsigned long rate, return rate; } static void sde_postopen(struct msm_kms *kms, struct drm_file *file) { if (kms) sde_enable(to_sde_kms(kms)); } static void sde_preclose(struct msm_kms *kms, struct drm_file *file) { if (kms) sde_disable(to_sde_kms(kms)); } static void sde_destroy(struct msm_kms *kms) Loading Loading @@ -350,6 +358,7 @@ static const struct msm_kms_funcs kms_funcs = { .check_modified_format = sde_format_check_modified_format, .get_format = sde_get_msm_format, .round_pixclk = sde_round_pixclk, .postopen = sde_postopen, .preclose = sde_preclose, .destroy = sde_destroy, }; Loading Loading @@ -658,7 +667,6 @@ struct msm_kms *sde_kms_init(struct drm_device *dev) */ clk_set_rate(sde_kms->src_clk, DEFAULT_MDP_SRC_CLK); sde_enable(sde_kms); sde_kms->hw_res.res_table = res_table; /* Loading