Re: [PATCH] drm/exynos: use adjusted_mode of crtc_state instead of mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Joonyoung,

2015-06-01 Joonyoung Shim <jy0922.shim@xxxxxxxxxxx>:

> On 05/30/2015 12:57 AM, Gustavo Padovan wrote:
> > Hi Joonyoung,
> > 
> > 2015-05-29 Joonyoung Shim <jy0922.shim@xxxxxxxxxxx>:
> > 
> >> Handle changes by removing copy from adjusted_mode to mode as using
> >> adjusted_mode of crtc_state.
> >>
> >> Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx>
> >> ---
> >> This is based on a patch "[PATCH v9 04/18] drm/exynos: atomic phase 1:
> >> add .mode_set_nofb() callback" of Gustavo.
> >>
> >>  drivers/gpu/drm/exynos/exynos7_drm_decon.c |  4 ++--
> >>  drivers/gpu/drm/exynos/exynos_drm_fimd.c   |  2 +-
> >>  drivers/gpu/drm/exynos/exynos_drm_plane.c  | 13 +++++++------
> >>  3 files changed, 10 insertions(+), 9 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/exynos/exynos7_drm_decon.c b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> >> index 6714e5b..f29e4be 100644
> >> --- a/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> >> +++ b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> >> @@ -175,7 +175,7 @@ static bool decon_mode_fixup(struct exynos_drm_crtc *crtc,
> >>  static void decon_commit(struct exynos_drm_crtc *crtc)
> >>  {
> >>  	struct decon_context *ctx = crtc->ctx;
> >> -	struct drm_display_mode *mode = &crtc->base.mode;
> >> +	struct drm_display_mode *mode = &crtc->base.state->adjusted_mode;
> >>  	u32 val, clkdiv;
> >>  
> >>  	if (ctx->suspended)
> >> @@ -395,7 +395,7 @@ static void decon_shadow_protect_win(struct decon_context *ctx,
> >>  static void decon_win_commit(struct exynos_drm_crtc *crtc, unsigned int win)
> >>  {
> >>  	struct decon_context *ctx = crtc->ctx;
> >> -	struct drm_display_mode *mode = &crtc->base.mode;
> >> +	struct drm_display_mode *mode = &crtc->base.state->adjusted_mode;
> >>  	struct exynos_drm_plane *plane;
> >>  	int padding;
> >>  	unsigned long val, alpha;
> >> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> >> index a0edab8..b326b31 100644
> >> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> >> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> >> @@ -337,7 +337,7 @@ static bool fimd_mode_fixup(struct exynos_drm_crtc *crtc,
> >>  static void fimd_commit(struct exynos_drm_crtc *crtc)
> >>  {
> >>  	struct fimd_context *ctx = crtc->ctx;
> >> -	struct drm_display_mode *mode = &crtc->base.mode;
> >> +	struct drm_display_mode *mode = &crtc->base.state->adjusted_mode;
> > 
> > Please take a look on the discussion here:
> > 
> > http://www.spinics.net/lists/linux-samsung-soc/msg44734.html
> > 
> > Tobias reports that he was seeing oops due to null pointer with an
> > approach similar to this one.
> > 
> > The lastest version of the patch is here:
> > 
> > http://www.spinics.net/lists/linux-samsung-soc/msg44790.html
> > 
> 
> It's impossible crtc->base.state is NULL as driver is switched by atomic
> modeset functions, right?

Yes, I think so too, I'll rebase v10 on top of your patch.

	Gustavo
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel





[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux