| From b7a545032b11f86a2617e1381ce7f2b0cdbf6395 Mon Sep 17 00:00:00 2001 |
| From: Hans de Goede <hdegoede@redhat.com> |
| Date: Thu, 24 Oct 2019 10:52:52 +0200 |
| Subject: [PATCH] drm/nouveau: Move the declaration of struct nouveau_conn_atom |
| up a bit |
| |
| commit 37a68eab4cd92b507c9e8afd760fdc18e4fecac6 upstream. |
| |
| Place the declaration of struct nouveau_conn_atom above that of |
| struct nouveau_connector. This commit makes no changes to the moved |
| block what so ever, it just moves it up a bit. |
| |
| This is a preparation patch to fix some issues with connector handling |
| on pre nv50 displays (which do not use atomic modesetting). |
| |
| Signed-off-by: Hans de Goede <hdegoede@redhat.com> |
| Reviewed-by: Lyude Paul <lyude@redhat.com> |
| Signed-off-by: Ben Skeggs <bskeggs@redhat.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.h b/drivers/gpu/drm/nouveau/nouveau_connector.h |
| index f43a8d63aef8..de9588420884 100644 |
| --- a/drivers/gpu/drm/nouveau/nouveau_connector.h |
| +++ b/drivers/gpu/drm/nouveau/nouveau_connector.h |
| @@ -29,6 +29,7 @@ |
| |
| #include <nvif/notify.h> |
| |
| +#include <drm/drm_crtc.h> |
| #include <drm/drm_edid.h> |
| #include <drm/drm_encoder.h> |
| #include <drm/drm_dp_helper.h> |
| @@ -44,6 +45,60 @@ struct dcb_output; |
| struct nouveau_backlight; |
| #endif |
| |
| +#define nouveau_conn_atom(p) \ |
| + container_of((p), struct nouveau_conn_atom, state) |
| + |
| +struct nouveau_conn_atom { |
| + struct drm_connector_state state; |
| + |
| + struct { |
| + /* The enum values specifically defined here match nv50/gf119 |
| + * hw values, and the code relies on this. |
| + */ |
| + enum { |
| + DITHERING_MODE_OFF = 0x00, |
| + DITHERING_MODE_ON = 0x01, |
| + DITHERING_MODE_DYNAMIC2X2 = 0x10 | DITHERING_MODE_ON, |
| + DITHERING_MODE_STATIC2X2 = 0x18 | DITHERING_MODE_ON, |
| + DITHERING_MODE_TEMPORAL = 0x20 | DITHERING_MODE_ON, |
| + DITHERING_MODE_AUTO |
| + } mode; |
| + enum { |
| + DITHERING_DEPTH_6BPC = 0x00, |
| + DITHERING_DEPTH_8BPC = 0x02, |
| + DITHERING_DEPTH_AUTO |
| + } depth; |
| + } dither; |
| + |
| + struct { |
| + int mode; /* DRM_MODE_SCALE_* */ |
| + struct { |
| + enum { |
| + UNDERSCAN_OFF, |
| + UNDERSCAN_ON, |
| + UNDERSCAN_AUTO, |
| + } mode; |
| + u32 hborder; |
| + u32 vborder; |
| + } underscan; |
| + bool full; |
| + } scaler; |
| + |
| + struct { |
| + int color_vibrance; |
| + int vibrant_hue; |
| + } procamp; |
| + |
| + union { |
| + struct { |
| + bool dither:1; |
| + bool scaler:1; |
| + bool procamp:1; |
| + }; |
| + u8 mask; |
| + } set; |
| +}; |
| + |
| struct nouveau_connector { |
| struct drm_connector base; |
| enum dcb_connector_type type; |
| @@ -121,61 +176,6 @@ extern int nouveau_ignorelid; |
| extern int nouveau_duallink; |
| extern int nouveau_hdmimhz; |
| |
| -#include <drm/drm_crtc.h> |
| -#define nouveau_conn_atom(p) \ |
| - container_of((p), struct nouveau_conn_atom, state) |
| - |
| -struct nouveau_conn_atom { |
| - struct drm_connector_state state; |
| - |
| - struct { |
| - /* The enum values specifically defined here match nv50/gf119 |
| - * hw values, and the code relies on this. |
| - */ |
| - enum { |
| - DITHERING_MODE_OFF = 0x00, |
| - DITHERING_MODE_ON = 0x01, |
| - DITHERING_MODE_DYNAMIC2X2 = 0x10 | DITHERING_MODE_ON, |
| - DITHERING_MODE_STATIC2X2 = 0x18 | DITHERING_MODE_ON, |
| - DITHERING_MODE_TEMPORAL = 0x20 | DITHERING_MODE_ON, |
| - DITHERING_MODE_AUTO |
| - } mode; |
| - enum { |
| - DITHERING_DEPTH_6BPC = 0x00, |
| - DITHERING_DEPTH_8BPC = 0x02, |
| - DITHERING_DEPTH_AUTO |
| - } depth; |
| - } dither; |
| - |
| - struct { |
| - int mode; /* DRM_MODE_SCALE_* */ |
| - struct { |
| - enum { |
| - UNDERSCAN_OFF, |
| - UNDERSCAN_ON, |
| - UNDERSCAN_AUTO, |
| - } mode; |
| - u32 hborder; |
| - u32 vborder; |
| - } underscan; |
| - bool full; |
| - } scaler; |
| - |
| - struct { |
| - int color_vibrance; |
| - int vibrant_hue; |
| - } procamp; |
| - |
| - union { |
| - struct { |
| - bool dither:1; |
| - bool scaler:1; |
| - bool procamp:1; |
| - }; |
| - u8 mask; |
| - } set; |
| -}; |
| - |
| void nouveau_conn_attach_properties(struct drm_connector *); |
| void nouveau_conn_reset(struct drm_connector *); |
| struct drm_connector_state * |
| -- |
| 2.7.4 |
| |