[PATCH v3 03/10] drm/imx: atomic phase 1: Use transitional atomic CRTC and plane helpers
Russell King - ARM Linux
linux at armlinux.org.uk
Sat Aug 13 14:09:11 UTC 2016
Okay, this is what I've ended up with - I'm not sure whether it's
correct or not, but this dirty patch allows the full series to be
applied and still have working userspace.
I still need to undo all the reverts I have touching imx-drm between
patch 10 of this set and 4.8-rc1...
diff --git a/drivers/gpu/drm/imx/ipuv3-plane.c b/drivers/gpu/drm/imx/ipuv3-plane.c
index 3f5f9566b152..6f9a43880381 100644
--- a/drivers/gpu/drm/imx/ipuv3-plane.c
+++ b/drivers/gpu/drm/imx/ipuv3-plane.c
@@ -275,7 +275,7 @@ static int ipu_plane_atomic_check(struct drm_plane *plane,
if (WARN_ON(!crtc_state))
return -EINVAL;
- /* CRTC should be enabled */
+ /* CRTC should be enabled -- why? */
if (!crtc_state->enable)
return -EINVAL;
@@ -319,10 +319,14 @@ static int ipu_plane_atomic_check(struct drm_plane *plane,
* since we cannot touch active IDMAC channels, we do not support
* resizing the enabled plane or changing its format
*/
+#if 0
if (old_fb && (state->src_w != old_state->src_w ||
state->src_h != old_state->src_h ||
- fb->pixel_format != old_fb->pixel_format))
+ fb->pixel_format != old_fb->pixel_format)) {
+ printk("%s:%d: fail\n", __func__, __LINE__);
return -EINVAL;
+ }
+#endif
eba = drm_plane_state_to_eba(state);
@@ -332,8 +336,12 @@ static int ipu_plane_atomic_check(struct drm_plane *plane,
if (fb->pitches[0] < 1 || fb->pitches[0] > 16384)
return -EINVAL;
- if (old_fb && fb->pitches[0] != old_fb->pitches[0])
+#if 0
+ if (old_fb && fb->pitches[0] != old_fb->pitches[0]) {
+ printk("%s:%d: fail\n", __func__, __LINE__);
return -EINVAL;
+ }
+#endif
switch (fb->pixel_format) {
case DRM_FORMAT_YUV420:
@@ -388,10 +396,14 @@ static void ipu_plane_atomic_update(struct drm_plane *plane,
struct drm_plane_state *state = plane->state;
enum ipu_color_space ics;
+#if 0
if (old_state->fb) {
ipu_plane_atomic_set_base(ipu_plane, old_state);
return;
}
+#endif
+
+ ipu_plane_disable(ipu_plane);
switch (ipu_plane->dp_flow) {
case IPU_DP_FLOW_SYNC_BG:
--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
More information about the dri-devel
mailing list