* [PATCH] drm/i915: Clean up cherryview_load_luts()
@ 2019-04-08 12:18 Ville Syrjala
2019-04-08 14:47 ` ✗ Fi.CI.BAT: failure for " Patchwork
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Ville Syrjala @ 2019-04-08 12:18 UTC (permalink / raw)
To: intel-gfx
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
I like my functions simple, so split up the low level bits from
cherryview_load_luts() into separate functions. Also rename the
whole thing to chv_load_luts() to match the new world order.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/intel_color.c | 98 ++++++++++++++++++------------
1 file changed, 60 insertions(+), 38 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_color.c b/drivers/gpu/drm/i915/intel_color.c
index ca341a9e47e6..9e34aba4d630 100644
--- a/drivers/gpu/drm/i915/intel_color.c
+++ b/drivers/gpu/drm/i915/intel_color.c
@@ -784,13 +784,65 @@ static void icl_load_luts(const struct intel_crtc_state *crtc_state)
}
}
-static void cherryview_load_luts(const struct intel_crtc_state *crtc_state)
+static u32 chv_cgm_degamma_ldw(const struct drm_color_lut *color)
+{
+ return drm_color_lut_extract(color->green, 14) << 16 |
+ drm_color_lut_extract(color->blue, 14);
+}
+
+static u32 chv_cgm_degamma_udw(const struct drm_color_lut *color)
+{
+ return drm_color_lut_extract(color->red, 14);
+}
+
+static void chv_load_cgm_degamma(struct intel_crtc *crtc,
+ const struct drm_property_blob *blob)
+{
+ struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
+ const struct drm_color_lut *lut = blob->data;
+ int i, lut_size = drm_color_lut_size(blob);
+ enum pipe pipe = crtc->pipe;
+
+ for (i = 0; i < lut_size; i++) {
+ I915_WRITE(CGM_PIPE_DEGAMMA(pipe, i, 0),
+ chv_cgm_degamma_ldw(&lut[i]));
+ I915_WRITE(CGM_PIPE_DEGAMMA(pipe, i, 1),
+ chv_cgm_degamma_udw(&lut[i]));
+ }
+}
+
+static u32 chv_cgm_gamma_ldw(const struct drm_color_lut *color)
+{
+ return drm_color_lut_extract(color->green, 10) << 16 |
+ drm_color_lut_extract(color->blue, 10);
+}
+
+static u32 chv_cgm_gamma_udw(const struct drm_color_lut *color)
+{
+ return drm_color_lut_extract(color->red, 10);
+}
+
+static void chv_load_cgm_gamma(struct intel_crtc *crtc,
+ const struct drm_property_blob *blob)
+{
+ struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
+ const struct drm_color_lut *lut = blob->data;
+ int i, lut_size = drm_color_lut_size(blob);
+ enum pipe pipe = crtc->pipe;
+
+ for (i = 0; i < lut_size; i++) {
+ I915_WRITE(CGM_PIPE_GAMMA(pipe, i, 0),
+ chv_cgm_gamma_ldw(&lut[i]));
+ I915_WRITE(CGM_PIPE_GAMMA(pipe, i, 1),
+ chv_cgm_gamma_udw(&lut[i]));
+ }
+}
+
+static void chv_load_luts(const struct intel_crtc_state *crtc_state)
{
struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
- struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
const struct drm_property_blob *gamma_lut = crtc_state->base.gamma_lut;
const struct drm_property_blob *degamma_lut = crtc_state->base.degamma_lut;
- enum pipe pipe = crtc->pipe;
cherryview_load_csc_matrix(crtc_state);
@@ -799,41 +851,11 @@ static void cherryview_load_luts(const struct intel_crtc_state *crtc_state)
return;
}
- if (degamma_lut) {
- const struct drm_color_lut *lut = degamma_lut->data;
- int i, lut_size = INTEL_INFO(dev_priv)->color.degamma_lut_size;
+ if (degamma_lut)
+ chv_load_cgm_degamma(crtc, degamma_lut);
- for (i = 0; i < lut_size; i++) {
- u32 word0, word1;
-
- /* Write LUT in U0.14 format. */
- word0 =
- (drm_color_lut_extract(lut[i].green, 14) << 16) |
- drm_color_lut_extract(lut[i].blue, 14);
- word1 = drm_color_lut_extract(lut[i].red, 14);
-
- I915_WRITE(CGM_PIPE_DEGAMMA(pipe, i, 0), word0);
- I915_WRITE(CGM_PIPE_DEGAMMA(pipe, i, 1), word1);
- }
- }
-
- if (gamma_lut) {
- const struct drm_color_lut *lut = gamma_lut->data;
- int i, lut_size = INTEL_INFO(dev_priv)->color.gamma_lut_size;
-
- for (i = 0; i < lut_size; i++) {
- u32 word0, word1;
-
- /* Write LUT in U0.10 format. */
- word0 =
- (drm_color_lut_extract(lut[i].green, 10) << 16) |
- drm_color_lut_extract(lut[i].blue, 10);
- word1 = drm_color_lut_extract(lut[i].red, 10);
-
- I915_WRITE(CGM_PIPE_GAMMA(pipe, i, 0), word0);
- I915_WRITE(CGM_PIPE_GAMMA(pipe, i, 1), word1);
- }
- }
+ if (gamma_lut)
+ chv_load_cgm_gamma(crtc, gamma_lut);
}
void intel_color_load_luts(const struct intel_crtc_state *crtc_state)
@@ -1232,7 +1254,7 @@ void intel_color_init(struct intel_crtc *crtc)
if (IS_CHERRYVIEW(dev_priv)) {
dev_priv->display.color_check = chv_color_check;
dev_priv->display.color_commit = i9xx_color_commit;
- dev_priv->display.load_luts = cherryview_load_luts;
+ dev_priv->display.load_luts = chv_load_luts;
} else if (INTEL_GEN(dev_priv) >= 4) {
dev_priv->display.color_check = i9xx_color_check;
dev_priv->display.color_commit = i9xx_color_commit;
--
2.21.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 5+ messages in thread* ✗ Fi.CI.BAT: failure for drm/i915: Clean up cherryview_load_luts() 2019-04-08 12:18 [PATCH] drm/i915: Clean up cherryview_load_luts() Ville Syrjala @ 2019-04-08 14:47 ` Patchwork 2019-04-25 14:26 ` ✓ Fi.CI.BAT: success for drm/i915: Clean up cherryview_load_luts() (rev2) Patchwork ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: Patchwork @ 2019-04-08 14:47 UTC (permalink / raw) To: Ville Syrjala; +Cc: intel-gfx == Series Details == Series: drm/i915: Clean up cherryview_load_luts() URL : https://patchwork.freedesktop.org/series/59169/ State : failure == Summary == CI Bug Log - changes from CI_DRM_5888 -> Patchwork_12726 ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_12726 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_12726, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://patchwork.freedesktop.org/api/1.0/series/59169/revisions/1/mbox/ Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_12726: ### IGT changes ### #### Possible regressions #### * igt@kms_pipe_crc_basic@read-crc-pipe-a: - fi-glk-dsi: PASS -> FAIL Known issues ------------ Here are the changes found in Patchwork_12726 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_selftest@live_contexts: - fi-bdw-gvtdvm: PASS -> DMESG-FAIL [fdo#110235 ] - fi-skl-gvtdvm: PASS -> DMESG-FAIL [fdo#110235 ] * igt@i915_selftest@live_uncore: - fi-ivb-3770: PASS -> DMESG-FAIL [fdo#110210] * igt@kms_pipe_crc_basic@hang-read-crc-pipe-a: - fi-byt-clapper: PASS -> FAIL [fdo#103191] / [fdo#107362] #### Warnings #### * igt@i915_pm_rpm@module-reload: - fi-glk-dsi: DMESG-WARN [fdo#105538] / [fdo#107732] / [fdo#109513] -> DMESG-FAIL [fdo#105538] / [fdo#107732] / [fdo#109513] [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191 [fdo#105538]: https://bugs.freedesktop.org/show_bug.cgi?id=105538 [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362 [fdo#107732]: https://bugs.freedesktop.org/show_bug.cgi?id=107732 [fdo#109513]: https://bugs.freedesktop.org/show_bug.cgi?id=109513 [fdo#110210]: https://bugs.freedesktop.org/show_bug.cgi?id=110210 [fdo#110235 ]: https://bugs.freedesktop.org/show_bug.cgi?id=110235 Participating hosts (50 -> 45) ------------------------------ Missing (5): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-bdw-samus Build changes ------------- * Linux: CI_DRM_5888 -> Patchwork_12726 CI_DRM_5888: 381350f19ba1844d34105890169b1f1443f45879 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4932: 08cf63a8fac11e3594b57580331fb319241a0d69 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_12726: fcb1eddbc467e3064669a0a369cc629d6d713abb @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == fcb1eddbc467 drm/i915: Clean up cherryview_load_luts() == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12726/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 5+ messages in thread
* ✓ Fi.CI.BAT: success for drm/i915: Clean up cherryview_load_luts() (rev2) 2019-04-08 12:18 [PATCH] drm/i915: Clean up cherryview_load_luts() Ville Syrjala 2019-04-08 14:47 ` ✗ Fi.CI.BAT: failure for " Patchwork @ 2019-04-25 14:26 ` Patchwork 2019-04-26 3:04 ` ✓ Fi.CI.IGT: " Patchwork 2019-04-26 13:53 ` [PATCH] drm/i915: Clean up cherryview_load_luts() Sharma, Swati2 3 siblings, 0 replies; 5+ messages in thread From: Patchwork @ 2019-04-25 14:26 UTC (permalink / raw) To: Ville Syrjälä; +Cc: intel-gfx == Series Details == Series: drm/i915: Clean up cherryview_load_luts() (rev2) URL : https://patchwork.freedesktop.org/series/59169/ State : success == Summary == CI Bug Log - changes from CI_DRM_5999 -> Patchwork_12874 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/59169/revisions/2/mbox/ Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_12874: ### IGT changes ### #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * igt@gem_exec_basic@gtt-vebox: - {fi-cml-u}: NOTRUN -> [SKIP][1] +58 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/fi-cml-u/igt@gem_exec_basic@gtt-vebox.html * igt@kms_chamelium@common-hpd-after-suspend: - {fi-icl-u2}: [PASS][2] -> [FAIL][3] [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/fi-icl-u2/igt@kms_chamelium@common-hpd-after-suspend.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/fi-icl-u2/igt@kms_chamelium@common-hpd-after-suspend.html * igt@kms_chamelium@dp-edid-read: - {fi-icl-u2}: [SKIP][4] ([fdo#109316]) -> [FAIL][5] +2 similar issues [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/fi-icl-u2/igt@kms_chamelium@dp-edid-read.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/fi-icl-u2/igt@kms_chamelium@dp-edid-read.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#109316]: https://bugs.freedesktop.org/show_bug.cgi?id=109316 Participating hosts (41 -> 36) ------------------------------ Additional (7): fi-snb-2520m fi-kbl-guc fi-icl-u3 fi-icl-y fi-blb-e6850 fi-bsw-kefka fi-cml-u Missing (12): fi-ilk-m540 fi-bxt-dsi fi-skl-guc fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-hsw-4770 fi-skl-iommu fi-bdw-samus fi-byt-clapper fi-skl-6700k2 fi-kbl-r Build changes ------------- * Linux: CI_DRM_5999 -> Patchwork_12874 CI_DRM_5999: bde6790dd103ba3c4c127bbc061b90ea3f406762 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4964: ffe44144a2285788ae07768a9240b27ea8182d5c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_12874: 4aa8afbb1ecc0b65993dd29f5dce87f4aa4e5a98 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 4aa8afbb1ecc drm/i915: Clean up cherryview_load_luts() == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 5+ messages in thread
* ✓ Fi.CI.IGT: success for drm/i915: Clean up cherryview_load_luts() (rev2) 2019-04-08 12:18 [PATCH] drm/i915: Clean up cherryview_load_luts() Ville Syrjala 2019-04-08 14:47 ` ✗ Fi.CI.BAT: failure for " Patchwork 2019-04-25 14:26 ` ✓ Fi.CI.BAT: success for drm/i915: Clean up cherryview_load_luts() (rev2) Patchwork @ 2019-04-26 3:04 ` Patchwork 2019-04-26 13:53 ` [PATCH] drm/i915: Clean up cherryview_load_luts() Sharma, Swati2 3 siblings, 0 replies; 5+ messages in thread From: Patchwork @ 2019-04-26 3:04 UTC (permalink / raw) To: Ville Syrjala; +Cc: intel-gfx == Series Details == Series: drm/i915: Clean up cherryview_load_luts() (rev2) URL : https://patchwork.freedesktop.org/series/59169/ State : success == Summary == CI Bug Log - changes from CI_DRM_5999_full -> Patchwork_12874_full ==================================================== Summary ------- **SUCCESS** No regressions found. Known issues ------------ Here are the changes found in Patchwork_12874_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_isolation@bcs0-s3: - shard-skl: [PASS][1] -> [INCOMPLETE][2] ([fdo#104108] / [fdo#107773]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-skl7/igt@gem_ctx_isolation@bcs0-s3.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-skl7/igt@gem_ctx_isolation@bcs0-s3.html * igt@i915_pm_rpm@fences: - shard-skl: [PASS][3] -> [INCOMPLETE][4] ([fdo#107807]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-skl5/igt@i915_pm_rpm@fences.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-skl4/igt@i915_pm_rpm@fences.html * igt@i915_selftest@live_hangcheck: - shard-iclb: [PASS][5] -> [INCOMPLETE][6] ([fdo#107713] / [fdo#108569]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-iclb7/igt@i915_selftest@live_hangcheck.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-iclb6/igt@i915_selftest@live_hangcheck.html * igt@kms_color@pipe-a-ctm-green-to-red: - shard-skl: [PASS][7] -> [FAIL][8] ([fdo#107201]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-skl5/igt@kms_color@pipe-a-ctm-green-to-red.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-skl4/igt@kms_color@pipe-a-ctm-green-to-red.html * igt@kms_cursor_crc@cursor-256x256-suspend: - shard-skl: [PASS][9] -> [INCOMPLETE][10] ([fdo#104108]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-skl2/igt@kms_cursor_crc@cursor-256x256-suspend.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-skl5/igt@kms_cursor_crc@cursor-256x256-suspend.html * igt@kms_flip@plain-flip-ts-check: - shard-glk: [PASS][11] -> [FAIL][12] ([fdo#100368]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-glk7/igt@kms_flip@plain-flip-ts-check.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-glk8/igt@kms_flip@plain-flip-ts-check.html * igt@kms_frontbuffer_tracking@fbc-suspend: - shard-snb: [PASS][13] -> [DMESG-WARN][14] ([fdo#102365]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-snb7/igt@kms_frontbuffer_tracking@fbc-suspend.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-snb1/igt@kms_frontbuffer_tracking@fbc-suspend.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render: - shard-iclb: [PASS][15] -> [FAIL][16] ([fdo#103167]) +5 similar issues [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-iclb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt: - shard-iclb: [PASS][17] -> [INCOMPLETE][18] ([fdo#106978] / [fdo#107713]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-iclb4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-iclb1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c: - shard-kbl: [PASS][19] -> [DMESG-WARN][20] ([fdo#108566]) +2 similar issues [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-kbl3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-kbl5/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes: - shard-apl: [PASS][21] -> [DMESG-WARN][22] ([fdo#108566]) +2 similar issues [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-apl3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-apl3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html * igt@kms_plane_scaling@pipe-b-scaler-with-clipping-clamping: - shard-glk: [PASS][23] -> [SKIP][24] ([fdo#109271] / [fdo#109278]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-glk9/igt@kms_plane_scaling@pipe-b-scaler-with-clipping-clamping.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-glk6/igt@kms_plane_scaling@pipe-b-scaler-with-clipping-clamping.html * igt@kms_psr@psr2_primary_mmap_gtt: - shard-iclb: [PASS][25] -> [SKIP][26] ([fdo#109441]) +1 similar issue [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-iclb2/igt@kms_psr@psr2_primary_mmap_gtt.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-iclb5/igt@kms_psr@psr2_primary_mmap_gtt.html * igt@perf_pmu@rc6-runtime-pm-long: - shard-iclb: [PASS][27] -> [FAIL][28] ([fdo#105010]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-iclb1/igt@perf_pmu@rc6-runtime-pm-long.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-iclb8/igt@perf_pmu@rc6-runtime-pm-long.html #### Possible fixes #### * igt@gem_tiled_swapping@non-threaded: - shard-apl: [DMESG-WARN][29] ([fdo#108686]) -> [PASS][30] [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-apl1/igt@gem_tiled_swapping@non-threaded.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-apl2/igt@gem_tiled_swapping@non-threaded.html * igt@i915_pm_rpm@i2c: - shard-iclb: [DMESG-WARN][31] ([fdo#109982]) -> [PASS][32] [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-iclb2/igt@i915_pm_rpm@i2c.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-iclb5/igt@i915_pm_rpm@i2c.html * igt@i915_suspend@debugfs-reader: - shard-apl: [DMESG-WARN][33] ([fdo#108566]) -> [PASS][34] +4 similar issues [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-apl4/igt@i915_suspend@debugfs-reader.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-apl3/igt@i915_suspend@debugfs-reader.html * igt@kms_cursor_crc@cursor-size-change: - shard-apl: [FAIL][35] ([fdo#103232]) -> [PASS][36] [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-apl8/igt@kms_cursor_crc@cursor-size-change.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-apl4/igt@kms_cursor_crc@cursor-size-change.html * igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic: - shard-glk: [FAIL][37] ([fdo#106509] / [fdo#107409]) -> [PASS][38] [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-glk5/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-glk2/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html * igt@kms_frontbuffer_tracking@fbc-suspend: - shard-kbl: [DMESG-WARN][39] ([fdo#108566]) -> [PASS][40] +3 similar issues [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-kbl6/igt@kms_frontbuffer_tracking@fbc-suspend.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-kbl4/igt@kms_frontbuffer_tracking@fbc-suspend.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite: - shard-iclb: [FAIL][41] ([fdo#103167]) -> [PASS][42] +7 similar issues [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html * igt@kms_psr@psr2_basic: - shard-iclb: [SKIP][43] ([fdo#109441]) -> [PASS][44] [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-iclb6/igt@kms_psr@psr2_basic.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-iclb2/igt@kms_psr@psr2_basic.html * igt@kms_sysfs_edid_timing: - shard-iclb: [FAIL][45] ([fdo#100047]) -> [PASS][46] [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5999/shard-iclb3/igt@kms_sysfs_edid_timing.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12874/shard-iclb4/igt@kms_sysfs_edid_timing.html [fdo#100047]: https://bugs.freedesktop.org/show_bug.cgi?id=100047 [fdo#100368]: https://bugs.freedesktop.org/show_bug.cgi?id=100368 [fdo#102365]: https://bugs.freedesktop.org/show_bug.cgi?id=102365 [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167 [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232 [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108 [fdo#105010]: https://bugs.freedesktop.org/show_bug.cgi?id=105010 [fdo#106509]: https://bugs.freedesktop.org/show_bug.cgi?id=106509 [fdo#106978]: https://bugs.freedesktop.org/show_bug.cgi?id=106978 [fdo#107201]: https://bugs.freedesktop.org/show_bug.cgi?id=107201 [fdo#107409]: https://bugs.freedesktop.org/show_bug.cgi?id=107409 [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713 [fdo#107773]: https://bugs.freedesktop.org/show_bug.cgi?id=107773 [fdo#107807]: https://bugs.freedesktop.org/show_bug.cgi?id=107807 [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566 [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569 [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#109982]: https://bugs.freedesktop.org/show_bug.cgi?id=109982 Participating hosts (10 -> 10) ------------------------------ No changes in participating hosts Build changes ------------- * Linux: CI_DRM_5999 -> Patchwork_12874 CI_DRM_5999: bde6790dd103ba3c4c127bbc061b90ea3f406762 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4964: ffe44144a2285788ae07768a9240b27ea8182d5c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_12874: 4aa8afbb1ecc0b65993dd29f5dce87f4aa4e5a98 @ 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_12874/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/i915: Clean up cherryview_load_luts() 2019-04-08 12:18 [PATCH] drm/i915: Clean up cherryview_load_luts() Ville Syrjala ` (2 preceding siblings ...) 2019-04-26 3:04 ` ✓ Fi.CI.IGT: " Patchwork @ 2019-04-26 13:53 ` Sharma, Swati2 3 siblings, 0 replies; 5+ messages in thread From: Sharma, Swati2 @ 2019-04-26 13:53 UTC (permalink / raw) To: intel-gfx@lists.freedesktop.org Reviewed-by: Swati Sharma <swati2.sharma@intel.com> Thanks and Regards, Swati -----Original Message----- From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Ville Syrjala Sent: Monday, April 8, 2019 5:48 PM To: intel-gfx@lists.freedesktop.org Subject: [Intel-gfx] [PATCH] drm/i915: Clean up cherryview_load_luts() From: Ville Syrjälä <ville.syrjala@linux.intel.com> I like my functions simple, so split up the low level bits from cherryview_load_luts() into separate functions. Also rename the whole thing to chv_load_luts() to match the new world order. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> --- drivers/gpu/drm/i915/intel_color.c | 98 ++++++++++++++++++------------ 1 file changed, 60 insertions(+), 38 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_color.c b/drivers/gpu/drm/i915/intel_color.c index ca341a9e47e6..9e34aba4d630 100644 --- a/drivers/gpu/drm/i915/intel_color.c +++ b/drivers/gpu/drm/i915/intel_color.c @@ -784,13 +784,65 @@ static void icl_load_luts(const struct intel_crtc_state *crtc_state) } } -static void cherryview_load_luts(const struct intel_crtc_state *crtc_state) +static u32 chv_cgm_degamma_ldw(const struct drm_color_lut *color) { + return drm_color_lut_extract(color->green, 14) << 16 | + drm_color_lut_extract(color->blue, 14); } + +static u32 chv_cgm_degamma_udw(const struct drm_color_lut *color) { + return drm_color_lut_extract(color->red, 14); } + +static void chv_load_cgm_degamma(struct intel_crtc *crtc, + const struct drm_property_blob *blob) { + struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); + const struct drm_color_lut *lut = blob->data; + int i, lut_size = drm_color_lut_size(blob); + enum pipe pipe = crtc->pipe; + + for (i = 0; i < lut_size; i++) { + I915_WRITE(CGM_PIPE_DEGAMMA(pipe, i, 0), + chv_cgm_degamma_ldw(&lut[i])); + I915_WRITE(CGM_PIPE_DEGAMMA(pipe, i, 1), + chv_cgm_degamma_udw(&lut[i])); + } +} + +static u32 chv_cgm_gamma_ldw(const struct drm_color_lut *color) { + return drm_color_lut_extract(color->green, 10) << 16 | + drm_color_lut_extract(color->blue, 10); } + +static u32 chv_cgm_gamma_udw(const struct drm_color_lut *color) { + return drm_color_lut_extract(color->red, 10); } + +static void chv_load_cgm_gamma(struct intel_crtc *crtc, + const struct drm_property_blob *blob) { + struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); + const struct drm_color_lut *lut = blob->data; + int i, lut_size = drm_color_lut_size(blob); + enum pipe pipe = crtc->pipe; + + for (i = 0; i < lut_size; i++) { + I915_WRITE(CGM_PIPE_GAMMA(pipe, i, 0), + chv_cgm_gamma_ldw(&lut[i])); + I915_WRITE(CGM_PIPE_GAMMA(pipe, i, 1), + chv_cgm_gamma_udw(&lut[i])); + } +} + +static void chv_load_luts(const struct intel_crtc_state *crtc_state) { struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc); - struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); const struct drm_property_blob *gamma_lut = crtc_state->base.gamma_lut; const struct drm_property_blob *degamma_lut = crtc_state->base.degamma_lut; - enum pipe pipe = crtc->pipe; cherryview_load_csc_matrix(crtc_state); @@ -799,41 +851,11 @@ static void cherryview_load_luts(const struct intel_crtc_state *crtc_state) return; } - if (degamma_lut) { - const struct drm_color_lut *lut = degamma_lut->data; - int i, lut_size = INTEL_INFO(dev_priv)->color.degamma_lut_size; + if (degamma_lut) + chv_load_cgm_degamma(crtc, degamma_lut); - for (i = 0; i < lut_size; i++) { - u32 word0, word1; - - /* Write LUT in U0.14 format. */ - word0 = - (drm_color_lut_extract(lut[i].green, 14) << 16) | - drm_color_lut_extract(lut[i].blue, 14); - word1 = drm_color_lut_extract(lut[i].red, 14); - - I915_WRITE(CGM_PIPE_DEGAMMA(pipe, i, 0), word0); - I915_WRITE(CGM_PIPE_DEGAMMA(pipe, i, 1), word1); - } - } - - if (gamma_lut) { - const struct drm_color_lut *lut = gamma_lut->data; - int i, lut_size = INTEL_INFO(dev_priv)->color.gamma_lut_size; - - for (i = 0; i < lut_size; i++) { - u32 word0, word1; - - /* Write LUT in U0.10 format. */ - word0 = - (drm_color_lut_extract(lut[i].green, 10) << 16) | - drm_color_lut_extract(lut[i].blue, 10); - word1 = drm_color_lut_extract(lut[i].red, 10); - - I915_WRITE(CGM_PIPE_GAMMA(pipe, i, 0), word0); - I915_WRITE(CGM_PIPE_GAMMA(pipe, i, 1), word1); - } - } + if (gamma_lut) + chv_load_cgm_gamma(crtc, gamma_lut); } void intel_color_load_luts(const struct intel_crtc_state *crtc_state) @@ -1232,7 +1254,7 @@ void intel_color_init(struct intel_crtc *crtc) if (IS_CHERRYVIEW(dev_priv)) { dev_priv->display.color_check = chv_color_check; dev_priv->display.color_commit = i9xx_color_commit; - dev_priv->display.load_luts = cherryview_load_luts; + dev_priv->display.load_luts = chv_load_luts; } else if (INTEL_GEN(dev_priv) >= 4) { dev_priv->display.color_check = i9xx_color_check; dev_priv->display.color_commit = i9xx_color_commit; -- 2.21.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-04-26 13:53 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-04-08 12:18 [PATCH] drm/i915: Clean up cherryview_load_luts() Ville Syrjala 2019-04-08 14:47 ` ✗ Fi.CI.BAT: failure for " Patchwork 2019-04-25 14:26 ` ✓ Fi.CI.BAT: success for drm/i915: Clean up cherryview_load_luts() (rev2) Patchwork 2019-04-26 3:04 ` ✓ Fi.CI.IGT: " Patchwork 2019-04-26 13:53 ` [PATCH] drm/i915: Clean up cherryview_load_luts() Sharma, Swati2
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox