drm/msm/sde: allow primary planes to be used with all crtcs

CRTC's are created for each display and require a dedicated primary
plane for non-atomic operation. Atomic callflows don't have this
requirement and allow for any plane to be used with any CRTC, as
long as the driver can support it.

This change optionally resets each plane's possible_crtcs bitmask to
allow it to be used by other CRTCs as well.

This allows the driver to work with both atomic and non-atomic
callflows as long as non-atomic clients respect each plane's
advertised primary/overlay type.

Change-Id: Ic613791322c2d9cd578c64db3d6e299451c385f3
Signed-off-by: Clarence Ip <cip@codeaurora.org>
diff --git a/drivers/gpu/drm/msm/sde/sde_kms.h b/drivers/gpu/drm/msm/sde/sde_kms.h
index f3169a2..8b626e6 100644
--- a/drivers/gpu/drm/msm/sde/sde_kms.h
+++ b/drivers/gpu/drm/msm/sde/sde_kms.h
@@ -198,6 +198,13 @@
 	((S) && ((X) < PLANE_PROP_COUNT) ? ((S)->property_values[(X)]) : 0)
 
 /**
+ * sde_is_custom_client - whether or not to enable non-standard customizations
+ *
+ * Return: Whether or not the 'sdeclient' module parameter was set on boot up
+ */
+bool sde_is_custom_client(void);
+
+/**
  * Debugfs functions - extra helper functions for debugfs support
  *
  * Main debugfs documentation is located at,