Commit 9d027b8e authored by Sam Ravnborg's avatar Sam Ravnborg

drm/panel: ili9322: move bus_flags to get_modes()

To prepare the driver to receive drm_connector only in the get_modes()
callback, move bus_flags handling to ili9322_get_modes().
Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Reviewed-by: default avatarEmil Velikov <emil.velikov@collabora.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20190804201637.1240-11-sam@ravnborg.org
parent ce7d93aa
...@@ -349,7 +349,6 @@ static const struct regmap_config ili9322_regmap_config = { ...@@ -349,7 +349,6 @@ static const struct regmap_config ili9322_regmap_config = {
static int ili9322_init(struct drm_panel *panel, struct ili9322 *ili) static int ili9322_init(struct drm_panel *panel, struct ili9322 *ili)
{ {
struct drm_connector *connector = panel->connector;
u8 reg; u8 reg;
int ret; int ret;
int i; int i;
...@@ -407,23 +406,11 @@ static int ili9322_init(struct drm_panel *panel, struct ili9322 *ili) ...@@ -407,23 +406,11 @@ static int ili9322_init(struct drm_panel *panel, struct ili9322 *ili)
* Polarity and inverted color order for RGB input. * Polarity and inverted color order for RGB input.
* None of this applies in the BT.656 mode. * None of this applies in the BT.656 mode.
*/ */
if (ili->conf->dclk_active_high) {
reg = ILI9322_POL_DCLK;
connector->display_info.bus_flags |=
DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE;
} else {
reg = 0; reg = 0;
connector->display_info.bus_flags |= if (ili->conf->dclk_active_high)
DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE; reg = ILI9322_POL_DCLK;
} if (ili->conf->de_active_high)
if (ili->conf->de_active_high) {
reg |= ILI9322_POL_DE; reg |= ILI9322_POL_DE;
connector->display_info.bus_flags |=
DRM_BUS_FLAG_DE_HIGH;
} else {
connector->display_info.bus_flags |=
DRM_BUS_FLAG_DE_LOW;
}
if (ili->conf->hsync_active_high) if (ili->conf->hsync_active_high)
reg |= ILI9322_POL_HSYNC; reg |= ILI9322_POL_HSYNC;
if (ili->conf->vsync_active_high) if (ili->conf->vsync_active_high)
...@@ -659,9 +646,20 @@ static int ili9322_get_modes(struct drm_panel *panel) ...@@ -659,9 +646,20 @@ static int ili9322_get_modes(struct drm_panel *panel)
struct drm_connector *connector = panel->connector; struct drm_connector *connector = panel->connector;
struct ili9322 *ili = panel_to_ili9322(panel); struct ili9322 *ili = panel_to_ili9322(panel);
struct drm_display_mode *mode; struct drm_display_mode *mode;
struct drm_display_info *info;
connector->display_info.width_mm = ili->conf->width_mm; info = &connector->display_info;
connector->display_info.height_mm = ili->conf->height_mm; info->width_mm = ili->conf->width_mm;
info->height_mm = ili->conf->height_mm;
if (ili->conf->dclk_active_high)
info->bus_flags |= DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE;
else
info->bus_flags |= DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE;
if (ili->conf->de_active_high)
info->bus_flags |= DRM_BUS_FLAG_DE_HIGH;
else
info->bus_flags |= DRM_BUS_FLAG_DE_LOW;
switch (ili->input) { switch (ili->input) {
case ILI9322_INPUT_SRGB_DUMMY_320X240: case ILI9322_INPUT_SRGB_DUMMY_320X240:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment