On 05/23/2015 12:33 AM, Gustavo Padovan wrote:
Hi Joonyoung,
2015-05-22 Joonyoung Shim jy0922.shim@samsung.com:
On 05/22/2015 05:02 AM, Gustavo Padovan wrote:
From: Gustavo Padovan gustavo.padovan@collabora.co.uk
The new atomic infrastructure needs the .mode_set_nofb() callback to update CRTC timings before setting any plane.
Signed-off-by: Gustavo Padovan gustavo.padovan@collabora.co.uk
drivers/gpu/drm/exynos/exynos_drm_crtc.c | 60 +++++--------------------------- 1 file changed, 9 insertions(+), 51 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c index 61b8cfe..54b74e1 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c +++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c @@ -81,59 +81,16 @@ exynos_drm_crtc_mode_fixup(struct drm_crtc *crtc, return true; }
-static int -exynos_drm_crtc_mode_set(struct drm_crtc *crtc, struct drm_display_mode *mode,
struct drm_display_mode *adjusted_mode, int x, int y,
struct drm_framebuffer *old_fb)
-{
- struct drm_framebuffer *fb = crtc->primary->fb;
- unsigned int crtc_w;
- unsigned int crtc_h;
- int ret;
- /*
* copy the mode data adjusted by mode_fixup() into crtc->mode
* so that hardware can be seet to proper mode.
*/
- memcpy(&crtc->mode, adjusted_mode, sizeof(*adjusted_mode));
This can cause any problem because exynos drm drivers use crtc->mode directly as adjusted_mode. It's necessary to consider using crtc_state->adjusted_mode in exynos drm drivers.
Yes, we are moving to use adjusted_mode in exynos, see this patch from Tobias. It makes crtc uses the adjusted_mode instead. So I think it is okay to remove this memcpy from here.
http://www.spinics.net/lists/linux-samsung-soc/msg44790.html
Yeah, but that is just one, it can be other missing points. It's better to care all missing points with removing memcpy of adjusted_mode.