drm: omapdrm: Move FEAT_DPI_USES_VDDS_DSI feature to dpi code
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Fri, 4 Aug 2017 22:44:12 +0000 (01:44 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 15 Aug 2017 12:18:25 +0000 (15:18 +0300)
The FEAT_DPI_USES_VDDS_DSI feature is specific to the DPI, move it from
the omap_dss_features structure to the dpi code.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/gpu/drm/omapdrm/dss/dpi.c
drivers/gpu/drm/omapdrm/dss/dss_features.c
drivers/gpu/drm/omapdrm/dss/dss_features.h

index 857d462b3786377b40507d888dcd67796dd35c1f..ed057bdee85537d0f8c2c4018c7b31ced05f4748 100644 (file)
@@ -32,6 +32,7 @@
 #include <linux/string.h>
 #include <linux/of.h>
 #include <linux/clk.h>
+#include <linux/sys_soc.h>
 
 #include "omapdss.h"
 #include "dss.h"
@@ -565,11 +566,21 @@ static int dpi_verify_pll(struct dss_pll *pll)
        return 0;
 }
 
+static const struct soc_device_attribute dpi_soc_devices[] = {
+       { .family = "OMAP3[456]*" },
+       { .family = "[AD]M37*" },
+       { /* sentinel */ }
+};
+
 static int dpi_init_regulator(struct dpi_data *dpi)
 {
        struct regulator *vdds_dsi;
 
-       if (!dss_has_feature(FEAT_DPI_USES_VDDS_DSI))
+       /*
+        * The DPI uses the DSI VDDS on OMAP34xx, OMAP35xx, OMAP36xx, AM37xx and
+        * DM37xx only.
+        */
+       if (!soc_device_match(dpi_soc_devices))
                return 0;
 
        if (dpi->vdds_dsi_reg)
index 3d0bee95fb4608d8f6354bd1efdcecdca918382b..69da2f3e46f64774075a3e7b98a48eea34b41ae8 100644 (file)
@@ -171,7 +171,6 @@ static const enum dss_feat_id omap3430_dss_feat_list[] = {
        FEAT_ALPHA_FIXED_ZORDER,
        FEAT_FIFO_MERGE,
        FEAT_OMAP3_DSI_FIFO_BUG,
-       FEAT_DPI_USES_VDDS_DSI,
 };
 
 static const enum dss_feat_id am35xx_dss_feat_list[] = {
@@ -219,7 +218,6 @@ static const enum dss_feat_id omap3630_dss_feat_list[] = {
        FEAT_ALPHA_FIXED_ZORDER,
        FEAT_FIFO_MERGE,
        FEAT_OMAP3_DSI_FIFO_BUG,
-       FEAT_DPI_USES_VDDS_DSI,
 };
 
 static const enum dss_feat_id omap4430_es1_0_dss_feat_list[] = {
index f5320c392077ac484b7f35a3704984e6ace78ae8..5c6658782dda4b3b88a005dd6c0c287e306a914f 100644 (file)
@@ -39,7 +39,6 @@ enum dss_feat_id {
        /* Independent core clk divider */
        FEAT_CORE_CLK_DIV,
        FEAT_LCD_CLK_SRC,
-       FEAT_DPI_USES_VDDS_DSI,
        FEAT_HANDLE_UV_SEPARATE,
        FEAT_ATTR2,
        FEAT_CPR,