* [Intel-gfx] [PATCH] drm/i915: refactor panel backlight control functions. (v2)
@ 2020-11-30 21:09 Dave Airlie
2020-12-01 2:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: refactor panel backlight control functions. (rev2) Patchwork
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Dave Airlie @ 2020-11-30 21:09 UTC (permalink / raw)
To: intel-gfx
From: Dave Airlie <airlied@redhat.com>
This moves the functions into static const instead of having
funcs and data in the same struct.
It leaves the power callback alone, as it is used in a different
manner.
v2: leave power callback alone (Jani)
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
---
.../drm/i915/display/intel_display_types.h | 20 ++-
.../drm/i915/display/intel_dp_aux_backlight.c | 14 +-
.../i915/display/intel_dsi_dcs_backlight.c | 14 +-
drivers/gpu/drm/i915/display/intel_panel.c | 153 +++++++++++-------
4 files changed, 127 insertions(+), 74 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index f6f0626649e0..291139fc1084 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -225,6 +225,17 @@ struct intel_encoder {
const struct drm_connector *audio_connector;
};
+struct intel_panel_bl_funcs {
+ /* Connector and platform specific backlight functions */
+ int (*setup)(struct intel_connector *connector, enum pipe pipe);
+ u32 (*get)(struct intel_connector *connector);
+ void (*set)(const struct drm_connector_state *conn_state, u32 level);
+ void (*disable)(const struct drm_connector_state *conn_state);
+ void (*enable)(const struct intel_crtc_state *crtc_state,
+ const struct drm_connector_state *conn_state);
+ u32 (*hz_to_pwm)(struct intel_connector *connector, u32 hz);
+};
+
struct intel_panel {
struct drm_display_mode *fixed_mode;
struct drm_display_mode *downclock_mode;
@@ -251,14 +262,7 @@ struct intel_panel {
struct backlight_device *device;
- /* Connector and platform specific backlight functions */
- int (*setup)(struct intel_connector *connector, enum pipe pipe);
- u32 (*get)(struct intel_connector *connector);
- void (*set)(const struct drm_connector_state *conn_state, u32 level);
- void (*disable)(const struct drm_connector_state *conn_state);
- void (*enable)(const struct intel_crtc_state *crtc_state,
- const struct drm_connector_state *conn_state);
- u32 (*hz_to_pwm)(struct intel_connector *connector, u32 hz);
+ const struct intel_panel_bl_funcs *funcs;
void (*power)(struct intel_connector *, bool enable);
} backlight;
};
diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
index 51d27fc98d48..4fd536801b14 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
@@ -350,6 +350,14 @@ intel_dp_aux_display_control_capable(struct intel_connector *connector)
return false;
}
+static const struct intel_panel_bl_funcs intel_dp_bl_funcs = {
+ .setup = intel_dp_aux_setup_backlight,
+ .enable = intel_dp_aux_enable_backlight,
+ .disable = intel_dp_aux_disable_backlight,
+ .set = intel_dp_aux_set_backlight,
+ .get = intel_dp_aux_get_backlight,
+};
+
int intel_dp_aux_init_backlight_funcs(struct intel_connector *intel_connector)
{
struct intel_panel *panel = &intel_connector->panel;
@@ -379,11 +387,7 @@ int intel_dp_aux_init_backlight_funcs(struct intel_connector *intel_connector)
return -ENODEV;
}
- panel->backlight.setup = intel_dp_aux_setup_backlight;
- panel->backlight.enable = intel_dp_aux_enable_backlight;
- panel->backlight.disable = intel_dp_aux_disable_backlight;
- panel->backlight.set = intel_dp_aux_set_backlight;
- panel->backlight.get = intel_dp_aux_get_backlight;
+ panel->backlight.funcs = &intel_dp_bl_funcs;
return 0;
}
diff --git a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
index b53c50372918..5c508d51f526 100644
--- a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
+++ b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
@@ -156,6 +156,14 @@ static int dcs_setup_backlight(struct intel_connector *connector,
return 0;
}
+static const struct intel_panel_bl_funcs dcs_bl_funcs = {
+ .setup = dcs_setup_backlight,
+ .enable = dcs_enable_backlight,
+ .disable = dcs_disable_backlight,
+ .set = dcs_set_backlight,
+ .get = dcs_get_backlight,
+};
+
int intel_dsi_dcs_init_backlight_funcs(struct intel_connector *intel_connector)
{
struct drm_device *dev = intel_connector->base.dev;
@@ -169,11 +177,7 @@ int intel_dsi_dcs_init_backlight_funcs(struct intel_connector *intel_connector)
if (drm_WARN_ON(dev, encoder->type != INTEL_OUTPUT_DSI))
return -EINVAL;
- panel->backlight.setup = dcs_setup_backlight;
- panel->backlight.enable = dcs_enable_backlight;
- panel->backlight.disable = dcs_disable_backlight;
- panel->backlight.set = dcs_set_backlight;
- panel->backlight.get = dcs_get_backlight;
+ panel->backlight.funcs = &dcs_bl_funcs;
return 0;
}
diff --git a/drivers/gpu/drm/i915/display/intel_panel.c b/drivers/gpu/drm/i915/display/intel_panel.c
index 9f23bac0d792..36b7693453ae 100644
--- a/drivers/gpu/drm/i915/display/intel_panel.c
+++ b/drivers/gpu/drm/i915/display/intel_panel.c
@@ -684,7 +684,7 @@ intel_panel_actually_set_backlight(const struct drm_connector_state *conn_state,
drm_dbg_kms(&i915->drm, "set backlight PWM = %d\n", level);
level = intel_panel_compute_brightness(connector, level);
- panel->backlight.set(conn_state, level);
+ panel->backlight.funcs->set(conn_state, level);
}
/* set backlight brightness to level in range [0..max], assuming hw min is
@@ -870,7 +870,7 @@ void intel_panel_disable_backlight(const struct drm_connector_state *old_conn_st
if (panel->backlight.device)
panel->backlight.device->props.power = FB_BLANK_POWERDOWN;
panel->backlight.enabled = false;
- panel->backlight.disable(old_conn_state);
+ panel->backlight.funcs->disable(old_conn_state);
mutex_unlock(&dev_priv->backlight_lock);
}
@@ -1198,7 +1198,7 @@ static void __intel_panel_enable_backlight(const struct intel_crtc_state *crtc_s
panel->backlight.device->props.max_brightness);
}
- panel->backlight.enable(crtc_state, conn_state);
+ panel->backlight.funcs->enable(crtc_state, conn_state);
panel->backlight.enabled = true;
if (panel->backlight.device)
panel->backlight.device->props.power = FB_BLANK_UNBLANK;
@@ -1234,7 +1234,7 @@ static u32 intel_panel_get_backlight(struct intel_connector *connector)
mutex_lock(&dev_priv->backlight_lock);
if (panel->backlight.enabled) {
- val = panel->backlight.get(connector);
+ val = panel->backlight.funcs->get(connector);
val = intel_panel_compute_brightness(connector, val);
}
@@ -1567,13 +1567,13 @@ static u32 get_backlight_max_vbt(struct intel_connector *connector)
u16 pwm_freq_hz = get_vbt_pwm_freq(dev_priv);
u32 pwm;
- if (!panel->backlight.hz_to_pwm) {
+ if (!panel->backlight.funcs->hz_to_pwm) {
drm_dbg_kms(&dev_priv->drm,
"backlight frequency conversion not supported\n");
return 0;
}
- pwm = panel->backlight.hz_to_pwm(connector, pwm_freq_hz);
+ pwm = panel->backlight.funcs->hz_to_pwm(connector, pwm_freq_hz);
if (!pwm) {
drm_dbg_kms(&dev_priv->drm,
"backlight frequency conversion failed\n");
@@ -1981,12 +1981,12 @@ int intel_panel_setup_backlight(struct drm_connector *connector, enum pipe pipe)
}
/* ensure intel_panel has been initialized first */
- if (drm_WARN_ON(&dev_priv->drm, !panel->backlight.setup))
+ if (drm_WARN_ON(&dev_priv->drm, !panel->backlight.funcs))
return -ENODEV;
/* set level and max in panel struct */
mutex_lock(&dev_priv->backlight_lock);
- ret = panel->backlight.setup(intel_connector, pipe);
+ ret = panel->backlight.funcs->setup(intel_connector, pipe);
mutex_unlock(&dev_priv->backlight_lock);
if (ret) {
@@ -2016,6 +2016,86 @@ static void intel_panel_destroy_backlight(struct intel_panel *panel)
panel->backlight.present = false;
}
+static const struct intel_panel_bl_funcs bxt_funcs = {
+ .setup = bxt_setup_backlight,
+ .enable = bxt_enable_backlight,
+ .disable = bxt_disable_backlight,
+ .set = bxt_set_backlight,
+ .get = bxt_get_backlight,
+ .hz_to_pwm = bxt_hz_to_pwm,
+};
+
+static const struct intel_panel_bl_funcs cnp_funcs = {
+ .setup = cnp_setup_backlight,
+ .enable = cnp_enable_backlight,
+ .disable = cnp_disable_backlight,
+ .set = bxt_set_backlight,
+ .get = bxt_get_backlight,
+ .hz_to_pwm = cnp_hz_to_pwm,
+};
+
+static const struct intel_panel_bl_funcs lpt_funcs = {
+ .setup = lpt_setup_backlight,
+ .enable = lpt_enable_backlight,
+ .disable = lpt_disable_backlight,
+ .set = lpt_set_backlight,
+ .get = lpt_get_backlight,
+ .hz_to_pwm = lpt_hz_to_pwm,
+};
+
+static const struct intel_panel_bl_funcs spt_funcs = {
+ .setup = lpt_setup_backlight,
+ .enable = lpt_enable_backlight,
+ .disable = lpt_disable_backlight,
+ .set = lpt_set_backlight,
+ .get = lpt_get_backlight,
+ .hz_to_pwm = spt_hz_to_pwm,
+};
+
+static const struct intel_panel_bl_funcs pch_funcs = {
+ .setup = pch_setup_backlight,
+ .enable = pch_enable_backlight,
+ .disable = pch_disable_backlight,
+ .set = pch_set_backlight,
+ .get = pch_get_backlight,
+ .hz_to_pwm = pch_hz_to_pwm,
+};
+
+static const struct intel_panel_bl_funcs pwm_funcs = {
+ .setup = pwm_setup_backlight,
+ .enable = pwm_enable_backlight,
+ .disable = pwm_disable_backlight,
+ .set = pwm_set_backlight,
+ .get = pwm_get_backlight,
+};
+
+static const struct intel_panel_bl_funcs vlv_funcs = {
+ .setup = vlv_setup_backlight,
+ .enable = vlv_enable_backlight,
+ .disable = vlv_disable_backlight,
+ .set = vlv_set_backlight,
+ .get = vlv_get_backlight,
+ .hz_to_pwm = vlv_hz_to_pwm,
+};
+
+static const struct intel_panel_bl_funcs i965_funcs = {
+ .setup = i965_setup_backlight,
+ .enable = i965_enable_backlight,
+ .disable = i965_disable_backlight,
+ .set = i9xx_set_backlight,
+ .get = i9xx_get_backlight,
+ .hz_to_pwm = i965_hz_to_pwm,
+};
+
+static const struct intel_panel_bl_funcs i9xx_funcs = {
+ .setup = i9xx_setup_backlight,
+ .enable = i9xx_enable_backlight,
+ .disable = i9xx_disable_backlight,
+ .set = i9xx_set_backlight,
+ .get = i9xx_get_backlight,
+ .hz_to_pwm = i9xx_hz_to_pwm,
+};
+
/* Set up chip specific backlight functions */
static void
intel_panel_init_backlight_funcs(struct intel_panel *panel)
@@ -2033,65 +2113,26 @@ intel_panel_init_backlight_funcs(struct intel_panel *panel)
return;
if (IS_GEN9_LP(dev_priv)) {
- panel->backlight.setup = bxt_setup_backlight;
- panel->backlight.enable = bxt_enable_backlight;
- panel->backlight.disable = bxt_disable_backlight;
- panel->backlight.set = bxt_set_backlight;
- panel->backlight.get = bxt_get_backlight;
- panel->backlight.hz_to_pwm = bxt_hz_to_pwm;
+ panel->backlight.funcs = &bxt_funcs;
} else if (INTEL_PCH_TYPE(dev_priv) >= PCH_CNP) {
- panel->backlight.setup = cnp_setup_backlight;
- panel->backlight.enable = cnp_enable_backlight;
- panel->backlight.disable = cnp_disable_backlight;
- panel->backlight.set = bxt_set_backlight;
- panel->backlight.get = bxt_get_backlight;
- panel->backlight.hz_to_pwm = cnp_hz_to_pwm;
+ panel->backlight.funcs = &cnp_funcs;
} else if (INTEL_PCH_TYPE(dev_priv) >= PCH_LPT) {
- panel->backlight.setup = lpt_setup_backlight;
- panel->backlight.enable = lpt_enable_backlight;
- panel->backlight.disable = lpt_disable_backlight;
- panel->backlight.set = lpt_set_backlight;
- panel->backlight.get = lpt_get_backlight;
if (HAS_PCH_LPT(dev_priv))
- panel->backlight.hz_to_pwm = lpt_hz_to_pwm;
+ panel->backlight.funcs = &lpt_funcs;
else
- panel->backlight.hz_to_pwm = spt_hz_to_pwm;
+ panel->backlight.funcs = &spt_funcs;
} else if (HAS_PCH_SPLIT(dev_priv)) {
- panel->backlight.setup = pch_setup_backlight;
- panel->backlight.enable = pch_enable_backlight;
- panel->backlight.disable = pch_disable_backlight;
- panel->backlight.set = pch_set_backlight;
- panel->backlight.get = pch_get_backlight;
- panel->backlight.hz_to_pwm = pch_hz_to_pwm;
+ panel->backlight.funcs = &pch_funcs;
} else if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
if (connector->base.connector_type == DRM_MODE_CONNECTOR_DSI) {
- panel->backlight.setup = pwm_setup_backlight;
- panel->backlight.enable = pwm_enable_backlight;
- panel->backlight.disable = pwm_disable_backlight;
- panel->backlight.set = pwm_set_backlight;
- panel->backlight.get = pwm_get_backlight;
+ panel->backlight.funcs = &pwm_funcs;
} else {
- panel->backlight.setup = vlv_setup_backlight;
- panel->backlight.enable = vlv_enable_backlight;
- panel->backlight.disable = vlv_disable_backlight;
- panel->backlight.set = vlv_set_backlight;
- panel->backlight.get = vlv_get_backlight;
- panel->backlight.hz_to_pwm = vlv_hz_to_pwm;
+ panel->backlight.funcs = &vlv_funcs;
}
} else if (IS_GEN(dev_priv, 4)) {
- panel->backlight.setup = i965_setup_backlight;
- panel->backlight.enable = i965_enable_backlight;
- panel->backlight.disable = i965_disable_backlight;
- panel->backlight.set = i9xx_set_backlight;
- panel->backlight.get = i9xx_get_backlight;
- panel->backlight.hz_to_pwm = i965_hz_to_pwm;
+ panel->backlight.funcs = &i965_funcs;
} else {
- panel->backlight.setup = i9xx_setup_backlight;
- panel->backlight.enable = i9xx_enable_backlight;
- panel->backlight.disable = i9xx_disable_backlight;
- panel->backlight.set = i9xx_set_backlight;
- panel->backlight.get = i9xx_get_backlight;
- panel->backlight.hz_to_pwm = i9xx_hz_to_pwm;
+ panel->backlight.funcs = &i9xx_funcs;
}
}
--
2.20.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 4+ messages in thread* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: refactor panel backlight control functions. (rev2) 2020-11-30 21:09 [Intel-gfx] [PATCH] drm/i915: refactor panel backlight control functions. (v2) Dave Airlie @ 2020-12-01 2:13 ` Patchwork 2020-12-01 15:28 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 2020-12-03 9:06 ` [Intel-gfx] [PATCH] drm/i915: refactor panel backlight control functions. (v2) Jani Nikula 2 siblings, 0 replies; 4+ messages in thread From: Patchwork @ 2020-12-01 2:13 UTC (permalink / raw) To: Dave Airlie; +Cc: intel-gfx [-- Attachment #1.1: Type: text/plain, Size: 4927 bytes --] == Series Details == Series: drm/i915: refactor panel backlight control functions. (rev2) URL : https://patchwork.freedesktop.org/series/84282/ State : success == Summary == CI Bug Log - changes from CI_DRM_9411 -> Patchwork_19019 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/index.html New tests --------- New tests have been introduced between CI_DRM_9411 and Patchwork_19019: ### New CI tests (1) ### * boot: - Statuses : 1 fail(s) 40 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in Patchwork_19019 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_tiled_pread_basic: - fi-tgl-y: [PASS][1] -> [DMESG-WARN][2] ([i915#402]) +1 similar issue [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/fi-tgl-y/igt@gem_tiled_pread_basic.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/fi-tgl-y/igt@gem_tiled_pread_basic.html * igt@i915_module_load@reload: - fi-icl-u2: [PASS][3] -> [DMESG-WARN][4] ([i915#1982]) +1 similar issue [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/fi-icl-u2/igt@i915_module_load@reload.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/fi-icl-u2/igt@i915_module_load@reload.html - fi-tgl-u2: [PASS][5] -> [DMESG-WARN][6] ([i915#1982] / [k.org#205379]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/fi-tgl-u2/igt@i915_module_load@reload.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/fi-tgl-u2/igt@i915_module_load@reload.html * igt@kms_busy@basic@flip: - fi-kbl-soraka: [PASS][7] -> [DMESG-WARN][8] ([i915#1982]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/fi-kbl-soraka/igt@kms_busy@basic@flip.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/fi-kbl-soraka/igt@kms_busy@basic@flip.html * igt@kms_flip@basic-flip-vs-wf_vblank@a-hdmi-a1: - fi-elk-e7500: [PASS][9] -> [FAIL][10] ([i915#2122]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/fi-elk-e7500/igt@kms_flip@basic-flip-vs-wf_vblank@a-hdmi-a1.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/fi-elk-e7500/igt@kms_flip@basic-flip-vs-wf_vblank@a-hdmi-a1.html * igt@kms_psr@primary_page_flip: - fi-tgl-y: [PASS][11] -> [DMESG-WARN][12] ([i915#1982]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/fi-tgl-y/igt@kms_psr@primary_page_flip.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/fi-tgl-y/igt@kms_psr@primary_page_flip.html #### Possible fixes #### * igt@gem_close_race@basic-threads: - fi-tgl-y: [DMESG-WARN][13] ([i915#402]) -> [PASS][14] +2 similar issues [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/fi-tgl-y/igt@gem_close_race@basic-threads.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/fi-tgl-y/igt@gem_close_race@basic-threads.html * igt@kms_busy@basic@flip: - {fi-kbl-7560u}: [DMESG-WARN][15] ([i915#1982]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/fi-kbl-7560u/igt@kms_busy@basic@flip.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/fi-kbl-7560u/igt@kms_busy@basic@flip.html * igt@kms_chamelium@dp-crc-fast: - fi-cml-u2: [DMESG-WARN][17] ([i915#1982]) -> [PASS][18] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/fi-cml-u2/igt@kms_chamelium@dp-crc-fast.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/fi-cml-u2/igt@kms_chamelium@dp-crc-fast.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402 [k.org#205379]: https://bugzilla.kernel.org/show_bug.cgi?id=205379 Participating hosts (45 -> 41) ------------------------------ Missing (4): fi-ilk-m540 fi-bsw-cyan fi-bdw-samus fi-hsw-4200u Build changes ------------- * Linux: CI_DRM_9411 -> Patchwork_19019 CI-20190529: 20190529 CI_DRM_9411: fab5bb55dda8498ba4a672b5d38791341e4852f8 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5877: c36f7973d1ee7886ec65fa16c7b1fd8dc5a33caa @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_19019: 367f015bf565e5e060dd4c3ae8728a83488fe801 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 367f015bf565 drm/i915: refactor panel backlight control functions. (v2) == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/index.html [-- Attachment #1.2: Type: text/html, Size: 6184 bytes --] [-- Attachment #2: Type: text/plain, Size: 160 bytes --] _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: refactor panel backlight control functions. (rev2) 2020-11-30 21:09 [Intel-gfx] [PATCH] drm/i915: refactor panel backlight control functions. (v2) Dave Airlie 2020-12-01 2:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: refactor panel backlight control functions. (rev2) Patchwork @ 2020-12-01 15:28 ` Patchwork 2020-12-03 9:06 ` [Intel-gfx] [PATCH] drm/i915: refactor panel backlight control functions. (v2) Jani Nikula 2 siblings, 0 replies; 4+ messages in thread From: Patchwork @ 2020-12-01 15:28 UTC (permalink / raw) To: Dave Airlie; +Cc: intel-gfx [-- Attachment #1.1: Type: text/plain, Size: 19312 bytes --] == Series Details == Series: drm/i915: refactor panel backlight control functions. (rev2) URL : https://patchwork.freedesktop.org/series/84282/ State : success == Summary == CI Bug Log - changes from CI_DRM_9411_full -> Patchwork_19019_full ==================================================== Summary ------- **SUCCESS** No regressions found. New tests --------- New tests have been introduced between CI_DRM_9411_full and Patchwork_19019_full: ### New CI tests (1) ### * boot: - Statuses : 175 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in Patchwork_19019_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_isolation@preservation-s3@vecs0: - shard-skl: [PASS][1] -> [INCOMPLETE][2] ([i915#198]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-skl7/igt@gem_ctx_isolation@preservation-s3@vecs0.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-skl9/igt@gem_ctx_isolation@preservation-s3@vecs0.html * igt@gem_exec_fence@parallel@bcs0: - shard-glk: [PASS][3] -> [DMESG-WARN][4] ([i915#118] / [i915#95]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-glk9/igt@gem_exec_fence@parallel@bcs0.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-glk6/igt@gem_exec_fence@parallel@bcs0.html * igt@gen9_exec_parse@allowed-single: - shard-skl: [PASS][5] -> [DMESG-WARN][6] ([i915#1436] / [i915#716]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-skl2/igt@gen9_exec_parse@allowed-single.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-skl6/igt@gen9_exec_parse@allowed-single.html * igt@kms_cursor_crc@pipe-a-cursor-suspend: - shard-kbl: [PASS][7] -> [DMESG-WARN][8] ([i915#180]) +1 similar issue [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-suspend.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-kbl2/igt@kms_cursor_crc@pipe-a-cursor-suspend.html * igt@kms_cursor_crc@pipe-b-cursor-128x42-onscreen: - shard-skl: [PASS][9] -> [FAIL][10] ([i915#54]) +1 similar issue [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-skl7/igt@kms_cursor_crc@pipe-b-cursor-128x42-onscreen.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-skl9/igt@kms_cursor_crc@pipe-b-cursor-128x42-onscreen.html * igt@kms_cursor_crc@pipe-c-cursor-256x256-sliding: - shard-apl: [PASS][11] -> [FAIL][12] ([i915#54]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-apl2/igt@kms_cursor_crc@pipe-c-cursor-256x256-sliding.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-apl3/igt@kms_cursor_crc@pipe-c-cursor-256x256-sliding.html - shard-kbl: [PASS][13] -> [FAIL][14] ([i915#54]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-kbl6/igt@kms_cursor_crc@pipe-c-cursor-256x256-sliding.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-kbl6/igt@kms_cursor_crc@pipe-c-cursor-256x256-sliding.html * igt@kms_cursor_legacy@short-flip-after-cursor-atomic-transitions: - shard-glk: [PASS][15] -> [DMESG-WARN][16] ([i915#1982]) +1 similar issue [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-glk5/igt@kms_cursor_legacy@short-flip-after-cursor-atomic-transitions.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-glk7/igt@kms_cursor_legacy@short-flip-after-cursor-atomic-transitions.html * igt@kms_flip@dpms-off-confusion@a-dp1: - shard-apl: [PASS][17] -> [DMESG-WARN][18] ([i915#1982]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-apl4/igt@kms_flip@dpms-off-confusion@a-dp1.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-apl1/igt@kms_flip@dpms-off-confusion@a-dp1.html * igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible@a-dp1: - shard-kbl: [PASS][19] -> [DMESG-WARN][20] ([i915#1982]) +1 similar issue [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-kbl3/igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible@a-dp1.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-kbl3/igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible@a-dp1.html * igt@kms_flip@flip-vs-expired-vblank@a-dp1: - shard-apl: [PASS][21] -> [FAIL][22] ([i915#79]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-apl4/igt@kms_flip@flip-vs-expired-vblank@a-dp1.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-apl1/igt@kms_flip@flip-vs-expired-vblank@a-dp1.html * igt@kms_flip@plain-flip-ts-check@a-hdmi-a1: - shard-glk: [PASS][23] -> [FAIL][24] ([i915#2122]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-glk2/igt@kms_flip@plain-flip-ts-check@a-hdmi-a1.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-glk2/igt@kms_flip@plain-flip-ts-check@a-hdmi-a1.html * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-cpu: - shard-iclb: [PASS][25] -> [DMESG-WARN][26] ([i915#1982]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-cpu.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-msflip-blt: - shard-tglb: [PASS][27] -> [DMESG-WARN][28] ([i915#1982]) +1 similar issue [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-tglb6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-msflip-blt.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-tglb8/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-msflip-blt.html * igt@kms_hdr@bpc-switch-suspend: - shard-skl: [PASS][29] -> [FAIL][30] ([i915#1188]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-skl5/igt@kms_hdr@bpc-switch-suspend.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-skl3/igt@kms_hdr@bpc-switch-suspend.html * igt@kms_plane_cursor@pipe-b-viewport-size-128: - shard-skl: [PASS][31] -> [DMESG-WARN][32] ([i915#1982]) +5 similar issues [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-skl10/igt@kms_plane_cursor@pipe-b-viewport-size-128.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-skl1/igt@kms_plane_cursor@pipe-b-viewport-size-128.html * igt@kms_plane_lowres@pipe-a-tiling-yf: - shard-kbl: [PASS][33] -> [DMESG-WARN][34] ([i915#165] / [i915#78]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-kbl3/igt@kms_plane_lowres@pipe-a-tiling-yf.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-kbl2/igt@kms_plane_lowres@pipe-a-tiling-yf.html * igt@kms_psr2_su@frontbuffer: - shard-iclb: [PASS][35] -> [SKIP][36] ([fdo#109642] / [fdo#111068]) [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-iclb2/igt@kms_psr2_su@frontbuffer.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-iclb4/igt@kms_psr2_su@frontbuffer.html * igt@kms_psr@psr2_sprite_mmap_cpu: - shard-iclb: [PASS][37] -> [SKIP][38] ([fdo#109441]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_cpu.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-iclb4/igt@kms_psr@psr2_sprite_mmap_cpu.html * igt@perf@blocking: - shard-skl: [PASS][39] -> [FAIL][40] ([i915#1542]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-skl4/igt@perf@blocking.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-skl6/igt@perf@blocking.html #### Possible fixes #### * igt@gem_sync@basic-store-all: - shard-glk: [DMESG-WARN][41] ([i915#118] / [i915#262] / [i915#95]) -> [PASS][42] [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-glk4/igt@gem_sync@basic-store-all.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-glk4/igt@gem_sync@basic-store-all.html * igt@i915_module_load@reload: - shard-tglb: [DMESG-WARN][43] ([i915#1982]) -> [PASS][44] +1 similar issue [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-tglb5/igt@i915_module_load@reload.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-tglb1/igt@i915_module_load@reload.html * igt@kms_cursor_crc@pipe-b-cursor-128x128-onscreen: - shard-skl: [FAIL][45] ([i915#54]) -> [PASS][46] +1 similar issue [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-skl5/igt@kms_cursor_crc@pipe-b-cursor-128x128-onscreen.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-skl9/igt@kms_cursor_crc@pipe-b-cursor-128x128-onscreen.html * igt@kms_cursor_crc@pipe-b-cursor-suspend: - shard-skl: [INCOMPLETE][47] ([i915#2405] / [i915#300]) -> [PASS][48] [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-skl5/igt@kms_cursor_crc@pipe-b-cursor-suspend.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-skl2/igt@kms_cursor_crc@pipe-b-cursor-suspend.html * igt@kms_cursor_edge_walk@pipe-c-256x256-top-edge: - shard-kbl: [DMESG-WARN][49] ([i915#78]) -> [PASS][50] [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-kbl2/igt@kms_cursor_edge_walk@pipe-c-256x256-top-edge.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-kbl7/igt@kms_cursor_edge_walk@pipe-c-256x256-top-edge.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - shard-skl: [DMESG-WARN][51] ([i915#1982]) -> [PASS][52] +2 similar issues [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-skl9/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-skl7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_cursor_legacy@cursora-vs-flipa-toggle: - shard-apl: [DMESG-WARN][53] ([i915#1982]) -> [PASS][54] +1 similar issue [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-apl2/igt@kms_cursor_legacy@cursora-vs-flipa-toggle.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-apl3/igt@kms_cursor_legacy@cursora-vs-flipa-toggle.html * igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1: - shard-glk: [FAIL][55] ([i915#79]) -> [PASS][56] +1 similar issue [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-glk6/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-glk1/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html * {igt@kms_flip_tiling@flip-to-x-tiled@hdmi-a-1-pipe-a}: - shard-glk: [DMESG-WARN][57] ([i915#1982]) -> [PASS][58] +1 similar issue [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-glk8/igt@kms_flip_tiling@flip-to-x-tiled@hdmi-a-1-pipe-a.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-glk9/igt@kms_flip_tiling@flip-to-x-tiled@hdmi-a-1-pipe-a.html * igt@kms_hdr@bpc-switch-dpms: - shard-skl: [FAIL][59] ([i915#1188]) -> [PASS][60] [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-skl6/igt@kms_hdr@bpc-switch-dpms.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-skl2/igt@kms_hdr@bpc-switch-dpms.html * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc: - shard-skl: [FAIL][61] ([fdo#108145] / [i915#265]) -> [PASS][62] +1 similar issue [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-skl5/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-skl3/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html * igt@kms_plane_alpha_blend@pipe-c-coverage-vs-premult-vs-constant: - shard-iclb: [FAIL][63] -> [PASS][64] [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-iclb6/igt@kms_plane_alpha_blend@pipe-c-coverage-vs-premult-vs-constant.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-iclb6/igt@kms_plane_alpha_blend@pipe-c-coverage-vs-premult-vs-constant.html * igt@kms_plane_cursor@pipe-b-viewport-size-128: - shard-iclb: [FAIL][65] ([i915#2657]) -> [PASS][66] [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-iclb6/igt@kms_plane_cursor@pipe-b-viewport-size-128.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-iclb6/igt@kms_plane_cursor@pipe-b-viewport-size-128.html * igt@kms_psr@psr2_suspend: - shard-iclb: [SKIP][67] ([fdo#109441]) -> [PASS][68] +1 similar issue [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-iclb6/igt@kms_psr@psr2_suspend.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-iclb2/igt@kms_psr@psr2_suspend.html * igt@kms_sequence@queue-busy: - shard-kbl: [DMESG-WARN][69] ([i915#1982]) -> [PASS][70] +1 similar issue [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-kbl3/igt@kms_sequence@queue-busy.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-kbl2/igt@kms_sequence@queue-busy.html #### Warnings #### * igt@i915_pm_rc6_residency@rc6-idle: - shard-iclb: [WARN][71] ([i915#2684]) -> [WARN][72] ([i915#1804] / [i915#2684]) [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-iclb2/igt@i915_pm_rc6_residency@rc6-idle.html [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-iclb4/igt@i915_pm_rc6_residency@rc6-idle.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions: - shard-skl: [DMESG-FAIL][73] ([i915#1982]) -> [DMESG-WARN][74] ([i915#1982]) [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-skl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-skl4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html * igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-legacy: - shard-skl: [FAIL][75] ([i915#2346]) -> [DMESG-FAIL][76] ([i915#1982]) [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-skl5/igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-legacy.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-skl9/igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-legacy.html * igt@kms_vblank@pipe-a-ts-continuation-suspend: - shard-kbl: [DMESG-WARN][77] ([i915#295]) -> [INCOMPLETE][78] ([i915#155] / [i915#2295]) [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-kbl7/igt@kms_vblank@pipe-a-ts-continuation-suspend.html [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-kbl4/igt@kms_vblank@pipe-a-ts-continuation-suspend.html * igt@runner@aborted: - shard-iclb: ([FAIL][79], [FAIL][80], [FAIL][81]) ([i915#1814] / [i915#2295] / [i915#2426] / [i915#2722]) -> ([FAIL][82], [FAIL][83], [FAIL][84]) ([i915#1814] / [i915#2295] / [i915#2426] / [i915#2722] / [i915#483]) [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-iclb7/igt@runner@aborted.html [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-iclb3/igt@runner@aborted.html [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9411/shard-iclb4/igt@runner@aborted.html [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-iclb6/igt@runner@aborted.html [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-iclb7/igt@runner@aborted.html [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/shard-iclb8/igt@runner@aborted.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118 [i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188 [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436 [i915#1542]: https://gitlab.freedesktop.org/drm/intel/issues/1542 [i915#155]: https://gitlab.freedesktop.org/drm/intel/issues/155 [i915#165]: https://gitlab.freedesktop.org/drm/intel/issues/165 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#1804]: https://gitlab.freedesktop.org/drm/intel/issues/1804 [i915#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814 [i915#198]: https://gitlab.freedesktop.org/drm/intel/issues/198 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2295]: https://gitlab.freedesktop.org/drm/intel/issues/2295 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2405]: https://gitlab.freedesktop.org/drm/intel/issues/2405 [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426 [i915#262]: https://gitlab.freedesktop.org/drm/intel/issues/262 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#2657]: https://gitlab.freedesktop.org/drm/intel/issues/2657 [i915#2684]: https://gitlab.freedesktop.org/drm/intel/issues/2684 [i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722 [i915#295]: https://gitlab.freedesktop.org/drm/intel/issues/295 [i915#300]: https://gitlab.freedesktop.org/drm/intel/issues/300 [i915#483]: https://gitlab.freedesktop.org/drm/intel/issues/483 [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54 [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716 [i915#78]: https://gitlab.freedesktop.org/drm/intel/issues/78 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 Participating hosts (10 -> 10) ------------------------------ No changes in participating hosts Build changes ------------- * Linux: CI_DRM_9411 -> Patchwork_19019 CI-20190529: 20190529 CI_DRM_9411: fab5bb55dda8498ba4a672b5d38791341e4852f8 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5877: c36f7973d1ee7886ec65fa16c7b1fd8dc5a33caa @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_19019: 367f015bf565e5e060dd4c3ae8728a83488fe801 @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19019/index.html [-- Attachment #1.2: Type: text/html, Size: 23078 bytes --] [-- Attachment #2: Type: text/plain, Size: 160 bytes --] _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915: refactor panel backlight control functions. (v2) 2020-11-30 21:09 [Intel-gfx] [PATCH] drm/i915: refactor panel backlight control functions. (v2) Dave Airlie 2020-12-01 2:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: refactor panel backlight control functions. (rev2) Patchwork 2020-12-01 15:28 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork @ 2020-12-03 9:06 ` Jani Nikula 2 siblings, 0 replies; 4+ messages in thread From: Jani Nikula @ 2020-12-03 9:06 UTC (permalink / raw) To: Dave Airlie, intel-gfx On Tue, 01 Dec 2020, Dave Airlie <airlied@gmail.com> wrote: > From: Dave Airlie <airlied@redhat.com> > > This moves the functions into static const instead of having > funcs and data in the same struct. > > It leaves the power callback alone, as it is used in a different > manner. > > v2: leave power callback alone (Jani) > > Reviewed-by: Jani Nikula <jani.nikula@intel.com> > Signed-off-by: Dave Airlie <airlied@redhat.com> Pushed to dinq, thanks for the patch. BR, Jani. > --- > .../drm/i915/display/intel_display_types.h | 20 ++- > .../drm/i915/display/intel_dp_aux_backlight.c | 14 +- > .../i915/display/intel_dsi_dcs_backlight.c | 14 +- > drivers/gpu/drm/i915/display/intel_panel.c | 153 +++++++++++------- > 4 files changed, 127 insertions(+), 74 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h > index f6f0626649e0..291139fc1084 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_types.h > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h > @@ -225,6 +225,17 @@ struct intel_encoder { > const struct drm_connector *audio_connector; > }; > > +struct intel_panel_bl_funcs { > + /* Connector and platform specific backlight functions */ > + int (*setup)(struct intel_connector *connector, enum pipe pipe); > + u32 (*get)(struct intel_connector *connector); > + void (*set)(const struct drm_connector_state *conn_state, u32 level); > + void (*disable)(const struct drm_connector_state *conn_state); > + void (*enable)(const struct intel_crtc_state *crtc_state, > + const struct drm_connector_state *conn_state); > + u32 (*hz_to_pwm)(struct intel_connector *connector, u32 hz); > +}; > + > struct intel_panel { > struct drm_display_mode *fixed_mode; > struct drm_display_mode *downclock_mode; > @@ -251,14 +262,7 @@ struct intel_panel { > > struct backlight_device *device; > > - /* Connector and platform specific backlight functions */ > - int (*setup)(struct intel_connector *connector, enum pipe pipe); > - u32 (*get)(struct intel_connector *connector); > - void (*set)(const struct drm_connector_state *conn_state, u32 level); > - void (*disable)(const struct drm_connector_state *conn_state); > - void (*enable)(const struct intel_crtc_state *crtc_state, > - const struct drm_connector_state *conn_state); > - u32 (*hz_to_pwm)(struct intel_connector *connector, u32 hz); > + const struct intel_panel_bl_funcs *funcs; > void (*power)(struct intel_connector *, bool enable); > } backlight; > }; > diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c > index 51d27fc98d48..4fd536801b14 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c > +++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c > @@ -350,6 +350,14 @@ intel_dp_aux_display_control_capable(struct intel_connector *connector) > return false; > } > > +static const struct intel_panel_bl_funcs intel_dp_bl_funcs = { > + .setup = intel_dp_aux_setup_backlight, > + .enable = intel_dp_aux_enable_backlight, > + .disable = intel_dp_aux_disable_backlight, > + .set = intel_dp_aux_set_backlight, > + .get = intel_dp_aux_get_backlight, > +}; > + > int intel_dp_aux_init_backlight_funcs(struct intel_connector *intel_connector) > { > struct intel_panel *panel = &intel_connector->panel; > @@ -379,11 +387,7 @@ int intel_dp_aux_init_backlight_funcs(struct intel_connector *intel_connector) > return -ENODEV; > } > > - panel->backlight.setup = intel_dp_aux_setup_backlight; > - panel->backlight.enable = intel_dp_aux_enable_backlight; > - panel->backlight.disable = intel_dp_aux_disable_backlight; > - panel->backlight.set = intel_dp_aux_set_backlight; > - panel->backlight.get = intel_dp_aux_get_backlight; > + panel->backlight.funcs = &intel_dp_bl_funcs; > > return 0; > } > diff --git a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c > index b53c50372918..5c508d51f526 100644 > --- a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c > +++ b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c > @@ -156,6 +156,14 @@ static int dcs_setup_backlight(struct intel_connector *connector, > return 0; > } > > +static const struct intel_panel_bl_funcs dcs_bl_funcs = { > + .setup = dcs_setup_backlight, > + .enable = dcs_enable_backlight, > + .disable = dcs_disable_backlight, > + .set = dcs_set_backlight, > + .get = dcs_get_backlight, > +}; > + > int intel_dsi_dcs_init_backlight_funcs(struct intel_connector *intel_connector) > { > struct drm_device *dev = intel_connector->base.dev; > @@ -169,11 +177,7 @@ int intel_dsi_dcs_init_backlight_funcs(struct intel_connector *intel_connector) > if (drm_WARN_ON(dev, encoder->type != INTEL_OUTPUT_DSI)) > return -EINVAL; > > - panel->backlight.setup = dcs_setup_backlight; > - panel->backlight.enable = dcs_enable_backlight; > - panel->backlight.disable = dcs_disable_backlight; > - panel->backlight.set = dcs_set_backlight; > - panel->backlight.get = dcs_get_backlight; > + panel->backlight.funcs = &dcs_bl_funcs; > > return 0; > } > diff --git a/drivers/gpu/drm/i915/display/intel_panel.c b/drivers/gpu/drm/i915/display/intel_panel.c > index 9f23bac0d792..36b7693453ae 100644 > --- a/drivers/gpu/drm/i915/display/intel_panel.c > +++ b/drivers/gpu/drm/i915/display/intel_panel.c > @@ -684,7 +684,7 @@ intel_panel_actually_set_backlight(const struct drm_connector_state *conn_state, > drm_dbg_kms(&i915->drm, "set backlight PWM = %d\n", level); > > level = intel_panel_compute_brightness(connector, level); > - panel->backlight.set(conn_state, level); > + panel->backlight.funcs->set(conn_state, level); > } > > /* set backlight brightness to level in range [0..max], assuming hw min is > @@ -870,7 +870,7 @@ void intel_panel_disable_backlight(const struct drm_connector_state *old_conn_st > if (panel->backlight.device) > panel->backlight.device->props.power = FB_BLANK_POWERDOWN; > panel->backlight.enabled = false; > - panel->backlight.disable(old_conn_state); > + panel->backlight.funcs->disable(old_conn_state); > > mutex_unlock(&dev_priv->backlight_lock); > } > @@ -1198,7 +1198,7 @@ static void __intel_panel_enable_backlight(const struct intel_crtc_state *crtc_s > panel->backlight.device->props.max_brightness); > } > > - panel->backlight.enable(crtc_state, conn_state); > + panel->backlight.funcs->enable(crtc_state, conn_state); > panel->backlight.enabled = true; > if (panel->backlight.device) > panel->backlight.device->props.power = FB_BLANK_UNBLANK; > @@ -1234,7 +1234,7 @@ static u32 intel_panel_get_backlight(struct intel_connector *connector) > mutex_lock(&dev_priv->backlight_lock); > > if (panel->backlight.enabled) { > - val = panel->backlight.get(connector); > + val = panel->backlight.funcs->get(connector); > val = intel_panel_compute_brightness(connector, val); > } > > @@ -1567,13 +1567,13 @@ static u32 get_backlight_max_vbt(struct intel_connector *connector) > u16 pwm_freq_hz = get_vbt_pwm_freq(dev_priv); > u32 pwm; > > - if (!panel->backlight.hz_to_pwm) { > + if (!panel->backlight.funcs->hz_to_pwm) { > drm_dbg_kms(&dev_priv->drm, > "backlight frequency conversion not supported\n"); > return 0; > } > > - pwm = panel->backlight.hz_to_pwm(connector, pwm_freq_hz); > + pwm = panel->backlight.funcs->hz_to_pwm(connector, pwm_freq_hz); > if (!pwm) { > drm_dbg_kms(&dev_priv->drm, > "backlight frequency conversion failed\n"); > @@ -1981,12 +1981,12 @@ int intel_panel_setup_backlight(struct drm_connector *connector, enum pipe pipe) > } > > /* ensure intel_panel has been initialized first */ > - if (drm_WARN_ON(&dev_priv->drm, !panel->backlight.setup)) > + if (drm_WARN_ON(&dev_priv->drm, !panel->backlight.funcs)) > return -ENODEV; > > /* set level and max in panel struct */ > mutex_lock(&dev_priv->backlight_lock); > - ret = panel->backlight.setup(intel_connector, pipe); > + ret = panel->backlight.funcs->setup(intel_connector, pipe); > mutex_unlock(&dev_priv->backlight_lock); > > if (ret) { > @@ -2016,6 +2016,86 @@ static void intel_panel_destroy_backlight(struct intel_panel *panel) > panel->backlight.present = false; > } > > +static const struct intel_panel_bl_funcs bxt_funcs = { > + .setup = bxt_setup_backlight, > + .enable = bxt_enable_backlight, > + .disable = bxt_disable_backlight, > + .set = bxt_set_backlight, > + .get = bxt_get_backlight, > + .hz_to_pwm = bxt_hz_to_pwm, > +}; > + > +static const struct intel_panel_bl_funcs cnp_funcs = { > + .setup = cnp_setup_backlight, > + .enable = cnp_enable_backlight, > + .disable = cnp_disable_backlight, > + .set = bxt_set_backlight, > + .get = bxt_get_backlight, > + .hz_to_pwm = cnp_hz_to_pwm, > +}; > + > +static const struct intel_panel_bl_funcs lpt_funcs = { > + .setup = lpt_setup_backlight, > + .enable = lpt_enable_backlight, > + .disable = lpt_disable_backlight, > + .set = lpt_set_backlight, > + .get = lpt_get_backlight, > + .hz_to_pwm = lpt_hz_to_pwm, > +}; > + > +static const struct intel_panel_bl_funcs spt_funcs = { > + .setup = lpt_setup_backlight, > + .enable = lpt_enable_backlight, > + .disable = lpt_disable_backlight, > + .set = lpt_set_backlight, > + .get = lpt_get_backlight, > + .hz_to_pwm = spt_hz_to_pwm, > +}; > + > +static const struct intel_panel_bl_funcs pch_funcs = { > + .setup = pch_setup_backlight, > + .enable = pch_enable_backlight, > + .disable = pch_disable_backlight, > + .set = pch_set_backlight, > + .get = pch_get_backlight, > + .hz_to_pwm = pch_hz_to_pwm, > +}; > + > +static const struct intel_panel_bl_funcs pwm_funcs = { > + .setup = pwm_setup_backlight, > + .enable = pwm_enable_backlight, > + .disable = pwm_disable_backlight, > + .set = pwm_set_backlight, > + .get = pwm_get_backlight, > +}; > + > +static const struct intel_panel_bl_funcs vlv_funcs = { > + .setup = vlv_setup_backlight, > + .enable = vlv_enable_backlight, > + .disable = vlv_disable_backlight, > + .set = vlv_set_backlight, > + .get = vlv_get_backlight, > + .hz_to_pwm = vlv_hz_to_pwm, > +}; > + > +static const struct intel_panel_bl_funcs i965_funcs = { > + .setup = i965_setup_backlight, > + .enable = i965_enable_backlight, > + .disable = i965_disable_backlight, > + .set = i9xx_set_backlight, > + .get = i9xx_get_backlight, > + .hz_to_pwm = i965_hz_to_pwm, > +}; > + > +static const struct intel_panel_bl_funcs i9xx_funcs = { > + .setup = i9xx_setup_backlight, > + .enable = i9xx_enable_backlight, > + .disable = i9xx_disable_backlight, > + .set = i9xx_set_backlight, > + .get = i9xx_get_backlight, > + .hz_to_pwm = i9xx_hz_to_pwm, > +}; > + > /* Set up chip specific backlight functions */ > static void > intel_panel_init_backlight_funcs(struct intel_panel *panel) > @@ -2033,65 +2113,26 @@ intel_panel_init_backlight_funcs(struct intel_panel *panel) > return; > > if (IS_GEN9_LP(dev_priv)) { > - panel->backlight.setup = bxt_setup_backlight; > - panel->backlight.enable = bxt_enable_backlight; > - panel->backlight.disable = bxt_disable_backlight; > - panel->backlight.set = bxt_set_backlight; > - panel->backlight.get = bxt_get_backlight; > - panel->backlight.hz_to_pwm = bxt_hz_to_pwm; > + panel->backlight.funcs = &bxt_funcs; > } else if (INTEL_PCH_TYPE(dev_priv) >= PCH_CNP) { > - panel->backlight.setup = cnp_setup_backlight; > - panel->backlight.enable = cnp_enable_backlight; > - panel->backlight.disable = cnp_disable_backlight; > - panel->backlight.set = bxt_set_backlight; > - panel->backlight.get = bxt_get_backlight; > - panel->backlight.hz_to_pwm = cnp_hz_to_pwm; > + panel->backlight.funcs = &cnp_funcs; > } else if (INTEL_PCH_TYPE(dev_priv) >= PCH_LPT) { > - panel->backlight.setup = lpt_setup_backlight; > - panel->backlight.enable = lpt_enable_backlight; > - panel->backlight.disable = lpt_disable_backlight; > - panel->backlight.set = lpt_set_backlight; > - panel->backlight.get = lpt_get_backlight; > if (HAS_PCH_LPT(dev_priv)) > - panel->backlight.hz_to_pwm = lpt_hz_to_pwm; > + panel->backlight.funcs = &lpt_funcs; > else > - panel->backlight.hz_to_pwm = spt_hz_to_pwm; > + panel->backlight.funcs = &spt_funcs; > } else if (HAS_PCH_SPLIT(dev_priv)) { > - panel->backlight.setup = pch_setup_backlight; > - panel->backlight.enable = pch_enable_backlight; > - panel->backlight.disable = pch_disable_backlight; > - panel->backlight.set = pch_set_backlight; > - panel->backlight.get = pch_get_backlight; > - panel->backlight.hz_to_pwm = pch_hz_to_pwm; > + panel->backlight.funcs = &pch_funcs; > } else if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) { > if (connector->base.connector_type == DRM_MODE_CONNECTOR_DSI) { > - panel->backlight.setup = pwm_setup_backlight; > - panel->backlight.enable = pwm_enable_backlight; > - panel->backlight.disable = pwm_disable_backlight; > - panel->backlight.set = pwm_set_backlight; > - panel->backlight.get = pwm_get_backlight; > + panel->backlight.funcs = &pwm_funcs; > } else { > - panel->backlight.setup = vlv_setup_backlight; > - panel->backlight.enable = vlv_enable_backlight; > - panel->backlight.disable = vlv_disable_backlight; > - panel->backlight.set = vlv_set_backlight; > - panel->backlight.get = vlv_get_backlight; > - panel->backlight.hz_to_pwm = vlv_hz_to_pwm; > + panel->backlight.funcs = &vlv_funcs; > } > } else if (IS_GEN(dev_priv, 4)) { > - panel->backlight.setup = i965_setup_backlight; > - panel->backlight.enable = i965_enable_backlight; > - panel->backlight.disable = i965_disable_backlight; > - panel->backlight.set = i9xx_set_backlight; > - panel->backlight.get = i9xx_get_backlight; > - panel->backlight.hz_to_pwm = i965_hz_to_pwm; > + panel->backlight.funcs = &i965_funcs; > } else { > - panel->backlight.setup = i9xx_setup_backlight; > - panel->backlight.enable = i9xx_enable_backlight; > - panel->backlight.disable = i9xx_disable_backlight; > - panel->backlight.set = i9xx_set_backlight; > - panel->backlight.get = i9xx_get_backlight; > - panel->backlight.hz_to_pwm = i9xx_hz_to_pwm; > + panel->backlight.funcs = &i9xx_funcs; > } > } -- Jani Nikula, Intel Open Source Graphics Center _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-12-03 9:06 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-11-30 21:09 [Intel-gfx] [PATCH] drm/i915: refactor panel backlight control functions. (v2) Dave Airlie 2020-12-01 2:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: refactor panel backlight control functions. (rev2) Patchwork 2020-12-01 15:28 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 2020-12-03 9:06 ` [Intel-gfx] [PATCH] drm/i915: refactor panel backlight control functions. (v2) Jani Nikula
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.