Commit 2fee35fc authored by Jani Nikula's avatar Jani Nikula

drm/i915: move backlight to display.backlight

Move display backlight related members under drm_i915_private display
sub-struct.

Prefer adding anonymous sub-structs even for single members that aren't
our own structs.
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/026241565dad12e0024c443419fa5e0caac41b2d.1661779055.git.jani.nikula@intel.com
parent d51309b4
...@@ -305,7 +305,7 @@ void intel_backlight_set_acpi(const struct drm_connector_state *conn_state, ...@@ -305,7 +305,7 @@ void intel_backlight_set_acpi(const struct drm_connector_state *conn_state,
if (!panel->backlight.present || !conn_state->crtc) if (!panel->backlight.present || !conn_state->crtc)
return; return;
mutex_lock(&dev_priv->backlight_lock); mutex_lock(&dev_priv->display.backlight.lock);
drm_WARN_ON(&dev_priv->drm, panel->backlight.max == 0); drm_WARN_ON(&dev_priv->drm, panel->backlight.max == 0);
...@@ -321,7 +321,7 @@ void intel_backlight_set_acpi(const struct drm_connector_state *conn_state, ...@@ -321,7 +321,7 @@ void intel_backlight_set_acpi(const struct drm_connector_state *conn_state,
if (panel->backlight.enabled) if (panel->backlight.enabled)
intel_panel_actually_set_backlight(conn_state, hw_level); intel_panel_actually_set_backlight(conn_state, hw_level);
mutex_unlock(&dev_priv->backlight_lock); mutex_unlock(&dev_priv->display.backlight.lock);
} }
static void lpt_disable_backlight(const struct drm_connector_state *old_conn_state, u32 level) static void lpt_disable_backlight(const struct drm_connector_state *old_conn_state, u32 level)
...@@ -465,14 +465,14 @@ void intel_backlight_disable(const struct drm_connector_state *old_conn_state) ...@@ -465,14 +465,14 @@ void intel_backlight_disable(const struct drm_connector_state *old_conn_state)
return; return;
} }
mutex_lock(&dev_priv->backlight_lock); mutex_lock(&dev_priv->display.backlight.lock);
if (panel->backlight.device) if (panel->backlight.device)
panel->backlight.device->props.power = FB_BLANK_POWERDOWN; panel->backlight.device->props.power = FB_BLANK_POWERDOWN;
panel->backlight.enabled = false; panel->backlight.enabled = false;
panel->backlight.funcs->disable(old_conn_state, 0); panel->backlight.funcs->disable(old_conn_state, 0);
mutex_unlock(&dev_priv->backlight_lock); mutex_unlock(&dev_priv->display.backlight.lock);
} }
static void lpt_enable_backlight(const struct intel_crtc_state *crtc_state, static void lpt_enable_backlight(const struct intel_crtc_state *crtc_state,
...@@ -815,11 +815,11 @@ void intel_backlight_enable(const struct intel_crtc_state *crtc_state, ...@@ -815,11 +815,11 @@ void intel_backlight_enable(const struct intel_crtc_state *crtc_state,
drm_dbg_kms(&dev_priv->drm, "pipe %c\n", pipe_name(pipe)); drm_dbg_kms(&dev_priv->drm, "pipe %c\n", pipe_name(pipe));
mutex_lock(&dev_priv->backlight_lock); mutex_lock(&dev_priv->display.backlight.lock);
__intel_backlight_enable(crtc_state, conn_state); __intel_backlight_enable(crtc_state, conn_state);
mutex_unlock(&dev_priv->backlight_lock); mutex_unlock(&dev_priv->display.backlight.lock);
} }
#if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE) #if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE)
...@@ -829,12 +829,12 @@ static u32 intel_panel_get_backlight(struct intel_connector *connector) ...@@ -829,12 +829,12 @@ static u32 intel_panel_get_backlight(struct intel_connector *connector)
struct intel_panel *panel = &connector->panel; struct intel_panel *panel = &connector->panel;
u32 val = 0; u32 val = 0;
mutex_lock(&dev_priv->backlight_lock); mutex_lock(&dev_priv->display.backlight.lock);
if (panel->backlight.enabled) if (panel->backlight.enabled)
val = panel->backlight.funcs->get(connector, intel_connector_get_pipe(connector)); val = panel->backlight.funcs->get(connector, intel_connector_get_pipe(connector));
mutex_unlock(&dev_priv->backlight_lock); mutex_unlock(&dev_priv->display.backlight.lock);
drm_dbg_kms(&dev_priv->drm, "get backlight PWM = %d\n", val); drm_dbg_kms(&dev_priv->drm, "get backlight PWM = %d\n", val);
return val; return val;
...@@ -862,7 +862,7 @@ static void intel_panel_set_backlight(const struct drm_connector_state *conn_sta ...@@ -862,7 +862,7 @@ static void intel_panel_set_backlight(const struct drm_connector_state *conn_sta
if (!panel->backlight.present) if (!panel->backlight.present)
return; return;
mutex_lock(&dev_priv->backlight_lock); mutex_lock(&dev_priv->display.backlight.lock);
drm_WARN_ON(&dev_priv->drm, panel->backlight.max == 0); drm_WARN_ON(&dev_priv->drm, panel->backlight.max == 0);
...@@ -872,7 +872,7 @@ static void intel_panel_set_backlight(const struct drm_connector_state *conn_sta ...@@ -872,7 +872,7 @@ static void intel_panel_set_backlight(const struct drm_connector_state *conn_sta
if (panel->backlight.enabled) if (panel->backlight.enabled)
intel_panel_actually_set_backlight(conn_state, hw_level); intel_panel_actually_set_backlight(conn_state, hw_level);
mutex_unlock(&dev_priv->backlight_lock); mutex_unlock(&dev_priv->display.backlight.lock);
} }
static int intel_backlight_device_update_status(struct backlight_device *bd) static int intel_backlight_device_update_status(struct backlight_device *bd)
...@@ -1591,11 +1591,11 @@ void intel_backlight_update(struct intel_atomic_state *state, ...@@ -1591,11 +1591,11 @@ void intel_backlight_update(struct intel_atomic_state *state,
if (!panel->backlight.present) if (!panel->backlight.present)
return; return;
mutex_lock(&dev_priv->backlight_lock); mutex_lock(&dev_priv->display.backlight.lock);
if (!panel->backlight.enabled) if (!panel->backlight.enabled)
__intel_backlight_enable(crtc_state, conn_state); __intel_backlight_enable(crtc_state, conn_state);
mutex_unlock(&dev_priv->backlight_lock); mutex_unlock(&dev_priv->display.backlight.lock);
} }
int intel_backlight_setup(struct intel_connector *connector, enum pipe pipe) int intel_backlight_setup(struct intel_connector *connector, enum pipe pipe)
...@@ -1620,9 +1620,9 @@ int intel_backlight_setup(struct intel_connector *connector, enum pipe pipe) ...@@ -1620,9 +1620,9 @@ int intel_backlight_setup(struct intel_connector *connector, enum pipe pipe)
return -ENODEV; return -ENODEV;
/* set level and max in panel struct */ /* set level and max in panel struct */
mutex_lock(&dev_priv->backlight_lock); mutex_lock(&dev_priv->display.backlight.lock);
ret = panel->backlight.funcs->setup(connector, pipe); ret = panel->backlight.funcs->setup(connector, pipe);
mutex_unlock(&dev_priv->backlight_lock); mutex_unlock(&dev_priv->display.backlight.lock);
if (ret) { if (ret) {
drm_dbg_kms(&dev_priv->drm, drm_dbg_kms(&dev_priv->drm,
......
...@@ -218,6 +218,11 @@ struct intel_display { ...@@ -218,6 +218,11 @@ struct intel_display {
} funcs; } funcs;
/* Grouping using anonymous structs. Keep sorted. */ /* Grouping using anonymous structs. Keep sorted. */
struct {
/* backlight registers and fields in struct intel_panel */
struct mutex lock;
} backlight;
struct { struct {
struct intel_global_obj obj; struct intel_global_obj obj;
......
...@@ -330,7 +330,7 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv) ...@@ -330,7 +330,7 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
spin_lock_init(&dev_priv->irq_lock); spin_lock_init(&dev_priv->irq_lock);
spin_lock_init(&dev_priv->gpu_error.lock); spin_lock_init(&dev_priv->gpu_error.lock);
mutex_init(&dev_priv->backlight_lock); mutex_init(&dev_priv->display.backlight.lock);
mutex_init(&dev_priv->sb_lock); mutex_init(&dev_priv->sb_lock);
cpu_latency_qos_add_request(&dev_priv->sb_qos, PM_QOS_DEFAULT_VALUE); cpu_latency_qos_add_request(&dev_priv->sb_qos, PM_QOS_DEFAULT_VALUE);
......
...@@ -330,9 +330,6 @@ struct drm_i915_private { ...@@ -330,9 +330,6 @@ struct drm_i915_private {
bool preserve_bios_swizzle; bool preserve_bios_swizzle;
/* backlight registers and fields in struct intel_panel */
struct mutex backlight_lock;
unsigned int fsb_freq, mem_freq, is_ddr3; unsigned int fsb_freq, mem_freq, is_ddr3;
unsigned int skl_preferred_vco_freq; unsigned int skl_preferred_vco_freq;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment