Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/rcar-du: Use struct videomode in platform data

In preparation for DT support where panel timings will be described by a
DRM-agnostic video mode, replace the struct drm_mode_modeinfo instance
in the panel platform data with a struct videomode.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

+50 -63
+9 -10
arch/arm/mach-shmobile/board-koelsch-reference.c
··· 41 41 .width_mm = 210, 42 42 .height_mm = 158, 43 43 .mode = { 44 - .clock = 65000, 45 - .hdisplay = 1024, 46 - .hsync_start = 1048, 47 - .hsync_end = 1184, 48 - .htotal = 1344, 49 - .vdisplay = 768, 50 - .vsync_start = 771, 51 - .vsync_end = 777, 52 - .vtotal = 806, 53 - .flags = 0, 44 + .pixelclock = 65000000, 45 + .hactive = 1024, 46 + .hfront_porch = 20, 47 + .hback_porch = 160, 48 + .hsync_len = 136, 49 + .vactive = 768, 50 + .vfront_porch = 3, 51 + .vback_porch = 29, 52 + .vsync_len = 6, 54 53 }, 55 54 }, 56 55 },
+9 -10
arch/arm/mach-shmobile/board-koelsch.c
··· 63 63 .width_mm = 210, 64 64 .height_mm = 158, 65 65 .mode = { 66 - .clock = 65000, 67 - .hdisplay = 1024, 68 - .hsync_start = 1048, 69 - .hsync_end = 1184, 70 - .htotal = 1344, 71 - .vdisplay = 768, 72 - .vsync_start = 771, 73 - .vsync_end = 777, 74 - .vtotal = 806, 75 - .flags = 0, 66 + .pixelclock = 65000000, 67 + .hactive = 1024, 68 + .hfront_porch = 20, 69 + .hback_porch = 160, 70 + .hsync_len = 136, 71 + .vactive = 768, 72 + .vfront_porch = 3, 73 + .vback_porch = 29, 74 + .vsync_len = 6, 76 75 }, 77 76 }, 78 77 },
+9 -10
arch/arm/mach-shmobile/board-lager-reference.c
··· 43 43 .width_mm = 210, 44 44 .height_mm = 158, 45 45 .mode = { 46 - .clock = 65000, 47 - .hdisplay = 1024, 48 - .hsync_start = 1048, 49 - .hsync_end = 1184, 50 - .htotal = 1344, 51 - .vdisplay = 768, 52 - .vsync_start = 771, 53 - .vsync_end = 777, 54 - .vtotal = 806, 55 - .flags = 0, 46 + .pixelclock = 65000000, 47 + .hactive = 1024, 48 + .hfront_porch = 20, 49 + .hback_porch = 160, 50 + .hsync_len = 136, 51 + .vactive = 768, 52 + .vfront_porch = 3, 53 + .vback_porch = 29, 54 + .vsync_len = 6, 56 55 }, 57 56 }, 58 57 },
+9 -10
arch/arm/mach-shmobile/board-lager.c
··· 99 99 .width_mm = 210, 100 100 .height_mm = 158, 101 101 .mode = { 102 - .clock = 65000, 103 - .hdisplay = 1024, 104 - .hsync_start = 1048, 105 - .hsync_end = 1184, 106 - .htotal = 1344, 107 - .vdisplay = 768, 108 - .vsync_start = 771, 109 - .vsync_end = 777, 110 - .vtotal = 806, 111 - .flags = 0, 102 + .pixelclock = 65000000, 103 + .hactive = 1024, 104 + .hfront_porch = 20, 105 + .hback_porch = 160, 106 + .hsync_len = 136, 107 + .vactive = 768, 108 + .vfront_porch = 3, 109 + .vback_porch = 29, 110 + .vsync_len = 6, 112 111 }, 113 112 }, 114 113 },
+9 -10
arch/arm/mach-shmobile/board-marzen.c
··· 192 192 .width_mm = 210, 193 193 .height_mm = 158, 194 194 .mode = { 195 - .clock = 65000, 196 - .hdisplay = 1024, 197 - .hsync_start = 1048, 198 - .hsync_end = 1184, 199 - .htotal = 1344, 200 - .vdisplay = 768, 201 - .vsync_start = 771, 202 - .vsync_end = 777, 203 - .vtotal = 806, 204 - .flags = 0, 195 + .pixelclock = 65000000, 196 + .hactive = 1024, 197 + .hfront_porch = 20, 198 + .hback_porch = 160, 199 + .hsync_len = 136, 200 + .vactive = 768, 201 + .vfront_porch = 3, 202 + .vback_porch = 29, 203 + .vsync_len = 6, 205 204 }, 206 205 }, 207 206 },
+1
drivers/gpu/drm/rcar-du/Kconfig
··· 6 6 select DRM_KMS_CMA_HELPER 7 7 select DRM_GEM_CMA_HELPER 8 8 select DRM_KMS_FB_HELPER 9 + select VIDEOMODE_HELPERS 9 10 help 10 11 Choose this option if you have an R-Car chipset. 11 12 If M is selected the module will be called rcar-du-drm.
+2 -11
drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c
··· 40 40 return 0; 41 41 42 42 mode->type = DRM_MODE_TYPE_PREFERRED | DRM_MODE_TYPE_DRIVER; 43 - mode->clock = lvdscon->panel->mode.clock; 44 - mode->hdisplay = lvdscon->panel->mode.hdisplay; 45 - mode->hsync_start = lvdscon->panel->mode.hsync_start; 46 - mode->hsync_end = lvdscon->panel->mode.hsync_end; 47 - mode->htotal = lvdscon->panel->mode.htotal; 48 - mode->vdisplay = lvdscon->panel->mode.vdisplay; 49 - mode->vsync_start = lvdscon->panel->mode.vsync_start; 50 - mode->vsync_end = lvdscon->panel->mode.vsync_end; 51 - mode->vtotal = lvdscon->panel->mode.vtotal; 52 - mode->flags = lvdscon->panel->mode.flags; 53 43 54 - drm_mode_set_name(mode); 44 + drm_display_mode_from_videomode(&lvdscon->panel->mode, mode); 45 + 55 46 drm_mode_probed_add(connector, mode); 56 47 57 48 return 1;
+2 -2
include/linux/platform_data/rcar-du.h
··· 14 14 #ifndef __RCAR_DU_H__ 15 15 #define __RCAR_DU_H__ 16 16 17 - #include <drm/drm_mode.h> 17 + #include <video/videomode.h> 18 18 19 19 enum rcar_du_output { 20 20 RCAR_DU_OUTPUT_DPAD0, ··· 35 35 struct rcar_du_panel_data { 36 36 unsigned int width_mm; /* Panel width in mm */ 37 37 unsigned int height_mm; /* Panel height in mm */ 38 - struct drm_mode_modeinfo mode; 38 + struct videomode mode; 39 39 }; 40 40 41 41 struct rcar_du_connector_lvds_data {