drm/etnaviv: add more minor features fields
authorLucas Stach <l.stach@pengutronix.de>
Mon, 22 Jan 2018 14:56:11 +0000 (15:56 +0100)
committerLucas Stach <l.stach@pengutronix.de>
Fri, 9 Mar 2018 11:22:36 +0000 (12:22 +0100)
Newer GPU cores added yet more feature bits. Make room for them and
let userspace query them.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
drivers/gpu/drm/etnaviv/etnaviv_gpu.c
drivers/gpu/drm/etnaviv/etnaviv_gpu.h
include/uapi/drm/etnaviv_drm.h

index 260a73a..42ad286 100644 (file)
@@ -84,6 +84,30 @@ int etnaviv_gpu_get_param(struct etnaviv_gpu *gpu, u32 param, u64 *value)
                *value = gpu->identity.minor_features5;
                break;
 
+       case ETNAVIV_PARAM_GPU_FEATURES_7:
+               *value = gpu->identity.minor_features6;
+               break;
+
+       case ETNAVIV_PARAM_GPU_FEATURES_8:
+               *value = gpu->identity.minor_features7;
+               break;
+
+       case ETNAVIV_PARAM_GPU_FEATURES_9:
+               *value = gpu->identity.minor_features8;
+               break;
+
+       case ETNAVIV_PARAM_GPU_FEATURES_10:
+               *value = gpu->identity.minor_features9;
+               break;
+
+       case ETNAVIV_PARAM_GPU_FEATURES_11:
+               *value = gpu->identity.minor_features10;
+               break;
+
+       case ETNAVIV_PARAM_GPU_FEATURES_12:
+               *value = gpu->identity.minor_features11;
+               break;
+
        case ETNAVIV_PARAM_GPU_STREAM_COUNT:
                *value = gpu->identity.stream_count;
                break;
@@ -823,6 +847,18 @@ int etnaviv_gpu_debugfs(struct etnaviv_gpu *gpu, struct seq_file *m)
                   gpu->identity.minor_features4);
        seq_printf(m, "\t minor_features5: 0x%08x\n",
                   gpu->identity.minor_features5);
+       seq_printf(m, "\t minor_features6: 0x%08x\n",
+                  gpu->identity.minor_features6);
+       seq_printf(m, "\t minor_features7: 0x%08x\n",
+                  gpu->identity.minor_features7);
+       seq_printf(m, "\t minor_features8: 0x%08x\n",
+                  gpu->identity.minor_features8);
+       seq_printf(m, "\t minor_features9: 0x%08x\n",
+                  gpu->identity.minor_features9);
+       seq_printf(m, "\t minor_features10: 0x%08x\n",
+                  gpu->identity.minor_features10);
+       seq_printf(m, "\t minor_features11: 0x%08x\n",
+                  gpu->identity.minor_features11);
 
        seq_puts(m, "\tspecs\n");
        seq_printf(m, "\t stream_count:  %d\n",
index 3b19528..18460df 100644 (file)
@@ -38,21 +38,17 @@ struct etnaviv_chip_identity {
 
        /* Supported minor feature fields. */
        u32 minor_features0;
-
-       /* Supported minor feature 1 fields. */
        u32 minor_features1;
-
-       /* Supported minor feature 2 fields. */
        u32 minor_features2;
-
-       /* Supported minor feature 3 fields. */
        u32 minor_features3;
-
-       /* Supported minor feature 4 fields. */
        u32 minor_features4;
-
-       /* Supported minor feature 5 fields. */
        u32 minor_features5;
+       u32 minor_features6;
+       u32 minor_features7;
+       u32 minor_features8;
+       u32 minor_features9;
+       u32 minor_features10;
+       u32 minor_features11;
 
        /* Number of streams supported. */
        u32 stream_count;
index e9b997a..0d5c49d 100644 (file)
@@ -55,6 +55,12 @@ struct drm_etnaviv_timespec {
 #define ETNAVIV_PARAM_GPU_FEATURES_4                0x07
 #define ETNAVIV_PARAM_GPU_FEATURES_5                0x08
 #define ETNAVIV_PARAM_GPU_FEATURES_6                0x09
+#define ETNAVIV_PARAM_GPU_FEATURES_7                0x0a
+#define ETNAVIV_PARAM_GPU_FEATURES_8                0x0b
+#define ETNAVIV_PARAM_GPU_FEATURES_9                0x0c
+#define ETNAVIV_PARAM_GPU_FEATURES_10               0x0d
+#define ETNAVIV_PARAM_GPU_FEATURES_11               0x0e
+#define ETNAVIV_PARAM_GPU_FEATURES_12               0x0f
 
 #define ETNAVIV_PARAM_GPU_STREAM_COUNT              0x10
 #define ETNAVIV_PARAM_GPU_REGISTER_MAX              0x11