Re: [Intel-gfx] [PATCH v4] drm/i915/gvt: Change KVMGT as self load module
> -Original Message- > From: intel-gvt-dev [mailto:intel-gvt-dev-boun...@lists.freedesktop.org] On > Behalf Of Zhenyu Wang > Sent: Tuesday, December 4, 2018 10:40 AM > To: intel-gfx@lists.freedesktop.org > Cc: Alex Williamson ; intel-gvt- > d...@lists.freedesktop.org > Subject: [PATCH v4] drm/i915/gvt: Change KVMGT as self load module > > This trys to make 'kvmgt' module as self loadable instead of loading by > i915/gvt device model. So hypervisor specific module could be stand-alone, > e.g only after loading hypervisor specific module, GVT feature could be > enabled via specific hypervisor interface, e.g VFIO/mdev. > > So this trys to use hypervisor module register/unregister interface for that. > Hypervisor module needs to take care of module reference itself when > working for hypervisor interface, e.g for VFIO/mdev, hypervisor module > would reference counting mdev when open and release. > > This makes 'kvmgt' module really split from GVT device model. User needs to > load 'kvmgt' to enable VFIO/mdev interface. > > v4: > - fix checkpatch warning > > v3: > - Fix module reference handling for device open and release. Unused > mdev devices would be cleaned up in device unregister when module > unload. > > v2: > - Fix kvmgt order after i915 for built-in case > > Cc: Alex Williamson > Signed-off-by: Zhenyu Wang > --- > drivers/gpu/drm/i915/Makefile| 1 + > drivers/gpu/drm/i915/gvt/Makefile| 1 - > drivers/gpu/drm/i915/gvt/gvt.c | 107 +++ > drivers/gpu/drm/i915/gvt/gvt.h | 6 +- > drivers/gpu/drm/i915/gvt/hypercall.h | 7 +- > drivers/gpu/drm/i915/gvt/kvmgt.c | 21 +- > drivers/gpu/drm/i915/gvt/mpt.h | 3 + > drivers/gpu/drm/i915/intel_gvt.c | 9 --- > 8 files changed, 72 insertions(+), 83 deletions(-) > > diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile > index 0ff878c994e2..ae0d975a6f34 100644 > --- a/drivers/gpu/drm/i915/Makefile > +++ b/drivers/gpu/drm/i915/Makefile > @@ -195,3 +195,4 @@ endif > i915-y += intel_lpe_audio.o > > obj-$(CONFIG_DRM_I915) += i915.o > +obj-$(CONFIG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o > diff --git a/drivers/gpu/drm/i915/gvt/Makefile > b/drivers/gpu/drm/i915/gvt/Makefile > index b016dc753db9..271fb46d4dd0 100644 > --- a/drivers/gpu/drm/i915/gvt/Makefile > +++ b/drivers/gpu/drm/i915/gvt/Makefile > @@ -7,4 +7,3 @@ GVT_SOURCE := gvt.o aperture_gm.o handlers.o vgpu.o > trace_points.o firmware.o \ > > ccflags-y+= -I$(src) -I$(src)/$(GVT_DIR) > i915-y += $(addprefix $(GVT_DIR)/, > $(GVT_SOURCE)) > -obj-$(CONFIG_DRM_I915_GVT_KVMGT) += $(GVT_DIR)/kvmgt.o > diff --git a/drivers/gpu/drm/i915/gvt/gvt.c b/drivers/gpu/drm/i915/gvt/gvt.c > index a5b760b7bc10..e1c9c20918af 100644 > --- a/drivers/gpu/drm/i915/gvt/gvt.c > +++ b/drivers/gpu/drm/i915/gvt/gvt.c > @@ -187,52 +187,6 @@ static const struct intel_gvt_ops intel_gvt_ops = { > .write_protect_handler = intel_vgpu_page_track_handler, }; > > -/** > - * intel_gvt_init_host - Load MPT modules and detect if we're running in > host > - * > - * This function is called at the driver loading stage. If failed to find a > - * loadable MPT module or detect currently we're running in a VM, then > GVT-g > - * will be disabled > - * > - * Returns: > - * Zero on success, negative error code if failed. > - * > - */ > -int intel_gvt_init_host(void) > -{ > - if (intel_gvt_host.initialized) > - return 0; > - > - /* Xen DOM U */ > - if (xen_domain() && !xen_initial_domain()) > - return -ENODEV; > - > - /* Try to load MPT modules for hypervisors */ > - if (xen_initial_domain()) { > - /* In Xen dom0 */ > - intel_gvt_host.mpt = try_then_request_module( > - symbol_get(xengt_mpt), "xengt"); > - intel_gvt_host.hypervisor_type = > INTEL_GVT_HYPERVISOR_XEN; > - } else { > -#if IS_ENABLED(CONFIG_DRM_I915_GVT_KVMGT) > - /* not in Xen. Try KVMGT */ > - intel_gvt_host.mpt = try_then_request_module( > - symbol_get(kvmgt_mpt), "kvmgt"); > - intel_gvt_host.hypervisor_type = > INTEL_GVT_HYPERVISOR_KVM; > -#endif > - } > - > - /* Fail to load MPT modules - bail out */ > - if (!intel_gvt_host.mpt) > - return -EINVAL; > - > - gvt_dbg_core("Running with hypervisor %s in host mode\n", > - > supported_hypervisors[intel_gvt_host.hypervisor_type]); > - > - intel_gvt_host.initialized = true; > - return 0; > -} > - > static void init_device_info(struct intel_gvt *gvt) { > struct intel_gvt_device_info *info = >device_info; @@ -316,7 > +270,6 @@ void intel_gvt_clean_device(struct drm_i915_private *dev_priv) > return; > > intel_gvt_destroy_idle_vgpu(gvt->idle_vgpu); > - intel_gvt_hypervisor_host_exit(_priv->drm.pdev->dev); >
[Intel-gfx] ✓ Fi.CI.BAT: success for Make GEN macros more similar (rev3)
== Series Details == Series: Make GEN macros more similar (rev3) URL : https://patchwork.freedesktop.org/series/51860/ State : success == Summary == CI Bug Log - changes from CI_DRM_5272 -> Patchwork_11029 Summary --- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/51860/revisions/3/mbox/ Known issues Here are the changes found in Patchwork_11029 that come from known issues: ### IGT changes ### Possible fixes * igt@gem_exec_suspend@basic-s3: - fi-blb-e6850: INCOMPLETE [fdo#107718] -> PASS [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718 Participating hosts (48 -> 45) -- Additional (1): fi-skl-guc Missing(4): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u Build changes - * Linux: CI_DRM_5272 -> Patchwork_11029 CI_DRM_5272: 4bb8baa3a7b836ce18e1b27ba12bae2130ee38cc @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4743: edb2db2cf2b6665d7ba3fa9117263302f6307a4f @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_11029: 89f3e86e75ec3dec085906163f19e5fdc33546a9 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 89f3e86e75ec drm/i915: merge gen checks to use range 80cf0c99318d drm/i915: replace IS_GEN with IS_GEN(..., N) 9a668a8393e8 drm/i915: Rename IS_GEN to IS_GEN_RANGE == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11029/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.IGT: success for ACPI-PMIC + i915: Add support for PMIC MIPI sequences
== Series Details == Series: ACPI-PMIC + i915: Add support for PMIC MIPI sequences URL : https://patchwork.freedesktop.org/series/53594/ State : success == Summary == CI Bug Log - changes from CI_DRM_5267_full -> Patchwork_11025_full Summary --- **SUCCESS** No regressions found. Known issues Here are the changes found in Patchwork_11025_full that come from known issues: ### IGT changes ### Issues hit * igt@gem_exec_schedule@pi-ringfull-bsd: - shard-skl: NOTRUN -> FAIL [fdo#103158] * igt@i915_suspend@debugfs-reader: - shard-skl: PASS -> INCOMPLETE [fdo#104108] / [fdo#107773] * igt@kms_available_modes_crc@available_mode_test_crc: - shard-skl: NOTRUN -> FAIL [fdo#106641] * igt@kms_busy@extended-modeset-hang-newfb-render-a: - shard-apl: NOTRUN -> DMESG-WARN [fdo#107956] * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-c: - {shard-iclb}: NOTRUN -> DMESG-WARN [fdo#107956] * igt@kms_busy@extended-pageflip-hang-newfb-render-b: - shard-apl: PASS -> DMESG-WARN [fdo#107956] * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a: - shard-hsw: PASS -> DMESG-WARN [fdo#107956] * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b: - shard-skl: NOTRUN -> DMESG-WARN [fdo#107956] * igt@kms_chv_cursor_fail@pipe-c-128x128-left-edge: - shard-skl: NOTRUN -> FAIL [fdo#104671] * igt@kms_cursor_crc@cursor-128x128-onscreen: - shard-skl: NOTRUN -> FAIL [fdo#103232] * igt@kms_cursor_crc@cursor-128x128-sliding: - shard-apl: PASS -> FAIL [fdo#103232] +1 * igt@kms_cursor_crc@cursor-256x256-dpms: - shard-glk: PASS -> FAIL [fdo#103232] * igt@kms_cursor_crc@cursor-256x256-random: - {shard-iclb}: NOTRUN -> FAIL [fdo#103232] +1 * igt@kms_draw_crc@draw-method-rgb565-mmap-wc-ytiled: - shard-skl: PASS -> FAIL [fdo#103184] * igt@kms_draw_crc@draw-method-xrgb-mmap-wc-ytiled: - shard-skl: NOTRUN -> FAIL [fdo#103184] * igt@kms_draw_crc@draw-method-xrgb-pwrite-untiled: - shard-skl: PASS -> FAIL [fdo#108472] * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render: - shard-glk: PASS -> FAIL [fdo#103167] +1 * igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-pwrite: - shard-skl: PASS -> FAIL [fdo#103167] / [fdo#105682] * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-cpu: - shard-skl: NOTRUN -> FAIL [fdo#103167] +2 * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-render: - shard-skl: PASS -> FAIL [fdo#103167] +2 * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-mmap-wc: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] / [fdo#108336] +1 * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-wc: - {shard-iclb}: PASS -> FAIL [fdo#103167] +1 * igt@kms_plane@pixel-format-pipe-a-planes: - shard-skl: NOTRUN -> FAIL [fdo#103166] * {igt@kms_plane@pixel-format-pipe-c-planes-source-clamping}: - shard-skl: NOTRUN -> DMESG-WARN [fdo#106885] * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes: - shard-skl: NOTRUN -> INCOMPLETE [fdo#104108] * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max: - shard-skl: NOTRUN -> FAIL [fdo#108145] +3 * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc: - shard-skl: PASS -> FAIL [fdo#107815] / [fdo#108145] * igt@kms_plane_alpha_blend@pipe-c-alpha-7efc: - shard-skl: NOTRUN -> FAIL [fdo#107815] / [fdo#108145] * igt@kms_plane_alpha_blend@pipe-c-alpha-basic: - shard-apl: NOTRUN -> FAIL [fdo#108145] * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-skl: PASS -> FAIL [fdo#107815] * igt@kms_plane_multiple@atomic-pipe-a-tiling-y: - {shard-iclb}: PASS -> FAIL [fdo#103166] +2 * igt@kms_plane_multiple@atomic-pipe-a-tiling-yf: - shard-glk: PASS -> FAIL [fdo#103166] * igt@kms_plane_scaling@pipe-b-scaler-with-rotation: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] +3 * igt@kms_properties@connector-properties-atomic: - shard-skl: NOTRUN -> FAIL [fdo#108642] * igt@kms_rmfb@rmfb-ioctl: - {shard-iclb}: NOTRUN -> DMESG-WARN [fdo#107724] * {igt@kms_rotation_crc@multiplane-rotation-cropping-top}: - {shard-iclb}: PASS -> DMESG-FAIL [fdo#107724] - shard-glk: PASS -> DMESG-WARN [fdo#105763] / [fdo#106538] * igt@kms_setmode@basic: - {shard-iclb}: NOTRUN -> FAIL [fdo#99912] * igt@pm_backlight@fade_with_dpms: - {shard-iclb}: PASS -> INCOMPLETE [fdo#107820] * igt@pm_rpm@debugfs-read: - shard-skl: PASS -> INCOMPLETE [fdo#107807] *
[Intel-gfx] ✗ Fi.CI.SPARSE: warning for Make GEN macros more similar (rev3)
== Series Details == Series: Make GEN macros more similar (rev3) URL : https://patchwork.freedesktop.org/series/51860/ State : warning == Summary == $ dim sparse origin/drm-tip Sparse version: v0.5.2 Commit: drm/i915: Rename IS_GEN to IS_GEN_RANGE Okay! Commit: drm/i915: replace IS_GEN with IS_GEN(..., N) -O:drivers/gpu/drm/i915/intel_cdclk.c:2178:37: warning: expression using sizeof(void) -O:drivers/gpu/drm/i915/intel_cdclk.c:2181:37: warning: expression using sizeof(void) +drivers/gpu/drm/i915/intel_cdclk.c:2178:37: warning: expression using sizeof(void) +drivers/gpu/drm/i915/intel_cdclk.c:2181:37: warning: expression using sizeof(void) -O:drivers/gpu/drm/i915/intel_fbc.c:88:25: warning: expression using sizeof(void) -O:drivers/gpu/drm/i915/intel_fbc.c:90:25: warning: expression using sizeof(void) +drivers/gpu/drm/i915/intel_fbc.c:88:25: warning: expression using sizeof(void) +drivers/gpu/drm/i915/intel_fbc.c:90:25: warning: expression using sizeof(void) -drivers/gpu/drm/i915/selftests/../i915_drv.h:3563:16: warning: expression using sizeof(void) +drivers/gpu/drm/i915/selftests/../i915_drv.h:3550:16: warning: expression using sizeof(void) Commit: drm/i915: merge gen checks to use range Okay! ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Make GEN macros more similar (rev3)
== Series Details == Series: Make GEN macros more similar (rev3) URL : https://patchwork.freedesktop.org/series/51860/ State : warning == Summary == $ dim checkpatch origin/drm-tip 9a668a8393e8 drm/i915: Rename IS_GEN to IS_GEN_RANGE 80cf0c99318d drm/i915: replace IS_GEN with IS_GEN(..., N) -:7: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line) #7: gen_mask to do the comparison. Now callers can pass then gen as a parameter, -:265: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'dev_priv' - possible side-effects? #265: FILE: drivers/gpu/drm/i915/i915_drv.h:2375: +#define IS_GEN9_LP(dev_priv) (IS_GEN(dev_priv, 9) && IS_LP(dev_priv)) -:266: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'dev_priv' - possible side-effects? #266: FILE: drivers/gpu/drm/i915/i915_drv.h:2376: +#define IS_GEN9_BC(dev_priv) (IS_GEN(dev_priv, 9) && !IS_LP(dev_priv)) -:284: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'dev_priv' - possible side-effects? #284: FILE: drivers/gpu/drm/i915/i915_drv.h:2449: +#define HAS_128_BYTE_Y_TILING(dev_priv) (!IS_GEN(dev_priv, 2) && \ !(IS_I915G(dev_priv) || \ IS_I915GM(dev_priv))) -:453: CHECK:COMPARISON_TO_NULL: Comparison to NULL could be written "!r" #453: FILE: drivers/gpu/drm/i915/i915_gem_stolen.c:159: + if (r == NULL && !IS_GEN(dev_priv, 3)) { -:1138: CHECK:CAMELCASE: Avoid CamelCase: #1138: FILE: drivers/gpu/drm/i915/intel_display.c:14188: + if (IS_GEN(dev_priv, 5) && (I915_READ(FUSE_STRAP) & ILK_eDP_A_DISABLE)) total: 0 errors, 1 warnings, 5 checks, 1819 lines checked 89f3e86e75ec drm/i915: merge gen checks to use range ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH v3 3/3] drm/i915: merge gen checks to use range
Instead of using IS_GEN() for consecutive gen checks, let's pass the range to IS_GEN_RANGE(). By code inspection these were the ranges deemed necessary for spatch: @@ expression e; @@ ( - IS_GEN(e, 3) || IS_GEN(e, 2) + IS_GEN_RANGE(e, 2, 3) | - IS_GEN(e, 3) || IS_GEN(e, 4) + IS_GEN_RANGE(e, 3, 4) | - IS_GEN(e, 5) || IS_GEN(e, 6) + IS_GEN_RANGE(e, 5, 6) | - IS_GEN(e, 6) || IS_GEN(e, 7) + IS_GEN_RANGE(e, 6, 7) | - IS_GEN(e, 7) || IS_GEN(e, 8) + IS_GEN_RANGE(e, 7, 8) | - IS_GEN(e, 8) || IS_GEN(e, 9) + IS_GEN_RANGE(e, 8, 9) | - IS_GEN(e, 10) || IS_GEN(e, 9) + IS_GEN_RANGE(e, 9, 10) | - IS_GEN(e, 9) || IS_GEN(e, 10) + IS_GEN_RANGE(e, 9, 10) ) After conversion, checking we don't have any missing IS_GEN_RANGE() || IS_GEN() was also done. Signed-off-by: Lucas De Marchi --- drivers/gpu/drm/i915/i915_debugfs.c| 6 +++--- drivers/gpu/drm/i915/i915_gpu_error.c | 2 +- drivers/gpu/drm/i915/i915_perf.c | 2 +- drivers/gpu/drm/i915/intel_crt.c | 2 +- drivers/gpu/drm/i915/intel_device_info.c | 2 +- drivers/gpu/drm/i915/intel_display.c | 2 +- drivers/gpu/drm/i915/intel_engine_cs.c | 2 +- drivers/gpu/drm/i915/intel_fifo_underrun.c | 2 +- drivers/gpu/drm/i915/intel_pipe_crc.c | 4 ++-- drivers/gpu/drm/i915/intel_uncore.c| 6 +++--- 10 files changed, 15 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 53e3f57a13f3..33ff75c6a4a3 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -2034,7 +2034,7 @@ static int i915_swizzle_info(struct seq_file *m, void *data) seq_printf(m, "bit6 swizzle for Y-tiling = %s\n", swizzle_string(dev_priv->mm.bit_6_swizzle_y)); - if (IS_GEN(dev_priv, 3) || IS_GEN(dev_priv, 4)) { + if (IS_GEN_RANGE(dev_priv, 3, 4)) { seq_printf(m, "DDC = 0x%08x\n", I915_READ(DCC)); seq_printf(m, "DDC2 = 0x%08x\n", @@ -4268,7 +4268,7 @@ i915_cache_sharing_get(void *data, u64 *val) struct drm_i915_private *dev_priv = data; u32 snpcr; - if (!(IS_GEN(dev_priv, 6) || IS_GEN(dev_priv, 7))) + if (!(IS_GEN_RANGE(dev_priv, 6, 7))) return -ENODEV; intel_runtime_pm_get(dev_priv); @@ -4288,7 +4288,7 @@ i915_cache_sharing_set(void *data, u64 val) struct drm_i915_private *dev_priv = data; u32 snpcr; - if (!(IS_GEN(dev_priv, 6) || IS_GEN(dev_priv, 7))) + if (!(IS_GEN_RANGE(dev_priv, 6, 7))) return -ENODEV; if (val > 3) diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c index ccfd91c72477..581a40ac3591 100644 --- a/drivers/gpu/drm/i915/i915_gpu_error.c +++ b/drivers/gpu/drm/i915/i915_gpu_error.c @@ -1753,7 +1753,7 @@ static void capture_reg_state(struct i915_gpu_state *error) error->ccid = I915_READ(CCID); /* 3: Feature specific registers */ - if (IS_GEN(dev_priv, 6) || IS_GEN(dev_priv, 7)) { + if (IS_GEN_RANGE(dev_priv, 6, 7)) { error->gam_ecochk = I915_READ(GAM_ECOCHK); error->gac_eco = I915_READ(GAC_ECO_BITS); } diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c index 6c7992320443..4288c0e02f0c 100644 --- a/drivers/gpu/drm/i915/i915_perf.c +++ b/drivers/gpu/drm/i915/i915_perf.c @@ -3415,7 +3415,7 @@ void i915_perf_init(struct drm_i915_private *dev_priv) dev_priv->perf.oa.ops.read = gen8_oa_read; dev_priv->perf.oa.ops.oa_hw_tail_read = gen8_oa_hw_tail_read; - if (IS_GEN(dev_priv, 8) || IS_GEN(dev_priv, 9)) { + if (IS_GEN_RANGE(dev_priv, 8, 9)) { dev_priv->perf.oa.ops.is_valid_b_counter_reg = gen7_is_valid_b_counter_addr; dev_priv->perf.oa.ops.is_valid_mux_reg = diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c index bf4fd739b68c..0a41e58d61de 100644 --- a/drivers/gpu/drm/i915/intel_crt.c +++ b/drivers/gpu/drm/i915/intel_crt.c @@ -322,7 +322,7 @@ intel_crt_mode_valid(struct drm_connector *connector, * DAC limit supposedly 355 MHz. */ max_clock = 27; - else if (IS_GEN(dev_priv, 3) || IS_GEN(dev_priv, 4)) + else if (IS_GEN_RANGE(dev_priv, 3, 4)) max_clock = 40; else max_clock = 35; diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c index 332790279e1d..dc4fa83e26ef 100644 --- a/drivers/gpu/drm/i915/intel_device_info.c +++ b/drivers/gpu/drm/i915/intel_device_info.c @@ -787,7 +787,7 @@ void intel_device_info_runtime_init(struct intel_device_info *info) DRM_INFO("Display disabled (module parameter)\n"); info->num_pipes = 0; } else
[Intel-gfx] [PATCH v3 0/3] Make GEN macros more similar
Third version of the series trying to make GEN checks more similar. It's basically a dial down from what was done in v2 to get the points we have rough consensus that should be done. Hopefully. Changes from v2: - Don't use GT, but continue with IS_ prefix. If we ever add a check for display version (which we are uncertain is actually necessary), we can document the convention of using IS_GEN for GT and IS_DISPLAY_GEN for display - Don't port comparisons using >, >=, <, <=, == over to the macro: minimize code churn and in most cases it makes the code more difficult to read - Don't bring GEN_FOREVER back since we are not covering unbound checks anymore with the macros - Don't remove INTEL_GEN Lucas De Marchi (3): drm/i915: Rename IS_GEN to IS_GEN_RANGE drm/i915: replace IS_GEN with IS_GEN(..., N) drm/i915: merge gen checks to use range drivers/gpu/drm/i915/gvt/vgpu.c| 4 +- drivers/gpu/drm/i915/i915_cmd_parser.c | 2 +- drivers/gpu/drm/i915/i915_debugfs.c| 16 ++--- drivers/gpu/drm/i915/i915_drv.c| 18 +++--- drivers/gpu/drm/i915/i915_drv.h| 31 +++-- drivers/gpu/drm/i915/i915_gem.c| 14 ++-- drivers/gpu/drm/i915/i915_gem_context.c| 2 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +- drivers/gpu/drm/i915/i915_gem_fence_reg.c | 10 +-- drivers/gpu/drm/i915/i915_gem_gtt.c| 6 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 7 +- drivers/gpu/drm/i915/i915_gem_tiling.c | 4 +- drivers/gpu/drm/i915/i915_gpu_error.c | 18 +++--- drivers/gpu/drm/i915/i915_irq.c| 24 +++ drivers/gpu/drm/i915/i915_perf.c | 8 +-- drivers/gpu/drm/i915/i915_suspend.c| 12 ++-- drivers/gpu/drm/i915/intel_atomic.c| 2 +- drivers/gpu/drm/i915/intel_audio.c | 2 +- drivers/gpu/drm/i915/intel_bios.c | 2 +- drivers/gpu/drm/i915/intel_cdclk.c | 10 +-- drivers/gpu/drm/i915/intel_crt.c | 6 +- drivers/gpu/drm/i915/intel_device_info.c | 16 ++--- drivers/gpu/drm/i915/intel_display.c | 74 +++--- drivers/gpu/drm/i915/intel_dp.c| 24 +++ drivers/gpu/drm/i915/intel_engine_cs.c | 6 +- drivers/gpu/drm/i915/intel_fbc.c | 24 +++ drivers/gpu/drm/i915/intel_fifo_underrun.c | 6 +- drivers/gpu/drm/i915/intel_guc_fw.c| 2 +- drivers/gpu/drm/i915/intel_hangcheck.c | 4 +- drivers/gpu/drm/i915/intel_lrc.c | 4 +- drivers/gpu/drm/i915/intel_lvds.c | 4 +- drivers/gpu/drm/i915/intel_mocs.c | 2 +- drivers/gpu/drm/i915/intel_overlay.c | 10 +-- drivers/gpu/drm/i915/intel_panel.c | 8 +-- drivers/gpu/drm/i915/intel_pipe_crc.c | 8 +-- drivers/gpu/drm/i915/intel_pm.c| 60 +- drivers/gpu/drm/i915/intel_psr.c | 4 +- drivers/gpu/drm/i915/intel_ringbuffer.c| 36 +-- drivers/gpu/drm/i915/intel_ringbuffer.h| 4 +- drivers/gpu/drm/i915/intel_runtime_pm.c| 4 +- drivers/gpu/drm/i915/intel_sprite.c| 6 +- drivers/gpu/drm/i915/intel_uc.c| 2 +- drivers/gpu/drm/i915/intel_uncore.c| 30 - drivers/gpu/drm/i915/intel_wopcm.c | 4 +- drivers/gpu/drm/i915/intel_workarounds.c | 4 +- 45 files changed, 268 insertions(+), 280 deletions(-) -- 2.19.1.1.g56c4683e68 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH v3 2/3] drm/i915: replace IS_GEN with IS_GEN(..., N)
Define IS_GEN() similarly to our IS_GEN_RANGE(). but use gen instead of gen_mask to do the comparison. Now callers can pass then gen as a parameter, so we don't require one macro for each gen. The following spatch was used to convert the users of these macros: @@ expression e; @@ ( - IS_GEN2(e) + IS_GEN(e, 2) | - IS_GEN3(e) + IS_GEN(e, 3) | - IS_GEN4(e) + IS_GEN(e, 4) | - IS_GEN5(e) + IS_GEN(e, 5) | - IS_GEN6(e) + IS_GEN(e, 6) | - IS_GEN7(e) + IS_GEN(e, 7) | - IS_GEN8(e) + IS_GEN(e, 8) | - IS_GEN9(e) + IS_GEN(e, 9) | - IS_GEN10(e) + IS_GEN(e, 10) | - IS_GEN11(e) + IS_GEN(e, 11) ) v2: use IS_GEN rather than GT_GEN and compare to info.gen rather than using the bitmask Signed-off-by: Lucas De Marchi --- drivers/gpu/drm/i915/gvt/vgpu.c| 4 +- drivers/gpu/drm/i915/i915_cmd_parser.c | 2 +- drivers/gpu/drm/i915/i915_debugfs.c| 16 ++--- drivers/gpu/drm/i915/i915_drv.c| 18 +++--- drivers/gpu/drm/i915/i915_drv.h| 29 +++-- drivers/gpu/drm/i915/i915_gem.c| 14 ++-- drivers/gpu/drm/i915/i915_gem_context.c| 2 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +- drivers/gpu/drm/i915/i915_gem_fence_reg.c | 10 +-- drivers/gpu/drm/i915/i915_gem_gtt.c| 6 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 7 +- drivers/gpu/drm/i915/i915_gem_tiling.c | 4 +- drivers/gpu/drm/i915/i915_gpu_error.c | 18 +++--- drivers/gpu/drm/i915/i915_irq.c| 24 +++ drivers/gpu/drm/i915/i915_perf.c | 4 +- drivers/gpu/drm/i915/i915_suspend.c| 12 ++-- drivers/gpu/drm/i915/intel_atomic.c| 2 +- drivers/gpu/drm/i915/intel_audio.c | 2 +- drivers/gpu/drm/i915/intel_cdclk.c | 10 +-- drivers/gpu/drm/i915/intel_crt.c | 6 +- drivers/gpu/drm/i915/intel_device_info.c | 16 ++--- drivers/gpu/drm/i915/intel_display.c | 74 +++--- drivers/gpu/drm/i915/intel_dp.c| 24 +++ drivers/gpu/drm/i915/intel_engine_cs.c | 4 +- drivers/gpu/drm/i915/intel_fbc.c | 22 +++ drivers/gpu/drm/i915/intel_fifo_underrun.c | 6 +- drivers/gpu/drm/i915/intel_guc_fw.c| 2 +- drivers/gpu/drm/i915/intel_hangcheck.c | 2 +- drivers/gpu/drm/i915/intel_lrc.c | 4 +- drivers/gpu/drm/i915/intel_lvds.c | 4 +- drivers/gpu/drm/i915/intel_mocs.c | 2 +- drivers/gpu/drm/i915/intel_overlay.c | 10 +-- drivers/gpu/drm/i915/intel_panel.c | 8 +-- drivers/gpu/drm/i915/intel_pipe_crc.c | 8 +-- drivers/gpu/drm/i915/intel_pm.c| 60 +- drivers/gpu/drm/i915/intel_psr.c | 4 +- drivers/gpu/drm/i915/intel_ringbuffer.c| 28 drivers/gpu/drm/i915/intel_ringbuffer.h| 4 +- drivers/gpu/drm/i915/intel_runtime_pm.c| 4 +- drivers/gpu/drm/i915/intel_sprite.c| 6 +- drivers/gpu/drm/i915/intel_uc.c| 2 +- drivers/gpu/drm/i915/intel_uncore.c| 18 +++--- drivers/gpu/drm/i915/intel_wopcm.c | 4 +- drivers/gpu/drm/i915/intel_workarounds.c | 4 +- 44 files changed, 251 insertions(+), 263 deletions(-) diff --git a/drivers/gpu/drm/i915/gvt/vgpu.c b/drivers/gpu/drm/i915/gvt/vgpu.c index c628be05fbfe..e1c860f80eb0 100644 --- a/drivers/gpu/drm/i915/gvt/vgpu.c +++ b/drivers/gpu/drm/i915/gvt/vgpu.c @@ -148,10 +148,10 @@ int intel_gvt_init_vgpu_types(struct intel_gvt *gvt) gvt->types[i].avail_instance = min(low_avail / vgpu_types[i].low_mm, high_avail / vgpu_types[i].high_mm); - if (IS_GEN8(gvt->dev_priv)) + if (IS_GEN(gvt->dev_priv, 8)) sprintf(gvt->types[i].name, "GVTg_V4_%s", vgpu_types[i].name); - else if (IS_GEN9(gvt->dev_priv)) + else if (IS_GEN(gvt->dev_priv, 9)) sprintf(gvt->types[i].name, "GVTg_V5_%s", vgpu_types[i].name); diff --git a/drivers/gpu/drm/i915/i915_cmd_parser.c b/drivers/gpu/drm/i915/i915_cmd_parser.c index 95478db9998b..33e8eed64423 100644 --- a/drivers/gpu/drm/i915/i915_cmd_parser.c +++ b/drivers/gpu/drm/i915/i915_cmd_parser.c @@ -865,7 +865,7 @@ void intel_engine_init_cmd_parser(struct intel_engine_cs *engine) int cmd_table_count; int ret; - if (!IS_GEN7(engine->i915)) + if (!IS_GEN(engine->i915, 7)) return; switch (engine->id) { diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 38dcee1ca062..53e3f57a13f3 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -1064,7 +1064,7 @@ static int i915_frequency_info(struct seq_file *m, void *unused) intel_runtime_pm_get(dev_priv); - if (IS_GEN5(dev_priv)) { + if (IS_GEN(dev_priv, 5)) { u16 rgvswctl =
[Intel-gfx] [PATCH v3 1/3] drm/i915: Rename IS_GEN to IS_GEN_RANGE
RANGE makes it longer, but clearer. We are also going to add a macro to check an individual gen, so add the _RANGE prefix here. Diff generated with: sed 's/IS_GEN(/IS_GEN_RANGE(/g' drivers/gpu/drm/i915/{*/,}*.{c,h} -i v2: use IS_GEN rather than GT_GEN Signed-off-by: Lucas De Marchi --- drivers/gpu/drm/i915/i915_drv.h | 2 +- drivers/gpu/drm/i915/i915_perf.c| 4 ++-- drivers/gpu/drm/i915/intel_bios.c | 2 +- drivers/gpu/drm/i915/intel_engine_cs.c | 2 +- drivers/gpu/drm/i915/intel_fbc.c| 2 +- drivers/gpu/drm/i915/intel_hangcheck.c | 2 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 8 drivers/gpu/drm/i915/intel_uncore.c | 12 ++-- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 0689e67c966e..affcb028ff8d 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -2213,7 +2213,7 @@ intel_info(const struct drm_i915_private *dev_priv) GENMASK((e) - 1, (s) - 1)) /* Returns true if Gen is in inclusive range [Start, End] */ -#define IS_GEN(dev_priv, s, e) \ +#define IS_GEN_RANGE(dev_priv, s, e) \ (!!((dev_priv)->info.gen_mask & INTEL_GEN_MASK((s), (e /* diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c index 4529edfdcfc8..ad0095be435d 100644 --- a/drivers/gpu/drm/i915/i915_perf.c +++ b/drivers/gpu/drm/i915/i915_perf.c @@ -1796,7 +1796,7 @@ static int gen8_enable_metric_set(struct i915_perf_stream *stream) * be read back from automatically triggered reports, as part of the * RPT_ID field. */ - if (IS_GEN(dev_priv, 9, 11)) { + if (IS_GEN_RANGE(dev_priv, 9, 11)) { I915_WRITE(GEN8_OA_DEBUG, _MASKED_BIT_ENABLE(GEN9_OA_DEBUG_DISABLE_CLK_RATIO_REPORTS | GEN9_OA_DEBUG_INCLUDE_CLK_RATIO)); @@ -3442,7 +3442,7 @@ void i915_perf_init(struct drm_i915_private *dev_priv) dev_priv->perf.oa.gen8_valid_ctx_bit = (1<<16); } - } else if (IS_GEN(dev_priv, 10, 11)) { + } else if (IS_GEN_RANGE(dev_priv, 10, 11)) { dev_priv->perf.oa.ops.is_valid_b_counter_reg = gen7_is_valid_b_counter_addr; dev_priv->perf.oa.ops.is_valid_mux_reg = diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c index 6d3e0260d49c..7b7e7abfa259 100644 --- a/drivers/gpu/drm/i915/intel_bios.c +++ b/drivers/gpu/drm/i915/intel_bios.c @@ -453,7 +453,7 @@ parse_sdvo_device_mapping(struct drm_i915_private *dev_priv, u8 bdb_version) * Only parse SDVO mappings on gens that could have SDVO. This isn't * accurate and doesn't have to be, as long as it's not too strict. */ - if (!IS_GEN(dev_priv, 3, 7)) { + if (!IS_GEN_RANGE(dev_priv, 3, 7)) { DRM_DEBUG_KMS("Skipping SDVO device mapping\n"); return; } diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c index af2873403009..fe5e87b6e1af 100644 --- a/drivers/gpu/drm/i915/intel_engine_cs.c +++ b/drivers/gpu/drm/i915/intel_engine_cs.c @@ -1248,7 +1248,7 @@ static void intel_engine_print_registers(const struct intel_engine_cs *engine, >execlists; u64 addr; - if (engine->id == RCS && IS_GEN(dev_priv, 4, 7)) + if (engine->id == RCS && IS_GEN_RANGE(dev_priv, 4, 7)) drm_printf(m, "\tCCID: 0x%08x\n", I915_READ(CCID)); drm_printf(m, "\tRING_START: 0x%08x\n", I915_READ(RING_START(engine->mmio_base))); diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c index 78dbacdeaece..b57e31fc0f1e 100644 --- a/drivers/gpu/drm/i915/intel_fbc.c +++ b/drivers/gpu/drm/i915/intel_fbc.c @@ -787,7 +787,7 @@ static bool intel_fbc_can_activate(struct intel_crtc *crtc) * having a Y offset that isn't divisible by 4 causes FIFO underrun * and screen flicker. */ - if (IS_GEN(dev_priv, 9, 10) && + if (IS_GEN_RANGE(dev_priv, 9, 10) && (fbc->state_cache.plane.adjusted_y & 3)) { fbc->no_fbc_reason = "plane Y offset is misaligned"; return false; diff --git a/drivers/gpu/drm/i915/intel_hangcheck.c b/drivers/gpu/drm/i915/intel_hangcheck.c index e26d05a46451..41921a843d42 100644 --- a/drivers/gpu/drm/i915/intel_hangcheck.c +++ b/drivers/gpu/drm/i915/intel_hangcheck.c @@ -252,7 +252,7 @@ engine_stuck(struct intel_engine_cs *engine, u64 acthd) return ENGINE_WAIT_KICK; } - if (IS_GEN(dev_priv, 6, 7) && tmp & RING_WAIT_SEMAPHORE) { + if (IS_GEN_RANGE(dev_priv, 6, 7) && tmp & RING_WAIT_SEMAPHORE) { switch (semaphore_passed(engine)) { default:
Re: [Intel-gfx] [PATCH v4] drm/i915/gvt: Change KVMGT as self load module
Ping for any more comments? Or ack? Adding Min, for head-up notify, I've moved 'kvmgt' into self load module instead of loaded by i915/gvt, in order to clean up the dependence, so need to load 'kvmgt.ko' to enable GVT through VFIO/mdev. Hypervisor module needs to call new register/unregister function to initialize hypervisor specific interface for GVT. If AcrnGT rebase on this, it may need to change initial setup too, so could you double check? thanks On 2018.12.04 10:40:28 +0800, Zhenyu Wang wrote: > This trys to make 'kvmgt' module as self loadable instead of loading > by i915/gvt device model. So hypervisor specific module could be > stand-alone, e.g only after loading hypervisor specific module, GVT > feature could be enabled via specific hypervisor interface, e.g VFIO/mdev. > > So this trys to use hypervisor module register/unregister interface > for that. Hypervisor module needs to take care of module reference > itself when working for hypervisor interface, e.g for VFIO/mdev, > hypervisor module would reference counting mdev when open and release. > > This makes 'kvmgt' module really split from GVT device model. User > needs to load 'kvmgt' to enable VFIO/mdev interface. > > v4: > - fix checkpatch warning > > v3: > - Fix module reference handling for device open and release. Unused > mdev devices would be cleaned up in device unregister when module unload. > > v2: > - Fix kvmgt order after i915 for built-in case > > Cc: Alex Williamson > Signed-off-by: Zhenyu Wang > --- > drivers/gpu/drm/i915/Makefile| 1 + > drivers/gpu/drm/i915/gvt/Makefile| 1 - > drivers/gpu/drm/i915/gvt/gvt.c | 107 +++ > drivers/gpu/drm/i915/gvt/gvt.h | 6 +- > drivers/gpu/drm/i915/gvt/hypercall.h | 7 +- > drivers/gpu/drm/i915/gvt/kvmgt.c | 21 +- > drivers/gpu/drm/i915/gvt/mpt.h | 3 + > drivers/gpu/drm/i915/intel_gvt.c | 9 --- > 8 files changed, 72 insertions(+), 83 deletions(-) > > diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile > index 0ff878c994e2..ae0d975a6f34 100644 > --- a/drivers/gpu/drm/i915/Makefile > +++ b/drivers/gpu/drm/i915/Makefile > @@ -195,3 +195,4 @@ endif > i915-y += intel_lpe_audio.o > > obj-$(CONFIG_DRM_I915) += i915.o > +obj-$(CONFIG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o > diff --git a/drivers/gpu/drm/i915/gvt/Makefile > b/drivers/gpu/drm/i915/gvt/Makefile > index b016dc753db9..271fb46d4dd0 100644 > --- a/drivers/gpu/drm/i915/gvt/Makefile > +++ b/drivers/gpu/drm/i915/gvt/Makefile > @@ -7,4 +7,3 @@ GVT_SOURCE := gvt.o aperture_gm.o handlers.o vgpu.o > trace_points.o firmware.o \ > > ccflags-y+= -I$(src) -I$(src)/$(GVT_DIR) > i915-y += $(addprefix $(GVT_DIR)/, > $(GVT_SOURCE)) > -obj-$(CONFIG_DRM_I915_GVT_KVMGT) += $(GVT_DIR)/kvmgt.o > diff --git a/drivers/gpu/drm/i915/gvt/gvt.c b/drivers/gpu/drm/i915/gvt/gvt.c > index a5b760b7bc10..e1c9c20918af 100644 > --- a/drivers/gpu/drm/i915/gvt/gvt.c > +++ b/drivers/gpu/drm/i915/gvt/gvt.c > @@ -187,52 +187,6 @@ static const struct intel_gvt_ops intel_gvt_ops = { > .write_protect_handler = intel_vgpu_page_track_handler, > }; > > -/** > - * intel_gvt_init_host - Load MPT modules and detect if we're running in host > - * > - * This function is called at the driver loading stage. If failed to find a > - * loadable MPT module or detect currently we're running in a VM, then GVT-g > - * will be disabled > - * > - * Returns: > - * Zero on success, negative error code if failed. > - * > - */ > -int intel_gvt_init_host(void) > -{ > - if (intel_gvt_host.initialized) > - return 0; > - > - /* Xen DOM U */ > - if (xen_domain() && !xen_initial_domain()) > - return -ENODEV; > - > - /* Try to load MPT modules for hypervisors */ > - if (xen_initial_domain()) { > - /* In Xen dom0 */ > - intel_gvt_host.mpt = try_then_request_module( > - symbol_get(xengt_mpt), "xengt"); > - intel_gvt_host.hypervisor_type = INTEL_GVT_HYPERVISOR_XEN; > - } else { > -#if IS_ENABLED(CONFIG_DRM_I915_GVT_KVMGT) > - /* not in Xen. Try KVMGT */ > - intel_gvt_host.mpt = try_then_request_module( > - symbol_get(kvmgt_mpt), "kvmgt"); > - intel_gvt_host.hypervisor_type = INTEL_GVT_HYPERVISOR_KVM; > -#endif > - } > - > - /* Fail to load MPT modules - bail out */ > - if (!intel_gvt_host.mpt) > - return -EINVAL; > - > - gvt_dbg_core("Running with hypervisor %s in host mode\n", > - supported_hypervisors[intel_gvt_host.hypervisor_type]); > - > - intel_gvt_host.initialized = true; > - return 0; > -} > - > static void init_device_info(struct intel_gvt *gvt) > { > struct intel_gvt_device_info *info = >device_info; > @@ -316,7 +270,6 @@ void intel_gvt_clean_device(struct
[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Clear bogus DMC BIOS/debug power well requests
== Series Details == Series: drm/i915: Clear bogus DMC BIOS/debug power well requests URL : https://patchwork.freedesktop.org/series/53591/ State : success == Summary == CI Bug Log - changes from CI_DRM_5266_full -> Patchwork_11023_full Summary --- **SUCCESS** No regressions found. Known issues Here are the changes found in Patchwork_11023_full that come from known issues: ### IGT changes ### Issues hit * igt@gem_exec_schedule@pi-ringfull-blt: - {shard-iclb}: NOTRUN -> FAIL [fdo#103158] * igt@gem_exec_schedule@pi-ringfull-render: - shard-skl: NOTRUN -> FAIL [fdo#103158] * igt@gem_ppgtt@blt-vs-render-ctx0: - shard-skl: PASS -> TIMEOUT [fdo#108039] * igt@gem_ppgtt@blt-vs-render-ctxn: - shard-skl: NOTRUN -> TIMEOUT [fdo#108039] * igt@i915_suspend@forcewake: - shard-skl: PASS -> INCOMPLETE [fdo#104108] / [fdo#107773] * igt@kms_atomic@plane_cursor_legacy: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] +18 * igt@kms_ccs@pipe-c-crc-sprite-planes-basic: - {shard-iclb}: NOTRUN -> FAIL [fdo#107725] * igt@kms_cursor_crc@cursor-128x42-onscreen: - shard-apl: PASS -> FAIL [fdo#103232] * igt@kms_cursor_crc@cursor-256x85-sliding: - shard-skl: NOTRUN -> FAIL [fdo#103232] +1 * igt@kms_cursor_crc@cursor-64x64-onscreen: - {shard-iclb}: NOTRUN -> FAIL [fdo#103232] +6 * igt@kms_draw_crc@draw-method-xrgb-render-ytiled: - {shard-iclb}: PASS -> WARN [fdo#108336] +4 * igt@kms_fbcon_fbt@psr-suspend: - shard-skl: NOTRUN -> FAIL [fdo#107882] * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-cpu: - {shard-iclb}: NOTRUN -> DMESG-FAIL [fdo#107724] * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render: - shard-skl: NOTRUN -> FAIL [fdo#105682] * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc: - shard-apl: PASS -> FAIL [fdo#103167] * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite: - shard-glk: PASS -> FAIL [fdo#103167] +3 * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-wc: - shard-skl: NOTRUN -> FAIL [fdo#103167] +1 * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt: - {shard-iclb}: PASS -> DMESG-FAIL [fdo#107724] +5 * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc: - {shard-iclb}: PASS -> FAIL [fdo#103167] * igt@kms_frontbuffer_tracking@fbcpsr-stridechange: - shard-skl: NOTRUN -> FAIL [fdo#105683] * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-cpu: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] / [fdo#108336] +9 * igt@kms_plane@pixel-format-pipe-a-planes: - {shard-iclb}: NOTRUN -> FAIL [fdo#103166] * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}: - shard-skl: NOTRUN -> DMESG-WARN [fdo#106885] * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes: - shard-glk: PASS -> INCOMPLETE [fdo#103359] / [k.org#198133] * igt@kms_plane@plane-panning-top-left-pipe-a-planes: - shard-apl: PASS -> INCOMPLETE [fdo#103927] * igt@kms_plane@plane-position-covered-pipe-b-planes: - {shard-iclb}: PASS -> FAIL [fdo#103166] +2 * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc: - shard-skl: NOTRUN -> FAIL [fdo#107815] / [fdo#108145] +1 * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb: - shard-skl: NOTRUN -> FAIL [fdo#108145] * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-skl: PASS -> FAIL [fdo#107815] * igt@kms_plane_scaling@pipe-b-scaler-with-rotation: - {shard-iclb}: NOTRUN -> DMESG-WARN [fdo#107724] +1 * {igt@kms_rotation_crc@multiplane-rotation-cropping-top}: - shard-kbl: PASS -> DMESG-FAIL [fdo#108950] * igt@pm_rpm@fences-dpms: - {shard-iclb}: PASS -> INCOMPLETE [fdo#108840] * igt@pm_rpm@modeset-non-lpsp: - {shard-iclb}: SKIP -> INCOMPLETE [fdo#108840] * igt@pm_rpm@system-suspend: - shard-skl: PASS -> INCOMPLETE [fdo#104108] / [fdo#107807] Possible fixes * igt@gem_userptr_blits@readonly-unsync: - shard-skl: TIMEOUT [fdo#108887] -> PASS * igt@i915_suspend@debugfs-reader: - shard-skl: INCOMPLETE [fdo#104108] -> PASS * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a: - shard-hsw: DMESG-WARN [fdo#107956] -> PASS * igt@kms_color@pipe-b-legacy-gamma: - shard-apl: FAIL [fdo#104782] -> PASS * igt@kms_cursor_crc@cursor-128x128-onscreen: - shard-apl: FAIL [fdo#103232] -> PASS - shard-glk: FAIL [fdo#103232] -> PASS +1 *
[Intel-gfx] linux-next: build failure after merge of the drm-misc tree
Hi all, After merging the drm-misc tree, today's linux-next build (x86_64 allmodconfig) failed like this: drivers/gpu/drm/v3d/v3d_gem.c: In function 'v3d_submit_tfu_ioctl': drivers/gpu/drm/v3d/v3d_gem.c:719:3: error: too many arguments to function 'drm_syncobj_replace_fence' drm_syncobj_replace_fence(sync_out, 0, sched_done_fence); ^ In file included from drivers/gpu/drm/v3d/v3d_gem.c:5: include/drm/drm_syncobj.h:134:6: note: declared here void drm_syncobj_replace_fence(struct drm_syncobj *syncobj, ^ Caused by commit 0b258ed1a219 ("drm: revert "expand replace_fence to support timeline point v2"") interacting with commit 1584f16ca96e ("drm/v3d: Add support for submitting jobs to the TFU") I have used the drm-misc tree from next-20181205 for today. -- Cheers, Stephen Rothwell pgpmHXGJ5NpjN.pgp Description: OpenPGP digital signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] drm tip conflict in intel_workarounds.c
I merged the i915 tree into drm-next this morning, but got a major conflict on the drm-tip rebuild in intel_workarounds.c. I'm not sure if I did wrong thing, but there were a couple of places where the code seemed inconsistent and I couldn't track down what was actually wanted. I'd appreciate someone checking my work on what is in current drm-tip, /* Wa_1604302699:icl */ + wa_write_or(wal, + GEN10_L3_CHICKEN_MODE_REGISTER, + GEN11_I2M_WRITE_DISABLE); and - - /* Wa_1406609255:icl (pre-prod) */ - if (IS_ICL_REVID(i915, ICL_REVID_A0, ICL_REVID_B0)) - wa_write_or(wal, - GEN7_SARCHKMD, - GEN7_DISABLE_DEMAND_PREFETCH | - GEN7_DISABLE_SAMPLER_PREFETCH); were the two problems I was seeing. Dave. ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/dsc: Add Per connector debugfs node for DSC support/enable (rev4)
== Series Details == Series: drm/i915/dsc: Add Per connector debugfs node for DSC support/enable (rev4) URL : https://patchwork.freedesktop.org/series/53449/ State : success == Summary == CI Bug Log - changes from CI_DRM_5269 -> Patchwork_11028 Summary --- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/53449/revisions/4/mbox/ Possible new issues --- Here are the unknown changes that may have been introduced in Patchwork_11028: ### IGT changes ### Warnings * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-c: - {fi-kbl-7567u}: PASS -> SKIP +33 Known issues Here are the changes found in Patchwork_11028 that come from known issues: ### IGT changes ### Issues hit * igt@gem_exec_suspend@basic-s3: - fi-blb-e6850: PASS -> INCOMPLETE [fdo#107718] * igt@i915_selftest@live_hangcheck: - fi-bwr-2160:PASS -> DMESG-FAIL [fdo#108735] * igt@prime_vgem@basic-fence-flip: - fi-bdw-gvtdvm: PASS -> FAIL [fdo#103182] Possible fixes * igt@i915_selftest@live_coherency: - fi-gdg-551: DMESG-FAIL [fdo#107164] -> PASS * igt@i915_selftest@live_execlists: - fi-apl-guc: DMESG-WARN [fdo#108622] -> PASS {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#103182]: https://bugs.freedesktop.org/show_bug.cgi?id=103182 [fdo#107164]: https://bugs.freedesktop.org/show_bug.cgi?id=107164 [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718 [fdo#108622]: https://bugs.freedesktop.org/show_bug.cgi?id=108622 [fdo#108735]: https://bugs.freedesktop.org/show_bug.cgi?id=108735 Participating hosts (49 -> 45) -- Additional (1): fi-kbl-7560u Missing(5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-bdw-samus Build changes - * Linux: CI_DRM_5269 -> Patchwork_11028 CI_DRM_5269: 4a90a5940e2c7c3fba7af5529e693ba32ccb6d43 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4743: edb2db2cf2b6665d7ba3fa9117263302f6307a4f @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_11028: 00393ec00edf942b5cda8f7315c8af5487ae7092 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 00393ec00edf drm/i915/dsc: Add Per connector debugfs node for DSC support/enable == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11028/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/icl: Document Wa_1606682166
== Series Details == Series: drm/i915/icl: Document Wa_1606682166 URL : https://patchwork.freedesktop.org/series/53584/ State : success == Summary == CI Bug Log - changes from CI_DRM_5266_full -> Patchwork_11022_full Summary --- **SUCCESS** No regressions found. Known issues Here are the changes found in Patchwork_11022_full that come from known issues: ### IGT changes ### Issues hit * igt@gem_exec_schedule@pi-ringfull-blt: - {shard-iclb}: NOTRUN -> FAIL [fdo#103158] * igt@gem_exec_schedule@pi-ringfull-render: - shard-skl: NOTRUN -> FAIL [fdo#103158] * igt@gem_softpin@noreloc-s3: - shard-skl: PASS -> INCOMPLETE [fdo#104108] / [fdo#107773] * igt@kms_ccs@pipe-c-crc-sprite-planes-basic: - {shard-iclb}: NOTRUN -> FAIL [fdo#107725] * igt@kms_chv_cursor_fail@pipe-b-128x128-right-edge: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] / [fdo#108336] * igt@kms_cursor_crc@cursor-128x128-dpms: - shard-apl: PASS -> FAIL [fdo#103232] * igt@kms_cursor_crc@cursor-256x256-random: - shard-glk: PASS -> FAIL [fdo#103232] +2 * igt@kms_cursor_crc@cursor-256x85-sliding: - shard-skl: NOTRUN -> FAIL [fdo#103232] +1 * igt@kms_cursor_crc@cursor-64x64-onscreen: - {shard-iclb}: NOTRUN -> FAIL [fdo#103232] +6 * igt@kms_cursor_crc@cursor-size-change: - shard-skl: PASS -> FAIL [fdo#103232] * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible: - shard-glk: PASS -> FAIL [fdo#105363] * igt@kms_flip@flip-vs-expired-vblank: - shard-skl: PASS -> FAIL [fdo#105363] * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc: - shard-glk: PASS -> FAIL [fdo#103167] +2 - shard-apl: PASS -> FAIL [fdo#103167] +1 * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen: - {shard-iclb}: PASS -> FAIL [fdo#103167] +2 * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-wc: - shard-skl: NOTRUN -> FAIL [fdo#103167] +2 * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt: - {shard-iclb}: PASS -> DMESG-FAIL [fdo#107724] * igt@kms_frontbuffer_tracking@fbcpsr-stridechange: - shard-skl: NOTRUN -> FAIL [fdo#105683] * igt@kms_plane@pixel-format-pipe-a-planes: - {shard-iclb}: NOTRUN -> FAIL [fdo#103166] * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}: - shard-skl: NOTRUN -> DMESG-WARN [fdo#106885] - shard-glk: PASS -> FAIL [fdo#108948] * {igt@kms_plane@pixel-format-pipe-c-planes-source-clamping}: - shard-apl: PASS -> FAIL [fdo#108948] * igt@kms_plane@plane-position-covered-pipe-c-planes: - {shard-iclb}: PASS -> FAIL [fdo#103166] * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc: - shard-skl: NOTRUN -> FAIL [fdo#107815] / [fdo#108145] +1 * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb: - shard-skl: NOTRUN -> FAIL [fdo#108145] * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc: - shard-skl: PASS -> FAIL [fdo#107815] * igt@kms_plane_scaling@pipe-b-scaler-with-rotation: - {shard-iclb}: NOTRUN -> DMESG-WARN [fdo#107724] * igt@kms_plane_scaling@pipe-c-scaler-with-pixel-format: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] +1 * {igt@kms_rotation_crc@multiplane-rotation-cropping-top}: - shard-kbl: PASS -> DMESG-FAIL [fdo#108950] * igt@kms_rotation_crc@primary-rotation-180: - shard-skl: PASS -> FAIL [fdo#103925] / [fdo#107815] * igt@kms_setmode@basic: - shard-kbl: PASS -> FAIL [fdo#99912] * igt@kms_vblank@pipe-c-ts-continuation-suspend: - shard-hsw: PASS -> FAIL [fdo#104894] * igt@pm_rpm@i2c: - {shard-iclb}: PASS -> INCOMPLETE [fdo#108840] Possible fixes * igt@i915_suspend@debugfs-reader: - shard-skl: INCOMPLETE [fdo#104108] -> PASS * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a: - shard-kbl: DMESG-WARN [fdo#107956] -> PASS * igt@kms_color@pipe-b-legacy-gamma: - shard-apl: FAIL [fdo#104782] -> PASS +1 * igt@kms_cursor_crc@cursor-128x128-onscreen: - shard-apl: FAIL [fdo#103232] -> PASS * igt@kms_cursor_crc@cursor-64x64-sliding: - shard-glk: FAIL [fdo#103232] -> PASS +2 * igt@kms_cursor_legacy@long-nonblocking-modeset-vs-cursor-atomic: - {shard-iclb}: INCOMPLETE -> PASS * igt@kms_draw_crc@draw-method-xrgb-mmap-gtt-ytiled: - {shard-iclb}: WARN [fdo#108336] -> PASS * igt@kms_flip@flip-vs-expired-vblank-interruptible: - shard-skl: FAIL [fdo#105363] -> PASS * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt: - shard-apl: FAIL [fdo#103167] ->
[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/dsc: Add Per connector debugfs node for DSC support/enable (rev4)
== Series Details == Series: drm/i915/dsc: Add Per connector debugfs node for DSC support/enable (rev4) URL : https://patchwork.freedesktop.org/series/53449/ State : warning == Summary == $ dim checkpatch origin/drm-tip 00393ec00edf drm/i915/dsc: Add Per connector debugfs node for DSC support/enable -:171: WARNING:SYMBOLIC_PERMS: Symbolic permissions 'S_IRUGO' are not preferred. Consider using octal permissions '0444'. #171: FILE: drivers/gpu/drm/i915/i915_debugfs.c:5230: + debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root, -:200: CHECK:BOOL_MEMBER: Avoid using bool structure members because of possible alignment issues - see: https://lkml.org/lkml/2017/11/21/384 #200: FILE: drivers/gpu/drm/i915/intel_drv.h:1214: + bool force_dsc_en; total: 0 errors, 1 warnings, 1 checks, 141 lines checked ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/fbc/cnl: Add GLK and CNL+ hardware tracking area
On Wed, 2018-12-05 at 12:30 +, Patchwork wrote: > == Series Details == > > Series: drm/i915/fbc/cnl: Add GLK and CNL+ hardware tracking area > URL : https://patchwork.freedesktop.org/series/53515/ > State : failure > > == Summary == > > CI Bug Log - changes from CI_DRM_5263_full -> Patchwork_11016_full > > > Summary > --- > > **FAILURE** > > Serious unknown changes coming with Patchwork_11016_full absolutely > need to be > verified manually. > > If you think the reported changes have nothing to do with the > changes > introduced in Patchwork_11016_full, please notify your bug team to > allow them > to document this new failure mode, which will reduce false > positives in CI. > > > > Possible new issues > --- > > Here are the unknown changes that may have been introduced in > Patchwork_11016_full: > > ### IGT changes ### > > Possible regressions > > * igt@kms_cursor_legacy@pipe-a-torture-bo: > - shard-skl: PASS -> INCOMPLETE > > > Warnings > > * igt@kms > _frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-cpu: > - shard-hsw: PASS -> SKIP +1 > This change only affects GLK and GEN10+ so this incomplete and skips are comming from other changes. Thanks for the review DK, patch merged to dinq. > > Known issues > > > Here are the changes found in Patchwork_11016_full that come from > known issues: > > ### IGT changes ### > > Issues hit > > * igt@gem_exec_schedule@pi-ringfull-blt: > - {shard-iclb}: NOTRUN -> FAIL [fdo#103158] > > * igt@gem_exec_schedule@pi-ringfull-render: > - shard-skl: NOTRUN -> FAIL [fdo#103158] +1 > > * igt@gem_exec_schedule@smoketest-all: > - shard-glk: PASS -> INCOMPLETE [fdo#103359] / > [k.org#198133] > > * igt@gem_ppgtt@blt-vs-render-ctxn: > - shard-skl: NOTRUN -> TIMEOUT [fdo#108039] > > * igt@gem_userptr_blits@readonly-unsync: > - shard-skl: NOTRUN -> TIMEOUT [fdo#108887] > > * igt@i915_suspend@shrink: > - shard-skl: NOTRUN -> DMESG-WARN [fdo#108784] > > * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a: > - shard-skl: NOTRUN -> DMESG-WARN [fdo#107956] > > * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b: > - {shard-iclb}: NOTRUN -> DMESG-WARN [fdo#107956] +1 > > * igt@kms_ccs@pipe-a-crc-sprite-planes-basic: > - shard-glk: PASS -> FAIL [fdo#108145] > > * igt@kms_ccs@pipe-c-crc-sprite-planes-basic: > - {shard-iclb}: NOTRUN -> FAIL [fdo#107725] +1 > > * igt@kms_color@pipe-c-ctm-max: > - shard-apl: PASS -> FAIL [fdo#108147] > > * igt@kms_cursor_crc@cursor-128x42-offscreen: > - shard-skl: PASS -> FAIL [fdo#103232] > > * igt@kms_cursor_crc@cursor-256x85-onscreen: > - shard-glk: PASS -> FAIL [fdo#103232] +2 > > * igt@kms_cursor_crc@cursor-256x85-sliding: > - {shard-iclb}: NOTRUN -> FAIL [fdo#103232] +2 > > * igt@kms_cursor_crc@cursor-64x21-random: > - shard-apl: PASS -> FAIL [fdo#103232] +3 > > * igt@kms_cursor_crc@cursor-64x64-suspend: > - shard-apl: PASS -> FAIL [fdo#103191] / [fdo#103232] +1 > > * igt@kms_draw_crc@draw-method-rgb565-mmap-cpu-xtiled: > - shard-skl: PASS -> FAIL [fdo#103184] > > * igt@kms_fbcon_fbt@psr: > - shard-skl: NOTRUN -> FAIL [fdo#107882] > > * igt@kms_flip@flip-vs-expired-vblank: > - shard-glk: PASS -> FAIL [fdo#102887] / [fdo#105363] > > * igt@kms_flip_tiling@flip-to-y-tiled: > - shard-skl: PASS -> FAIL [fdo#107931] > > * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move: > - {shard-iclb}: PASS -> FAIL [fdo#103167] +3 > > * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt: > - shard-glk: PASS -> FAIL [fdo#103167] +1 > > * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-onoff: > - shard-hsw: PASS -> INCOMPLETE [fdo#103540] > > * igt@kms_frontbuffer_tracking@fbcpsr-stridechange: > - {shard-iclb}: PASS -> FAIL [fdo#105683] > > * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff: > - shard-skl: NOTRUN -> FAIL [fdo#103167] > > * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}: > - shard-skl: NOTRUN -> DMESG-WARN [fdo#106885] +1 > > * igt@kms_plane@pixel-format-pipe-b-planes: > - {shard-iclb}: NOTRUN -> FAIL [fdo#103166] > > * {igt@kms_plane@pixel-format-pipe-b-planes-source-clamping}: > - shard-apl: PASS -> FAIL [fdo#108948] > > * igt@kms_plane@plane-position-covered-pipe-b-planes: > - shard-apl: PASS -> FAIL [fdo#103166] > > * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc: > - shard-skl: NOTRUN -> FAIL [fdo#107815] / [fdo#108145] > > *
Re: [Intel-gfx] [PATCH] drm: Fix documentation generation for DP_DPCD_QUIRK_NO_PSR
On Wed, 2018-12-05 at 12:30 -0800, Dhinakaran Pandiyan wrote: > On Wed, 2018-12-05 at 10:48 -0800, José Roberto de Souza wrote: > > The DP_DPCD_QUIRK_NO_PSR comment is missing colon causing this > > warning when generating kernel documentation. > > > > ./include/drm/drm_dp_helper.h:1374: warning: Incorrect use of > > kernel- > > doc format: * @DP_DPCD_QUIRK_NO_PSR > > > Cc: dri-de...@lists.freedesktop.org > Reviewed-by: Dhinakaran Pandiyan Thanks for the review, merged. > > Fixes: 7c5c641a930e (drm/i915: Disable PSR in Apple panels) > > Cc: Dhinakaran Pandiyan > > Signed-off-by: José Roberto de Souza > > --- > > include/drm/drm_dp_helper.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/include/drm/drm_dp_helper.h > > b/include/drm/drm_dp_helper.h > > index 18cfde45b8ed..c223c87ef119 100644 > > --- a/include/drm/drm_dp_helper.h > > +++ b/include/drm/drm_dp_helper.h > > @@ -1370,7 +1370,7 @@ enum drm_dp_quirk { > > */ > > DP_DPCD_QUIRK_CONSTANT_N, > > /** > > -* @DP_DPCD_QUIRK_NO_PSR > > +* @DP_DPCD_QUIRK_NO_PSR: > > * > > * The device does not support PSR even if reports that it > > supports or > > * driver still need to implement proper handling for such > > device. signature.asc Description: This is a digitally signed message part ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.IGT: success for drm: Fix documentation generation for DP_DPCD_QUIRK_NO_PSR
== Series Details == Series: drm: Fix documentation generation for DP_DPCD_QUIRK_NO_PSR URL : https://patchwork.freedesktop.org/series/53582/ State : success == Summary == CI Bug Log - changes from CI_DRM_5266_full -> Patchwork_11021_full Summary --- **SUCCESS** No regressions found. Known issues Here are the changes found in Patchwork_11021_full that come from known issues: ### IGT changes ### Issues hit * igt@gem_exec_schedule@pi-ringfull-blt: - {shard-iclb}: NOTRUN -> FAIL [fdo#103158] * igt@gem_exec_schedule@pi-ringfull-render: - shard-skl: NOTRUN -> FAIL [fdo#103158] * igt@gem_ppgtt@blt-vs-render-ctx0: - shard-skl: PASS -> TIMEOUT [fdo#108039] * igt@gem_ppgtt@blt-vs-render-ctxn: - shard-skl: NOTRUN -> TIMEOUT [fdo#108039] * igt@gem_workarounds@suspend-resume-fd: - {shard-iclb}: PASS -> INCOMPLETE [fdo#107713] * igt@kms_atomic_transition@plane-toggle-modeset-transition: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] +11 * igt@kms_ccs@pipe-c-crc-sprite-planes-basic: - {shard-iclb}: NOTRUN -> FAIL [fdo#107725] * igt@kms_color@pipe-a-ctm-max: - shard-apl: PASS -> FAIL [fdo#108147] * igt@kms_cursor_crc@cursor-128x128-dpms: - shard-apl: PASS -> FAIL [fdo#103232] * igt@kms_cursor_crc@cursor-256x85-sliding: - shard-skl: NOTRUN -> FAIL [fdo#103232] +1 * igt@kms_cursor_crc@cursor-64x64-onscreen: - {shard-iclb}: NOTRUN -> FAIL [fdo#103232] +6 * igt@kms_cursor_crc@cursor-64x64-random: - shard-glk: PASS -> FAIL [fdo#103232] +1 * igt@kms_cursor_crc@cursor-size-change: - shard-skl: PASS -> FAIL [fdo#103232] * igt@kms_draw_crc@draw-method-xrgb2101010-mmap-cpu-ytiled: - {shard-iclb}: PASS -> WARN [fdo#108336] * igt@kms_fbcon_fbt@psr-suspend: - shard-skl: NOTRUN -> FAIL [fdo#107882] * igt@kms_flip@2x-modeset-vs-vblank-race-interruptible: - shard-glk: PASS -> FAIL [fdo#103060] * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff: - shard-apl: PASS -> FAIL [fdo#103167] * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move: - shard-glk: PASS -> FAIL [fdo#103167] +2 * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-blt: - {shard-iclb}: PASS -> DMESG-FAIL [fdo#107724] +1 * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-onoff: - shard-skl: NOTRUN -> FAIL [fdo#103167] * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc: - {shard-iclb}: PASS -> FAIL [fdo#103167] +2 * igt@kms_frontbuffer_tracking@fbcpsr-stridechange: - shard-skl: NOTRUN -> FAIL [fdo#105683] * igt@kms_frontbuffer_tracking@fbcpsr-suspend: - shard-skl: PASS -> INCOMPLETE [fdo#104108] / [fdo#106978] * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] / [fdo#108336] +4 * igt@kms_plane@pixel-format-pipe-a-planes: - {shard-iclb}: NOTRUN -> FAIL [fdo#103166] * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}: - shard-skl: NOTRUN -> DMESG-WARN [fdo#106885] * {igt@kms_plane@pixel-format-pipe-c-planes-source-clamping}: - shard-apl: PASS -> FAIL [fdo#108948] * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc: - shard-skl: NOTRUN -> FAIL [fdo#107815] / [fdo#108145] +1 * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb: - shard-skl: NOTRUN -> FAIL [fdo#108145] * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc: - shard-skl: PASS -> FAIL [fdo#107815] * igt@kms_plane_multiple@atomic-pipe-c-tiling-yf: - {shard-iclb}: PASS -> FAIL [fdo#103166] +1 * igt@kms_plane_scaling@pipe-b-scaler-with-rotation: - {shard-iclb}: NOTRUN -> DMESG-WARN [fdo#107724] * {igt@kms_rotation_crc@multiplane-rotation-cropping-top}: - shard-kbl: PASS -> DMESG-WARN [fdo#105604] * igt@kms_rotation_crc@primary-rotation-180: - shard-skl: PASS -> FAIL [fdo#103925] / [fdo#107815] * igt@kms_setmode@basic: - shard-kbl: PASS -> FAIL [fdo#99912] * igt@pm_rpm@dpms-mode-unset-non-lpsp: - shard-skl: SKIP -> INCOMPLETE [fdo#107807] * igt@pm_rpm@i2c: - {shard-iclb}: PASS -> FAIL [fdo#104097] * igt@pm_rpm@system-suspend-modeset: - {shard-iclb}: PASS -> INCOMPLETE [fdo#107713] / [fdo#108840] * igt@pm_rpm@universal-planes: - {shard-iclb}: PASS -> DMESG-WARN [fdo#108654] / [fdo#108756] * {igt@runner@aborted}: - {shard-iclb}: NOTRUN -> FAIL [fdo#108654] / [fdo#108756] Possible fixes * igt@gem_userptr_blits@readonly-unsync: - shard-skl: TIMEOUT [fdo#108887] -> PASS *
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/cnl: Fix the formulae for register offsets (rev3)
== Series Details == Series: drm/i915/cnl: Fix the formulae for register offsets (rev3) URL : https://patchwork.freedesktop.org/series/52960/ State : success == Summary == CI Bug Log - changes from CI_DRM_5267 -> Patchwork_11027 Summary --- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/52960/revisions/3/mbox/ Known issues Here are the changes found in Patchwork_11027 that come from known issues: ### IGT changes ### Issues hit * igt@gem_exec_suspend@basic-s3: - fi-blb-e6850: PASS -> INCOMPLETE [fdo#107718] * igt@prime_vgem@basic-fence-flip: - fi-gdg-551: PASS -> FAIL [fdo#103182] * {igt@runner@aborted}: - {fi-icl-y}: NOTRUN -> FAIL [fdo#108070] {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#103182]: https://bugs.freedesktop.org/show_bug.cgi?id=103182 [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718 [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070 Participating hosts (49 -> 45) -- Additional (1): fi-icl-y Missing(5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 Build changes - * Linux: CI_DRM_5267 -> Patchwork_11027 CI_DRM_5267: 680d161b3cf77a94e05dfdedcdeed4f38e4b7fd8 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4743: edb2db2cf2b6665d7ba3fa9117263302f6307a4f @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_11027: 733ee99ec81a0bac9e5972a5126b8a731651cd1a @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 733ee99ec81a drm/i915/cnl: Fix the formulae for register offsets == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11027/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH v8] drm/i915/dsc: Add Per connector debugfs node for DSC support/enable
DSC can be supported per DP connector. This patch adds a per connector debugfs node to expose DSC support capability by the kernel. The same node can be used from userspace to force DSC enable. force_dsc_en written through this debugfs node is used to force DSC even for lower resolutions. Credits to Ville Syrjala for suggesting the proper locks to be used and to Lyude Paul for explaining how to use them in this context v8: * Add else if (ret) for drm_modeset_lock (Lyude) v7: * Get crtc, crtc_state from connector atomic state and add proper locks and backoff (Ville, Chris Wilson, Lyude) (Suggested-by: Ville Syrjala ) * Use %zu for printing size_t variable (Lyude) v6: * Read fec_capable only for non edp (Manasi) v5: * Name it dsc sink support and also add fec support in the same node (Ville) v4: * Add missed connector_status check (Manasi) * Create i915_dsc_support node only for Gen >=10 (manasi) * Access intel_dp->dsc_dpcd only if its not NULL (Manasi) v3: * Combine Force_dsc_en with this patch (Ville) v2: * Use kstrtobool_from_user to avoid explicit error checking (Lyude) * Rebase on drm-tip (Manasi) Cc: Rodrigo Vivi Cc: Ville Syrjala Cc: Anusha Srivatsa Cc: Lyude Paul Signed-off-by: Manasi Navare Reviewed-by: Lyude Paul --- drivers/gpu/drm/i915/i915_debugfs.c | 106 drivers/gpu/drm/i915/intel_dp.c | 3 +- drivers/gpu/drm/i915/intel_drv.h| 3 + 3 files changed, 111 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 38dcee1ca062..5fe1f44e9bc0 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -5088,6 +5088,105 @@ static int i915_hdcp_sink_capability_show(struct seq_file *m, void *data) } DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability); +static int i915_dsc_fec_support_show(struct seq_file *m, void *data) +{ + struct drm_connector *connector = m->private; + struct drm_device *dev = connector->dev; + struct drm_crtc *crtc; + struct intel_dp *intel_dp; + struct drm_modeset_acquire_ctx ctx; + struct intel_crtc_state *crtc_state = NULL; + int ret = 0; + bool try_again = false; + + drm_modeset_acquire_init(, DRM_MODESET_ACQUIRE_INTERRUPTIBLE); + + do { + ret = drm_modeset_lock(>mode_config.connection_mutex, + ); + if (ret) { + ret = -EINTR; + break; + } + crtc = connector->state->crtc; + if (connector->status != connector_status_connected || !crtc) { + ret = -ENODEV; + break; + } + ret = drm_modeset_lock(>mutex, ); + if (ret == -EDEADLK) { + ret = drm_modeset_backoff(); + if (!ret) { + try_again = true; + continue; + } + break; + } else if (ret) { + break; + } + intel_dp = enc_to_intel_dp(_attached_encoder(connector)->base); + crtc_state = to_intel_crtc_state(crtc->state); + seq_printf(m, "DSC_Enabled: %s\n", + yesno(crtc_state->dsc_params.compression_enable)); + if (intel_dp->dsc_dpcd) + seq_printf(m, "DSC_Sink_Support: %s\n", + yesno(drm_dp_sink_supports_dsc(intel_dp->dsc_dpcd))); + if (!intel_dp_is_edp(intel_dp)) + seq_printf(m, "FEC_Sink_Support: %s\n", + yesno(drm_dp_sink_supports_fec(intel_dp->fec_capable))); + } while (try_again); + + drm_modeset_drop_locks(); + drm_modeset_acquire_fini(); + + return ret; +} + +static ssize_t i915_dsc_fec_support_write(struct file *file, + const char __user *ubuf, + size_t len, loff_t *offp) +{ + bool dsc_enable = false; + int ret; + struct drm_connector *connector = + ((struct seq_file *)file->private_data)->private; + struct intel_encoder *encoder = intel_attached_encoder(connector); + struct intel_dp *intel_dp = enc_to_intel_dp(>base); + + if (len == 0) + return 0; + + DRM_DEBUG_DRIVER("Copied %zu bytes from user to force DSC\n", +len); + + ret = kstrtobool_from_user(ubuf, len, _enable); + if (ret < 0) + return ret; + + DRM_DEBUG_DRIVER("Got %s for DSC Enable\n", +(dsc_enable) ? "true" : "false"); + intel_dp->force_dsc_en = dsc_enable; + + *offp += len; + return len; +} + +static int i915_dsc_fec_support_open(struct inode *inode, +
[Intel-gfx] ✓ Fi.CI.IGT: success for Makefile: fix mixed tab and spaces (rev2)
== Series Details == Series: Makefile: fix mixed tab and spaces (rev2) URL : https://patchwork.freedesktop.org/series/53550/ State : success == Summary == CI Bug Log - changes from CI_DRM_5266_full -> Patchwork_11020_full Summary --- **SUCCESS** No regressions found. Known issues Here are the changes found in Patchwork_11020_full that come from known issues: ### IGT changes ### Issues hit * igt@gem_exec_schedule@pi-ringfull-blt: - {shard-iclb}: NOTRUN -> FAIL [fdo#103158] * igt@gem_ppgtt@blt-vs-render-ctx0: - shard-skl: PASS -> TIMEOUT [fdo#108039] * igt@kms_atomic_transition@plane-toggle-modeset-transition: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] +10 * igt@kms_available_modes_crc@available_mode_test_crc: - shard-apl: PASS -> FAIL [fdo#106641] * igt@kms_ccs@pipe-c-crc-sprite-planes-basic: - {shard-iclb}: NOTRUN -> FAIL [fdo#107725] * igt@kms_color@pipe-a-ctm-max: - shard-apl: PASS -> FAIL [fdo#108147] * igt@kms_cursor_crc@cursor-128x128-dpms: - shard-apl: PASS -> FAIL [fdo#103232] * igt@kms_cursor_crc@cursor-256x85-sliding: - shard-skl: NOTRUN -> FAIL [fdo#103232] +1 * igt@kms_cursor_crc@cursor-64x64-onscreen: - {shard-iclb}: NOTRUN -> FAIL [fdo#103232] +6 * igt@kms_cursor_crc@cursor-64x64-suspend: - shard-skl: PASS -> INCOMPLETE [fdo#104108] / [fdo#107773] * igt@kms_cursor_crc@cursor-size-change: - shard-skl: PASS -> FAIL [fdo#103232] * igt@kms_draw_crc@draw-method-xrgb2101010-mmap-cpu-ytiled: - {shard-iclb}: PASS -> WARN [fdo#108336] * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff: - shard-apl: PASS -> FAIL [fdo#103167] +1 * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc: - shard-glk: PASS -> FAIL [fdo#103167] +3 * igt@kms_frontbuffer_tracking@fbc-suspend: - shard-skl: NOTRUN -> INCOMPLETE [fdo#104108] / [fdo#105959] / [fdo#107773] * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-blt: - {shard-iclb}: PASS -> DMESG-FAIL [fdo#107724] +1 * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-onoff: - shard-skl: NOTRUN -> FAIL [fdo#103167] * igt@kms_frontbuffer_tracking@fbcpsr-stridechange: - shard-skl: NOTRUN -> FAIL [fdo#105683] * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] / [fdo#108336] +4 * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-gtt: - {shard-iclb}: PASS -> FAIL [fdo#103167] +1 * igt@kms_plane@pixel-format-pipe-a-planes: - {shard-iclb}: NOTRUN -> FAIL [fdo#103166] * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes: - {shard-iclb}: PASS -> INCOMPLETE [fdo#107713] +1 * igt@kms_plane@plane-position-covered-pipe-c-planes: - shard-apl: PASS -> FAIL [fdo#103166] +1 - {shard-iclb}: PASS -> FAIL [fdo#103166] +1 * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc: - shard-skl: NOTRUN -> FAIL [fdo#107815] / [fdo#108145] +1 * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb: - shard-skl: NOTRUN -> FAIL [fdo#108145] * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc: - shard-skl: PASS -> FAIL [fdo#107815] * igt@kms_plane_scaling@pipe-b-scaler-with-rotation: - {shard-iclb}: NOTRUN -> DMESG-WARN [fdo#107724] * igt@kms_rotation_crc@primary-rotation-180: - shard-skl: PASS -> FAIL [fdo#103925] / [fdo#107815] * igt@kms_setmode@basic: - shard-kbl: PASS -> FAIL [fdo#99912] * igt@pm_rpm@basic-pci-d3-state: - shard-skl: PASS -> INCOMPLETE [fdo#107807] * igt@pm_rpm@cursor: - {shard-iclb}: PASS -> DMESG-WARN [fdo#108654] Possible fixes * igt@gem_userptr_blits@readonly-unsync: - shard-skl: TIMEOUT [fdo#108887] -> PASS * igt@i915_suspend@debugfs-reader: - shard-skl: INCOMPLETE [fdo#104108] -> PASS * igt@kms_color@pipe-b-legacy-gamma: - shard-apl: FAIL [fdo#104782] -> PASS +1 * igt@kms_cursor_crc@cursor-128x128-onscreen: - shard-glk: FAIL [fdo#103232] -> PASS +1 * igt@kms_cursor_crc@cursor-128x128-suspend: - shard-apl: FAIL [fdo#103191] / [fdo#103232] -> PASS * igt@kms_cursor_legacy@long-nonblocking-modeset-vs-cursor-atomic: - {shard-iclb}: INCOMPLETE -> PASS * igt@kms_draw_crc@draw-method-xrgb-mmap-gtt-ytiled: - {shard-iclb}: WARN [fdo#108336] -> PASS +2 * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt: - shard-apl: FAIL [fdo#103167] -> PASS * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt: - shard-skl: FAIL
[Intel-gfx] [PATCH v3] drm/i915/cnl: Fix the formulae for register offsets
For gen10+ the offsets for Slice PG cntl/ EU PG cntl donot scale well for higher slices. v2: Use _PICK instead of formulae(Jani) v3: Remove superfluous newlines(Jani) Cc: Rodrigo Vivi Cc: Lucs De Marchi Cc: Daniele Ceraolo Spurio Reviewed-by: Jani Nikula Signed-off-by: Radhakrishna Sripada --- drivers/gpu/drm/i915/i915_reg.h | 51 + 1 file changed, 45 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 0a7d60509ca7..a7f9f8da8e88 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@ -8675,18 +8675,57 @@ enum { #define CHV_EU311_PG_ENABLE (1 << 1) #define GEN9_SLICE_PGCTL_ACK(slice)_MMIO(0x804c + (slice) * 0x4) -#define GEN10_SLICE_PGCTL_ACK(slice) _MMIO(0x804c + ((slice) / 3) * 0x34 + \ - ((slice) % 3) * 0x4) + +#define _CNL_SLICE0_PGCTL_ACK 0x804c +#define _CNL_SLICE1_PGCTL_ACK 0x8050 +#define _CNL_SLICE2_PGCTL_ACK 0x8054 +#define _CNL_SLICE3_PGCTL_ACK 0x8080 +#define _CNL_SLICE4_PGCTL_ACK 0x8084 +#define _CNL_SLICE5_PGCTL_ACK 0x8088 +#define GEN10_SLICE_PGCTL_ACK(slice) _MMIO(_PICK(slice, \ + _CNL_SLICE0_PGCTL_ACK, \ + _CNL_SLICE1_PGCTL_ACK, \ + _CNL_SLICE2_PGCTL_ACK, \ + _CNL_SLICE3_PGCTL_ACK, \ + _CNL_SLICE4_PGCTL_ACK, \ + _CNL_SLICE5_PGCTL_ACK)) + #define GEN9_PGCTL_SLICE_ACK (1 << 0) #define GEN9_PGCTL_SS_ACK(subslice) (1 << (2 + (subslice) * 2)) #define GEN10_PGCTL_VALID_SS_MASK(slice) ((slice) == 0 ? 0x7F : 0x1F) #define GEN9_SS01_EU_PGCTL_ACK(slice) _MMIO(0x805c + (slice) * 0x8) -#define GEN10_SS01_EU_PGCTL_ACK(slice) _MMIO(0x805c + ((slice) / 3) * 0x30 + \ - ((slice) % 3) * 0x8) + +#define _CNL_SLICE0_SS01_EU_PGCTL_ACK 0x805c +#define _CNL_SLICE1_SS01_EU_PGCTL_ACK 0x8064 +#define _CNL_SLICE2_SS01_EU_PGCTL_ACK 0x806c +#define _CNL_SLICE3_SS01_EU_PGCTL_ACK 0x808c +#define _CNL_SLICE4_SS01_EU_PGCTL_ACK 0x8094 +#define _CNL_SLICE5_SS01_EU_PGCTL_ACK 0x809c +#define GEN10_SS01_EU_PGCTL_ACK(slice) _MMIO(_PICK(slice, \ + _CNL_SLICE0_SS01_EU_PGCTL_ACK, \ + _CNL_SLICE1_SS01_EU_PGCTL_ACK, \ + _CNL_SLICE2_SS01_EU_PGCTL_ACK, \ + _CNL_SLICE3_SS01_EU_PGCTL_ACK, \ + _CNL_SLICE4_SS01_EU_PGCTL_ACK, \ + _CNL_SLICE5_SS01_EU_PGCTL_ACK)) + #define GEN9_SS23_EU_PGCTL_ACK(slice) _MMIO(0x8060 + (slice) * 0x8) -#define GEN10_SS23_EU_PGCTL_ACK(slice) _MMIO(0x8060 + ((slice) / 3) * 0x30 + \ - ((slice) % 3) * 0x8) + +#define _CNL_SLICE0_SS23_EU_PGCTL_ACK 0x8060 +#define _CNL_SLICE1_SS23_EU_PGCTL_ACK 0x8068 +#define _CNL_SLICE2_SS23_EU_PGCTL_ACK 0x8070 +#define _CNL_SLICE3_SS23_EU_PGCTL_ACK 0x8090 +#define _CNL_SLICE4_SS23_EU_PGCTL_ACK 0x8098 +#define _CNL_SLICE5_SS23_EU_PGCTL_ACK 0x80a0 +#define GEN10_SS23_EU_PGCTL_ACK(slice) _MMIO(_PICK(slice, \ + _CNL_SLICE0_SS23_EU_PGCTL_ACK, \ + _CNL_SLICE1_SS23_EU_PGCTL_ACK, \ + _CNL_SLICE2_SS23_EU_PGCTL_ACK, \ + _CNL_SLICE3_SS23_EU_PGCTL_ACK, \ + _CNL_SLICE4_SS23_EU_PGCTL_ACK, \ + _CNL_SLICE5_SS23_EU_PGCTL_ACK)) + #define GEN9_PGCTL_SSA_EU08_ACK (1 << 0) #define GEN9_PGCTL_SSA_EU19_ACK (1 << 2) #define GEN9_PGCTL_SSA_EU210_ACK (1 << 4) -- 2.17.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/dsc: Add Per connector debugfs node for DSC support/enable (rev3)
== Series Details == Series: drm/i915/dsc: Add Per connector debugfs node for DSC support/enable (rev3) URL : https://patchwork.freedesktop.org/series/53449/ State : success == Summary == CI Bug Log - changes from CI_DRM_5267 -> Patchwork_11026 Summary --- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/53449/revisions/3/mbox/ Known issues Here are the changes found in Patchwork_11026 that come from known issues: ### IGT changes ### Issues hit * igt@gem_exec_suspend@basic-s4-devices: - fi-ivb-3520m: PASS -> FAIL [fdo#108880] * igt@pm_rpm@basic-rte: - {fi-icl-u3}:PASS -> DMESG-WARN [fdo#108654] * {igt@runner@aborted}: - {fi-icl-u3}:NOTRUN -> FAIL [fdo#108654] / [fdo#108756] - {fi-icl-y}: NOTRUN -> FAIL [fdo#108070] Possible fixes * igt@kms_frontbuffer_tracking@basic: - fi-hsw-peppy: DMESG-WARN [fdo#102614] -> PASS {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614 [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070 [fdo#108654]: https://bugs.freedesktop.org/show_bug.cgi?id=108654 [fdo#108756]: https://bugs.freedesktop.org/show_bug.cgi?id=108756 [fdo#108880]: https://bugs.freedesktop.org/show_bug.cgi?id=108880 Participating hosts (49 -> 45) -- Additional (1): fi-icl-y Missing(5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 Build changes - * Linux: CI_DRM_5267 -> Patchwork_11026 CI_DRM_5267: 680d161b3cf77a94e05dfdedcdeed4f38e4b7fd8 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4743: edb2db2cf2b6665d7ba3fa9117263302f6307a4f @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_11026: 0f0985d49a1e6a169aa8516418b64d6cf386e540 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 0f0985d49a1e drm/i915/dsc: Add Per connector debugfs node for DSC support/enable == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11026/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/dsc: Add Per connector debugfs node for DSC support/enable (rev3)
== Series Details == Series: drm/i915/dsc: Add Per connector debugfs node for DSC support/enable (rev3) URL : https://patchwork.freedesktop.org/series/53449/ State : warning == Summary == $ dim checkpatch origin/drm-tip 0f0985d49a1e drm/i915/dsc: Add Per connector debugfs node for DSC support/enable -:170: WARNING:SYMBOLIC_PERMS: Symbolic permissions 'S_IRUGO' are not preferred. Consider using octal permissions '0444'. #170: FILE: drivers/gpu/drm/i915/i915_debugfs.c:5231: + debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root, -:199: CHECK:BOOL_MEMBER: Avoid using bool structure members because of possible alignment issues - see: https://lkml.org/lkml/2017/11/21/384 #199: FILE: drivers/gpu/drm/i915/intel_drv.h:1214: + bool force_dsc_en; total: 0 errors, 1 warnings, 1 checks, 142 lines checked ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v7] drm/i915/dsc: Add Per connector debugfs node for DSC support/enable
On Wed, Dec 05, 2018 at 06:03:08PM -0500, Lyude Paul wrote: > On Wed, 2018-12-05 at 14:57 -0800, Manasi Navare wrote: > > DSC can be supported per DP connector. This patch adds a per connector > > debugfs node to expose DSC support capability by the kernel. > > The same node can be used from userspace to force DSC enable. > > > > force_dsc_en written through this debugfs node is used to force > > DSC even for lower resolutions. > > > > Credits to Ville Syrjala for suggesting the proper locks to be used > > and to Lyude Paul for explaining how to use them in this context > > > > v7: > > * Get crtc, crtc_state from connector atomic state > > and add proper locks and backoff (Ville, Chris Wilson, Lyude) > > (Suggested-by: Ville Syrjala ) > > * Use %zu for printing size_t variable (Lyude) > > v6: > > * Read fec_capable only for non edp (Manasi) > > v5: > > * Name it dsc sink support and also add > > fec support in the same node (Ville) > > v4: > > * Add missed connector_status check (Manasi) > > * Create i915_dsc_support node only for Gen >=10 (manasi) > > * Access intel_dp->dsc_dpcd only if its not NULL (Manasi) > > v3: > > * Combine Force_dsc_en with this patch (Ville) > > v2: > > * Use kstrtobool_from_user to avoid explicit error checking (Lyude) > > * Rebase on drm-tip (Manasi) > > > > Cc: Rodrigo Vivi > > Cc: Ville Syrjala > > Cc: Anusha Srivatsa > > Cc: Lyude Paul > > Signed-off-by: Manasi Navare > > --- > > drivers/gpu/drm/i915/i915_debugfs.c | 107 > > drivers/gpu/drm/i915/intel_dp.c | 3 +- > > drivers/gpu/drm/i915/intel_drv.h| 3 + > > 3 files changed, 112 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c > > b/drivers/gpu/drm/i915/i915_debugfs.c > > index 129b9a6f8309..58f6636fffea 100644 > > --- a/drivers/gpu/drm/i915/i915_debugfs.c > > +++ b/drivers/gpu/drm/i915/i915_debugfs.c > > @@ -5086,6 +5086,106 @@ static int i915_hdcp_sink_capability_show(struct > > seq_file *m, void *data) > > } > > DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability); > > > > +static int i915_dsc_fec_support_show(struct seq_file *m, void *data) > > +{ > > + struct drm_connector *connector = m->private; > > + struct drm_device *dev = connector->dev; > > + struct drm_crtc *crtc; > > + struct intel_dp *intel_dp; > > + struct drm_modeset_acquire_ctx ctx; > > + struct intel_crtc_state *crtc_state = NULL; > > + int ret = 0; > > + bool try_again = false; > > + > > + drm_modeset_acquire_init(, DRM_MODESET_ACQUIRE_INTERRUPTIBLE); > > + > > + do { > > + ret = drm_modeset_lock(>mode_config.connection_mutex, > > + ); > > + if (ret) { > > + ret = -EINTR; > > + break; > > + } > > + crtc = connector->state->crtc; > > + if (connector->status != connector_status_connected || !crtc) > > { > > + ret = -ENODEV; > > + break; > > + } > > + ret = drm_modeset_lock(>mutex, ); > > + if (ret == -EDEADLK) { > > + ret = drm_modeset_backoff(); > > + if (!ret) { > > + try_again = true; > > + continue; > > + } > > + break; > > + } > > + if (ret) > > + break; > Maybe maybe make this: Cool will do and add your r-b Thanks for the reviews! Manasi > > } else if (ret) { > break; > } > > Just for clarity. With that change: > > Reviewed-by: Lyude Paul > > + > > + intel_dp = enc_to_intel_dp(_attached_encoder(connector)- > > >base); > > + crtc_state = to_intel_crtc_state(crtc->state); > > + seq_printf(m, "DSC_Enabled: %s\n", > > + yesno(crtc_state->dsc_params.compression_enable)); > > + if (intel_dp->dsc_dpcd) > > + seq_printf(m, "DSC_Sink_Support: %s\n", > > + yesno(drm_dp_sink_supports_dsc(intel_dp- > > >dsc_dpcd))); > > + if (!intel_dp_is_edp(intel_dp)) > > + seq_printf(m, "FEC_Sink_Support: %s\n", > > + yesno(drm_dp_sink_supports_fec(intel_dp- > > >fec_capable))); > > + } while (try_again); > > + > > + drm_modeset_drop_locks(); > > + drm_modeset_acquire_fini(); > > + > > + return ret; > > +} > > + > > +static ssize_t i915_dsc_fec_support_write(struct file *file, > > + const char __user *ubuf, > > + size_t len, loff_t *offp) > > +{ > > + bool dsc_enable = false; > > + int ret; > > + struct drm_connector *connector = > > + ((struct seq_file *)file->private_data)->private; > > + struct intel_encoder *encoder = intel_attached_encoder(connector); > > + struct intel_dp *intel_dp = enc_to_intel_dp(>base); > > + > > + if (len == 0) > > +
Re: [Intel-gfx] [PATCH v7] drm/i915/dsc: Add Per connector debugfs node for DSC support/enable
On Wed, 2018-12-05 at 14:57 -0800, Manasi Navare wrote: > DSC can be supported per DP connector. This patch adds a per connector > debugfs node to expose DSC support capability by the kernel. > The same node can be used from userspace to force DSC enable. > > force_dsc_en written through this debugfs node is used to force > DSC even for lower resolutions. > > Credits to Ville Syrjala for suggesting the proper locks to be used > and to Lyude Paul for explaining how to use them in this context > > v7: > * Get crtc, crtc_state from connector atomic state > and add proper locks and backoff (Ville, Chris Wilson, Lyude) > (Suggested-by: Ville Syrjala ) > * Use %zu for printing size_t variable (Lyude) > v6: > * Read fec_capable only for non edp (Manasi) > v5: > * Name it dsc sink support and also add > fec support in the same node (Ville) > v4: > * Add missed connector_status check (Manasi) > * Create i915_dsc_support node only for Gen >=10 (manasi) > * Access intel_dp->dsc_dpcd only if its not NULL (Manasi) > v3: > * Combine Force_dsc_en with this patch (Ville) > v2: > * Use kstrtobool_from_user to avoid explicit error checking (Lyude) > * Rebase on drm-tip (Manasi) > > Cc: Rodrigo Vivi > Cc: Ville Syrjala > Cc: Anusha Srivatsa > Cc: Lyude Paul > Signed-off-by: Manasi Navare > --- > drivers/gpu/drm/i915/i915_debugfs.c | 107 > drivers/gpu/drm/i915/intel_dp.c | 3 +- > drivers/gpu/drm/i915/intel_drv.h| 3 + > 3 files changed, 112 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c > b/drivers/gpu/drm/i915/i915_debugfs.c > index 129b9a6f8309..58f6636fffea 100644 > --- a/drivers/gpu/drm/i915/i915_debugfs.c > +++ b/drivers/gpu/drm/i915/i915_debugfs.c > @@ -5086,6 +5086,106 @@ static int i915_hdcp_sink_capability_show(struct > seq_file *m, void *data) > } > DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability); > > +static int i915_dsc_fec_support_show(struct seq_file *m, void *data) > +{ > + struct drm_connector *connector = m->private; > + struct drm_device *dev = connector->dev; > + struct drm_crtc *crtc; > + struct intel_dp *intel_dp; > + struct drm_modeset_acquire_ctx ctx; > + struct intel_crtc_state *crtc_state = NULL; > + int ret = 0; > + bool try_again = false; > + > + drm_modeset_acquire_init(, DRM_MODESET_ACQUIRE_INTERRUPTIBLE); > + > + do { > + ret = drm_modeset_lock(>mode_config.connection_mutex, > +); > + if (ret) { > + ret = -EINTR; > + break; > + } > + crtc = connector->state->crtc; > + if (connector->status != connector_status_connected || !crtc) > { > + ret = -ENODEV; > + break; > + } > + ret = drm_modeset_lock(>mutex, ); > + if (ret == -EDEADLK) { > + ret = drm_modeset_backoff(); > + if (!ret) { > + try_again = true; > + continue; > + } > + break; > + } > + if (ret) > + break; Maybe maybe make this: } else if (ret) { break; } Just for clarity. With that change: Reviewed-by: Lyude Paul > + > + intel_dp = enc_to_intel_dp(_attached_encoder(connector)- > >base); > + crtc_state = to_intel_crtc_state(crtc->state); > + seq_printf(m, "DSC_Enabled: %s\n", > +yesno(crtc_state->dsc_params.compression_enable)); > + if (intel_dp->dsc_dpcd) > + seq_printf(m, "DSC_Sink_Support: %s\n", > +yesno(drm_dp_sink_supports_dsc(intel_dp- > >dsc_dpcd))); > + if (!intel_dp_is_edp(intel_dp)) > + seq_printf(m, "FEC_Sink_Support: %s\n", > +yesno(drm_dp_sink_supports_fec(intel_dp- > >fec_capable))); > + } while (try_again); > + > + drm_modeset_drop_locks(); > + drm_modeset_acquire_fini(); > + > + return ret; > +} > + > +static ssize_t i915_dsc_fec_support_write(struct file *file, > + const char __user *ubuf, > + size_t len, loff_t *offp) > +{ > + bool dsc_enable = false; > + int ret; > + struct drm_connector *connector = > + ((struct seq_file *)file->private_data)->private; > + struct intel_encoder *encoder = intel_attached_encoder(connector); > + struct intel_dp *intel_dp = enc_to_intel_dp(>base); > + > + if (len == 0) > + return 0; > + > + DRM_DEBUG_DRIVER("Copied %zu bytes from user to force DSC\n", > + len); > + > + ret = kstrtobool_from_user(ubuf, len, _enable); > + if (ret < 0) > + return ret; > + > + DRM_DEBUG_DRIVER("Got %s for DSC
[Intel-gfx] [PATCH v7] drm/i915/dsc: Add Per connector debugfs node for DSC support/enable
DSC can be supported per DP connector. This patch adds a per connector debugfs node to expose DSC support capability by the kernel. The same node can be used from userspace to force DSC enable. force_dsc_en written through this debugfs node is used to force DSC even for lower resolutions. Credits to Ville Syrjala for suggesting the proper locks to be used and to Lyude Paul for explaining how to use them in this context v7: * Get crtc, crtc_state from connector atomic state and add proper locks and backoff (Ville, Chris Wilson, Lyude) (Suggested-by: Ville Syrjala ) * Use %zu for printing size_t variable (Lyude) v6: * Read fec_capable only for non edp (Manasi) v5: * Name it dsc sink support and also add fec support in the same node (Ville) v4: * Add missed connector_status check (Manasi) * Create i915_dsc_support node only for Gen >=10 (manasi) * Access intel_dp->dsc_dpcd only if its not NULL (Manasi) v3: * Combine Force_dsc_en with this patch (Ville) v2: * Use kstrtobool_from_user to avoid explicit error checking (Lyude) * Rebase on drm-tip (Manasi) Cc: Rodrigo Vivi Cc: Ville Syrjala Cc: Anusha Srivatsa Cc: Lyude Paul Signed-off-by: Manasi Navare --- drivers/gpu/drm/i915/i915_debugfs.c | 107 drivers/gpu/drm/i915/intel_dp.c | 3 +- drivers/gpu/drm/i915/intel_drv.h| 3 + 3 files changed, 112 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 129b9a6f8309..58f6636fffea 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -5086,6 +5086,106 @@ static int i915_hdcp_sink_capability_show(struct seq_file *m, void *data) } DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability); +static int i915_dsc_fec_support_show(struct seq_file *m, void *data) +{ + struct drm_connector *connector = m->private; + struct drm_device *dev = connector->dev; + struct drm_crtc *crtc; + struct intel_dp *intel_dp; + struct drm_modeset_acquire_ctx ctx; + struct intel_crtc_state *crtc_state = NULL; + int ret = 0; + bool try_again = false; + + drm_modeset_acquire_init(, DRM_MODESET_ACQUIRE_INTERRUPTIBLE); + + do { + ret = drm_modeset_lock(>mode_config.connection_mutex, + ); + if (ret) { + ret = -EINTR; + break; + } + crtc = connector->state->crtc; + if (connector->status != connector_status_connected || !crtc) { + ret = -ENODEV; + break; + } + ret = drm_modeset_lock(>mutex, ); + if (ret == -EDEADLK) { + ret = drm_modeset_backoff(); + if (!ret) { + try_again = true; + continue; + } + break; + } + if (ret) + break; + + intel_dp = enc_to_intel_dp(_attached_encoder(connector)->base); + crtc_state = to_intel_crtc_state(crtc->state); + seq_printf(m, "DSC_Enabled: %s\n", + yesno(crtc_state->dsc_params.compression_enable)); + if (intel_dp->dsc_dpcd) + seq_printf(m, "DSC_Sink_Support: %s\n", + yesno(drm_dp_sink_supports_dsc(intel_dp->dsc_dpcd))); + if (!intel_dp_is_edp(intel_dp)) + seq_printf(m, "FEC_Sink_Support: %s\n", + yesno(drm_dp_sink_supports_fec(intel_dp->fec_capable))); + } while (try_again); + + drm_modeset_drop_locks(); + drm_modeset_acquire_fini(); + + return ret; +} + +static ssize_t i915_dsc_fec_support_write(struct file *file, + const char __user *ubuf, + size_t len, loff_t *offp) +{ + bool dsc_enable = false; + int ret; + struct drm_connector *connector = + ((struct seq_file *)file->private_data)->private; + struct intel_encoder *encoder = intel_attached_encoder(connector); + struct intel_dp *intel_dp = enc_to_intel_dp(>base); + + if (len == 0) + return 0; + + DRM_DEBUG_DRIVER("Copied %zu bytes from user to force DSC\n", +len); + + ret = kstrtobool_from_user(ubuf, len, _enable); + if (ret < 0) + return ret; + + DRM_DEBUG_DRIVER("Got %s for DSC Enable\n", +(dsc_enable) ? "true" : "false"); + intel_dp->force_dsc_en = dsc_enable; + + *offp += len; + return len; +} + +static int i915_dsc_fec_support_open(struct inode *inode, +struct file *file) +{ + return single_open(file,
[Intel-gfx] ✓ Fi.CI.BAT: success for ACPI-PMIC + i915: Add support for PMIC MIPI sequences
== Series Details == Series: ACPI-PMIC + i915: Add support for PMIC MIPI sequences URL : https://patchwork.freedesktop.org/series/53594/ State : success == Summary == CI Bug Log - changes from CI_DRM_5267 -> Patchwork_11025 Summary --- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/53594/revisions/1/mbox/ Known issues Here are the changes found in Patchwork_11025 that come from known issues: ### IGT changes ### Issues hit * igt@i915_selftest@live_contexts: - fi-bsw-kefka: PASS -> DMESG-FAIL [fdo#108626] * {igt@runner@aborted}: - {fi-icl-u3}:NOTRUN -> FAIL [fdo#108866] - {fi-icl-y}: NOTRUN -> FAIL [fdo#108070] Warnings * igt@i915_selftest@live_contexts: - {fi-icl-u3}:DMESG-FAIL [fdo#108569] -> INCOMPLETE [fdo#108315] {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070 [fdo#108315]: https://bugs.freedesktop.org/show_bug.cgi?id=108315 [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569 [fdo#108626]: https://bugs.freedesktop.org/show_bug.cgi?id=108626 [fdo#108866]: https://bugs.freedesktop.org/show_bug.cgi?id=108866 Participating hosts (49 -> 45) -- Additional (1): fi-icl-y Missing(5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 Build changes - * Linux: CI_DRM_5267 -> Patchwork_11025 CI_DRM_5267: 680d161b3cf77a94e05dfdedcdeed4f38e4b7fd8 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4743: edb2db2cf2b6665d7ba3fa9117263302f6307a4f @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_11025: 069ab7eb308298f19c1f008d4c7e9d70c4001d61 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 069ab7eb3082 drm/i915/intel_dsi_vbt: Add support for PMIC mipi sequences 4ae5f23cfdb6 ACPI / PMIC: Implement exec_mipi_pmic_seq_element for CHT Whiskey Cove PMIC cbc57114716d ACPI / PMIC: Add support for executing PMIC MIPI sequence elements == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11025/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915/fbc/cnl: Add GLK and CNL+ hardware tracking area
On Tue, 2018-12-04 at 16:48 -0800, José Roberto de Souza wrote: > GLK and CNL+ supports a bigger FBC tracking area. > > Signed-off-by: José Roberto de Souza > --- > drivers/gpu/drm/i915/intel_fbc.c | 5 - > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_fbc.c > b/drivers/gpu/drm/i915/intel_fbc.c > index f23570c44323..78dbacdeaece 100644 > --- a/drivers/gpu/drm/i915/intel_fbc.c > +++ b/drivers/gpu/drm/i915/intel_fbc.c > @@ -626,7 +626,10 @@ static bool > intel_fbc_hw_tracking_covers_screen(struct intel_crtc *crtc) > struct intel_fbc *fbc = _priv->fbc; > unsigned int effective_w, effective_h, max_w, max_h; > > - if (INTEL_GEN(dev_priv) >= 8 || IS_HASWELL(dev_priv)) { > + if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) { > + max_w = 5120; > + max_h = 4096; Verified against bspec. Reviewed-by: Dhinakaran Pandiyan > + } else if (INTEL_GEN(dev_priv) >= 8 || IS_HASWELL(dev_priv)) { > max_w = 4096; > max_h = 4096; > } else if (IS_G4X(dev_priv) || INTEL_GEN(dev_priv) >= 5) { ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 2/3] ACPI / PMIC: Implement exec_mipi_pmic_seq_element for CHT Whiskey Cove PMIC
On Wed, Dec 05, 2018 at 10:03:09PM +0100, Hans de Goede wrote: > Implement the exec_mipi_pmic_seq_element callback for the CHT Whiskey Cove > PMIC. > > On some CHT devices this fixes the LCD panel not lighting up when it was > not initialized by the GOP, because an external monitor was plugged in and > the GOP initialized only the external monitor. > > Signed-off-by: Hans de Goede > --- > drivers/acpi/pmic/intel_pmic_chtwc.c | 23 +++ > 1 file changed, 23 insertions(+) > > diff --git a/drivers/acpi/pmic/intel_pmic_chtwc.c > b/drivers/acpi/pmic/intel_pmic_chtwc.c > index 078b0448f30a..d035541f0ed2 100644 > --- a/drivers/acpi/pmic/intel_pmic_chtwc.c > +++ b/drivers/acpi/pmic/intel_pmic_chtwc.c > @@ -12,6 +12,7 @@ > #include > #include > #include > +#include > #include "intel_pmic.h" > > #define CHT_WC_V1P05A_CTRL 0x6e3b > @@ -231,6 +232,27 @@ static int intel_cht_wc_pmic_update_power(struct regmap > *regmap, int reg, > return regmap_update_bits(regmap, reg, bitmask, on ? 1 : 0); > } > > +static void intel_cht_wc_exec_mipi_pmic_seq_element(struct regmap *regmap, > + const u8 *data) > +{ > + u16 i2c_client_address, reg_address, address; > + u32 value, mask; > + > + i2c_client_address = get_unaligned_be16(data); > + reg_address = get_unaligned_be16(data + 2); > + value = get_unaligned_be32(data + 4); > + mask= get_unaligned_be32(data + 8); This doesn't match the docs: "Byte0 – PMIC Flag Bits 7:0 = Reserved for future use Byte2,1 – PMIC Slave Address Bits 15:0 = Slave address for PMIC access Each slave can address 256byte register space in general Bytes 6,5,4,3 – DWORD 0 Bits 31:0 = PMIC Register Address Bytes 10,9,8,7 – DWORD 1 Bits 31:0 = PMIC Register Data Bytes 14,13,12,11 – DWORD 2 Bits 31:0 = PMIC Register DataMask" Though I wouldn't be entirely surprised if the docs are simply wrong. There is at least one bug in the docs where it claims the size to be 14 bytes. Another place in the docs says 15 bytes. I'll need to file a bug for that at least. > + > + if ((i2c_client_address & 0xff00) || (reg_address & 0xff00)) { > + pr_warn("%s warning addresses too big client 0x%x reg 0x%x\n", > + __func__, i2c_client_address, reg_address); > + return; > + } > + > + address = (i2c_client_address << 8) | reg_address; > + regmap_update_bits(regmap, address, mask, value); > +} > + > /* > * The thermal table and ops are empty, we do not support the Thermal > opregion > * (DPTF) due to lacking documentation. > @@ -238,6 +260,7 @@ static int intel_cht_wc_pmic_update_power(struct regmap > *regmap, int reg, > static struct intel_pmic_opregion_data intel_cht_wc_pmic_opregion_data = { > .get_power = intel_cht_wc_pmic_get_power, > .update_power = intel_cht_wc_pmic_update_power, > + .exec_mipi_pmic_seq_element = intel_cht_wc_exec_mipi_pmic_seq_element, > .power_table= power_table, > .power_table_count = ARRAY_SIZE(power_table), > }; > -- > 2.19.2 -- Ville Syrjälä Intel ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v6] drm/i915/dsc: Add Per connector debugfs node for DSC support/enable
On Wed, 2018-12-05 at 11:29 -0800, Manasi Navare wrote: > On Wed, Dec 05, 2018 at 02:00:39PM -0500, Lyude Paul wrote: > > Looks good, some small nitpicks > > > > On Tue, 2018-12-04 at 11:55 -0800, Manasi Navare wrote: > > > DSC can be supported per DP connector. This patch adds a per connector > > > debugfs node to expose DSC support capability by the kernel. > > > The same node can be used from userspace to force DSC enable. > > > > > > force_dsc_en written through this debugfs node is used to force > > > DSC even for lower resolutions. > > > > > > v6: > > > * Read fec_capable only for non edp (Manasi) > > > v5: > > > * Name it dsc sink support and also add > > > fec support in the same node (Ville) > > > v4: > > > * Add missed connector_status check (Manasi) > > > * Create i915_dsc_support node only for Gen >=10 (manasi) > > > * Access intel_dp->dsc_dpcd only if its not NULL (Manasi) > > > v3: > > > * Combine Force_dsc_en with this patch (Ville) > > > v2: > > > * Use kstrtobool_from_user to avoid explicit error checking (Lyude) > > > * Rebase on drm-tip (Manasi) > > > > > > Cc: Rodrigo Vivi > > > Cc: Ville Syrjala > > > Cc: Anusha Srivatsa > > > Cc: Lyude Paul > > > Signed-off-by: Manasi Navare > > > --- > > > drivers/gpu/drm/i915/i915_debugfs.c | 80 + > > > drivers/gpu/drm/i915/intel_dp.c | 3 +- > > > drivers/gpu/drm/i915/intel_drv.h| 3 ++ > > > 3 files changed, 85 insertions(+), 1 deletion(-) > > > > > > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c > > > b/drivers/gpu/drm/i915/i915_debugfs.c > > > index 129b9a6f8309..ec10ab027d18 100644 > > > --- a/drivers/gpu/drm/i915/i915_debugfs.c > > > +++ b/drivers/gpu/drm/i915/i915_debugfs.c > > > @@ -5086,6 +5086,79 @@ static int i915_hdcp_sink_capability_show(struct > > > seq_file *m, void *data) > > > } > > > DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability); > > > > > > +static int i915_dsc_fec_support_show(struct seq_file *m, void *data) > > > +{ > > > + struct drm_connector *connector = m->private; > > > + struct intel_encoder *encoder = intel_attached_encoder(connector); > > > + struct intel_dp *intel_dp = > > > + enc_to_intel_dp(>base); > > > + struct intel_crtc *crtc; > > > + struct intel_crtc_state *crtc_state; > > > + > > > + if (connector->status != connector_status_connected) > > > + return -ENODEV; > > > + > > > + crtc = to_intel_crtc(encoder->base.crtc); > > > + crtc_state = to_intel_crtc_state(crtc->base.state); > > I am seeing a kernel NULl pointer dereferencing here in CI possibly because > the crtc is NULL and as per Ville and Danvet I should be grabbing both > connection mutex > and crtc mutex and use the acquire ctx and backoff stuff so I am trying to > understand that part > and seeing how I can use that. > > Let me know if you have any inputs/examples on that too.. Mhm, so here's why they are asking for each lock: connection_mutex: Protects any connector->state, and connector->status. (As an extra note: ignore connector->mutex for modesetting purposes, only dev->mode_config.connection_mutex is important.) crtc->mutex: Anything in crtc->state for the given crtc In order to avoid to avoid a NULL dereference due to connector->crtc->state changing, you'd start grabbing locks with something like this: /* pretend we have 'connector' already set to the drm_connector */ /* also pretend we have 'dev' set to the struct drm_device* */ struct drm_crtc *crtc; struct drm_modeset_acquire_ctx ctx; bool try_again = false; int ret = 0; drm_modeset_acquire_init(, 0); do { /* We don't check the return code here because since this is * our first lock, so there isn't any chance of us deadlocking * yet. */ drm_modeset_lock(>mode_config.connection_mutex, ); /* Cool! Now that we're holding connection_mutex, we can start * reading from the connector struct and friends */ crtc = connector->state->crtc; if (connector->status != connector_status_connected || !crtc) { ret = -ENODEV; break; } /* Now we need to check the return code from * drm_modeset_lock(), because... */ ret = drm_modeset_lock(>mutex, ); if (ret == -EDEADLK) { /* We could deadlock! If we're here, then this is * probably what happened: * * (us) * modeset_lock(_mutex); modeset_lock(>mutex); * modeset_lock(>mutex); modeset_lock(_mutex); * * CPU1 is waiting for crtc->mutex which is held by CPU2, but * CPU2 is waiting for conn_mutex, which is held by CPU1 * * Normally the kernel doesn't run into this issue * because a lot of care has been put into ordering * mutex_lock() calls correctly. But, with modesetting * we don't have the benefit of knowing what order these * locks will be acquired in. Since drm_modeset_lock() * has informed us of this scenario however, we can * avoid hanging
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/icl: Forcibly evict stale csb entries (rev2)
== Series Details == Series: drm/i915/icl: Forcibly evict stale csb entries (rev2) URL : https://patchwork.freedesktop.org/series/53560/ State : success == Summary == CI Bug Log - changes from CI_DRM_5266 -> Patchwork_11024 Summary --- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/53560/revisions/2/mbox/ Known issues Here are the changes found in Patchwork_11024 that come from known issues: ### IGT changes ### Issues hit * igt@gem_exec_suspend@basic-s3: - fi-blb-e6850: PASS -> INCOMPLETE [fdo#107718] * igt@kms_chamelium@common-hpd-after-suspend: - fi-icl-u2: NOTRUN -> DMESG-FAIL [fdo#103375] / [fdo#107732] / [fdo#108070] / [fdo#108924] * igt@prime_self_import@basic-with_two_bos: - fi-cfl-8109u: PASS -> DMESG-WARN [fdo#106107] * {igt@runner@aborted}: - fi-icl-u2: NOTRUN -> FAIL [fdo#108070] - {fi-icl-u3}:NOTRUN -> FAIL [fdo#108866] - {fi-icl-y}: NOTRUN -> FAIL [fdo#108070] Possible fixes * igt@gem_exec_suspend@basic-s4-devices: - fi-ivb-3520m: FAIL [fdo#108880] -> PASS * igt@i915_selftest@live_hangcheck: - fi-bwr-2160:DMESG-FAIL [fdo#108735] -> PASS Warnings * igt@i915_selftest@live_contexts: - {fi-icl-u3}:DMESG-FAIL [fdo#108569] -> INCOMPLETE [fdo#108315] {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107 [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718 [fdo#107732]: https://bugs.freedesktop.org/show_bug.cgi?id=107732 [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070 [fdo#108315]: https://bugs.freedesktop.org/show_bug.cgi?id=108315 [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569 [fdo#108735]: https://bugs.freedesktop.org/show_bug.cgi?id=108735 [fdo#108866]: https://bugs.freedesktop.org/show_bug.cgi?id=108866 [fdo#108880]: https://bugs.freedesktop.org/show_bug.cgi?id=108880 [fdo#108924]: https://bugs.freedesktop.org/show_bug.cgi?id=108924 Participating hosts (47 -> 45) -- Additional (2): fi-icl-y fi-icl-u2 Missing(4): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u Build changes - * Linux: CI_DRM_5266 -> Patchwork_11024 CI_DRM_5266: 529899779ce289fe64cd2249da1eb9bcea6a423f @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4741: 5c8f89f67c7b32014bc22421e48f3c0cf4e5ca3a @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_11024: 17da1424ccbdd807dfc3508f071d72424425a82f @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 17da1424ccbd drm/i915/icl: Forcibly evict stale csb entries == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11024/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 1/3] ACPI / PMIC: Add support for executing PMIC MIPI sequence elements
DSI LCD panels describe an initialization sequence in the Video BIOS Tables using so called MIPI sequences. One possible element in these sequences is a PMIC specific element of 15 bytes. Although this is not really an ACPI opregion, the ACPI opregion code is the closest thing we have. We need to have support for these PMIC specific MIPI sequence elements somwhere. Since we already instantiate a special platform device for Intel PMICs for the ACPI PMIC OpRegion handler to bind to, with PMIC specific implementations of the OpRegion, the handling of MIPI sequence PMIC elements fits very well in the ACPI PMIC OpRegion code. This commit adds a new intel_soc_pmic_exec_mipi_pmic_seq_element() function, which is to be backed by a PMIC specific exec_mipi_pmic_seq_element callback. This function will be called by the i915 code to execture MIPI sequence PMIC elements. Signed-off-by: Hans de Goede --- drivers/acpi/pmic/intel_pmic.c | 25 + drivers/acpi/pmic/intel_pmic.h | 1 + include/linux/mfd/intel_soc_pmic.h | 2 ++ 3 files changed, 28 insertions(+) diff --git a/drivers/acpi/pmic/intel_pmic.c b/drivers/acpi/pmic/intel_pmic.c index ca18e0d23df9..0d96ca08bb79 100644 --- a/drivers/acpi/pmic/intel_pmic.c +++ b/drivers/acpi/pmic/intel_pmic.c @@ -15,6 +15,7 @@ #include #include +#include #include #include #include "intel_pmic.h" @@ -36,6 +37,8 @@ struct intel_pmic_opregion { struct intel_pmic_regs_handler_ctx ctx; }; +static struct intel_pmic_opregion *intel_pmic_opregion; + static int pmic_get_reg_bit(int address, struct pmic_table *table, int count, int *reg, int *bit) { @@ -304,6 +307,7 @@ int intel_pmic_install_opregion_handler(struct device *dev, acpi_handle handle, } opregion->data = d; + intel_pmic_opregion = opregion; return 0; out_remove_thermal_handler: @@ -319,3 +323,24 @@ int intel_pmic_install_opregion_handler(struct device *dev, acpi_handle handle, return ret; } EXPORT_SYMBOL_GPL(intel_pmic_install_opregion_handler); + +void intel_soc_pmic_exec_mipi_pmic_seq_element(const u8 *data) +{ + struct intel_pmic_opregion_data *d; + + if (!intel_pmic_opregion) { + pr_warn("%s: No PMIC registered\n", __func__); + return; + } + + d = intel_pmic_opregion->data; + if (!d->exec_mipi_pmic_seq_element) { + pr_warn("%s: Not implemented\n", __func__); + return; + } + + mutex_lock(_pmic_opregion->lock); + d->exec_mipi_pmic_seq_element(intel_pmic_opregion->regmap, data); + mutex_unlock(_pmic_opregion->lock); +} +EXPORT_SYMBOL_GPL(intel_soc_pmic_exec_mipi_pmic_seq_element); diff --git a/drivers/acpi/pmic/intel_pmic.h b/drivers/acpi/pmic/intel_pmic.h index 095afc96952e..5a7bb33d046a 100644 --- a/drivers/acpi/pmic/intel_pmic.h +++ b/drivers/acpi/pmic/intel_pmic.h @@ -15,6 +15,7 @@ struct intel_pmic_opregion_data { int (*update_aux)(struct regmap *r, int reg, int raw_temp); int (*get_policy)(struct regmap *r, int reg, int bit, u64 *value); int (*update_policy)(struct regmap *r, int reg, int bit, int enable); + void (*exec_mipi_pmic_seq_element)(struct regmap *r, const u8 *data); struct pmic_table *power_table; int power_table_count; struct pmic_table *thermal_table; diff --git a/include/linux/mfd/intel_soc_pmic.h b/include/linux/mfd/intel_soc_pmic.h index ed1dfba5e5f9..ce04ad7d4b6c 100644 --- a/include/linux/mfd/intel_soc_pmic.h +++ b/include/linux/mfd/intel_soc_pmic.h @@ -26,4 +26,6 @@ struct intel_soc_pmic { struct device *dev; }; +void intel_soc_pmic_exec_mipi_pmic_seq_element(const u8 *data); + #endif /* __INTEL_SOC_PMIC_H__ */ -- 2.19.2 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 2/3] ACPI / PMIC: Implement exec_mipi_pmic_seq_element for CHT Whiskey Cove PMIC
Implement the exec_mipi_pmic_seq_element callback for the CHT Whiskey Cove PMIC. On some CHT devices this fixes the LCD panel not lighting up when it was not initialized by the GOP, because an external monitor was plugged in and the GOP initialized only the external monitor. Signed-off-by: Hans de Goede --- drivers/acpi/pmic/intel_pmic_chtwc.c | 23 +++ 1 file changed, 23 insertions(+) diff --git a/drivers/acpi/pmic/intel_pmic_chtwc.c b/drivers/acpi/pmic/intel_pmic_chtwc.c index 078b0448f30a..d035541f0ed2 100644 --- a/drivers/acpi/pmic/intel_pmic_chtwc.c +++ b/drivers/acpi/pmic/intel_pmic_chtwc.c @@ -12,6 +12,7 @@ #include #include #include +#include #include "intel_pmic.h" #define CHT_WC_V1P05A_CTRL 0x6e3b @@ -231,6 +232,27 @@ static int intel_cht_wc_pmic_update_power(struct regmap *regmap, int reg, return regmap_update_bits(regmap, reg, bitmask, on ? 1 : 0); } +static void intel_cht_wc_exec_mipi_pmic_seq_element(struct regmap *regmap, + const u8 *data) +{ + u16 i2c_client_address, reg_address, address; + u32 value, mask; + + i2c_client_address = get_unaligned_be16(data); + reg_address = get_unaligned_be16(data + 2); + value = get_unaligned_be32(data + 4); + mask= get_unaligned_be32(data + 8); + + if ((i2c_client_address & 0xff00) || (reg_address & 0xff00)) { + pr_warn("%s warning addresses too big client 0x%x reg 0x%x\n", + __func__, i2c_client_address, reg_address); + return; + } + + address = (i2c_client_address << 8) | reg_address; + regmap_update_bits(regmap, address, mask, value); +} + /* * The thermal table and ops are empty, we do not support the Thermal opregion * (DPTF) due to lacking documentation. @@ -238,6 +260,7 @@ static int intel_cht_wc_pmic_update_power(struct regmap *regmap, int reg, static struct intel_pmic_opregion_data intel_cht_wc_pmic_opregion_data = { .get_power = intel_cht_wc_pmic_get_power, .update_power = intel_cht_wc_pmic_update_power, + .exec_mipi_pmic_seq_element = intel_cht_wc_exec_mipi_pmic_seq_element, .power_table= power_table, .power_table_count = ARRAY_SIZE(power_table), }; -- 2.19.2 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 3/3] drm/i915/intel_dsi_vbt: Add support for PMIC mipi sequences
Add support for PMIC mipi sequences using the new intel_soc_pmic_exec_mipi_pmic_seq_element function. Signed-off-by: Hans de Goede --- drivers/gpu/drm/i915/intel_dsi_vbt.c | 5 + 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_dsi_vbt.c b/drivers/gpu/drm/i915/intel_dsi_vbt.c index f27af47c6e49..6a2ed1ca72e0 100644 --- a/drivers/gpu/drm/i915/intel_dsi_vbt.c +++ b/drivers/gpu/drm/i915/intel_dsi_vbt.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -371,7 +372,11 @@ static const u8 *mipi_exec_spi(struct intel_dsi *intel_dsi, const u8 *data) static const u8 *mipi_exec_pmic(struct intel_dsi *intel_dsi, const u8 *data) { +#ifdef CONFIG_PMIC_OPREGION + intel_soc_pmic_exec_mipi_pmic_seq_element(data); +#else DRM_DEBUG_KMS("Skipping PMIC element execution\n"); +#endif return data + 15; } -- 2.19.2 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 0/3] ACPI-PMIC + i915: Add support for PMIC MIPI sequences
Hi All, This series is the result of me debugging and fixing the LCD panel not lighting up on some CHT devices when they are booted with an external monitor connected and the GOP only initializes the external monitor, leaving the LCD uninitialized. This is caused by the lack of support for executing PMIC MIPI sequences in drivers/gpu/drm/i915/intel_dsi_vbt.c. Specifically the VBT on these devices uses a PMIC MIPI sequence to toggle a GPIO on the PMIC. Besides fixing the LCD panel not working at all when an external monitor is used, this should also save some power when the panel is off. This series touches some files under drivers/acpi/pmic as well as some i915 code. Since the code under drivers/acpi/pmic does not change that often, I believe it would be best to merge this entire series through intel-drm-next-queued, with acks from the ACPI maintainers. Regards, Hans ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] Makefile: fix mixed tab and spaces
Quoting Chris Wilson (2018-12-05 15:01:03) > Quoting Pedro Tammela (2018-12-05 11:06:08) > > Fixes a comestic issue where spaces were being used > > instead of mixed tab and spaces. > > > > Signed-off-by: Pedro Tammela > > Consistency good and removes a spurious line from one of patches, > Reviewed-by: Chris Wilson And pushed, thanks for the patch. -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Clear bogus DMC BIOS/debug power well requests
== Series Details == Series: drm/i915: Clear bogus DMC BIOS/debug power well requests URL : https://patchwork.freedesktop.org/series/53591/ State : success == Summary == CI Bug Log - changes from CI_DRM_5266 -> Patchwork_11023 Summary --- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/53591/revisions/1/mbox/ Known issues Here are the changes found in Patchwork_11023 that come from known issues: ### IGT changes ### Issues hit * igt@kms_chamelium@common-hpd-after-suspend: - fi-icl-u2: NOTRUN -> DMESG-FAIL [fdo#103375] / [fdo#107732] / [fdo#108070] / [fdo#108924] * {igt@runner@aborted}: - fi-icl-u2: NOTRUN -> FAIL [fdo#108070] - {fi-icl-y}: NOTRUN -> FAIL [fdo#108070] Possible fixes * igt@i915_selftest@live_hangcheck: - fi-bwr-2160:DMESG-FAIL [fdo#108735] -> PASS {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [fdo#107732]: https://bugs.freedesktop.org/show_bug.cgi?id=107732 [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070 [fdo#108735]: https://bugs.freedesktop.org/show_bug.cgi?id=108735 [fdo#108924]: https://bugs.freedesktop.org/show_bug.cgi?id=108924 Participating hosts (47 -> 45) -- Additional (2): fi-icl-y fi-icl-u2 Missing(4): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u Build changes - * Linux: CI_DRM_5266 -> Patchwork_11023 CI_DRM_5266: 529899779ce289fe64cd2249da1eb9bcea6a423f @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4741: 5c8f89f67c7b32014bc22421e48f3c0cf4e5ca3a @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_11023: 4e695c5989bb2889e4c0ef05f3b87d48c302f4d2 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 4e695c5989bb drm/i915: Clear bogus DMC BIOS/debug power well requests == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11023/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm: Fix documentation generation for DP_DPCD_QUIRK_NO_PSR
On Wed, 2018-12-05 at 10:48 -0800, José Roberto de Souza wrote: > The DP_DPCD_QUIRK_NO_PSR comment is missing colon causing this > warning when generating kernel documentation. > > ./include/drm/drm_dp_helper.h:1374: warning: Incorrect use of kernel- > doc format: * @DP_DPCD_QUIRK_NO_PSR > Cc: dri-de...@lists.freedesktop.org Reviewed-by: Dhinakaran Pandiyan > Fixes: 7c5c641a930e (drm/i915: Disable PSR in Apple panels) > Cc: Dhinakaran Pandiyan > Signed-off-by: José Roberto de Souza > --- > include/drm/drm_dp_helper.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/drm/drm_dp_helper.h > b/include/drm/drm_dp_helper.h > index 18cfde45b8ed..c223c87ef119 100644 > --- a/include/drm/drm_dp_helper.h > +++ b/include/drm/drm_dp_helper.h > @@ -1370,7 +1370,7 @@ enum drm_dp_quirk { >*/ > DP_DPCD_QUIRK_CONSTANT_N, > /** > - * @DP_DPCD_QUIRK_NO_PSR > + * @DP_DPCD_QUIRK_NO_PSR: >* >* The device does not support PSR even if reports that it > supports or >* driver still need to implement proper handling for such > device. ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/icl: Forcibly evict stale csb entries
== Series Details == Series: drm/i915/icl: Forcibly evict stale csb entries URL : https://patchwork.freedesktop.org/series/53560/ State : failure == Summary == CI Bug Log - changes from CI_DRM_5266_full -> Patchwork_11019_full Summary --- **FAILURE** Serious unknown changes coming with Patchwork_11019_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_11019_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. Possible new issues --- Here are the unknown changes that may have been introduced in Patchwork_11019_full: ### IGT changes ### Possible regressions * igt@kms_cursor_legacy@pipe-c-torture-bo: - shard-skl: PASS -> INCOMPLETE * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt: - {shard-iclb}: PASS -> INCOMPLETE Known issues Here are the changes found in Patchwork_11019_full that come from known issues: ### IGT changes ### Issues hit * igt@gem_exec_schedule@pi-ringfull-blt: - {shard-iclb}: NOTRUN -> FAIL [fdo#103158] * igt@gem_ppgtt@blt-vs-render-ctx0: - shard-skl: PASS -> TIMEOUT [fdo#108039] * igt@kms_available_modes_crc@available_mode_test_crc: - shard-apl: PASS -> FAIL [fdo#106641] * igt@kms_ccs@pipe-c-crc-sprite-planes-basic: - {shard-iclb}: NOTRUN -> FAIL [fdo#107725] * igt@kms_chv_cursor_fail@pipe-c-128x128-top-edge: - shard-skl: PASS -> FAIL [fdo#104671] * igt@kms_cursor_crc@cursor-128x128-dpms: - shard-apl: PASS -> FAIL [fdo#103232] * igt@kms_cursor_crc@cursor-256x256-onscreen: - shard-glk: PASS -> FAIL [fdo#103232] +1 * igt@kms_cursor_crc@cursor-256x85-random: - shard-skl: NOTRUN -> FAIL [fdo#103232] * igt@kms_cursor_crc@cursor-64x64-onscreen: - {shard-iclb}: NOTRUN -> FAIL [fdo#103232] +6 * igt@kms_draw_crc@draw-method-xrgb-render-ytiled: - {shard-iclb}: PASS -> WARN [fdo#108336] +2 * igt@kms_flip@flip-vs-panning-vs-hang-interruptible: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] +7 * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-cpu: - {shard-iclb}: NOTRUN -> DMESG-FAIL [fdo#107724] * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen: - shard-apl: PASS -> FAIL [fdo#103167] +1 * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move: - shard-glk: PASS -> FAIL [fdo#103167] * igt@kms_frontbuffer_tracking@fbc-tilingchange: - {shard-iclb}: PASS -> DMESG-FAIL [fdo#107724] +3 * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-onoff: - shard-skl: NOTRUN -> FAIL [fdo#103167] * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc: - {shard-iclb}: PASS -> FAIL [fdo#103167] +2 * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] / [fdo#108336] +1 * igt@kms_frontbuffer_tracking@fbcpsr-stridechange: - shard-skl: NOTRUN -> FAIL [fdo#105683] * igt@kms_plane@pixel-format-pipe-a-planes: - {shard-iclb}: NOTRUN -> FAIL [fdo#103166] * igt@kms_plane@plane-position-covered-pipe-c-planes: - shard-apl: PASS -> FAIL [fdo#103166] - {shard-iclb}: PASS -> FAIL [fdo#103166] * igt@kms_plane_alpha_blend@pipe-a-alpha-basic: - shard-skl: NOTRUN -> FAIL [fdo#107815] / [fdo#108145] * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb: - shard-skl: NOTRUN -> FAIL [fdo#108145] * igt@kms_plane_scaling@pipe-b-scaler-with-rotation: - {shard-iclb}: NOTRUN -> DMESG-WARN [fdo#107724] * {igt@kms_rotation_crc@multiplane-rotation-cropping-top}: - shard-kbl: PASS -> DMESG-FAIL [fdo#108950] * igt@kms_setmode@basic: - shard-kbl: PASS -> FAIL [fdo#99912] * igt@perf@polling: - shard-hsw: PASS -> FAIL [fdo#102252] * igt@pm_rpm@i2c: - {shard-iclb}: PASS -> INCOMPLETE [fdo#108840] Possible fixes * igt@kms_color@pipe-b-legacy-gamma: - shard-apl: FAIL [fdo#104782] -> PASS * igt@kms_cursor_crc@cursor-128x128-onscreen: - shard-apl: FAIL [fdo#103232] -> PASS * igt@kms_cursor_crc@cursor-64x64-sliding: - shard-glk: FAIL [fdo#103232] -> PASS * igt@kms_flip@flip-vs-expired-vblank-interruptible: - shard-skl: FAIL [fdo#105363] -> PASS * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt: - shard-apl: FAIL [fdo#103167] -> PASS * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-wc: - {shard-iclb}: DMESG-FAIL [fdo#107724] -> PASS +1 *
[Intel-gfx] [PATCH] drm/i915: Clear bogus DMC BIOS/debug power well requests
From: Ville Syrjälä The DMC firmware is confused and forces on the BIOS and debug power well requests for PW1 and MISC IO on some platforms. On BXT I measured this to waste about 10mW in the freeze system suspend state with the SoC in s0. I didn't get conclusive numbers for s0ix on account of the power consumption being much more noisy than in s0. This is pretty much undoing part of commit 42d9366d41a9 ("drm/i915/gen9+: Don't remove secondary power well requests") where we stopped sanitizing the DMCs bogus request bits. Cc: Imre Deak Cc: Rodrigo Vivi Signed-off-by: Ville Syrjälä --- drivers/gpu/drm/i915/intel_runtime_pm.c | 35 +++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c index 4350a5270423..6e349181dd1c 100644 --- a/drivers/gpu/drm/i915/intel_runtime_pm.c +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c @@ -336,10 +336,17 @@ static void hsw_wait_for_power_well_disable(struct drm_i915_private *dev_priv, * Bspec doesn't require waiting for PWs to get disabled, but still do * this for paranoia. The known cases where a PW will be forced on: * - a KVMR request on any power well via the KVMR request register -* - a DMC request on PW1 and MISC_IO power wells via the BIOS and -* DEBUG request registers +* - a debug request on any power well via the DEBUG request register * Skip the wait in case any of the request bits are set and print a * diagnostic message. +* +* Note that DMC firmware will also force on the PW1 BIOS request +* on SKL-CNL, MISC_IO BIOS request on SKL-GLK (although MISC_IO +* does not even exits on BXT/GLK so the bit doesn't stick), +* and the PW1/MISC_IO debug request on BXT. We simply clear +* those spurious requests in hsw_power_well_disable() to make +* sure they don't waste power. Starting from ICL the DMC firmware +* has been fixed to only force on the PW1 driver request bit. */ wait_for((disabled = !(I915_READ(regs->driver) & HSW_PWR_WELL_CTL_STATE(pw_idx))) || @@ -347,6 +354,11 @@ static void hsw_wait_for_power_well_disable(struct drm_i915_private *dev_priv, if (disabled) return; + WARN(reqs & 3, +"%s left on (bios:%d driver:%d kvmr:%d debug:%d)\n", +power_well->desc->name, +!!(reqs & 1), !!(reqs & 2), !!(reqs & 4), !!(reqs & 8)); + DRM_DEBUG_KMS("%s forced on (bios:%d driver:%d kvmr:%d debug:%d)\n", power_well->desc->name, !!(reqs & 1), !!(reqs & 2), !!(reqs & 4), !!(reqs & 8)); @@ -409,6 +421,7 @@ static void hsw_power_well_disable(struct drm_i915_private *dev_priv, struct i915_power_well *power_well) { const struct i915_power_well_regs *regs = power_well->desc->hsw.regs; + enum i915_power_well_id id = power_well->desc->id; int pw_idx = power_well->desc->hsw.idx; u32 val; @@ -417,6 +430,24 @@ static void hsw_power_well_disable(struct drm_i915_private *dev_priv, val = I915_READ(regs->driver); I915_WRITE(regs->driver, val & ~HSW_PWR_WELL_CTL_REQ(pw_idx)); + /* +* On SKL-CNL DMC firmware forces on the BIOS request. +* This wastes a bit of power so clear it. +*/ + if (INTEL_GEN(dev_priv) < 11 && + (id == SKL_DISP_PW_1 || id == SKL_DISP_PW_MISC_IO)) { + val = I915_READ(regs->bios); + I915_WRITE(regs->bios, val & ~HSW_PWR_WELL_CTL_REQ(pw_idx)); + } + /* +* On BXT DMC firmware forces on the debug request. +* This wastes a bit of power so clear it. +*/ + if (IS_BROXTON(dev_priv) && + (id == SKL_DISP_PW_1 || id == SKL_DISP_PW_MISC_IO)) { + val = I915_READ(regs->debug); + I915_WRITE(regs->debug, val & ~HSW_PWR_WELL_CTL_REQ(pw_idx)); + } hsw_wait_for_power_well_disable(dev_priv, power_well); } -- 2.18.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PULL] drm-misc-fixes
Hi Dave, drm-misc fixes for this week. Big item is the lease uevent change. It seems like there's a high degree of confidence that existing userspaces will be happy with any uevent, so it should be a non-issue. Nevertheless, it hasn't soaked for very long, so something to keep an eye on. drm-misc-fixes-2018-12-05: UAPI: - Distinguish lease events from hotplug (Daniel) Other: - omap: Restore panel-dpi bus flags (Tomi) - omap: Fix a couple of dsi issues (Sebastian) Cc: Sebastian Reichel Cc: Tomi Valkeinen Cc: Daniel Vetter Cheers, Sean The following changes since commit 9765635b30756eb74e05e260ac812659c296cd28: Revert "drm/dp_mst: Skip validating ports during destruction, just ref" (2018-11-28 16:22:17 -0500) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-fixes-2018-12-05 for you to fetch changes up to b31a3ca745a4a47ba63208d37cd50abffe58280f: drm/fb-helper: Fix typo in parameter description (2018-12-04 14:22:20 +0100) UAPI: - Distinguish lease events from hotplug (Daniel) Other: - omap: Restore panel-dpi bus flags (Tomi) - omap: Fix a couple of dsi issues (Sebastian) Cc: Sebastian Reichel Cc: Tomi Valkeinen Cc: Daniel Vetter Daniel Vetter (1): drm/lease: Send a distinct uevent Sandeep Panda (1): drm/bridge: fix AUX_CMD_SEND bit value for ti, sn65dsi86 bridge Sebastian Reichel (2): drm/omap: populate DSI platform bus earlier drm/omap: fix incorrect union usage Tomi Valkeinen (1): drm/omap: fix bus_flags for panel-dpi Wei Yongjun (1): drm/fb-helper: Fix typo in parameter description drivers/gpu/drm/bridge/ti-sn65dsi86.c| 2 +- drivers/gpu/drm/drm_fb_helper.c | 2 +- drivers/gpu/drm/drm_internal.h | 2 + drivers/gpu/drm/drm_lease.c | 2 +- drivers/gpu/drm/drm_sysfs.c | 10 + drivers/gpu/drm/omapdrm/displays/panel-dpi.c | 1 + drivers/gpu/drm/omapdrm/dss/dsi.c| 20 +- drivers/gpu/drm/omapdrm/dss/omapdss.h| 2 +- drivers/gpu/drm/omapdrm/omap_encoder.c | 58 9 files changed, 60 insertions(+), 39 deletions(-) -- Sean Paul, Software Engineer, Google / Chromium OS ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/icl: Document Wa_1606682166
== Series Details == Series: drm/i915/icl: Document Wa_1606682166 URL : https://patchwork.freedesktop.org/series/53584/ State : success == Summary == CI Bug Log - changes from CI_DRM_5266 -> Patchwork_11022 Summary --- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/53584/revisions/1/mbox/ Known issues Here are the changes found in Patchwork_11022 that come from known issues: ### IGT changes ### Issues hit * igt@i915_module_load@reload: - fi-blb-e6850: PASS -> INCOMPLETE [fdo#107718] * igt@kms_chamelium@common-hpd-after-suspend: - fi-icl-u2: NOTRUN -> DMESG-FAIL [fdo#103375] / [fdo#107732] / [fdo#108070] / [fdo#108924] * {igt@runner@aborted}: - fi-icl-u2: NOTRUN -> FAIL [fdo#108070] - {fi-icl-y}: NOTRUN -> FAIL [fdo#108070] Possible fixes * igt@gem_exec_suspend@basic-s4-devices: - fi-ivb-3520m: FAIL [fdo#108880] -> PASS * igt@i915_selftest@live_hangcheck: - fi-bwr-2160:DMESG-FAIL [fdo#108735] -> PASS Warnings * igt@i915_selftest@live_contexts: - {fi-icl-u3}:DMESG-FAIL [fdo#108569] -> INCOMPLETE [fdo#108315] {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718 [fdo#107732]: https://bugs.freedesktop.org/show_bug.cgi?id=107732 [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070 [fdo#108315]: https://bugs.freedesktop.org/show_bug.cgi?id=108315 [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569 [fdo#108735]: https://bugs.freedesktop.org/show_bug.cgi?id=108735 [fdo#108880]: https://bugs.freedesktop.org/show_bug.cgi?id=108880 [fdo#108924]: https://bugs.freedesktop.org/show_bug.cgi?id=108924 Participating hosts (47 -> 45) -- Additional (2): fi-icl-y fi-icl-u2 Missing(4): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u Build changes - * Linux: CI_DRM_5266 -> Patchwork_11022 CI_DRM_5266: 529899779ce289fe64cd2249da1eb9bcea6a423f @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4741: 5c8f89f67c7b32014bc22421e48f3c0cf4e5ca3a @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_11022: 5d8ad47d217efb0cd2822c8307fb5f4c2b8ee7fa @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 5d8ad47d217e drm/i915/icl: Document Wa_1606682166 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11022/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v6] drm/i915/dsc: Add Per connector debugfs node for DSC support/enable
On Wed, Dec 05, 2018 at 02:00:39PM -0500, Lyude Paul wrote: > Looks good, some small nitpicks > > On Tue, 2018-12-04 at 11:55 -0800, Manasi Navare wrote: > > DSC can be supported per DP connector. This patch adds a per connector > > debugfs node to expose DSC support capability by the kernel. > > The same node can be used from userspace to force DSC enable. > > > > force_dsc_en written through this debugfs node is used to force > > DSC even for lower resolutions. > > > > v6: > > * Read fec_capable only for non edp (Manasi) > > v5: > > * Name it dsc sink support and also add > > fec support in the same node (Ville) > > v4: > > * Add missed connector_status check (Manasi) > > * Create i915_dsc_support node only for Gen >=10 (manasi) > > * Access intel_dp->dsc_dpcd only if its not NULL (Manasi) > > v3: > > * Combine Force_dsc_en with this patch (Ville) > > v2: > > * Use kstrtobool_from_user to avoid explicit error checking (Lyude) > > * Rebase on drm-tip (Manasi) > > > > Cc: Rodrigo Vivi > > Cc: Ville Syrjala > > Cc: Anusha Srivatsa > > Cc: Lyude Paul > > Signed-off-by: Manasi Navare > > --- > > drivers/gpu/drm/i915/i915_debugfs.c | 80 + > > drivers/gpu/drm/i915/intel_dp.c | 3 +- > > drivers/gpu/drm/i915/intel_drv.h| 3 ++ > > 3 files changed, 85 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c > > b/drivers/gpu/drm/i915/i915_debugfs.c > > index 129b9a6f8309..ec10ab027d18 100644 > > --- a/drivers/gpu/drm/i915/i915_debugfs.c > > +++ b/drivers/gpu/drm/i915/i915_debugfs.c > > @@ -5086,6 +5086,79 @@ static int i915_hdcp_sink_capability_show(struct > > seq_file *m, void *data) > > } > > DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability); > > > > +static int i915_dsc_fec_support_show(struct seq_file *m, void *data) > > +{ > > + struct drm_connector *connector = m->private; > > + struct intel_encoder *encoder = intel_attached_encoder(connector); > > + struct intel_dp *intel_dp = > > + enc_to_intel_dp(>base); > > + struct intel_crtc *crtc; > > + struct intel_crtc_state *crtc_state; > > + > > + if (connector->status != connector_status_connected) > > + return -ENODEV; > > + > > + crtc = to_intel_crtc(encoder->base.crtc); > > + crtc_state = to_intel_crtc_state(crtc->base.state); I am seeing a kernel NULl pointer dereferencing here in CI possibly because the crtc is NULL and as per Ville and Danvet I should be grabbing both connection mutex and crtc mutex and use the acquire ctx and backoff stuff so I am trying to understand that part and seeing how I can use that. Let me know if you have any inputs/examples on that too.. > > + drm_modeset_lock(>base.mutex, NULL); > > + seq_printf(m, "DSC_Enabled: %s\n", > > + yesno(crtc_state->dsc_params.compression_enable)); > > + if (intel_dp->dsc_dpcd) > > + seq_printf(m, "DSC_Sink_Support: %s\n", > > + yesno(drm_dp_sink_supports_dsc(intel_dp- > > >dsc_dpcd))); > > + if (!intel_dp_is_edp(intel_dp)) > > + seq_printf(m, "FEC_Sink_Support: %s\n", > > + yesno(drm_dp_sink_supports_fec(intel_dp- > > >fec_capable))); > > + drm_modeset_unlock(>base.mutex); > > + > > + return 0; > > +} > > + > > +static ssize_t i915_dsc_fec_support_write(struct file *file, > > + const char __user *ubuf, > > + size_t len, loff_t *offp) > > +{ > > + bool dsc_enable = false; > > + int ret; > > + struct drm_connector *connector = > > + ((struct seq_file *)file->private_data)->private; > > + struct intel_encoder *encoder = intel_attached_encoder(connector); > > + struct intel_dp *intel_dp = enc_to_intel_dp(>base); > > + > > + if (len == 0) > > + return 0; > > + > > + DRM_DEBUG_DRIVER("Copied %d bytes from user to force DSC\n", > > +(unsigned int)len); > You can just use %zu instead of %d here, see: > > https://01.org/linuxgraphics/gfx-docs/drm/core-api/printk-formats.html Cool I will make this change. Thanks for the review. Regards Manasi > > Other then that, looks good to me! With that change: > > Reviewed-by: Lyude Paul > > > + > > + ret = kstrtobool_from_user(ubuf, len, _enable); > > + if (ret < 0) > > + return ret; > > + > > + DRM_DEBUG_DRIVER("Got %s for DSC Enable\n", > > +(dsc_enable) ? "true" : "false"); > > + intel_dp->force_dsc_en = dsc_enable; > > + > > + *offp += len; > > + return len; > > +} > > + > > +static int i915_dsc_fec_support_open(struct inode *inode, > > +struct file *file) > > +{ > > + return single_open(file, i915_dsc_fec_support_show, > > + inode->i_private); > > +} > > + > > +static const struct file_operations i915_dsc_fec_support_fops = { > > + .owner = THIS_MODULE, > > + .open = i915_dsc_fec_support_open, > > + .read = seq_read, > > +
[Intel-gfx] ✓ Fi.CI.BAT: success for drm: Fix documentation generation for DP_DPCD_QUIRK_NO_PSR
== Series Details == Series: drm: Fix documentation generation for DP_DPCD_QUIRK_NO_PSR URL : https://patchwork.freedesktop.org/series/53582/ State : success == Summary == CI Bug Log - changes from CI_DRM_5266 -> Patchwork_11021 Summary --- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/53582/revisions/1/mbox/ Known issues Here are the changes found in Patchwork_11021 that come from known issues: ### IGT changes ### Issues hit * igt@i915_selftest@live_hangcheck: - fi-cfl-8109u: PASS -> INCOMPLETE [fdo#106070] - {fi-icl-u3}:PASS -> INCOMPLETE [fdo#108315] * igt@kms_chamelium@common-hpd-after-suspend: - fi-icl-u2: NOTRUN -> DMESG-FAIL [fdo#103375] / [fdo#107732] / [fdo#108070] / [fdo#108924] * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b: - fi-blb-e6850: PASS -> INCOMPLETE [fdo#107718] * {igt@runner@aborted}: - fi-icl-u2: NOTRUN -> FAIL [fdo#108070] Possible fixes * igt@gem_exec_suspend@basic-s4-devices: - fi-ivb-3520m: FAIL [fdo#108880] -> PASS {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [fdo#106070]: https://bugs.freedesktop.org/show_bug.cgi?id=106070 [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718 [fdo#107732]: https://bugs.freedesktop.org/show_bug.cgi?id=107732 [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070 [fdo#108315]: https://bugs.freedesktop.org/show_bug.cgi?id=108315 [fdo#108880]: https://bugs.freedesktop.org/show_bug.cgi?id=108880 [fdo#108924]: https://bugs.freedesktop.org/show_bug.cgi?id=108924 Participating hosts (47 -> 44) -- Additional (1): fi-icl-u2 Missing(4): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u Build changes - * Linux: CI_DRM_5266 -> Patchwork_11021 CI_DRM_5266: 529899779ce289fe64cd2249da1eb9bcea6a423f @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4741: 5c8f89f67c7b32014bc22421e48f3c0cf4e5ca3a @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_11021: 199efa9556cefa664b686de5be82292ded4dadea @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 199efa9556ce drm: Fix documentation generation for DP_DPCD_QUIRK_NO_PSR == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11021/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915/icl: Document Wa_1606682166
On 05/12/2018 19:04, Tvrtko Ursulin wrote: From: Tvrtko Ursulin Commit 71ffd49cc9b9 ("drm/i915/icl:Add Wa_1606682166") added the workaround but did not put it in comment, which looks like should be the usual process for these things. Add the missing comment. Signed-off-by: Tvrtko Ursulin Cc: Radhakrishna Sripada Cc: Anuj Phogat Cc: Mika Kuoppala --- drivers/gpu/drm/i915/intel_workarounds.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_workarounds.c b/drivers/gpu/drm/i915/intel_workarounds.c index 4f678c502daf..7c4c5e655d94 100644 --- a/drivers/gpu/drm/i915/intel_workarounds.c +++ b/drivers/gpu/drm/i915/intel_workarounds.c @@ -1178,7 +1178,10 @@ static void rcs_engine_wa_init(struct intel_engine_cs *engine) PMFLUSH_GAPL3UNBLOCK | PMFLUSHDONE_LNEBLK); - /* Wa_1406609255:icl (pre-prod) */ + /* +* Wa_1406609255:icl (pre-prod): GEN7_DISABLE_DEMAND_PREFETCH +* Wa_1606682166:icl: GEN7_DISABLE_SAMPLER_PREFETCH +*/ if (IS_ICL_REVID(i915, ICL_REVID_A0, ICL_REVID_B0)) wa_write_or(wal, GEN7_SARCHKMD, Actually who knows how to check if this second Wa/ applies to the same steppings? Regards, Tvrtko ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH] drm/i915/icl: Document Wa_1606682166
From: Tvrtko Ursulin Commit 71ffd49cc9b9 ("drm/i915/icl:Add Wa_1606682166") added the workaround but did not put it in comment, which looks like should be the usual process for these things. Add the missing comment. Signed-off-by: Tvrtko Ursulin Cc: Radhakrishna Sripada Cc: Anuj Phogat Cc: Mika Kuoppala --- drivers/gpu/drm/i915/intel_workarounds.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_workarounds.c b/drivers/gpu/drm/i915/intel_workarounds.c index 4f678c502daf..7c4c5e655d94 100644 --- a/drivers/gpu/drm/i915/intel_workarounds.c +++ b/drivers/gpu/drm/i915/intel_workarounds.c @@ -1178,7 +1178,10 @@ static void rcs_engine_wa_init(struct intel_engine_cs *engine) PMFLUSH_GAPL3UNBLOCK | PMFLUSHDONE_LNEBLK); - /* Wa_1406609255:icl (pre-prod) */ + /* +* Wa_1406609255:icl (pre-prod): GEN7_DISABLE_DEMAND_PREFETCH +* Wa_1606682166:icl: GEN7_DISABLE_SAMPLER_PREFETCH +*/ if (IS_ICL_REVID(i915, ICL_REVID_A0, ICL_REVID_B0)) wa_write_or(wal, GEN7_SARCHKMD, -- 2.19.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v6] drm/i915/dsc: Add Per connector debugfs node for DSC support/enable
Looks good, some small nitpicks On Tue, 2018-12-04 at 11:55 -0800, Manasi Navare wrote: > DSC can be supported per DP connector. This patch adds a per connector > debugfs node to expose DSC support capability by the kernel. > The same node can be used from userspace to force DSC enable. > > force_dsc_en written through this debugfs node is used to force > DSC even for lower resolutions. > > v6: > * Read fec_capable only for non edp (Manasi) > v5: > * Name it dsc sink support and also add > fec support in the same node (Ville) > v4: > * Add missed connector_status check (Manasi) > * Create i915_dsc_support node only for Gen >=10 (manasi) > * Access intel_dp->dsc_dpcd only if its not NULL (Manasi) > v3: > * Combine Force_dsc_en with this patch (Ville) > v2: > * Use kstrtobool_from_user to avoid explicit error checking (Lyude) > * Rebase on drm-tip (Manasi) > > Cc: Rodrigo Vivi > Cc: Ville Syrjala > Cc: Anusha Srivatsa > Cc: Lyude Paul > Signed-off-by: Manasi Navare > --- > drivers/gpu/drm/i915/i915_debugfs.c | 80 + > drivers/gpu/drm/i915/intel_dp.c | 3 +- > drivers/gpu/drm/i915/intel_drv.h| 3 ++ > 3 files changed, 85 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c > b/drivers/gpu/drm/i915/i915_debugfs.c > index 129b9a6f8309..ec10ab027d18 100644 > --- a/drivers/gpu/drm/i915/i915_debugfs.c > +++ b/drivers/gpu/drm/i915/i915_debugfs.c > @@ -5086,6 +5086,79 @@ static int i915_hdcp_sink_capability_show(struct > seq_file *m, void *data) > } > DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability); > > +static int i915_dsc_fec_support_show(struct seq_file *m, void *data) > +{ > + struct drm_connector *connector = m->private; > + struct intel_encoder *encoder = intel_attached_encoder(connector); > + struct intel_dp *intel_dp = > + enc_to_intel_dp(>base); > + struct intel_crtc *crtc; > + struct intel_crtc_state *crtc_state; > + > + if (connector->status != connector_status_connected) > + return -ENODEV; > + > + crtc = to_intel_crtc(encoder->base.crtc); > + crtc_state = to_intel_crtc_state(crtc->base.state); > + drm_modeset_lock(>base.mutex, NULL); > + seq_printf(m, "DSC_Enabled: %s\n", > +yesno(crtc_state->dsc_params.compression_enable)); > + if (intel_dp->dsc_dpcd) > + seq_printf(m, "DSC_Sink_Support: %s\n", > +yesno(drm_dp_sink_supports_dsc(intel_dp- > >dsc_dpcd))); > + if (!intel_dp_is_edp(intel_dp)) > + seq_printf(m, "FEC_Sink_Support: %s\n", > +yesno(drm_dp_sink_supports_fec(intel_dp- > >fec_capable))); > + drm_modeset_unlock(>base.mutex); > + > + return 0; > +} > + > +static ssize_t i915_dsc_fec_support_write(struct file *file, > + const char __user *ubuf, > + size_t len, loff_t *offp) > +{ > + bool dsc_enable = false; > + int ret; > + struct drm_connector *connector = > + ((struct seq_file *)file->private_data)->private; > + struct intel_encoder *encoder = intel_attached_encoder(connector); > + struct intel_dp *intel_dp = enc_to_intel_dp(>base); > + > + if (len == 0) > + return 0; > + > + DRM_DEBUG_DRIVER("Copied %d bytes from user to force DSC\n", > + (unsigned int)len); You can just use %zu instead of %d here, see: https://01.org/linuxgraphics/gfx-docs/drm/core-api/printk-formats.html Other then that, looks good to me! With that change: Reviewed-by: Lyude Paul > + > + ret = kstrtobool_from_user(ubuf, len, _enable); > + if (ret < 0) > + return ret; > + > + DRM_DEBUG_DRIVER("Got %s for DSC Enable\n", > + (dsc_enable) ? "true" : "false"); > + intel_dp->force_dsc_en = dsc_enable; > + > + *offp += len; > + return len; > +} > + > +static int i915_dsc_fec_support_open(struct inode *inode, > + struct file *file) > +{ > + return single_open(file, i915_dsc_fec_support_show, > +inode->i_private); > +} > + > +static const struct file_operations i915_dsc_fec_support_fops = { > + .owner = THIS_MODULE, > + .open = i915_dsc_fec_support_open, > + .read = seq_read, > + .llseek = seq_lseek, > + .release = single_release, > + .write = i915_dsc_fec_support_write > +}; > + > /** > * i915_debugfs_connector_add - add i915 specific connector debugfs files > * @connector: pointer to a registered drm_connector > @@ -5098,6 +5171,7 @@ DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability); > int i915_debugfs_connector_add(struct drm_connector *connector) > { > struct dentry *root = connector->debugfs_entry; > + struct drm_i915_private *dev_priv = to_i915(connector->dev); > > /* The connector must have been registered beforehands. */ > if (!root) > @@ -5122,5 +5196,11 @@ int
[Intel-gfx] [PATCH] drm: Fix documentation generation for DP_DPCD_QUIRK_NO_PSR
The DP_DPCD_QUIRK_NO_PSR comment is missing colon causing this warning when generating kernel documentation. ./include/drm/drm_dp_helper.h:1374: warning: Incorrect use of kernel-doc format: * @DP_DPCD_QUIRK_NO_PSR Fixes: 7c5c641a930e (drm/i915: Disable PSR in Apple panels) Cc: Dhinakaran Pandiyan Signed-off-by: José Roberto de Souza --- include/drm/drm_dp_helper.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h index 18cfde45b8ed..c223c87ef119 100644 --- a/include/drm/drm_dp_helper.h +++ b/include/drm/drm_dp_helper.h @@ -1370,7 +1370,7 @@ enum drm_dp_quirk { */ DP_DPCD_QUIRK_CONSTANT_N, /** -* @DP_DPCD_QUIRK_NO_PSR +* @DP_DPCD_QUIRK_NO_PSR: * * The device does not support PSR even if reports that it supports or * driver still need to implement proper handling for such device. -- 2.19.2 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] Makefile: fix mixed tab and spaces
Hello Jani, I think "Fixes an inconsistency" suits the commit message better. Thanks, Pedro Em qua, 5 de dez de 2018 às 15:03, Saarinen, Jani escreveu: > HI, > > > -Original Message- > > From: Intel-gfx [mailto:intel-gfx-boun...@lists.freedesktop.org] On > Behalf Of > > Pedro Tammela > > Sent: keskiviikko 5. joulukuuta 2018 12.57 > > To: intel-gfx@lists.freedesktop.org > > Subject: [Intel-gfx] [PATCH] Makefile: fix mixed tab and spaces > > > > Fixes a comestic issue where spaces were being used instead of mixed tab > and > Cosmetic? > > > spaces. > > > > Signed-off-by: Pedro Tammela > > --- > > drivers/gpu/drm/i915/Makefile | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/i915/Makefile > b/drivers/gpu/drm/i915/Makefile > > index 1c2857f13ad4..cdba39f7be64 100644 > > --- a/drivers/gpu/drm/i915/Makefile > > +++ b/drivers/gpu/drm/i915/Makefile > > @@ -40,7 +40,7 @@ i915-y := i915_drv.o \ > > i915_mm.o \ > > i915_params.o \ > > i915_pci.o \ > > - i915_suspend.o \ > > + i915_suspend.o \ > > i915_syncmap.o \ > > i915_sw_fence.o \ > > i915_sysfs.o \ > > -- > > 2.19.2 > > > > ___ > > 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
Re: [Intel-gfx] [igt-dev] [PATCH i-g-t] igt/pm_rpm: Show the contents of i915_runtime_pm_status on setup
On 05/12/18 02:48, Chris Wilson wrote: To try and help debug situations where the driver has leaked a runtime reference before executing the pm_rpm tests, show the contents of i915_runtime_pm_status at startup, which will include all currently held wakerefs. LGTM. Reviewed-by: Antonio Argenziano Signed-off-by: Chris Wilson --- tests/pm_rpm.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c index f0d6db525..7427958dc 100644 --- a/tests/pm_rpm.c +++ b/tests/pm_rpm.c @@ -725,6 +725,18 @@ static bool dmc_loaded(void) return strstr(buf, "fw loaded: yes"); } +static void dump_file(int dir, const char *filename) +{ + char *contents; + + contents = igt_sysfs_get(dir, filename); + if (!contents) + return; + + igt_debug("%s:\n%s\n", filename, contents); + free(contents); +} + static bool setup_environment(void) { if (has_runtime_pm) @@ -744,6 +756,8 @@ static bool setup_environment(void) has_runtime_pm = igt_setup_runtime_pm(); setup_pc8(); + dump_file(debugfs, "i915_runtime_pm_status"); + igt_info("Runtime PM support: %d\n", has_runtime_pm); igt_info("PC8 residency support: %d\n", has_pc8); igt_require(has_runtime_pm); ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.IGT: success for HDCP1.4 Fixes - II (rev2)
== Series Details == Series: HDCP1.4 Fixes - II (rev2) URL : https://patchwork.freedesktop.org/series/53493/ State : success == Summary == CI Bug Log - changes from CI_DRM_5265_full -> Patchwork_11018_full Summary --- **WARNING** Minor unknown changes coming with Patchwork_11018_full need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_11018_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. Possible new issues --- Here are the unknown changes that may have been introduced in Patchwork_11018_full: ### IGT changes ### Warnings * igt@kms_cursor_crc@cursor-128x128-suspend: - shard-snb: PASS -> SKIP Known issues Here are the changes found in Patchwork_11018_full that come from known issues: ### IGT changes ### Issues hit * igt@gem_exec_suspend@basic-s3: - shard-apl: PASS -> DMESG-WARN [fdo#108566] * igt@gem_userptr_blits@readonly-unsync: - shard-kbl: PASS -> TIMEOUT [fdo#108887] * igt@i915_suspend@debugfs-reader: - {shard-iclb}: PASS -> INCOMPLETE [fdo#107713] +1 * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a: - {shard-iclb}: NOTRUN -> DMESG-WARN [fdo#107956] * igt@kms_color@pipe-a-ctm-max: - shard-apl: PASS -> FAIL [fdo#108147] * igt@kms_cursor_crc@cursor-256x85-random: - {shard-iclb}: NOTRUN -> FAIL [fdo#103232] +1 * igt@kms_cursor_crc@cursor-64x64-sliding: - shard-apl: PASS -> FAIL [fdo#103232] +1 * igt@kms_cursor_crc@cursor-64x64-suspend: - shard-glk: PASS -> FAIL [fdo#103232] +1 * igt@kms_cursor_crc@cursor-size-change: - shard-skl: PASS -> FAIL [fdo#103232] * igt@kms_draw_crc@draw-method-xrgb2101010-mmap-gtt-untiled: - {shard-iclb}: PASS -> WARN [fdo#108336] +2 * igt@kms_flip@flip-vs-expired-vblank: - shard-skl: PASS -> FAIL [fdo#105363] +1 * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt: - {shard-iclb}: PASS -> DMESG-FAIL [fdo#107724] +4 * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff: - shard-apl: PASS -> FAIL [fdo#103167] * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move: - shard-glk: PASS -> FAIL [fdo#103167] +1 * igt@kms_frontbuffer_tracking@fbc-2p-rte: - shard-glk: PASS -> FAIL [fdo#103167] / [fdo#105682] * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-fullscreen: - {shard-iclb}: PASS -> FAIL [fdo#103167] * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-mmap-wc: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] / [fdo#108336] +4 * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}: - shard-glk: PASS -> FAIL [fdo#108948] * {igt@kms_plane@pixel-format-pipe-c-planes-source-clamping}: - shard-skl: NOTRUN -> DMESG-WARN [fdo#106885] * igt@kms_plane@plane-position-covered-pipe-b-planes: - {shard-iclb}: PASS -> FAIL [fdo#103166] +2 * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb: - shard-skl: NOTRUN -> FAIL [fdo#108145] * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc: - shard-skl: PASS -> FAIL [fdo#107815] * igt@kms_rotation_crc@primary-rotation-180: - shard-skl: PASS -> FAIL [fdo#103925] / [fdo#107815] * igt@kms_rotation_crc@sprite-rotation-90-pos-100-0: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] +12 * igt@kms_setmode@basic: - shard-apl: PASS -> FAIL [fdo#99912] - shard-kbl: PASS -> FAIL [fdo#99912] * igt@perf@polling: - shard-hsw: PASS -> FAIL [fdo#102252] * igt@pm_backlight@fade_with_suspend: - {shard-iclb}: NOTRUN -> FAIL [fdo#107847] * igt@pm_rpm@debugfs-read: - shard-skl: PASS -> INCOMPLETE [fdo#107807] +1 * igt@pm_rpm@dpms-non-lpsp: - {shard-iclb}: SKIP -> INCOMPLETE [fdo#108840] * igt@pm_rpm@modeset-lpsp-stress: - {shard-iclb}: PASS -> DMESG-WARN [fdo#108654] Possible fixes * igt@gem_softpin@noreloc-s3: - {shard-iclb}: INCOMPLETE [fdo#107713] -> PASS +1 * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a: - shard-snb: DMESG-WARN [fdo#107956] -> SKIP * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b: - shard-apl: DMESG-WARN [fdo#107956] -> PASS * igt@kms_color@pipe-b-ctm-max: - shard-apl: FAIL [fdo#108147] -> PASS * igt@kms_cursor_crc@cursor-128x128-dpms: - shard-glk: FAIL [fdo#103232] -> PASS * igt@kms_cursor_crc@cursor-128x128-random: - shard-apl: FAIL [fdo#103232] -> PASS +5 * igt@kms_cursor_crc@cursor-64x64-suspend:
[Intel-gfx] ✓ Fi.CI.BAT: success for Makefile: fix mixed tab and spaces (rev2)
== Series Details == Series: Makefile: fix mixed tab and spaces (rev2) URL : https://patchwork.freedesktop.org/series/53550/ State : success == Summary == CI Bug Log - changes from CI_DRM_5266 -> Patchwork_11020 Summary --- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/53550/revisions/2/mbox/ Known issues Here are the changes found in Patchwork_11020 that come from known issues: ### IGT changes ### Issues hit * igt@gem_ctx_create@basic-files: - fi-bsw-n3050: PASS -> FAIL [fdo#108656] - fi-bsw-kefka: PASS -> FAIL [fdo#108656] * igt@kms_chamelium@common-hpd-after-suspend: - fi-icl-u2: NOTRUN -> DMESG-FAIL [fdo#103375] / [fdo#107732] / [fdo#108070] / [fdo#108924] * igt@kms_frontbuffer_tracking@basic: - fi-hsw-peppy: PASS -> DMESG-WARN [fdo#102614] * {igt@runner@aborted}: - fi-icl-u2: NOTRUN -> FAIL [fdo#108070] - {fi-icl-y}: NOTRUN -> FAIL [fdo#108070] Possible fixes * igt@i915_selftest@live_hangcheck: - fi-bwr-2160:DMESG-FAIL [fdo#108735] -> PASS {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614 [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [fdo#107732]: https://bugs.freedesktop.org/show_bug.cgi?id=107732 [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070 [fdo#108656]: https://bugs.freedesktop.org/show_bug.cgi?id=108656 [fdo#108735]: https://bugs.freedesktop.org/show_bug.cgi?id=108735 [fdo#108924]: https://bugs.freedesktop.org/show_bug.cgi?id=108924 Participating hosts (47 -> 44) -- Additional (2): fi-icl-y fi-icl-u2 Missing(5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-pnv-d510 Build changes - * Linux: CI_DRM_5266 -> Patchwork_11020 CI_DRM_5266: 529899779ce289fe64cd2249da1eb9bcea6a423f @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4741: 5c8f89f67c7b32014bc22421e48f3c0cf4e5ca3a @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_11020: d4d57c322dddb4ac85e132767a33351db945af34 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == d4d57c322ddd Makefile: fix mixed tab and spaces == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11020/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] Makefile: fix mixed tab and spaces
HI, > -Original Message- > From: Intel-gfx [mailto:intel-gfx-boun...@lists.freedesktop.org] On Behalf Of > Pedro Tammela > Sent: keskiviikko 5. joulukuuta 2018 12.57 > To: intel-gfx@lists.freedesktop.org > Subject: [Intel-gfx] [PATCH] Makefile: fix mixed tab and spaces > > Fixes a comestic issue where spaces were being used instead of mixed tab and Cosmetic? > spaces. > > Signed-off-by: Pedro Tammela > --- > drivers/gpu/drm/i915/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile > index 1c2857f13ad4..cdba39f7be64 100644 > --- a/drivers/gpu/drm/i915/Makefile > +++ b/drivers/gpu/drm/i915/Makefile > @@ -40,7 +40,7 @@ i915-y := i915_drv.o \ > i915_mm.o \ > i915_params.o \ > i915_pci.o \ > - i915_suspend.o \ > + i915_suspend.o \ > i915_syncmap.o \ > i915_sw_fence.o \ > i915_sysfs.o \ > -- > 2.19.2 > > ___ > 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
[Intel-gfx] ✗ Fi.CI.IGT: failure for Makefile: fix mixed tab and spaces
== Series Details == Series: Makefile: fix mixed tab and spaces URL : https://patchwork.freedesktop.org/series/53550/ State : failure == Summary == CI Bug Log - changes from CI_DRM_5265_full -> Patchwork_11017_full Summary --- **FAILURE** Serious unknown changes coming with Patchwork_11017_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_11017_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. Possible new issues --- Here are the unknown changes that may have been introduced in Patchwork_11017_full: ### IGT changes ### Possible regressions * igt@kms_cursor_legacy@pipe-c-torture-bo: - shard-skl: PASS -> INCOMPLETE Known issues Here are the changes found in Patchwork_11017_full that come from known issues: ### IGT changes ### Issues hit * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a: - {shard-iclb}: NOTRUN -> DMESG-WARN [fdo#107956] * igt@kms_color@pipe-c-ctm-0-75: - shard-apl: PASS -> INCOMPLETE [fdo#103927] * igt@kms_color@pipe-c-degamma: - shard-apl: PASS -> FAIL [fdo#104782] * igt@kms_cursor_crc@cursor-128x128-suspend: - shard-apl: PASS -> FAIL [fdo#103191] / [fdo#103232] * igt@kms_cursor_crc@cursor-256x85-random: - {shard-iclb}: NOTRUN -> FAIL [fdo#103232] +1 * igt@kms_cursor_crc@cursor-256x85-sliding: - shard-glk: PASS -> FAIL [fdo#103232] +1 * igt@kms_cursor_crc@cursor-64x64-sliding: - shard-apl: PASS -> FAIL [fdo#103232] +1 * igt@kms_cursor_crc@cursor-size-change: - shard-skl: PASS -> FAIL [fdo#103232] * igt@kms_draw_crc@draw-method-rgb565-render-ytiled: - {shard-iclb}: PASS -> WARN [fdo#108336] +3 * igt@kms_flip@absolute-wf_vblank: - shard-kbl: PASS -> DMESG-WARN [fdo#103558] / [fdo#105602] +2 * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render: - shard-apl: PASS -> FAIL [fdo#103167] +1 * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen: - {shard-iclb}: PASS -> DMESG-FAIL [fdo#107720] / [fdo#107724] * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-move: - shard-glk: PASS -> FAIL [fdo#103167] +1 * igt@kms_frontbuffer_tracking@fbc-2p-rte: - shard-glk: PASS -> FAIL [fdo#103167] / [fdo#105682] * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt: - {shard-iclb}: PASS -> DMESG-FAIL [fdo#107724] +2 * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-fullscreen: - {shard-iclb}: PASS -> FAIL [fdo#103167] +3 * {igt@kms_plane@pixel-format-pipe-c-planes-source-clamping}: - shard-skl: NOTRUN -> DMESG-WARN [fdo#106885] * igt@kms_plane@plane-position-covered-pipe-c-planes: - {shard-iclb}: PASS -> FAIL [fdo#103166] * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb: - shard-skl: NOTRUN -> FAIL [fdo#108145] * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc: - shard-skl: PASS -> FAIL [fdo#107815] * igt@kms_plane_lowres@pipe-c-tiling-y: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] / [fdo#108336] +14 * igt@kms_plane_multiple@atomic-pipe-c-tiling-y: - shard-apl: PASS -> FAIL [fdo#103166] * {igt@kms_rotation_crc@multiplane-rotation-cropping-top}: - {shard-iclb}: NOTRUN -> DMESG-WARN [fdo#107724] * igt@kms_rotation_crc@primary-rotation-180: - shard-skl: PASS -> FAIL [fdo#103925] / [fdo#107815] * igt@kms_setmode@basic: - shard-kbl: PASS -> FAIL [fdo#99912] * igt@kms_vblank@pipe-a-ts-continuation-idle-hang: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] +16 * igt@pm_backlight@fade_with_suspend: - {shard-iclb}: NOTRUN -> FAIL [fdo#107847] * igt@pm_rpm@universal-planes: - shard-skl: PASS -> INCOMPLETE [fdo#107807] Possible fixes * igt@gem_softpin@noreloc-s3: - {shard-iclb}: INCOMPLETE [fdo#107713] -> PASS +1 * igt@i915_selftest@live_workarounds: - {shard-iclb}: DMESG-FAIL [fdo#108954] -> PASS * igt@kms_busy@extended-modeset-hang-newfb-render-c: - shard-hsw: DMESG-WARN [fdo#107956] -> PASS * igt@kms_color@pipe-b-ctm-max: - shard-apl: FAIL [fdo#108147] -> PASS * igt@kms_cursor_crc@cursor-128x128-random: - shard-apl: FAIL [fdo#103232] -> PASS +4 * igt@kms_cursor_crc@cursor-64x64-random: - shard-glk: FAIL [fdo#103232] -> PASS +1 * igt@kms_cursor_crc@cursor-64x64-suspend: - shard-apl: FAIL [fdo#103191] / [fdo#103232] -> PASS * igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic: -
[Intel-gfx] [PATCH] Makefile: fix mixed tab and spaces
Fixes a comestic issue where spaces were being used instead of mixed tab and spaces. Signed-off-by: Pedro Tammela --- drivers/gpu/drm/i915/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile index 1c2857f13ad4..cdba39f7be64 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile @@ -40,7 +40,7 @@ i915-y := i915_drv.o \ i915_mm.o \ i915_params.o \ i915_pci.o \ - i915_suspend.o \ + i915_suspend.o \ i915_syncmap.o \ i915_sw_fence.o \ i915_sysfs.o \ -- 2.19.2 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v3] drm/i915/icl: combo port vswing programming changes per BSPEC
On Tue, Dec 04, 2018 at 03:41:09PM -0800, clinton.a.tay...@intel.com wrote: > From: Clint Taylor > > In August 2018 the BSPEC changed the ICL port programming sequence to > closely resemble earlier gen programming sequence. > > v2: remove debug code that Imre found > v3: simplify translation table if-else > > BSpec: 21257 > Cc: Ville Syrjälä > Cc: Imre Deak > Cc: Rodrigo Vivi > Signed-off-by: Clint Taylor > --- > drivers/gpu/drm/i915/i915_reg.h | 4 + > drivers/gpu/drm/i915/intel_ddi.c | 224 > ++- > 2 files changed, 85 insertions(+), 143 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > index 0a7d605..29acdb9 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -1866,6 +1866,10 @@ enum i915_power_well_id { > > #define CNL_PORT_TX_DW7_GRP(port)_MMIO(_CNL_PORT_TX_DW_GRP((port), 7)) > #define CNL_PORT_TX_DW7_LN0(port)_MMIO(_CNL_PORT_TX_DW_LN0((port), 7)) > +#define ICL_PORT_TX_DW7_AUX(port)_MMIO(_ICL_PORT_TX_DW_AUX(7, port)) > +#define ICL_PORT_TX_DW7_GRP(port)_MMIO(_ICL_PORT_TX_DW_GRP(7, port)) > +#define ICL_PORT_TX_DW7_LN0(port)_MMIO(_ICL_PORT_TX_DW_LN(7, 0, port)) > +#define ICL_PORT_TX_DW7_LN(port, ln) _MMIO(_ICL_PORT_TX_DW_LN(7, ln, port)) Looks like _CNL_PORT_TX_DW_GRP() is inconsistent with the ICL counterpart and CNL_PORT_TX_DW2_* / CNL_PORT_TX_DW5_* are broken atm, they need to be fixed as a follow-up. > #define N_SCALAR(x)((x) << 24) > #define N_SCALAR_MASK (0x7F << 24) > > diff --git a/drivers/gpu/drm/i915/intel_ddi.c > b/drivers/gpu/drm/i915/intel_ddi.c > index f3e1d6a..d78ec17 100644 > --- a/drivers/gpu/drm/i915/intel_ddi.c > +++ b/drivers/gpu/drm/i915/intel_ddi.c > @@ -494,103 +494,63 @@ struct cnl_ddi_buf_trans { > { 0x2, 0x7F, 0x3F, 0x00, 0x00 },/* 400 400 0.0 */ > }; > > -struct icl_combo_phy_ddi_buf_trans { > - u32 dw2_swing_select; > - u32 dw2_swing_scalar; > - u32 dw4_scaling; > -}; > - > -/* Voltage Swing Programming for VccIO 0.85V for DP */ > -static const struct icl_combo_phy_ddi_buf_trans > icl_combo_phy_ddi_translations_dp_hdmi_0_85V[] = { > - /* Voltage mV db*/ > - { 0x2, 0x98, 0x0018 }, /* 400 0.0 */ > - { 0x2, 0x98, 0x3015 }, /* 400 3.5 */ > - { 0x2, 0x98, 0x6012 }, /* 400 6.0 */ > - { 0x2, 0x98, 0x900F }, /* 400 9.5 */ > - { 0xB, 0x70, 0x0018 }, /* 600 0.0 */ > - { 0xB, 0x70, 0x3015 }, /* 600 3.5 */ > - { 0xB, 0x70, 0x6012 }, /* 600 6.0 */ > - { 0x5, 0x00, 0x0018 }, /* 800 0.0 */ > - { 0x5, 0x00, 0x3015 }, /* 800 3.5 */ > - { 0x6, 0x98, 0x0018 }, /* 12000.0 */ > -}; > - > -/* FIXME - After table is updated in Bspec */ > -/* Voltage Swing Programming for VccIO 0.85V for eDP */ > -static const struct icl_combo_phy_ddi_buf_trans > icl_combo_phy_ddi_translations_edp_0_85V[] = { > - /* Voltage mV db*/ > - { 0x0, 0x00, 0x00 },/* 200 0.0 */ > - { 0x0, 0x00, 0x00 },/* 200 1.5 */ > - { 0x0, 0x00, 0x00 },/* 200 4.0 */ > - { 0x0, 0x00, 0x00 },/* 200 6.0 */ > - { 0x0, 0x00, 0x00 },/* 250 0.0 */ > - { 0x0, 0x00, 0x00 },/* 250 1.5 */ > - { 0x0, 0x00, 0x00 },/* 250 4.0 */ > - { 0x0, 0x00, 0x00 },/* 300 0.0 */ > - { 0x0, 0x00, 0x00 },/* 300 1.5 */ > - { 0x0, 0x00, 0x00 },/* 350 0.0 */ > +/* icl_combo_phy_ddi_translations */ > +static const struct cnl_ddi_buf_trans icl_combo_phy_ddi_translations_dp[] = { > + /* NT mV Trans mV db*/ > + { 0xA, 0x35, 0x3F, 0x00, 0x00 },/* 350 350 0.0 */ > + { 0xA, 0x4F, 0x37, 0x00, 0x08 },/* 350 500 3.1 */ > + { 0xC, 0x71, 0x2F, 0x00, 0x10 },/* 350 700 6.0 */ > + { 0x6, 0x7F, 0x2B, 0x00, 0x14 },/* 350 900 8.2 */ > + { 0xA, 0x4C, 0x3F, 0x00, 0x00 },/* 500 500 0.0 */ > + { 0xC, 0x73, 0x34, 0x00, 0x0B },/* 500 700 2.9 */ > + { 0x6, 0x7F, 0x2F, 0x00, 0x10 },/* 500 900 5.1 */ > + { 0xC, 0x6C, 0x3C, 0x00, 0x03 },/* 650 705 0.6 */ ^ 700 > + { 0x6, 0x7F, 0x35, 0x00, 0x0A },/* 600 900 3.5 */ > + { 0x6, 0x7F, 0x3F, 0x00, 0x00 },/* 900 900 0.0 */ > }; > > -/* Voltage Swing Programming for VccIO 0.95V for DP */ > -static const struct icl_combo_phy_ddi_buf_trans > icl_combo_phy_ddi_translations_dp_hdmi_0_95V[] = { > - /* Voltage mV db*/ > - { 0x2, 0x98, 0x0018 }, /* 400 0.0
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/icl: Forcibly evict stale csb entries
== Series Details == Series: drm/i915/icl: Forcibly evict stale csb entries URL : https://patchwork.freedesktop.org/series/53560/ State : success == Summary == CI Bug Log - changes from CI_DRM_5266 -> Patchwork_11019 Summary --- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/53560/revisions/1/mbox/ Possible new issues --- Here are the unknown changes that may have been introduced in Patchwork_11019: ### IGT changes ### Warnings * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-c: - {fi-kbl-7567u}: PASS -> SKIP +33 Known issues Here are the changes found in Patchwork_11019 that come from known issues: ### IGT changes ### Issues hit * igt@gem_exec_suspend@basic-s3: - fi-blb-e6850: PASS -> INCOMPLETE [fdo#107718] * igt@i915_selftest@live_execlists: - fi-apl-guc: PASS -> INCOMPLETE [fdo#103927] * igt@kms_chamelium@common-hpd-after-suspend: - fi-icl-u2: NOTRUN -> DMESG-FAIL [fdo#103375] / [fdo#107732] / [fdo#108070] / [fdo#108924] * {igt@runner@aborted}: - fi-icl-u2: NOTRUN -> FAIL [fdo#108070] - {fi-icl-u3}:NOTRUN -> FAIL [fdo#108866] - {fi-icl-y}: NOTRUN -> FAIL [fdo#108070] - fi-apl-guc: NOTRUN -> FAIL [fdo#108622] Possible fixes * igt@i915_selftest@live_hangcheck: - fi-bwr-2160:DMESG-FAIL [fdo#108735] -> PASS Warnings * igt@i915_selftest@live_contexts: - {fi-icl-u3}:DMESG-FAIL [fdo#108569] -> INCOMPLETE [fdo#108315] {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927 [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718 [fdo#107732]: https://bugs.freedesktop.org/show_bug.cgi?id=107732 [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070 [fdo#108315]: https://bugs.freedesktop.org/show_bug.cgi?id=108315 [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569 [fdo#108622]: https://bugs.freedesktop.org/show_bug.cgi?id=108622 [fdo#108735]: https://bugs.freedesktop.org/show_bug.cgi?id=108735 [fdo#108866]: https://bugs.freedesktop.org/show_bug.cgi?id=108866 [fdo#108924]: https://bugs.freedesktop.org/show_bug.cgi?id=108924 Participating hosts (47 -> 45) -- Additional (2): fi-icl-y fi-icl-u2 Missing(4): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u Build changes - * Linux: CI_DRM_5266 -> Patchwork_11019 CI_DRM_5266: 529899779ce289fe64cd2249da1eb9bcea6a423f @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4741: 5c8f89f67c7b32014bc22421e48f3c0cf4e5ca3a @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_11019: 4a94a550e4fc2b333cc8ddacd9a9b5eff668e206 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 4a94a550e4fc drm/i915/icl: Forcibly evict stale csb entries == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11019/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 1/4] drm/edid: Pass connector to AVI inforframe functions
On Wed, Dec 05, 2018 at 08:40:34AM +0100, Andrzej Hajda wrote: > On 04.12.2018 20:02, Ville Syrjälä wrote: > > On Tue, Dec 04, 2018 at 08:03:53AM +0100, Andrzej Hajda wrote: > >> On 03.12.2018 22:48, Ville Syrjälä wrote: > >>> On Thu, Nov 29, 2018 at 09:46:16AM +0100, Andrzej Hajda wrote: > Quite late, hopefully not too late. > > > On 21.11.2018 12:51, Ville Syrjälä wrote: > > On Wed, Nov 21, 2018 at 01:40:43PM +0200, Jani Nikula wrote: > >>> return; > >>> diff --git a/drivers/gpu/drm/bridge/sil-sii8620.c > >>> b/drivers/gpu/drm/bridge/sil-sii8620.c > >>> index a6e8f4591e63..0cc293a6ac24 100644 > >>> --- a/drivers/gpu/drm/bridge/sil-sii8620.c > >>> +++ b/drivers/gpu/drm/bridge/sil-sii8620.c > >>> @@ -1104,8 +1104,7 @@ static void sii8620_set_infoframes(struct > >>> sii8620 *ctx, > >>> int ret; > >>> > >>> ret = drm_hdmi_avi_infoframe_from_display_mode(, > >>> -mode, > >>> -true); > >>> +NULL, mode); > >>> if (ctx->use_packed_pixel) > >>> frm.avi.colorspace = HDMI_COLORSPACE_YUV422; > >>> > >>> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > >>> b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > >>> index 64c3cf027518..88b720b63126 100644 > >>> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > >>> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > >>> @@ -1344,7 +1344,8 @@ static void hdmi_config_AVI(struct dw_hdmi > >>> *hdmi, struct drm_display_mode *mode) > >>> u8 val; > >>> > >>> /* Initialise info frame from DRM mode */ > >>> - drm_hdmi_avi_infoframe_from_display_mode(, mode, false); > >>> + drm_hdmi_avi_infoframe_from_display_mode(, > >>> + >connector, > >>> mode); > >>> > >>> if (hdmi_bus_fmt_is_yuv444(hdmi->hdmi_data.enc_out_bus_format)) > >>> frame.colorspace = HDMI_COLORSPACE_YUV444; > >>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c > >>> index b506e3622b08..501ac05ba7da 100644 > >>> --- a/drivers/gpu/drm/drm_edid.c > >>> +++ b/drivers/gpu/drm/drm_edid.c > >>> @@ -4830,19 +4830,32 @@ void drm_set_preferred_mode(struct > >>> drm_connector *connector, > >>> } > >>> EXPORT_SYMBOL(drm_set_preferred_mode); > >>> > >>> +static bool is_hdmi2_sink(struct drm_connector *connector) > >> You're usually known for adding const all around, why not const pointer > >> here and in all the other drm_* functions that call this? > > My current approach is to constify states/fbs/etc. but not so much > > crtcs/connectors/etc. Too much const can sometimes get in the way > > of things requiring that you remove the const later. But I guess > > in this case the const shouldn't really get in the way of anything > > because these are pretty much supposed to be pure functions. > > > >>> +{ > >>> + /* > >>> + * FIXME: sil-sii8620 doesn't have a connector around when > >>> + * we need one, so we have to be prepared for a NULL connector. > >>> + */ > >>> + if (!connector) > >>> + return false; > >> This actually changes the is_hdmi2_sink value for sil-sii8620. > > Hmm. No idea why they would have set that to true when everyone else is > > passing false. > Because false does not work :) More precisely MHLv3 (used in Sii8620) > uses CTA-861-F standard for infoframes, which is specific to HDMI2.0. > > Unfortunately I have no access to MHL specs, but my experiments and > vendor drivers strongly suggests it is done this way. > > This is important in case of 4K modes which are handled differently by > HDMI 1.4 and HDMI2.0. > >>> HDMI 2.0 handles 4k just like 1.4 handled it when you use one of > >>> the 4k modes defined in 1.4. Only if you use features beyond 1.4 do we > >>> switch over to the HDMI 2.0 specific signalling. > >> > >> The difference is in infoframes: > >> > >> HDMI 1.4 sets AVI infoframe VIC to 0, and sends HDMI_VIC in VSI. > >> > >> HDMI 2.0 sets AVI infoframe to non zero VICs introduced by > >> HDMI2.0/CEA-861-F, VSI can be omitted if I remember correctly, unless 3d > >> is in use. > > Like I said, The HDMI 1.4 method is used even with HDMI 2.0 sinks unless > > some feature gets used which can't be signalled via the HDMI 1.4 vendor > > specific infoframe. > > > Do you mean that 4K VICs 95, 94, 93, 98 defined in CEA-861-F are not > used at all for non-3d video in HDMI 2.0? > > Chapter 10.1 of HDMI2.0 spec says clearly: > > > When transmitting any additional Video Format for which a VIC value > > has been defined in > > CEA-861-F tables 1, 2, and
Re: [Intel-gfx] [PATCH] Makefile: fix mixed tab and spaces
Quoting Pedro Tammela (2018-12-05 11:06:08) > Fixes a comestic issue where spaces were being used > instead of mixed tab and spaces. > > Signed-off-by: Pedro Tammela Consistency good and removes a spurious line from one of patches, Reviewed-by: Chris Wilson -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 1/4] drm/edid: Pass connector to AVI inforframe functions
On Wed, Dec 05, 2018 at 09:46:40AM +0100, Andrzej Hajda wrote: > On 05.12.2018 07:32, Laurent Pinchart wrote: > > Hi Ville, > > > > On Tuesday, 4 December 2018 21:13:20 EET Ville Syrjälä wrote: > >> On Tue, Dec 04, 2018 at 08:46:53AM +0100, Andrzej Hajda wrote: > >>> On 03.12.2018 22:38, Ville Syrjälä wrote: > On Thu, Nov 29, 2018 at 10:08:07AM +0100, Andrzej Hajda wrote: > > On 21.11.2018 19:19, Laurent Pinchart wrote: > >> On Tuesday, 20 November 2018 18:13:42 EET Ville Syrjala wrote: > >>> From: Ville Syrjälä > >>> > >>> Make life easier for drivers by simply passing the connector > >>> to drm_hdmi_avi_infoframe_from_display_mode() and > >>> drm_hdmi_avi_infoframe_quant_range(). That way drivers don't > >>> need to worry about is_hdmi2_sink mess. > >> While this is good for display controller drivers, the change isn't > >> great for bridge drivers. Down the road we're looking at moving > >> connector support out of the bridge drivers. Adding an additional > >> dependency to connectors in the bridges will make that more > >> difficult. Ideally bridges should retrieve the information from their > >> sink, regardless of whether it is a connector or another bridge. > > I agree with it, and case of sii8620 shows that there are cases where > > bridge has no direct access to the connector. > It's just a matter of plumbing it through. > >>> What do you mean exactly? > >> void bridge_foo(... > >> + ,struct drm_connector *connector); > >> > > On the other side, since you are passing connector to > > drm_hdmi_avi_infoframe_from_display_mode(), you could drop mode > > parameter and rename the function to > > drm_hdmi_avi_infoframe_from_connector() then, unless mode passed and > > mode set on the connector differs? > Connectors don't have a mode. > >>> As they are passing video stream they should have it, even if not > >>> directly, for example: > >>> > >>> connector->state->crtc->mode > >> That's not really how atomic works. One shouldn't go digging > >> through the obj->state pointers when we're not holding the > >> relevant locks anymore. The atomic way would be to pass either > >> both crtc state and connector state, or drm_atomic_state + > >> crtc/connector. > > > Usually infoframe contents is generated in modesetting/enable callbacks > so the locks should be in place. Not when doing a nonblocking modeset. > > And the locks should be hold for > drm_hdmi_avi_infoframe_from_display_mode as well - it wouldn't be correct if > > generated infoframe is not relevant to actual video mode. I guess that > if connector->state->crtc->mode > > differs from mode passed to drm_hdmi_avi_infoframe_from_display_mode it > is a sign of possible problem. > > And if they do not differ passing mode as an extra argument is redundant. > > > > Or a bridge state ? With chained bridges the mode can vary along the > > pipeline, > > the CRTC adjusted mode will only cover the link between the CRTC and the > > first > > bridge. It's only a matter of time until we need to store other > > intermediate > > modes in states. I'd rather prepare for that instead of passing the CRTC > > state > > to bridges. > > > Yes, optional bridge states seems reasonable, volunteers needed :) > > > Regards > > Andrzej > > > > > >>> In moment of creating infoframe it should be set properly. > >>> > >> Please see below for an additional comment. > >> > >>> Cc: Alex Deucher > >>> Cc: "Christian König" > >>> Cc: "David (ChunMing) Zhou" > >>> Cc: Archit Taneja > >>> Cc: Andrzej Hajda > >>> Cc: Laurent Pinchart > >>> Cc: Inki Dae > >>> Cc: Joonyoung Shim > >> Cc: Seung-Woo Kim > >>> Cc: Kyungmin Park > >>> Cc: Russell King > >>> Cc: CK Hu > >>> Cc: Philipp Zabel > >>> Cc: Rob Clark > >>> Cc: Ben Skeggs > >>> Cc: Tomi Valkeinen > >>> Cc: Sandy Huang > >>> Cc: "Heiko Stübner" > >>> Cc: Benjamin Gaignard > >>> Cc: Vincent Abriou > >>> Cc: Thierry Reding > >>> Cc: Eric Anholt > >>> Cc: Shawn Guo > >>> Cc: Ilia Mirkin > >>> Cc: amd-...@lists.freedesktop.org > >>> Cc: linux-arm-...@vger.kernel.org > >>> Cc: freedr...@lists.freedesktop.org > >>> Cc: nouv...@lists.freedesktop.org > >>> Cc: linux-te...@vger.kernel.org > >>> Signed-off-by: Ville Syrjälä > >>> --- > >>> > >>> drivers/gpu/drm/amd/amdgpu/dce_v10_0.c| 2 +- > >>> drivers/gpu/drm/amd/amdgpu/dce_v11_0.c| 2 +- > >>> drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 3 ++- > >>> drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 2 +- > >>> drivers/gpu/drm/bridge/analogix-anx78xx.c | 5 ++-- > >>> drivers/gpu/drm/bridge/sii902x.c | 3 ++- > >>> drivers/gpu/drm/bridge/sil-sii8620.c | 3 +-- > >>> drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 3 ++- > >>>
Re: [Intel-gfx] [PATCH RFC 2/5] cgroup: Add mechanism to register vendor specific DRM devices
Quoting Kuehling, Felix (2018-12-03 22:55:16) > > On 2018-11-28 4:14 a.m., Joonas Lahtinen wrote: > > Quoting Ho, Kenny (2018-11-27 17:41:17) > >> On Tue, Nov 27, 2018 at 4:46 AM Joonas Lahtinen > >> wrote: > >>> I think a more abstract property "% of GPU (processing power)" might > >>> be a more universal approach. One can then implement that through > >>> subdividing the resources or timeslicing them, depending on the GPU > >>> topology. > >>> > >>> Leasing 1/8th, 1/4th or 1/2 of the GPU would probably be the most > >>> applicable to cloud provider usecases, too. At least that's what I > >>> see done for the CPUs today. > >> I think there are opportunities to slice the gpu in more than one way > >> (similar to the way it is done for cpu.) We can potentially frame > >> resources as continuous or discrete. Percentage definitely fits well for > >> continuous measurements such as time/time slices but I think there are > >> places for discrete units such as core counts as well. > > I think the ask in return to the early series from Intal was to agree > > on the variables that could be common to all of DRM subsystem. > > > > So we can only choose the lowest common denominator, right? > > > > Any core count out of total core count should translate nicely into a > > fraction, so what would be the problem with percentage amounts? > How would you handle overcommitment with a percentage? That is, more > than 100% of the GPU cores assigned to cgroups. Which cgroups end up > sharing cores would be up to chance. I see your point. With time-slicing, you really can't overcommit. So would assume that there would have to be second level of detail provided for overcommitting (and deciding which cgroups are to share GPU cores). > If we allow specifying a set of GPU cores, we can be more specific in > assigning and sharing resources between cgroups. As Matt outlined in the other reply to this thread, we don't really have the concept of GPU cores. We do have the command streamers, but the granularity is bit low. In your architecture, does it matter which specific cores are shared, or is it just a question of which specific cgroups would share some cores in case of overcommit? If we tack in the priority in addition to the percentage, you could make a choice to share cores only at an identical priority level only. That'd mean that in the case of overcommit, you'd aim to keep as many high priority levels free of overcommit as possible and then for lower priority cgroups you'd start overcommitting. Would that even partially address the concern? Regards, Joonas > > Regards, > Felix > > > > > > Regards, Joonas > > > >> Regards, > >> Kenny > >> > >>> That combined with the "GPU memory usable" property should be a good > >>> starting point to start subdividing the GPU resources for multiple > >>> users. > >>> > >>> Regards, Joonas > >>> > Your feedback is highly appreciated. > > Best Regards, > Harish > > > > From: amd-gfx on behalf of Tejun > Heo > Sent: Tuesday, November 20, 2018 5:30 PM > To: Ho, Kenny > Cc: cgro...@vger.kernel.org; intel-gfx@lists.freedesktop.org; > y2ke...@gmail.com; amd-...@lists.freedesktop.org; > dri-de...@lists.freedesktop.org > Subject: Re: [PATCH RFC 2/5] cgroup: Add mechanism to register vendor > specific DRM devices > > > Hello, > > On Tue, Nov 20, 2018 at 10:21:14PM +, Ho, Kenny wrote: > > By this reply, are you suggesting that vendor specific resources > > will never be acceptable to be managed under cgroup? Let say a user > I wouldn't say never but whatever which gets included as a cgroup > controller should have clearly defined resource abstractions and the > control schemes around them including support for delegation. AFAICS, > gpu side still seems to have a long way to go (and it's not clear > whether that's somewhere it will or needs to end up). > > > want to have similar functionality as what cgroup is offering but to > > manage vendor specific resources, what would you suggest as a > > solution? When you say keeping vendor specific resource regulation > > inside drm or specific drivers, do you mean we should replicate the > > cgroup infrastructure there or do you mean either drm or specific > > driver should query existing hierarchy (such as device or perhaps > > cpu) for the process organization information? > > > > To put the questions in more concrete terms, let say a user wants to > > expose certain part of a gpu to a particular cgroup similar to the > > way selective cpu cores are exposed to a cgroup via cpuset, how > > should we go about enabling such functionality? > Do what the intel driver or bpf is doing? It's not difficult to hook > into cgroup for identification purposes. > > Thanks. > > -- > tejun >
Re: [Intel-gfx] [PATCH] drm/i915/icl: Forcibly evict stale csb entries
Quoting Mika Kuoppala (2018-12-05 13:46:12) > static void nop_submission_tasklet(unsigned long data) > @@ -1015,6 +1025,19 @@ static void process_csb(struct intel_engine_cs *engine) > } while (head != tail); > > execlists->csb_head = head; > + > + /* > +* Gen11 has proven to fail wrt global observation point between > +* entry and tail update, failing on the ordering and thus > +* we see an old entry in the context status buffer. > +* > +* Forcibly evict out entries for the next gpu csb update, > +* to increase the odds that we get a fresh entries with non > +* working hardware. The cost for doing so comes out mostly with > +* the wash as hardware, working or not, will need to do the > +* invalidation before. > +*/ > + invalidate_csb_entries([0], [GEN8_CSB_ENTRIES - 1]); If it works, this is a stroke of genius. If we hypothesize that the GPU did write the CSB entries before the head pointer and inserted a Global Observation point beforehand, then we theorize that they merely forgot the cc protocol, the writes to system memory is correctly, but unordered into the cpu cache. By using the clflush to evict our used cacheline, on the next pass we will pull in that CSB entry cacheline back in from memory (ordered by the rmb used for the ringbuffer) and so, if the HW engineer's insistence that they did remember their wmb, the CSB entries will be coherent with the head pointer. So we remove one piece of the puzzle at what should be negligible cost, Reviewed-by: Chris Wilson -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PULL] gvt-fixes for 4.20-rc6
Quoting Zhenyu Wang (2018-12-04 07:06:33) > > Hi, > > Just one BDW regression fix for tiling mode format return > on vfio gfx dmabuf. Pulled. Regards, Joonas > > Thanks > -- > The following changes since commit 7513edbc096a006f967eaf39088091442e623b83: > > drm/i915/gvt: Avoid use-after-free iterating the gtt list (2018-11-21 > 17:31:56 +0800) > > are available in the Git repository at: > > https://github.com/intel/gvt-linux.git tags/gvt-fixes-2018-12-04 > > for you to fetch changes up to a40fa231bb64b33e2cd54cf8ef44a9f89875fa11: > > drm/i915/gvt: Fix tiled memory decoding bug on BDW (2018-12-03 17:03:21 > +0800) > > > gvt-fixes-2018-12-04 > > - Fix tiling mode format on BDW for VFIO gfx dmabuf (Tina) > > > Tina Zhang (1): > drm/i915/gvt: Fix tiled memory decoding bug on BDW > > drivers/gpu/drm/i915/gvt/fb_decoder.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > > -- > Open Source Technology Center, Intel ltd. > > $gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH] drm/i915/icl: Forcibly evict stale csb entries
Gen11 fails to deliver wrt global observation point on tail/entry updates and we sometimes see old entry. Use clflush to forcibly evict our possibly stale copy of the cacheline in hopes that we get fresh one from gpu. Obviously there is something amiss in the coherency protocol so this can be consired as a workaround until real cause is found. The working hardware will do the evict without our cue anyways, so the cost in there should be ameliorated by that fact. v2: for next pass, s/flush/evict, add reset (Chris) References: https://bugzilla.freedesktop.org/show_bug.cgi?id=108315 Cc: Chris Wilson Signed-off-by: Mika Kuoppala --- drivers/gpu/drm/i915/intel_lrc.c | 23 +++ 1 file changed, 23 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c index d7fa301b5ec7..2fe920751d94 100644 --- a/drivers/gpu/drm/i915/intel_lrc.c +++ b/drivers/gpu/drm/i915/intel_lrc.c @@ -765,6 +765,13 @@ execlists_cancel_port_requests(struct intel_engine_execlists * const execlists) execlists_clear_all_active(execlists); } +static inline void +invalidate_csb_entries(const u32 *first, const u32 *last) +{ + clflush((void *)first); + clflush((void *)last); +} + static void reset_csb_pointers(struct intel_engine_execlists *execlists) { const unsigned int reset_value = GEN8_CSB_ENTRIES - 1; @@ -780,6 +787,9 @@ static void reset_csb_pointers(struct intel_engine_execlists *execlists) */ execlists->csb_head = reset_value; WRITE_ONCE(*execlists->csb_write, reset_value); + + invalidate_csb_entries(>csb_status[0], + >csb_status[GEN8_CSB_ENTRIES - 1]); } static void nop_submission_tasklet(unsigned long data) @@ -1015,6 +1025,19 @@ static void process_csb(struct intel_engine_cs *engine) } while (head != tail); execlists->csb_head = head; + + /* +* Gen11 has proven to fail wrt global observation point between +* entry and tail update, failing on the ordering and thus +* we see an old entry in the context status buffer. +* +* Forcibly evict out entries for the next gpu csb update, +* to increase the odds that we get a fresh entries with non +* working hardware. The cost for doing so comes out mostly with +* the wash as hardware, working or not, will need to do the +* invalidation before. +*/ + invalidate_csb_entries([0], [GEN8_CSB_ENTRIES - 1]); } static void __execlists_submission_tasklet(struct intel_engine_cs *const engine) -- 2.17.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for Makefile: fix mixed tab and spaces
== Series Details == Series: Makefile: fix mixed tab and spaces URL : https://patchwork.freedesktop.org/series/53550/ State : success == Summary == CI Bug Log - changes from CI_DRM_5265 -> Patchwork_11017 Summary --- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/53550/revisions/1/mbox/ Possible new issues --- Here are the unknown changes that may have been introduced in Patchwork_11017: ### IGT changes ### Warnings * igt@kms_busy@basic-flip-a: - {fi-kbl-7567u}: PASS -> SKIP +2 Known issues Here are the changes found in Patchwork_11017 that come from known issues: ### IGT changes ### Possible fixes * igt@gem_exec_suspend@basic-s3: - fi-cfl-8109u: INCOMPLETE [fdo#107187] / [fdo#108126] -> PASS * igt@gem_exec_suspend@basic-s4-devices: - fi-blb-e6850: INCOMPLETE [fdo#107718] -> PASS * igt@i915_selftest@live_contexts: - fi-bsw-n3050: DMESG-FAIL [fdo#108626] / [fdo#108656] -> PASS * igt@i915_selftest@live_hangcheck: - fi-kbl-7560u: INCOMPLETE [fdo#108044] -> PASS {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#107187]: https://bugs.freedesktop.org/show_bug.cgi?id=107187 [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718 [fdo#108044]: https://bugs.freedesktop.org/show_bug.cgi?id=108044 [fdo#108126]: https://bugs.freedesktop.org/show_bug.cgi?id=108126 [fdo#108626]: https://bugs.freedesktop.org/show_bug.cgi?id=108626 [fdo#108656]: https://bugs.freedesktop.org/show_bug.cgi?id=108656 Participating hosts (48 -> 43) -- Additional (1): fi-pnv-d510 Missing(6): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-gdg-551 Build changes - * Linux: CI_DRM_5265 -> Patchwork_11017 CI_DRM_5265: 84929a4f6a3efdf609b50d51fb35890fc4357dbb @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4741: 5c8f89f67c7b32014bc22421e48f3c0cf4e5ca3a @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_11017: 28d508729252932f308205faba9e8262c1c38f76 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 28d508729252 Makefile: fix mixed tab and spaces == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11017/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for HDCP1.4 Fixes - II (rev2)
== Series Details == Series: HDCP1.4 Fixes - II (rev2) URL : https://patchwork.freedesktop.org/series/53493/ State : success == Summary == CI Bug Log - changes from CI_DRM_5265 -> Patchwork_11018 Summary --- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/53493/revisions/2/mbox/ Known issues Here are the changes found in Patchwork_11018 that come from known issues: ### IGT changes ### Issues hit * igt@gem_ctx_create@basic-files: - fi-bsw-n3050: PASS -> FAIL [fdo#108656] * igt@gem_exec_store@basic-bsd1: - fi-cfl-8109u: PASS -> DMESG-WARN [fdo#106107] +1 * {igt@runner@aborted}: - {fi-icl-y}: NOTRUN -> FAIL [fdo#108070] Possible fixes * igt@i915_selftest@live_contexts: - fi-bsw-n3050: DMESG-FAIL [fdo#108626] / [fdo#108656] -> PASS * igt@i915_selftest@live_hangcheck: - fi-kbl-7560u: INCOMPLETE [fdo#108044] -> PASS {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107 [fdo#108044]: https://bugs.freedesktop.org/show_bug.cgi?id=108044 [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070 [fdo#108626]: https://bugs.freedesktop.org/show_bug.cgi?id=108626 [fdo#108656]: https://bugs.freedesktop.org/show_bug.cgi?id=108656 Participating hosts (48 -> 45) -- Additional (2): fi-icl-y fi-pnv-d510 Missing(5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 Build changes - * Linux: CI_DRM_5265 -> Patchwork_11018 CI_DRM_5265: 84929a4f6a3efdf609b50d51fb35890fc4357dbb @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4741: 5c8f89f67c7b32014bc22421e48f3c0cf4e5ca3a @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_11018: 99d44a3b93d210e170768a0e2320c5f6e7101fa0 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 99d44a3b93d2 drm/i915: Increase timeout for Encrypt status change 50ad2cb4a101 drm/i915: debug log for REPLY_ACK missing 842e3b4d9114 drm/i915: Fix platform coverage for HDCP1.4 4c71fd64125d drm/i915: Fix GEN9 HDCP1.4 key load process == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11018/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/fbc/cnl: Add GLK and CNL+ hardware tracking area
== Series Details == Series: drm/i915/fbc/cnl: Add GLK and CNL+ hardware tracking area URL : https://patchwork.freedesktop.org/series/53515/ State : failure == Summary == CI Bug Log - changes from CI_DRM_5263_full -> Patchwork_11016_full Summary --- **FAILURE** Serious unknown changes coming with Patchwork_11016_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_11016_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. Possible new issues --- Here are the unknown changes that may have been introduced in Patchwork_11016_full: ### IGT changes ### Possible regressions * igt@kms_cursor_legacy@pipe-a-torture-bo: - shard-skl: PASS -> INCOMPLETE Warnings * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-cpu: - shard-hsw: PASS -> SKIP +1 Known issues Here are the changes found in Patchwork_11016_full that come from known issues: ### IGT changes ### Issues hit * igt@gem_exec_schedule@pi-ringfull-blt: - {shard-iclb}: NOTRUN -> FAIL [fdo#103158] * igt@gem_exec_schedule@pi-ringfull-render: - shard-skl: NOTRUN -> FAIL [fdo#103158] +1 * igt@gem_exec_schedule@smoketest-all: - shard-glk: PASS -> INCOMPLETE [fdo#103359] / [k.org#198133] * igt@gem_ppgtt@blt-vs-render-ctxn: - shard-skl: NOTRUN -> TIMEOUT [fdo#108039] * igt@gem_userptr_blits@readonly-unsync: - shard-skl: NOTRUN -> TIMEOUT [fdo#108887] * igt@i915_suspend@shrink: - shard-skl: NOTRUN -> DMESG-WARN [fdo#108784] * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a: - shard-skl: NOTRUN -> DMESG-WARN [fdo#107956] * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b: - {shard-iclb}: NOTRUN -> DMESG-WARN [fdo#107956] +1 * igt@kms_ccs@pipe-a-crc-sprite-planes-basic: - shard-glk: PASS -> FAIL [fdo#108145] * igt@kms_ccs@pipe-c-crc-sprite-planes-basic: - {shard-iclb}: NOTRUN -> FAIL [fdo#107725] +1 * igt@kms_color@pipe-c-ctm-max: - shard-apl: PASS -> FAIL [fdo#108147] * igt@kms_cursor_crc@cursor-128x42-offscreen: - shard-skl: PASS -> FAIL [fdo#103232] * igt@kms_cursor_crc@cursor-256x85-onscreen: - shard-glk: PASS -> FAIL [fdo#103232] +2 * igt@kms_cursor_crc@cursor-256x85-sliding: - {shard-iclb}: NOTRUN -> FAIL [fdo#103232] +2 * igt@kms_cursor_crc@cursor-64x21-random: - shard-apl: PASS -> FAIL [fdo#103232] +3 * igt@kms_cursor_crc@cursor-64x64-suspend: - shard-apl: PASS -> FAIL [fdo#103191] / [fdo#103232] +1 * igt@kms_draw_crc@draw-method-rgb565-mmap-cpu-xtiled: - shard-skl: PASS -> FAIL [fdo#103184] * igt@kms_fbcon_fbt@psr: - shard-skl: NOTRUN -> FAIL [fdo#107882] * igt@kms_flip@flip-vs-expired-vblank: - shard-glk: PASS -> FAIL [fdo#102887] / [fdo#105363] * igt@kms_flip_tiling@flip-to-y-tiled: - shard-skl: PASS -> FAIL [fdo#107931] * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move: - {shard-iclb}: PASS -> FAIL [fdo#103167] +3 * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt: - shard-glk: PASS -> FAIL [fdo#103167] +1 * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-onoff: - shard-hsw: PASS -> INCOMPLETE [fdo#103540] * igt@kms_frontbuffer_tracking@fbcpsr-stridechange: - {shard-iclb}: PASS -> FAIL [fdo#105683] * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff: - shard-skl: NOTRUN -> FAIL [fdo#103167] * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}: - shard-skl: NOTRUN -> DMESG-WARN [fdo#106885] +1 * igt@kms_plane@pixel-format-pipe-b-planes: - {shard-iclb}: NOTRUN -> FAIL [fdo#103166] * {igt@kms_plane@pixel-format-pipe-b-planes-source-clamping}: - shard-apl: PASS -> FAIL [fdo#108948] * igt@kms_plane@plane-position-covered-pipe-b-planes: - shard-apl: PASS -> FAIL [fdo#103166] * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc: - shard-skl: NOTRUN -> FAIL [fdo#107815] / [fdo#108145] * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb: - shard-skl: NOTRUN -> FAIL [fdo#108145] * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-skl: NOTRUN -> FAIL [fdo#107815] * igt@kms_plane_multiple@atomic-pipe-a-tiling-y: - shard-glk: PASS -> FAIL [fdo#103166] +2 * igt@kms_plane_multiple@atomic-pipe-b-tiling-yf: - {shard-iclb}: PASS -> FAIL [fdo#103166] +2 * igt@kms_plane_scaling@pipe-b-scaler-with-pixel-format: - {shard-iclb}:
Re: [Intel-gfx] [PATCH v3 2/4] drm/i915: Fix platform coverage for HDCP1.4
On 12/5/2018 12:45 AM, Ville Syrjälä wrote: On Tue, Dec 04, 2018 at 11:37:05PM +0530, Ramalingam C wrote: HDCP1.4 is enabled and validated only on GEN9+ platforms. Signed-off-by: Ramalingam C Reviewed-by: Sean Paul --- drivers/gpu/drm/i915/intel_hdcp.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c index c16bffcce3b0..bccfb001340a 100644 --- a/drivers/gpu/drm/i915/intel_hdcp.c +++ b/drivers/gpu/drm/i915/intel_hdcp.c @@ -769,8 +769,7 @@ static void intel_hdcp_prop_work(struct work_struct *work) bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port) { /* PORT E doesn't have HDCP, and PORT F is disabled */ - return ((INTEL_GEN(dev_priv) >= 8 || IS_HASWELL(dev_priv)) && - !IS_CHERRYVIEW(dev_priv) && port < PORT_E); + return ((INTEL_GEN(dev_priv) >= 9) && port < PORT_E); Drive-by: Lots of pointless parens floating around here. kept it for readability. Perhaps overkill here. Removed them. Thanks, --Ram } int intel_hdcp_init(struct intel_connector *connector, -- 2.7.4 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH v4 2/4] drm/i915: Fix platform coverage for HDCP1.4
HDCP1.4 is enabled and validated only on GEN9+ platforms. v2: Removed the unnecessary parens [Ville] Signed-off-by: Ramalingam C Reviewed-by: Sean Paul --- drivers/gpu/drm/i915/intel_hdcp.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c index c16bffcce3b0..1e5a1e07e343 100644 --- a/drivers/gpu/drm/i915/intel_hdcp.c +++ b/drivers/gpu/drm/i915/intel_hdcp.c @@ -769,8 +769,7 @@ static void intel_hdcp_prop_work(struct work_struct *work) bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port) { /* PORT E doesn't have HDCP, and PORT F is disabled */ - return ((INTEL_GEN(dev_priv) >= 8 || IS_HASWELL(dev_priv)) && - !IS_CHERRYVIEW(dev_priv) && port < PORT_E); + return INTEL_GEN(dev_priv) >= 9 && port < PORT_E; } int intel_hdcp_init(struct intel_connector *connector, -- 2.7.4 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH v4 4/4] drm/i915: Increase timeout for Encrypt status change
At enable/disable of the HDCP encryption, for encryption status change we need minimum one frame duration. And we might program this bit any point(start/End) in the previous frame. With 20mSec, observed the timeout for change in encryption status. Since this is not time critical operation and we need to hold on until the status is changed, fixing the timeout to 50mSec. (Based on trial and error method!) v2: %s/TIME_FOR_ENCRYPT_STATUS_CHANGE/ENCRYPT_STATUS_CHANGE_TIMEOUT_MS [Sean Paul] Signed-off-by: Ramalingam C Reviewed-by: Sean Paul --- drivers/gpu/drm/i915/intel_hdcp.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c index 1e5a1e07e343..e000e54ad569 100644 --- a/drivers/gpu/drm/i915/intel_hdcp.c +++ b/drivers/gpu/drm/i915/intel_hdcp.c @@ -15,6 +15,7 @@ #include "i915_reg.h" #define KEY_LOAD_TRIES 5 +#define ENCRYPT_STATUS_CHANGE_TIMEOUT_MS 50 static bool intel_hdcp_is_ksv_valid(u8 *ksv) @@ -637,7 +638,8 @@ static int intel_hdcp_auth(struct intel_digital_port *intel_dig_port, /* Wait for encryption confirmation */ if (intel_wait_for_register(dev_priv, PORT_HDCP_STATUS(port), - HDCP_STATUS_ENC, HDCP_STATUS_ENC, 20)) { + HDCP_STATUS_ENC, HDCP_STATUS_ENC, + ENCRYPT_STATUS_CHANGE_TIMEOUT_MS)) { DRM_ERROR("Timed out waiting for encryption\n"); return -ETIMEDOUT; } @@ -667,7 +669,7 @@ static int _intel_hdcp_disable(struct intel_connector *connector) I915_WRITE(PORT_HDCP_CONF(port), 0); if (intel_wait_for_register(dev_priv, PORT_HDCP_STATUS(port), ~0, 0, - 20)) { + ENCRYPT_STATUS_CHANGE_TIMEOUT_MS)) { DRM_ERROR("Failed to disable HDCP, timeout clearing status\n"); return -ETIMEDOUT; } -- 2.7.4 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH v4 3/4] drm/i915: debug log for REPLY_ACK missing
Adding a debug log when the DP_AUX_NATIVE_REPLY_ACK is missing for aksv write. This helps to locate the possible non responding DP HDCP sinks. v2: Rewritten for readability [Sean Paul] Signed-off-by: Ramalingam C Reviewed-by: Sean Paul --- drivers/gpu/drm/i915/intel_dp.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 38a6e82153fd..9f75ca04a344 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -5579,7 +5579,12 @@ int intel_dp_hdcp_write_an_aksv(struct intel_digital_port *intel_dig_port, } reply = (rxbuf[0] >> 4) & DP_AUX_NATIVE_REPLY_MASK; - return reply == DP_AUX_NATIVE_REPLY_ACK ? 0 : -EIO; + if (reply != DP_AUX_NATIVE_REPLY_ACK) { + DRM_DEBUG_KMS("Aksv write: no DP_AUX_NATIVE_REPLY_ACK %x\n", + reply); + return -EIO; + } + return 0; } static int intel_dp_hdcp_read_bksv(struct intel_digital_port *intel_dig_port, -- 2.7.4 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH v4 0/4] HDCP1.4 Fixes - II
Couple of more HDCP1.4 fixes on - Key load process for CFL - Encryption status change time - debug log addition - active platform coverage v1 and v2 went into old series https://patchwork.freedesktop.org/series/38978/ as v8 and v9, due to the same series title. Now changed the title. v3-->v4: Respining with minor fix on 2nd patch [Ville] Thanks Sean Paul for the reviews. Ramalingam C (4): drm/i915: Fix GEN9 HDCP1.4 key load process drm/i915: Fix platform coverage for HDCP1.4 drm/i915: debug log for REPLY_ACK missing drm/i915: Increase timeout for Encrypt status change drivers/gpu/drm/i915/intel_dp.c | 7 ++- drivers/gpu/drm/i915/intel_hdcp.c | 16 +--- 2 files changed, 15 insertions(+), 8 deletions(-) -- 2.7.4 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH v4 1/4] drm/i915: Fix GEN9 HDCP1.4 key load process
HDCP1.4 key load process varies between Intel platform to platform. For Gen9 platforms except BXT and GLK, HDCP1.4 key is loaded using the GT Driver Mailbox interface. So all GEN9_BC platforms will use the GT Driver Mailbox interface for HDCP1.4 key load. v2: Using the IS_GEN9_BC for filtering the platforms [Ville] Signed-off-by: Ramalingam C Reviewed-by: Sean Paul --- drivers/gpu/drm/i915/intel_hdcp.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c index 1bf487f94254..c16bffcce3b0 100644 --- a/drivers/gpu/drm/i915/intel_hdcp.c +++ b/drivers/gpu/drm/i915/intel_hdcp.c @@ -157,10 +157,11 @@ static int intel_hdcp_load_keys(struct drm_i915_private *dev_priv) /* * Initiate loading the HDCP key from fuses. * -* BXT+ platforms, HDCP key needs to be loaded by SW. Only SKL and KBL -* differ in the key load trigger process from other platforms. +* BXT+ platforms, HDCP key needs to be loaded by SW. Only Gen 9 +* platforms except BXT and GLK, differ in the key load trigger process +* from other platforms. So GEN9_BC uses the GT Driver Mailbox i/f. */ - if (IS_SKYLAKE(dev_priv) || IS_KABYLAKE(dev_priv)) { + if (IS_GEN9_BC(dev_priv)) { mutex_lock(_priv->pcu_lock); ret = sandybridge_pcode_write(dev_priv, SKL_PCODE_LOAD_HDCP_KEYS, 1); -- 2.7.4 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/5] drm/i915/psr: Allow PSR2 to be enabled when debugfs asks
== Series Details == Series: series starting with [1/5] drm/i915/psr: Allow PSR2 to be enabled when debugfs asks URL : https://patchwork.freedesktop.org/series/53510/ State : success == Summary == CI Bug Log - changes from CI_DRM_5263_full -> Patchwork_11014_full Summary --- **WARNING** Minor unknown changes coming with Patchwork_11014_full need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_11014_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. Possible new issues --- Here are the unknown changes that may have been introduced in Patchwork_11014_full: ### IGT changes ### Possible regressions * {igt@kms_rotation_crc@multiplane-rotation-cropping-top}: - shard-kbl: PASS -> DMESG-FAIL Warnings * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-msflip-blt: - shard-skl: PASS -> SKIP +109 * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-blt: - {shard-iclb}: PASS -> SKIP +128 * igt@kms_vblank@pipe-a-query-idle-hang: - shard-snb: PASS -> SKIP +6 Known issues Here are the changes found in Patchwork_11014_full that come from known issues: ### IGT changes ### Issues hit * igt@gem_exec_schedule@pi-ringfull-blt: - {shard-iclb}: NOTRUN -> FAIL [fdo#103158] * igt@gem_exec_schedule@pi-ringfull-render: - shard-skl: NOTRUN -> FAIL [fdo#103158] +1 * igt@gem_ppgtt@blt-vs-render-ctxn: - shard-skl: NOTRUN -> TIMEOUT [fdo#108039] * igt@gem_userptr_blits@readonly-unsync: - shard-skl: NOTRUN -> TIMEOUT [fdo#108887] * igt@i915_suspend@fence-restore-tiled2untiled: - shard-skl: PASS -> INCOMPLETE [fdo#104108] / [fdo#107773] * igt@i915_suspend@shrink: - shard-skl: NOTRUN -> INCOMPLETE [fdo#106886] * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a: - shard-skl: NOTRUN -> DMESG-WARN [fdo#107956] * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b: - {shard-iclb}: NOTRUN -> DMESG-WARN [fdo#107956] +1 * igt@kms_ccs@pipe-c-crc-sprite-planes-basic: - {shard-iclb}: NOTRUN -> FAIL [fdo#107725] +1 * igt@kms_cursor_crc@cursor-128x128-suspend: - shard-apl: PASS -> FAIL [fdo#103191] / [fdo#103232] * igt@kms_cursor_crc@cursor-256x85-sliding: - {shard-iclb}: NOTRUN -> FAIL [fdo#103232] +2 * igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] +7 * igt@kms_draw_crc@draw-method-rgb565-blt-untiled: - {shard-iclb}: NOTRUN -> WARN [fdo#108336] * igt@kms_flip@dpms-vs-vblank-race: - shard-kbl: PASS -> FAIL [fdo#103060] * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff: - {shard-iclb}: PASS -> DMESG-FAIL [fdo#107724] * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite: - shard-apl: PASS -> FAIL [fdo#103167] +1 - shard-glk: PASS -> FAIL [fdo#103167] * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move: - {shard-iclb}: PASS -> FAIL [fdo#103167] +3 * igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-render: - {shard-iclb}: PASS -> DMESG-WARN [fdo#107724] / [fdo#108336] +5 * igt@kms_frontbuffer_tracking@fbc-stridechange: - {shard-iclb}: PASS -> FAIL [fdo#105683] / [fdo#108040] * igt@kms_frontbuffer_tracking@fbc-suspend: - shard-skl: NOTRUN -> INCOMPLETE [fdo#104108] / [fdo#105959] * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}: - shard-skl: NOTRUN -> DMESG-WARN [fdo#106885] +1 * igt@kms_plane@pixel-format-pipe-b-planes: - {shard-iclb}: NOTRUN -> FAIL [fdo#103166] * {igt@kms_plane@pixel-format-pipe-c-planes-source-clamping}: - shard-apl: PASS -> FAIL [fdo#108948] * igt@kms_plane@plane-position-covered-pipe-a-planes: - shard-glk: PASS -> FAIL [fdo#103166] +2 * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc: - shard-skl: NOTRUN -> FAIL [fdo#107815] / [fdo#108145] * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb: - shard-skl: NOTRUN -> FAIL [fdo#108145] * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc: - shard-skl: PASS -> FAIL [fdo#107815] * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-skl: NOTRUN -> FAIL [fdo#107815] * igt@kms_plane_multiple@atomic-pipe-a-tiling-y: - {shard-iclb}: PASS -> FAIL [fdo#103166] +1 * igt@kms_plane_scaling@pipe-b-scaler-with-pixel-format: - {shard-iclb}: NOTRUN -> DMESG-WARN [fdo#107724] +3 * igt@kms_setmode@basic: - shard-skl: NOTRUN -> FAIL [fdo#99912] *
[Intel-gfx] [PATCH] Makefile: fix mixed tab and spaces
Fixes a comestic issue where spaces were being used instead of mixed tab and spaces. Signed-off-by: Pedro Tammela --- drivers/gpu/drm/i915/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile index 1c2857f13ad4..cdba39f7be64 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile @@ -40,7 +40,7 @@ i915-y := i915_drv.o \ i915_mm.o \ i915_params.o \ i915_pci.o \ - i915_suspend.o \ + i915_suspend.o \ i915_syncmap.o \ i915_sw_fence.o \ i915_sysfs.o \ -- 2.19.2 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH i-g-t] igt/pm_rpm: Show the contents of i915_runtime_pm_status on setup
To try and help debug situations where the driver has leaked a runtime reference before executing the pm_rpm tests, show the contents of i915_runtime_pm_status at startup, which will include all currently held wakerefs. Signed-off-by: Chris Wilson --- tests/pm_rpm.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c index f0d6db525..7427958dc 100644 --- a/tests/pm_rpm.c +++ b/tests/pm_rpm.c @@ -725,6 +725,18 @@ static bool dmc_loaded(void) return strstr(buf, "fw loaded: yes"); } +static void dump_file(int dir, const char *filename) +{ + char *contents; + + contents = igt_sysfs_get(dir, filename); + if (!contents) + return; + + igt_debug("%s:\n%s\n", filename, contents); + free(contents); +} + static bool setup_environment(void) { if (has_runtime_pm) @@ -744,6 +756,8 @@ static bool setup_environment(void) has_runtime_pm = igt_setup_runtime_pm(); setup_pc8(); + dump_file(debugfs, "i915_runtime_pm_status"); + igt_info("Runtime PM support: %d\n", has_runtime_pm); igt_info("PC8 residency support: %d\n", has_pc8); igt_require(has_runtime_pm); -- 2.20.0.rc2 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915: Wait one vblank before sending hotplug event to userspace
On Tue, 2018-12-04 at 21:43 +0200, Ville Syrjälä wrote: > On Tue, Dec 04, 2018 at 11:46:39AM +0200, Mika Kahola wrote: > > Occasionally, we get the following error in our CI runs > > > > [853.132830] Workqueue: events i915_hotplug_work_func [i915] > > [853.132844] RIP: 0010:drm_wait_one_vblank+0x19b/0x1b0 > > [853.132852] Code: fe ff ff e8 b7 4e a6 ff 48 89 e6 4c 89 ff e8 6c > > 5f ab ff 45 85 ed 0f 85 > > 15 ff ff ff 89 ee 48 c7 c7 e8 03 10 82 e8 b5 4b a6 ff <0f> 0b e9 00 > > ff ff ff 0f 1f 40 00 66 > > 2e 0f 1f 84 00 00 00 00 00 8b > > [853.132859] RSP: 0018:c9000146bca0 EFLAGS: 00010286 > > [853.132866] RAX: RBX: 88849ef0 RCX: > > > > [853.132873] RDX: 0007 RSI: 820c6f58 RDI: > > > > [853.132879] RBP: R08: 7ffc637a R09: > > > > [853.132884] R10: R11: R12: > > > > [853.132890] R13: R14: d0c2 R15: > > 8884a491e680 > > [853.132897] FS: () GS:8884afe8() > > knlGS: > > [853.132904] CS: 0010 DS: ES: CR0: 80050033 > > [853.132910] CR2: 7f63bf0df000 CR3: 05210006 CR4: > > 00760ee0 > > [853.132916] DR0: DR1: DR2: > > > > [853.132922] DR3: DR6: fffe0ff0 DR7: > > 0400 > > [853.132927] PKRU: 5554 > > [853.132932] Call Trace: > > [853.132949] ? wait_woken+0xa0/0xa0 > > [853.133068] intel_dp_retrain_link+0x130/0x190 [i915] > > [853.133176] intel_ddi_hotplug+0x54/0x2e0 [i915] > > [853.133298] i915_hotplug_work_func+0x1a9/0x240 [i915] > > [853.133324] process_one_work+0x262/0x630 > > [853.133349] worker_thread+0x37/0x380 > > [853.133365] ? process_one_work+0x630/0x630 > > [853.133373] kthread+0x119/0x130 > > [853.133383] ? kthread_park+0x80/0x80 > > [853.133400] ret_from_fork+0x3a/0x50 > > [853.133433] irq event stamp: 1426928 > > > > I suspect that this is caused by a racy condition when retraining > > the > > DisplayPort link. My proposal is to wait for one additional vblank > > event before we send out a hotplug event to userspace for > > reprobing. > > > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108835 > > The first problem in the log is > <3> [853.020316] [drm:intel_ddi_prepare_link_retrain [i915]] *ERROR* > Timeout waiting for DDI BUF A idle bit > That's where one should start. > > Some suspects: > - icl_enable/disable_phy_clock_gating() > - intel_ddi_enable/disable_pipe_clock() Thanks! I will have a look at those too. On the other hand, this test failure as INCOMPLETE in CI might have caused by jenkins issue [21/79] ( 873s left) kms_flip (blocking-absolute-wf_vblank- interruptible) FATAL: command execution failed java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.j ava:2681) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStr eam.java:3156) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:862) at java.io.ObjectInputStream.(ObjectInputStream.java:358) at hudson.remoting.ObjectInputStreamEx.(ObjectInputStreamEx.java:49) at hudson.remoting.Command.readFrom(Command.java:140) at hudson.remoting.Command.readFrom(Command.java:126) at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(Abstr actSynchronousByteArrayCommandTransport.java:36) at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(Synchronou sCommandTransport.java:63) Caused: java.io.IOException: Unexpected termination of the channel at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(Synchronou sCommandTransport.java:77) Caused: java.io.IOException: Backing channel 'shard-iclb7' is disconnected. at hudson.remoting.RemoteInvocationHandler.channelOrFail(RemoteInvocationH andler.java:214) at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler. java:283) at com.sun.proxy.$Proxy64.isAlive(Unknown Source) at hudson.Launcher$RemoteLauncher$ProcImpl.isAlive(Launcher.java:1144) at hudson.Launcher$RemoteLauncher$ProcImpl.join(Launcher.java:1136) at hudson.tasks.CommandInterpreter.join(CommandInterpreter.java:155) at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:109) at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:66) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild .java:744) at hudson.model.Build$BuildExecution.build(Build.java:206) at hudson.model.Build$BuildExecution.doRun(Build.java:163) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.jav a:504) at
Re: [Intel-gfx] [PATCH 1/4] drm/edid: Pass connector to AVI inforframe functions
On Tue, Nov 20, 2018 at 06:13:42PM +0200, Ville Syrjala wrote: > diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c > b/drivers/gpu/drm/i2c/tda998x_drv.c > index a7c39f39793f..38c66fbc8276 100644 > --- a/drivers/gpu/drm/i2c/tda998x_drv.c > +++ b/drivers/gpu/drm/i2c/tda998x_drv.c > @@ -849,7 +849,8 @@ tda998x_write_avi(struct tda998x_priv *priv, struct > drm_display_mode *mode) > { > union hdmi_infoframe frame; > > - drm_hdmi_avi_infoframe_from_display_mode(, mode, false); > + drm_hdmi_avi_infoframe_from_display_mode(, > + >connector, mode); > frame.avi.quantization_range = HDMI_QUANTIZATION_RANGE_FULL; > > tda998x_write_if(priv, DIP_IF_FLAGS_IF2, REG_IF2_HB0, ); For this, Acked-by: Russell King Thanks. -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up According to speedtest.net: 11.9Mbps down 500kbps up ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v11 00/23] drm/i915/icl: dsi enabling
However I have not seen fdo bug mentioned below, but root cause for these pipe config error messages are due to the fact that for dual link we are programming half the timings but while comparing We use undivided values. Moreover some timings are not even gets programmed for DSI like HBLANK/VBLANK etc. So while dumping pipe_config errors we need to consider dual link scenario for DSI. Regards, Madhav > -Original Message- > From: Lisovskiy, Stanislav > Sent: Wednesday, December 5, 2018 2:18 PM > To: Nikula, Jani ; Chauhan, Madhav > ; intel-gfx@lists.freedesktop.org > Cc: Peres, Martin ; Saarinen, Jani > ; Kulkarni, Vandita > Subject: RE: [PATCH v11 00/23] drm/i915/icl: dsi enabling > > Ok, I didn't file a bug yet, because I still have suspicion that this could > be a > bios thing. > > Vandita, Madhav, did you happen to see same issue? > > Best Regards, > > Lisovskiy Stanislav > > Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 > Espoo > > > From: Nikula, Jani > Sent: Wednesday, December 05, 2018 10:35 AM > To: Lisovskiy, Stanislav; Chauhan, Madhav; intel-gfx@lists.freedesktop.org > Cc: Peres, Martin; Saarinen, Jani > Subject: RE: [PATCH v11 00/23] drm/i915/icl: dsi enabling > > On Wed, 05 Dec 2018, "Lisovskiy, Stanislav" > wrote: > > I still see this pipe config mismatch(with icl-dsi-2018-12-03(4.20.0-rc5) + > > "fix > transcoder state readout" commit applied): > > > > [ 12.773332] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hdisplay (expected 1440, found 720) > > [ 12.773425] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_htotal (expected 1586, found 793) > > [ 12.773510] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hblank_start (expected 1440, found 1) > > [ 12.773588] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hblank_end (expected 1586, found 1) > > [ 12.773663] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hsync_start (expected 1540, found 770) > > [ 12.773735] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hsync_end (expected 1550, found 775) > > [ 12.773813] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_vblank_start (expected 2560, found 1) > > [ 12.773897] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_vblank_end (expected 2582, found 1) > > [ 12.773976] [drm:pipe_config_err [i915]] *ERROR* mismatch in > output_format (expected 0, found 1) > > [ 12.774039] [drm:pipe_config_err [i915]] *ERROR* mismatch in pixel_rate > (expected 245700, found 122850) > > [ 12.774099] [drm:pipe_config_err [i915]] *ERROR* mismatch in pipe_bpp > (expected 24, found 0) > > [ 12.774157] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_clock (expected 245700, found 122850) > > > > To me it looks different from > https://bugs.freedesktop.org/show_bug.cgi?id=108928 bug. > > Okay, please file a new bug with the full dmesg. The above is not enough. > > BR, > Jani. > > > > > Also there are still "The master control interrupt lied (DE PIPE)!" > > messages( Pipe IIR register is read as 0, while master_ctl has a > correspondent flag set) - however with this one I can at least cope by adding > a few retries in the interrupt handler as a workaround. Then the flooding > stops. Not sure if this is a proper fix though. > > > > I also run kms_draw_crc test with this board(investigating > > https://bugs.freedesktop.org/show_bug.cgi?id=103184), > > and sometimes half of the tests fail with the crc mismatch, I think this is > kind of different thing. > > > > > > Best Regards, > > > > Lisovskiy Stanislav > > > > Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, > > 02160 Espoo > > > > > > From: Intel-gfx [intel-gfx-boun...@lists.freedesktop.org] on behalf of > > Lisovskiy, Stanislav [stanislav.lisovs...@intel.com] > > Sent: Wednesday, December 05, 2018 9:49 AM > > To: Nikula, Jani; Chauhan, Madhav; intel-gfx@lists.freedesktop.org > > Subject: Re: [Intel-gfx] [PATCH v11 00/23] drm/i915/icl: dsi enabling > > > > Hi Jani, > > > > I've tried previously with branch icl-dsi-2018-12-03 for your github repo. > > I think it has everything except this 4.12.2018 "fix transcoder state > readout" commit. > > > > I will apply it and try with that now, thanks. > > > > Best Regards, > > > > Lisovskiy Stanislav > > > > Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, > > 02160 Espoo > > > > > > From: Nikula, Jani > > Sent: Tuesday, December 04, 2018 7:13 PM > > To: Lisovskiy, Stanislav; Chauhan, Madhav; > > intel-gfx@lists.freedesktop.org > > Cc: ville.syrj...@linux.intel.com; Kulkarni, Vandita; Deak, Imre > > Subject: RE: [PATCH v11 00/23] drm/i915/icl: dsi enabling > >
Re: [Intel-gfx] [PATCH 1/4] drm/edid: Pass connector to AVI inforframe functions
Hi Andrzej, On Wednesday, 5 December 2018 10:46:40 EET Andrzej Hajda wrote: > On 05.12.2018 07:32, Laurent Pinchart wrote: > > On Tuesday, 4 December 2018 21:13:20 EET Ville Syrjälä wrote: > >> On Tue, Dec 04, 2018 at 08:46:53AM +0100, Andrzej Hajda wrote: > >>> On 03.12.2018 22:38, Ville Syrjälä wrote: > On Thu, Nov 29, 2018 at 10:08:07AM +0100, Andrzej Hajda wrote: > > On 21.11.2018 19:19, Laurent Pinchart wrote: > >> On Tuesday, 20 November 2018 18:13:42 EET Ville Syrjala wrote: > >>> From: Ville Syrjälä > >>> > >>> Make life easier for drivers by simply passing the connector > >>> to drm_hdmi_avi_infoframe_from_display_mode() and > >>> drm_hdmi_avi_infoframe_quant_range(). That way drivers don't > >>> need to worry about is_hdmi2_sink mess. > >> > >> While this is good for display controller drivers, the change isn't > >> great for bridge drivers. Down the road we're looking at moving > >> connector support out of the bridge drivers. Adding an additional > >> dependency to connectors in the bridges will make that more > >> difficult. Ideally bridges should retrieve the information from their > >> sink, regardless of whether it is a connector or another bridge. > > > > I agree with it, and case of sii8620 shows that there are cases where > > bridge has no direct access to the connector. > > It's just a matter of plumbing it through. > >>> > >>> What do you mean exactly? > >> > >> void bridge_foo(... > >> + ,struct drm_connector *connector); > >> > > On the other side, since you are passing connector to > > drm_hdmi_avi_infoframe_from_display_mode(), you could drop mode > > parameter and rename the function to > > drm_hdmi_avi_infoframe_from_connector() then, unless mode passed and > > mode set on the connector differs? > > Connectors don't have a mode. > >>> > >>> As they are passing video stream they should have it, even if not > >>> directly, for example: > >>> > >>> connector->state->crtc->mode > >> > >> That's not really how atomic works. One shouldn't go digging > >> through the obj->state pointers when we're not holding the > >> relevant locks anymore. The atomic way would be to pass either > >> both crtc state and connector state, or drm_atomic_state + > >> crtc/connector. > > Usually infoframe contents is generated in modesetting/enable callbacks > so the locks should be in place. > > And the locks should be hold for > drm_hdmi_avi_infoframe_from_display_mode as well - it wouldn't be correct if > > generated infoframe is not relevant to actual video mode. I guess that > if connector->state->crtc->mode > > differs from mode passed to drm_hdmi_avi_infoframe_from_display_mode it > is a sign of possible problem. > > And if they do not differ passing mode as an extra argument is redundant. > > > Or a bridge state ? With chained bridges the mode can vary along the > > pipeline, the CRTC adjusted mode will only cover the link between the > > CRTC and the first bridge. It's only a matter of time until we need to > > store other intermediate modes in states. I'd rather prepare for that > > instead of passing the CRTC state to bridges. > > Yes, optional bridge states seems reasonable, volunteers needed :) I'll give it a go eventually, if nobody beats me to it. The exact timing will depend on many variables so I can't estimate it I'm afraid. All I'm asking is to avoid extending the drm_bridge API in a way that would make introduction of bridge states more complex. If someone needs bridge states, for instance to solve the above issue, then they should be added. [snip] -- Regards, Laurent Pinchart ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v11 00/23] drm/i915/icl: dsi enabling
Ok, I didn't file a bug yet, because I still have suspicion that this could be a bios thing. Vandita, Madhav, did you happen to see same issue? Best Regards, Lisovskiy Stanislav Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo From: Nikula, Jani Sent: Wednesday, December 05, 2018 10:35 AM To: Lisovskiy, Stanislav; Chauhan, Madhav; intel-gfx@lists.freedesktop.org Cc: Peres, Martin; Saarinen, Jani Subject: RE: [PATCH v11 00/23] drm/i915/icl: dsi enabling On Wed, 05 Dec 2018, "Lisovskiy, Stanislav" wrote: > I still see this pipe config mismatch(with icl-dsi-2018-12-03(4.20.0-rc5) + > "fix transcoder state readout" commit applied): > > [ 12.773332] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hdisplay (expected 1440, found 720) > [ 12.773425] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_htotal (expected 1586, found 793) > [ 12.773510] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hblank_start (expected 1440, found 1) > [ 12.773588] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hblank_end (expected 1586, found 1) > [ 12.773663] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hsync_start (expected 1540, found 770) > [ 12.773735] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hsync_end (expected 1550, found 775) > [ 12.773813] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_vblank_start (expected 2560, found 1) > [ 12.773897] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_vblank_end (expected 2582, found 1) > [ 12.773976] [drm:pipe_config_err [i915]] *ERROR* mismatch in output_format > (expected 0, found 1) > [ 12.774039] [drm:pipe_config_err [i915]] *ERROR* mismatch in pixel_rate > (expected 245700, found 122850) > [ 12.774099] [drm:pipe_config_err [i915]] *ERROR* mismatch in pipe_bpp > (expected 24, found 0) > [ 12.774157] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_clock (expected 245700, found 122850) > > To me it looks different from > https://bugs.freedesktop.org/show_bug.cgi?id=108928 bug. Okay, please file a new bug with the full dmesg. The above is not enough. BR, Jani. > > Also there are still "The master control interrupt lied (DE PIPE)!" messages( > Pipe IIR register is read as 0, while > master_ctl has a correspondent flag set) - however with this one I can at > least cope by adding a few retries in the interrupt handler as a workaround. > Then the flooding stops. Not sure if this is a proper fix though. > > I also run kms_draw_crc test with this board(investigating > https://bugs.freedesktop.org/show_bug.cgi?id=103184), > and sometimes half of the tests fail with the crc mismatch, I think this is > kind of different thing. > > > Best Regards, > > Lisovskiy Stanislav > > Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo > > > From: Intel-gfx [intel-gfx-boun...@lists.freedesktop.org] on behalf of > Lisovskiy, Stanislav [stanislav.lisovs...@intel.com] > Sent: Wednesday, December 05, 2018 9:49 AM > To: Nikula, Jani; Chauhan, Madhav; intel-gfx@lists.freedesktop.org > Subject: Re: [Intel-gfx] [PATCH v11 00/23] drm/i915/icl: dsi enabling > > Hi Jani, > > I've tried previously with branch icl-dsi-2018-12-03 for your github repo. > I think it has everything except this 4.12.2018 "fix transcoder state > readout" commit. > > I will apply it and try with that now, thanks. > > Best Regards, > > Lisovskiy Stanislav > > Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo > > > From: Nikula, Jani > Sent: Tuesday, December 04, 2018 7:13 PM > To: Lisovskiy, Stanislav; Chauhan, Madhav; intel-gfx@lists.freedesktop.org > Cc: ville.syrj...@linux.intel.com; Kulkarni, Vandita; Deak, Imre > Subject: RE: [PATCH v11 00/23] drm/i915/icl: dsi enabling > > On Tue, 04 Dec 2018, "Lisovskiy, Stanislav" > wrote: >> Hi, >> >> Currently ICL DSI panel seems to work fine, however I still face >> mainly two issues, which probably need to be addressed: > > Please try with current drm-tip with > > commit 0716931a82b4d0e211d2ef66616ad7130107e455 > Author: Jani Nikula > Date: Tue Dec 4 12:19:26 2018 +0200 > > drm/i915/icl: fix transcoder state readout > > plus the hack patches from the end of the series. It's possible only the > VBT one is required. > > BR, > Jani. > >> >> 1) There is still pipe_config mismatch assertion: >> >> [ 13.119965] [drm:pipe_config_err [i915]] *ERROR* mismatch in >> base.adjusted_mode.crtc_hdisplay (expected 1440, found 720) >> [ 13.119989] [drm:pipe_config_err [i915]] *ERROR* mismatch in >> base.adjusted_mode.crtc_htotal (expected 1586, found 793) >> [ 13.120015] [drm:pipe_config_err
Re: [Intel-gfx] [PATCH 1/4] drm/edid: Pass connector to AVI inforframe functions
On 05.12.2018 07:32, Laurent Pinchart wrote: > Hi Ville, > > On Tuesday, 4 December 2018 21:13:20 EET Ville Syrjälä wrote: >> On Tue, Dec 04, 2018 at 08:46:53AM +0100, Andrzej Hajda wrote: >>> On 03.12.2018 22:38, Ville Syrjälä wrote: On Thu, Nov 29, 2018 at 10:08:07AM +0100, Andrzej Hajda wrote: > On 21.11.2018 19:19, Laurent Pinchart wrote: >> On Tuesday, 20 November 2018 18:13:42 EET Ville Syrjala wrote: >>> From: Ville Syrjälä >>> >>> Make life easier for drivers by simply passing the connector >>> to drm_hdmi_avi_infoframe_from_display_mode() and >>> drm_hdmi_avi_infoframe_quant_range(). That way drivers don't >>> need to worry about is_hdmi2_sink mess. >> While this is good for display controller drivers, the change isn't >> great for bridge drivers. Down the road we're looking at moving >> connector support out of the bridge drivers. Adding an additional >> dependency to connectors in the bridges will make that more >> difficult. Ideally bridges should retrieve the information from their >> sink, regardless of whether it is a connector or another bridge. > I agree with it, and case of sii8620 shows that there are cases where > bridge has no direct access to the connector. It's just a matter of plumbing it through. >>> What do you mean exactly? >> void bridge_foo(... >> + ,struct drm_connector *connector); >> > On the other side, since you are passing connector to > drm_hdmi_avi_infoframe_from_display_mode(), you could drop mode > parameter and rename the function to > drm_hdmi_avi_infoframe_from_connector() then, unless mode passed and > mode set on the connector differs? Connectors don't have a mode. >>> As they are passing video stream they should have it, even if not >>> directly, for example: >>> >>> connector->state->crtc->mode >> That's not really how atomic works. One shouldn't go digging >> through the obj->state pointers when we're not holding the >> relevant locks anymore. The atomic way would be to pass either >> both crtc state and connector state, or drm_atomic_state + >> crtc/connector. Usually infoframe contents is generated in modesetting/enable callbacks so the locks should be in place. And the locks should be hold for drm_hdmi_avi_infoframe_from_display_mode as well - it wouldn't be correct if generated infoframe is not relevant to actual video mode. I guess that if connector->state->crtc->mode differs from mode passed to drm_hdmi_avi_infoframe_from_display_mode it is a sign of possible problem. And if they do not differ passing mode as an extra argument is redundant. > Or a bridge state ? With chained bridges the mode can vary along the > pipeline, > the CRTC adjusted mode will only cover the link between the CRTC and the > first > bridge. It's only a matter of time until we need to store other intermediate > modes in states. I'd rather prepare for that instead of passing the CRTC > state > to bridges. Yes, optional bridge states seems reasonable, volunteers needed :) Regards Andrzej > >>> In moment of creating infoframe it should be set properly. >>> >> Please see below for an additional comment. >> >>> Cc: Alex Deucher >>> Cc: "Christian König" >>> Cc: "David (ChunMing) Zhou" >>> Cc: Archit Taneja >>> Cc: Andrzej Hajda >>> Cc: Laurent Pinchart >>> Cc: Inki Dae >>> Cc: Joonyoung Shim >> Cc: Seung-Woo Kim >>> Cc: Kyungmin Park >>> Cc: Russell King >>> Cc: CK Hu >>> Cc: Philipp Zabel >>> Cc: Rob Clark >>> Cc: Ben Skeggs >>> Cc: Tomi Valkeinen >>> Cc: Sandy Huang >>> Cc: "Heiko Stübner" >>> Cc: Benjamin Gaignard >>> Cc: Vincent Abriou >>> Cc: Thierry Reding >>> Cc: Eric Anholt >>> Cc: Shawn Guo >>> Cc: Ilia Mirkin >>> Cc: amd-...@lists.freedesktop.org >>> Cc: linux-arm-...@vger.kernel.org >>> Cc: freedr...@lists.freedesktop.org >>> Cc: nouv...@lists.freedesktop.org >>> Cc: linux-te...@vger.kernel.org >>> Signed-off-by: Ville Syrjälä >>> --- >>> >>> drivers/gpu/drm/amd/amdgpu/dce_v10_0.c| 2 +- >>> drivers/gpu/drm/amd/amdgpu/dce_v11_0.c| 2 +- >>> drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 3 ++- >>> drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 2 +- >>> drivers/gpu/drm/bridge/analogix-anx78xx.c | 5 ++-- >>> drivers/gpu/drm/bridge/sii902x.c | 3 ++- >>> drivers/gpu/drm/bridge/sil-sii8620.c | 3 +-- >>> drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 3 ++- >>> drivers/gpu/drm/drm_edid.c| 33 >>> drivers/gpu/drm/exynos/exynos_hdmi.c | 3 ++- >>> drivers/gpu/drm/i2c/tda998x_drv.c | 3 ++- >>> drivers/gpu/drm/i915/intel_hdmi.c | 14 +- >>> drivers/gpu/drm/i915/intel_lspcon.c | 15 ++- >>> drivers/gpu/drm/i915/intel_sdvo.c
Re: [Intel-gfx] [PATCH v11 00/23] drm/i915/icl: dsi enabling
On Wed, 05 Dec 2018, "Lisovskiy, Stanislav" wrote: > I still see this pipe config mismatch(with icl-dsi-2018-12-03(4.20.0-rc5) + > "fix transcoder state readout" commit applied): > > [ 12.773332] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hdisplay (expected 1440, found 720) > [ 12.773425] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_htotal (expected 1586, found 793) > [ 12.773510] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hblank_start (expected 1440, found 1) > [ 12.773588] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hblank_end (expected 1586, found 1) > [ 12.773663] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hsync_start (expected 1540, found 770) > [ 12.773735] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hsync_end (expected 1550, found 775) > [ 12.773813] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_vblank_start (expected 2560, found 1) > [ 12.773897] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_vblank_end (expected 2582, found 1) > [ 12.773976] [drm:pipe_config_err [i915]] *ERROR* mismatch in output_format > (expected 0, found 1) > [ 12.774039] [drm:pipe_config_err [i915]] *ERROR* mismatch in pixel_rate > (expected 245700, found 122850) > [ 12.774099] [drm:pipe_config_err [i915]] *ERROR* mismatch in pipe_bpp > (expected 24, found 0) > [ 12.774157] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_clock (expected 245700, found 122850) > > To me it looks different from > https://bugs.freedesktop.org/show_bug.cgi?id=108928 bug. Okay, please file a new bug with the full dmesg. The above is not enough. BR, Jani. > > Also there are still "The master control interrupt lied (DE PIPE)!" messages( > Pipe IIR register is read as 0, while > master_ctl has a correspondent flag set) - however with this one I can at > least cope by adding a few retries in the interrupt handler as a workaround. > Then the flooding stops. Not sure if this is a proper fix though. > > I also run kms_draw_crc test with this board(investigating > https://bugs.freedesktop.org/show_bug.cgi?id=103184), > and sometimes half of the tests fail with the crc mismatch, I think this is > kind of different thing. > > > Best Regards, > > Lisovskiy Stanislav > > Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo > > > From: Intel-gfx [intel-gfx-boun...@lists.freedesktop.org] on behalf of > Lisovskiy, Stanislav [stanislav.lisovs...@intel.com] > Sent: Wednesday, December 05, 2018 9:49 AM > To: Nikula, Jani; Chauhan, Madhav; intel-gfx@lists.freedesktop.org > Subject: Re: [Intel-gfx] [PATCH v11 00/23] drm/i915/icl: dsi enabling > > Hi Jani, > > I've tried previously with branch icl-dsi-2018-12-03 for your github repo. > I think it has everything except this 4.12.2018 "fix transcoder state > readout" commit. > > I will apply it and try with that now, thanks. > > Best Regards, > > Lisovskiy Stanislav > > Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo > > > From: Nikula, Jani > Sent: Tuesday, December 04, 2018 7:13 PM > To: Lisovskiy, Stanislav; Chauhan, Madhav; intel-gfx@lists.freedesktop.org > Cc: ville.syrj...@linux.intel.com; Kulkarni, Vandita; Deak, Imre > Subject: RE: [PATCH v11 00/23] drm/i915/icl: dsi enabling > > On Tue, 04 Dec 2018, "Lisovskiy, Stanislav" > wrote: >> Hi, >> >> Currently ICL DSI panel seems to work fine, however I still face >> mainly two issues, which probably need to be addressed: > > Please try with current drm-tip with > > commit 0716931a82b4d0e211d2ef66616ad7130107e455 > Author: Jani Nikula > Date: Tue Dec 4 12:19:26 2018 +0200 > > drm/i915/icl: fix transcoder state readout > > plus the hack patches from the end of the series. It's possible only the > VBT one is required. > > BR, > Jani. > >> >> 1) There is still pipe_config mismatch assertion: >> >> [ 13.119965] [drm:pipe_config_err [i915]] *ERROR* mismatch in >> base.adjusted_mode.crtc_hdisplay (expected 1440, found 720) >> [ 13.119989] [drm:pipe_config_err [i915]] *ERROR* mismatch in >> base.adjusted_mode.crtc_htotal (expected 1586, found 793) >> [ 13.120015] [drm:pipe_config_err [i915]] *ERROR* mismatch in >> base.adjusted_mode.crtc_hblank_start (expected 1440, found 1) >> [ 13.120038] [drm:pipe_config_err [i915]] *ERROR* mismatch in >> base.adjusted_mode.crtc_hblank_end (expected 1586, found 1) >> [ 13.120061] [drm:pipe_config_err [i915]] *ERROR* mismatch in >> base.adjusted_mode.crtc_hsync_start (expected 1540, found 770) >> [ 13.120083] [drm:pipe_config_err [i915]] *ERROR* mismatch in >> base.adjusted_mode.crtc_hsync_end (expected 1550, found 775) >> [ 13.120113] [drm:pipe_config_err
Re: [Intel-gfx] [PATCH v11 00/23] drm/i915/icl: dsi enabling
I still see this pipe config mismatch(with icl-dsi-2018-12-03(4.20.0-rc5) + "fix transcoder state readout" commit applied): [ 12.773332] [drm:pipe_config_err [i915]] *ERROR* mismatch in base.adjusted_mode.crtc_hdisplay (expected 1440, found 720) [ 12.773425] [drm:pipe_config_err [i915]] *ERROR* mismatch in base.adjusted_mode.crtc_htotal (expected 1586, found 793) [ 12.773510] [drm:pipe_config_err [i915]] *ERROR* mismatch in base.adjusted_mode.crtc_hblank_start (expected 1440, found 1) [ 12.773588] [drm:pipe_config_err [i915]] *ERROR* mismatch in base.adjusted_mode.crtc_hblank_end (expected 1586, found 1) [ 12.773663] [drm:pipe_config_err [i915]] *ERROR* mismatch in base.adjusted_mode.crtc_hsync_start (expected 1540, found 770) [ 12.773735] [drm:pipe_config_err [i915]] *ERROR* mismatch in base.adjusted_mode.crtc_hsync_end (expected 1550, found 775) [ 12.773813] [drm:pipe_config_err [i915]] *ERROR* mismatch in base.adjusted_mode.crtc_vblank_start (expected 2560, found 1) [ 12.773897] [drm:pipe_config_err [i915]] *ERROR* mismatch in base.adjusted_mode.crtc_vblank_end (expected 2582, found 1) [ 12.773976] [drm:pipe_config_err [i915]] *ERROR* mismatch in output_format (expected 0, found 1) [ 12.774039] [drm:pipe_config_err [i915]] *ERROR* mismatch in pixel_rate (expected 245700, found 122850) [ 12.774099] [drm:pipe_config_err [i915]] *ERROR* mismatch in pipe_bpp (expected 24, found 0) [ 12.774157] [drm:pipe_config_err [i915]] *ERROR* mismatch in base.adjusted_mode.crtc_clock (expected 245700, found 122850) To me it looks different from https://bugs.freedesktop.org/show_bug.cgi?id=108928 bug. Also there are still "The master control interrupt lied (DE PIPE)!" messages( Pipe IIR register is read as 0, while master_ctl has a correspondent flag set) - however with this one I can at least cope by adding a few retries in the interrupt handler as a workaround. Then the flooding stops. Not sure if this is a proper fix though. I also run kms_draw_crc test with this board(investigating https://bugs.freedesktop.org/show_bug.cgi?id=103184), and sometimes half of the tests fail with the crc mismatch, I think this is kind of different thing. Best Regards, Lisovskiy Stanislav Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo From: Intel-gfx [intel-gfx-boun...@lists.freedesktop.org] on behalf of Lisovskiy, Stanislav [stanislav.lisovs...@intel.com] Sent: Wednesday, December 05, 2018 9:49 AM To: Nikula, Jani; Chauhan, Madhav; intel-gfx@lists.freedesktop.org Subject: Re: [Intel-gfx] [PATCH v11 00/23] drm/i915/icl: dsi enabling Hi Jani, I've tried previously with branch icl-dsi-2018-12-03 for your github repo. I think it has everything except this 4.12.2018 "fix transcoder state readout" commit. I will apply it and try with that now, thanks. Best Regards, Lisovskiy Stanislav Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo From: Nikula, Jani Sent: Tuesday, December 04, 2018 7:13 PM To: Lisovskiy, Stanislav; Chauhan, Madhav; intel-gfx@lists.freedesktop.org Cc: ville.syrj...@linux.intel.com; Kulkarni, Vandita; Deak, Imre Subject: RE: [PATCH v11 00/23] drm/i915/icl: dsi enabling On Tue, 04 Dec 2018, "Lisovskiy, Stanislav" wrote: > Hi, > > Currently ICL DSI panel seems to work fine, however I still face > mainly two issues, which probably need to be addressed: Please try with current drm-tip with commit 0716931a82b4d0e211d2ef66616ad7130107e455 Author: Jani Nikula Date: Tue Dec 4 12:19:26 2018 +0200 drm/i915/icl: fix transcoder state readout plus the hack patches from the end of the series. It's possible only the VBT one is required. BR, Jani. > > 1) There is still pipe_config mismatch assertion: > > [ 13.119965] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hdisplay (expected 1440, found 720) > [ 13.119989] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_htotal (expected 1586, found 793) > [ 13.120015] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hblank_start (expected 1440, found 1) > [ 13.120038] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hblank_end (expected 1586, found 1) > [ 13.120061] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hsync_start (expected 1540, found 770) > [ 13.120083] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_hsync_end (expected 1550, found 775) > [ 13.120113] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_vblank_start (expected 2560, found 1) > [ 13.120139] [drm:pipe_config_err [i915]] *ERROR* mismatch in > base.adjusted_mode.crtc_vblank_end (expected 2582, found 1) > [ 13.120169] [drm:pipe_config_err [i915]] *ERROR* mismatch in output_format > (expected 0, found 1) >