All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] imx drm atomic mode setting fixups
@ 2016-07-06 15:52 Philipp Zabel
  2016-07-06 15:52 ` [PATCH 1/3] drm/imx: remove empty mode_set encoder callbacks Philipp Zabel
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Philipp Zabel @ 2016-07-06 15:52 UTC (permalink / raw)
  To: dri-devel; +Cc: Daniel Vetter, Russell King, kernel

Hi,

I have tested Liu Ying's imx drm atomic mode setting conversion series [1]
with three different outputs (DPI + eDP bridge, LVDS + panel, HDMI)
and noticed that in the LDB case bus_format handling doesn't work
correctly if the format is determined by the panel instead of the
device tree. In that case, the LVDS bus_format is not yet known at bind
time, but is filled into the display_info structure by the panel driver
in the get_modes callback. The LDB driver then has to translate from the
LVDS bus format to the corresponding internal parallel bus format and
let the crtc know about the format before crtc mode_set is called.
The same issue occurs when the bus_format is determined by a bridge driver
which implements its own connector. To solve this, and because crtc state
seems to be the right place for potentially dynamic crtc settings, I have
moved the bus_format, bus_flags, and di_*sync_pin configuration into an
imx-drm specific crtc state structure and removed imx_drm_encoder again.

I have also removed the now optional empty encoder mode_set callbacks
and turned the container_of helper macros into inline functions.

[1] https://lists.freedesktop.org/archives/dri-devel/2016-May/108218.html

regards
Philipp

Philipp Zabel (3):
  drm/imx: remove empty mode_set encoder callbacks
  drm/imx: store internal bus configuration in crtc state
  drm/imx: turn remaining container_of macros into inline functions

 drivers/gpu/drm/imx/dw_hdmi-imx.c      |  38 +++++----
 drivers/gpu/drm/imx/imx-drm.h          |   9 ++-
 drivers/gpu/drm/imx/imx-ldb.c          | 142 +++++++++++++++++++++------------
 drivers/gpu/drm/imx/imx-tve.c          |  45 ++++++++---
 drivers/gpu/drm/imx/ipuv3-crtc.c       |  72 +++++++++++++----
 drivers/gpu/drm/imx/ipuv3-plane.c      |   5 +-
 drivers/gpu/drm/imx/parallel-display.c |  85 +++++++++++---------
 7 files changed, 259 insertions(+), 137 deletions(-)

-- 
2.8.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-07-11  8:46 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-06 15:52 [PATCH 0/3] imx drm atomic mode setting fixups Philipp Zabel
2016-07-06 15:52 ` [PATCH 1/3] drm/imx: remove empty mode_set encoder callbacks Philipp Zabel
2016-07-06 15:52 ` [PATCH 2/3] drm/imx: store internal bus configuration in crtc state Philipp Zabel
2016-07-06 15:52 ` [PATCH 3/3] drm/imx: turn remaining container_of macros into inline functions Philipp Zabel
2016-07-07  7:44 ` [PATCH 0/3] imx drm atomic mode setting fixups Ying Liu
2016-07-07  8:29   ` Philipp Zabel
2016-07-08  9:38     ` Liu Ying
2016-07-08 17:24       ` Philipp Zabel
2016-07-11  2:56         ` Ying Liu
2016-07-11  8:46           ` Philipp Zabel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.