Re: [Intel-gfx] [PULL] drm-misc-fixes
Hi Am 25.02.21 um 02:55 schrieb Dave Airlie: On Wed, 24 Feb 2021 at 20:27, Thomas Zimmermann wrote: Hi Dave and Daniel, here's this week's PR for drm-misc-fixes. One of the patches is a memory leak; the rest is for hardware issues. This is based on 5.11 and I'm not currently in the market for a backmege now before rc1 so can you just top this up next week? I can, but I think Maxime will take over after -rc1. Best regards Thomas Though maybe the ttm fix should be fast tracked, will contemplate it. Dave. Best regards Thomas drm-misc-fixes-2021-02-24: * drm/panel: kd35t133: Work with non-continuous DSI clock * drm/rockchip: Require YTR modifier for AFBC * drm/ttm: Fix a memory leak in error handling The following changes since commit f40ddce88593482919761f74910f42f4b84c004b: Linux 5.11 (2021-02-14 14:32:24 -0800) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-fixes-2021-02-24 for you to fetch changes up to 54dab3a718f7094532daf7d25cd14121a0e00e34: drm/panel: kd35t133: allow using non-continuous dsi clock (2021-02-23 22:44:58 +0100) * drm/panel: kd35t133: Work with non-continuous DSI clock * drm/rockchip: Require YTR modifier for AFBC * drm/ttm: Fix a memory leak in error handling Alyssa Rosenzweig (1): drm/rockchip: Require the YTR modifier for AFBC Heiko Stuebner (1): drm/panel: kd35t133: allow using non-continuous dsi clock xinhui pan (1): drm/ttm: Fix a memory leak drivers/gpu/drm/panel/panel-elida-kd35t133.c | 3 ++- drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 11 +++ drivers/gpu/drm/ttm/ttm_bo.c | 9 ++--- 3 files changed, 19 insertions(+), 4 deletions(-) -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Felix Imendörffer ___ dri-devel mailing list dri-de...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Felix Imendörffer OpenPGP_signature Description: OpenPGP digital signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PULL] drm-misc-fixes
On Wed, 24 Feb 2021 at 20:27, Thomas Zimmermann wrote: > > Hi Dave and Daniel, > > here's this week's PR for drm-misc-fixes. One of the patches is a memory > leak; the rest is for hardware issues. > This is based on 5.11 and I'm not currently in the market for a backmege now before rc1 so can you just top this up next week? Though maybe the ttm fix should be fast tracked, will contemplate it. Dave. > Best regards > Thomas > > drm-misc-fixes-2021-02-24: > * drm/panel: kd35t133: Work with non-continuous DSI clock > * drm/rockchip: Require YTR modifier for AFBC > * drm/ttm: Fix a memory leak in error handling > The following changes since commit f40ddce88593482919761f74910f42f4b84c004b: > > Linux 5.11 (2021-02-14 14:32:24 -0800) > > are available in the Git repository at: > > git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-fixes-2021-02-24 > > for you to fetch changes up to 54dab3a718f7094532daf7d25cd14121a0e00e34: > > drm/panel: kd35t133: allow using non-continuous dsi clock (2021-02-23 > 22:44:58 +0100) > > > * drm/panel: kd35t133: Work with non-continuous DSI clock > * drm/rockchip: Require YTR modifier for AFBC > * drm/ttm: Fix a memory leak in error handling > > > Alyssa Rosenzweig (1): > drm/rockchip: Require the YTR modifier for AFBC > > Heiko Stuebner (1): > drm/panel: kd35t133: allow using non-continuous dsi clock > > xinhui pan (1): > drm/ttm: Fix a memory leak > > drivers/gpu/drm/panel/panel-elida-kd35t133.c | 3 ++- > drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 11 +++ > drivers/gpu/drm/ttm/ttm_bo.c | 9 ++--- > 3 files changed, 19 insertions(+), 4 deletions(-) > > -- > Thomas Zimmermann > Graphics Driver Developer > SUSE Software Solutions Germany GmbH > Maxfeldstr. 5, 90409 Nürnberg, Germany > (HRB 36809, AG Nürnberg) > Geschäftsführer: Felix Imendörffer ___ 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: Verify dma_addr in gen8_ggtt_pte_encode
== Series Details == Series: drm/i915: Verify dma_addr in gen8_ggtt_pte_encode URL : https://patchwork.freedesktop.org/series/87352/ State : failure == Summary == CI Bug Log - changes from CI_DRM_9798_full -> Patchwork_19727_full Summary --- **FAILURE** Serious unknown changes coming with Patchwork_19727_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_19727_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_19727_full: ### IGT changes ### Possible regressions * igt@gem_exec_capture@capture@bcs0: - shard-skl: [PASS][1] -> [FAIL][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-skl9/igt@gem_exec_capture@capt...@bcs0.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/shard-skl3/igt@gem_exec_capture@capt...@bcs0.html Warnings * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-onoff: - shard-hsw: [SKIP][3] ([fdo#109271]) -> [INCOMPLETE][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-hsw4/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-cur-indfb-onoff.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/shard-hsw2/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-cur-indfb-onoff.html Known issues Here are the changes found in Patchwork_19727_full that come from known issues: ### IGT changes ### Issues hit * igt@feature_discovery@display-2x: - shard-iclb: NOTRUN -> [SKIP][5] ([i915#1839]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/shard-iclb8/igt@feature_discov...@display-2x.html * igt@gem_ctx_persistence@legacy-engines-mixed-process: - shard-snb: NOTRUN -> [SKIP][6] ([fdo#109271] / [i915#1099]) +3 similar issues [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/shard-snb2/igt@gem_ctx_persiste...@legacy-engines-mixed-process.html * igt@gem_ctx_shared@q-in-order: - shard-snb: NOTRUN -> [SKIP][7] ([fdo#109271]) +331 similar issues [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/shard-snb6/igt@gem_ctx_sha...@q-in-order.html * igt@gem_exec_fair@basic-flow@rcs0: - shard-skl: NOTRUN -> [SKIP][8] ([fdo#109271]) +127 similar issues [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/shard-skl5/igt@gem_exec_fair@basic-f...@rcs0.html * igt@gem_exec_fair@basic-none-share@rcs0: - shard-tglb: [PASS][9] -> [FAIL][10] ([i915#2842]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-tglb5/igt@gem_exec_fair@basic-none-sh...@rcs0.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/shard-tglb8/igt@gem_exec_fair@basic-none-sh...@rcs0.html * igt@gem_exec_fair@basic-none-vip@rcs0: - shard-iclb: NOTRUN -> [FAIL][11] ([i915#2842]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/shard-iclb8/igt@gem_exec_fair@basic-none-...@rcs0.html - shard-glk: [PASS][12] -> [FAIL][13] ([i915#2842]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-glk5/igt@gem_exec_fair@basic-none-...@rcs0.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/shard-glk2/igt@gem_exec_fair@basic-none-...@rcs0.html * igt@gem_exec_fair@basic-none@vcs0: - shard-apl: NOTRUN -> [FAIL][14] ([i915#2842]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/shard-apl7/igt@gem_exec_fair@basic-n...@vcs0.html * igt@gem_exec_fair@basic-pace@vecs0: - shard-kbl: [PASS][15] -> [SKIP][16] ([fdo#109271]) +1 similar issue [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-kbl1/igt@gem_exec_fair@basic-p...@vecs0.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/shard-kbl4/igt@gem_exec_fair@basic-p...@vecs0.html * igt@gem_exec_reloc@basic-wide-active@bcs0: - shard-apl: NOTRUN -> [FAIL][17] ([i915#2389]) +3 similar issues [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/shard-apl1/igt@gem_exec_reloc@basic-wide-act...@bcs0.html * igt@gem_huc_copy@huc-copy: - shard-apl: NOTRUN -> [SKIP][18] ([fdo#109271] / [i915#2190]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/shard-apl7/igt@gem_huc_c...@huc-copy.html * igt@gem_userptr_blits@input-checking: - shard-snb: NOTRUN -> [DMESG-WARN][19] ([i915#3002]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/shard-snb5/igt@gem_userptr_bl...@input-checking.html * igt@gem_userptr_blits@process-exit-mmap@wb: - shard-skl: NOTRUN -> [SKIP][20]
Re: [Intel-gfx] [PATCH 15/30] drm/dp: Add backpointer to drm_device in drm_dp_aux
On Sun, 2021-02-21 at 20:21 +0200, Laurent Pinchart wrote: > Hi Lyude, > > Thank you for the patch. > > On Fri, Feb 19, 2021 at 04:53:11PM -0500, Lyude Paul wrote: > > This is something that we've wanted for a while now: the ability to > > actually look up the respective drm_device for a given drm_dp_aux struct. > > This will also allow us to transition over to using the drm_dbg_*() helpers > > for debug message printing, as we'll finally have a drm_device to reference > > for doing so. > > Isn't it better to use the existing dev field ? If you have multiple DP > outputs for one DRM device, using the DRM device name in debug messages > won't tell which output the message corresponds to. Well the thing is dev won't tell you that either - on most SoCs the DP AUX adapter is it's own platform device that isn't a child of the DRM device. Also, that's what the ability to name AUX channels is supposed to be there for. > > Note that there is one limitation with this - because some DP AUX adapters > > exist as platform devices which are initialized independently of their > > respective DRM devices, one cannot rely on drm_dp_aux->drm_dev to always be > > non-NULL until drm_dp_aux_register() has been called. We make sure to point > > this out in the documentation for struct drm_dp_aux. > > > > Signed-off-by: Lyude Paul > > --- > > drivers/gpu/drm/amd/amdgpu/atombios_dp.c | 1 + > > .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 1 + > > drivers/gpu/drm/bridge/analogix/analogix-anx6345.c | 1 + > > drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c | 1 + > > drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 + > > drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c | 1 + > > drivers/gpu/drm/bridge/tc358767.c | 1 + > > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 1 + > > drivers/gpu/drm/drm_dp_aux_dev.c | 6 ++ > > drivers/gpu/drm/drm_dp_mst_topology.c | 1 + > > drivers/gpu/drm/i915/display/intel_dp_aux.c | 1 + > > drivers/gpu/drm/msm/edp/edp.h | 3 +-- > > drivers/gpu/drm/msm/edp/edp_aux.c | 5 +++-- > > drivers/gpu/drm/msm/edp/edp_ctrl.c | 2 +- > > drivers/gpu/drm/nouveau/nouveau_connector.c | 1 + > > drivers/gpu/drm/radeon/atombios_dp.c | 1 + > > drivers/gpu/drm/tegra/dpaux.c | 1 + > > drivers/gpu/drm/xlnx/zynqmp_dp.c | 1 + > > include/drm/drm_dp_helper.h | 9 - > > 19 files changed, 33 insertions(+), 6 deletions(-) > > > > diff --git a/drivers/gpu/drm/amd/amdgpu/atombios_dp.c > > b/drivers/gpu/drm/amd/amdgpu/atombios_dp.c > > index a3ba9ca11e98..6d35da65e09f 100644 > > --- a/drivers/gpu/drm/amd/amdgpu/atombios_dp.c > > +++ b/drivers/gpu/drm/amd/amdgpu/atombios_dp.c > > @@ -188,6 +188,7 @@ void amdgpu_atombios_dp_aux_init(struct amdgpu_connector > > *amdgpu_connector) > > { > > amdgpu_connector->ddc_bus->rec.hpd = amdgpu_connector->hpd.hpd; > > amdgpu_connector->ddc_bus->aux.transfer = > > amdgpu_atombios_dp_aux_transfer; > > + amdgpu_connector->ddc_bus->aux.drm_dev = amdgpu_connector->base.dev; > > drm_dp_aux_init(_connector->ddc_bus->aux); > > amdgpu_connector->ddc_bus->has_aux = true; > > } > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c > > b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c > > index 41b09ab22233..163641b44339 100644 > > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c > > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c > > @@ -431,6 +431,7 @@ void amdgpu_dm_initialize_dp_connector(struct > > amdgpu_display_manager *dm, > > link_index); > > aconnector->dm_dp_aux.aux.transfer = dm_dp_aux_transfer; > > aconnector->dm_dp_aux.ddc_service = aconnector->dc_link->ddc; > > + aconnector->dm_dp_aux.aux.drm_dev = dm->ddev; > > > > drm_dp_aux_init(>dm_dp_aux.aux); > > drm_dp_cec_register_connector(>dm_dp_aux.aux, > > diff --git a/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c > > b/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c > > index aa6cda458eb9..e33cd077595a 100644 > > --- a/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c > > +++ b/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c > > @@ -537,6 +537,7 @@ static int anx6345_bridge_attach(struct drm_bridge > > *bridge, > > /* Register aux channel */ > > anx6345->aux.name = "DP-AUX"; > > anx6345->aux.dev = >client->dev; > > + anx6345->aux.drm_dev = bridge->dev; > > anx6345->aux.transfer = anx6345_aux_transfer; > > > > err = drm_dp_aux_register(>aux); > > diff --git a/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c > >
[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Promote ptrdiff() to i915_utils.h
== Series Details == Series: drm/i915: Promote ptrdiff() to i915_utils.h URL : https://patchwork.freedesktop.org/series/87348/ State : success == Summary == CI Bug Log - changes from CI_DRM_9798_full -> Patchwork_19725_full Summary --- **WARNING** Minor unknown changes coming with Patchwork_19725_full need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_19725_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_19725_full: ### IGT changes ### Warnings * igt@runner@aborted: - shard-kbl: ([FAIL][1], [FAIL][2], [FAIL][3], [FAIL][4], [FAIL][5], [FAIL][6], [FAIL][7], [FAIL][8], [FAIL][9]) ([fdo#109271] / [i915#1436] / [i915#180] / [i915#1814] / [i915#2724] / [i915#3002] / [i915#716]) -> ([FAIL][10], [FAIL][11], [FAIL][12], [FAIL][13], [FAIL][14], [FAIL][15], [FAIL][16], [FAIL][17], [FAIL][18]) ([fdo#109271] / [i915#1436] / [i915#180] / [i915#1814] / [i915#2426] / [i915#2505] / [i915#2724] / [i915#3002] / [i915#716]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-kbl2/igt@run...@aborted.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-kbl7/igt@run...@aborted.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-kbl4/igt@run...@aborted.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-kbl2/igt@run...@aborted.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-kbl4/igt@run...@aborted.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-kbl4/igt@run...@aborted.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-kbl2/igt@run...@aborted.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-kbl7/igt@run...@aborted.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-kbl1/igt@run...@aborted.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/shard-kbl4/igt@run...@aborted.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/shard-kbl3/igt@run...@aborted.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/shard-kbl4/igt@run...@aborted.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/shard-kbl6/igt@run...@aborted.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/shard-kbl4/igt@run...@aborted.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/shard-kbl3/igt@run...@aborted.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/shard-kbl3/igt@run...@aborted.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/shard-kbl3/igt@run...@aborted.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/shard-kbl2/igt@run...@aborted.html Known issues Here are the changes found in Patchwork_19725_full that come from known issues: ### IGT changes ### Issues hit * igt@drm_mm@all@replace: - shard-skl: NOTRUN -> [INCOMPLETE][19] ([i915#2485]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/shard-skl5/igt@drm_mm@a...@replace.html * igt@gem_ctx_isolation@preservation-s3@vecs0: - shard-kbl: [PASS][20] -> [DMESG-WARN][21] ([i915#180]) +3 similar issues [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-kbl2/igt@gem_ctx_isolation@preservation...@vecs0.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/shard-kbl3/igt@gem_ctx_isolation@preservation...@vecs0.html * igt@gem_ctx_persistence@legacy-engines-mixed-process: - shard-snb: NOTRUN -> [SKIP][22] ([fdo#109271] / [i915#1099]) +2 similar issues [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/shard-snb6/igt@gem_ctx_persiste...@legacy-engines-mixed-process.html * igt@gem_ctx_shared@q-in-order: - shard-snb: NOTRUN -> [SKIP][23] ([fdo#109271]) +248 similar issues [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/shard-snb5/igt@gem_ctx_sha...@q-in-order.html * igt@gem_exec_capture@pi@rcs0: - shard-skl: [PASS][24] -> [INCOMPLETE][25] ([i915#2369] / [i915#2502]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-skl8/igt@gem_exec_capture@p...@rcs0.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/shard-skl3/igt@gem_exec_capture@p...@rcs0.html * igt@gem_exec_fair@basic-none-share@rcs0: - shard-tglb: [PASS][26] -> [FAIL][27] ([i915#2842]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-tglb5/igt@gem_exec_fair@basic-none-sh...@rcs0.html [27]:
[Intel-gfx] udldrmfb: causes WARN in i915 on X60 (x86-32)
Hi! This is in -next, but I get same behaviour on 5.11; and no, udl does not work, but monitor is detected: pavel@amd:~/g/tui/crashled$ xrandr Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096 LVDS1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 246mm x 185mm 1024x768 50.00*+ 60.0040.00 800x600 60.3256.25 640x480 59.94 VGA1 disconnected (normal left inverted right x axis y axis) DVI-1-0 connected 1024x768+0+0 304mm x 228mm 1024x768 60.00*+ 75.03 800x600 75.0060.32 640x480 75.0059.94 720x400 70.08 1024x768 (0x45) 65.000MHz -HSync -VSync h: width 1024 start 1048 end 1184 total 1344 skew0 clock 48.36KHz v: height 768 start 771 end 777 total 806 clock 60.00Hz 800x600 (0x47) 40.000MHz +HSync +VSync h: width 800 start 840 end 968 total 1056 skew0 clock 37.88KHz v: height 600 start 601 end 605 total 628 clock 60.32Hz 640x480 (0x49) 25.175MHz -HSync -VSync h: width 640 start 656 end 752 total 800 skew0 clock 31.47KHz v: height 480 start 490 end 492 total 525 clock 59.94Hz pavel@amd:~/g/tui/crashled$ [13957.499755] wlan0: associated [13962.906368] udl 1-5:1.0: [drm] fb1: udldrmfb frame buffer device [13972.585101] [ cut here ] [13972.585117] WARNING: CPU: 0 PID: 3159 at kernel/dma/mapping.c:192 dma_map_sg_attrs+0x38/0x50 [13972.585137] Modules linked in: [13972.585149] CPU: 0 PID: 3159 Comm: Xorg Not tainted 5.11.0-next-20210223+ #176 [13972.585158] Hardware name: LENOVO 17097HU/17097HU, BIOS 7BETD8WW (2.19 ) 03/31/2011 [13972.585166] EIP: dma_map_sg_attrs+0x38/0x50 [13972.585176] Code: f0 01 00 00 00 74 23 ff 75 0c 53 e8 72 1b 00 00 5a 59 85 c0 78 1c 8b 5d fc c9 c3 8d b4 26 00 00 00 00 0f 0b 8d b6 00 00 00 00 <0f> 0b 31 c0 eb e6 66 90 0f 0b 8d b4 26 00 00 00 00 8d b4 26 00 00 [13972.585186] EAX: c296c41c EBX: ECX: 0055 EDX: dbbc4800 [13972.585194] ESI: c69f9ea0 EDI: d2c313c0 EBP: c5cbdda8 ESP: c5cbdda4 [13972.585202] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 EFLAGS: 00210246 [13972.585211] CR0: 80050033 CR2: b6b99000 CR3: 05d42000 CR4: 06b0 [13972.585219] Call Trace: [13972.585227] i915_gem_map_dma_buf+0xee/0x160 [13972.585240] dma_buf_map_attachment+0xb8/0x140 [13972.585251] drm_gem_prime_import_dev.part.0+0x33/0xc0 [13972.585262] ? drm_gem_shmem_create+0x10/0x10 [13972.585271] drm_gem_prime_import_dev+0x22/0x70 [13972.585280] drm_gem_prime_fd_to_handle+0x186/0x1c0 [13972.585289] ? drm_gem_prime_import_dev+0x70/0x70 [13972.585298] ? drm_prime_destroy_file_private+0x20/0x20 [13972.585307] drm_prime_fd_to_handle_ioctl+0x1c/0x30 [13972.585315] drm_ioctl_kernel+0x8e/0xe0 [13972.585325] ? drm_prime_destroy_file_private+0x20/0x20 [13972.585334] drm_ioctl+0x1fd/0x380 [13972.585343] ? drm_prime_destroy_file_private+0x20/0x20 [13972.585352] ? ksys_write+0x5c/0xd0 [13972.585363] ? vfs_write+0xeb/0x3f0 [13972.585371] ? drm_ioctl_kernel+0xe0/0xe0 [13972.585380] __ia32_sys_ioctl+0x369/0x7d0 [13972.585389] ? exit_to_user_mode_prepare+0x4e/0x170 [13972.585398] do_int80_syscall_32+0x2c/0x40 [13972.585409] entry_INT80_32+0x111/0x111 [13972.585419] EIP: 0xb7f68092 [13972.585427] Code: 00 00 00 e9 90 ff ff ff ff a3 24 00 00 00 68 30 00 00 00 e9 80 ff ff ff ff a3 e8 ff ff ff 66 90 00 00 00 00 00 00 00 00 cd 80 8d b4 26 00 00 00 00 8d b6 00 00 00 00 8b 1c 24 c3 8d b4 26 00 [13972.585436] EAX: ffda EBX: 0030 ECX: c00c642e EDX: bfaeda30 [13972.585444] ESI: 00915790 EDI: c00c642e EBP: 0030 ESP: bfaed9e4 [13972.585452] DS: 007b ES: 007b FS: GS: 0033 SS: 007b EFLAGS: 00200296 [13972.585461] ? asm_exc_nmi+0xcc/0x2bc [13972.585470] ---[ end trace 46a21fad0595bc89 ]--- pavel@amd:~/g/tui/crashled$ Any ideas? Best regards, Pavel -- http://www.livejournal.com/~pavelmachek signature.asc Description: PGP signature ___ 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: Verify dma_addr in gen8_ggtt_pte_encode
== Series Details == Series: drm/i915: Verify dma_addr in gen8_ggtt_pte_encode URL : https://patchwork.freedesktop.org/series/87352/ State : success == Summary == CI Bug Log - changes from CI_DRM_9798 -> Patchwork_19727 Summary --- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/index.html Known issues Here are the changes found in Patchwork_19727 that come from known issues: ### IGT changes ### Issues hit * igt@fbdev@write: - fi-tgl-y: [PASS][1] -> [DMESG-WARN][2] ([i915#402]) +1 similar issue [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-tgl-y/igt@fb...@write.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/fi-tgl-y/igt@fb...@write.html Possible fixes * igt@i915_hangman@error-state-basic: - fi-tgl-y: [DMESG-WARN][3] ([i915#402]) -> [PASS][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-tgl-y/igt@i915_hang...@error-state-basic.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/fi-tgl-y/igt@i915_hang...@error-state-basic.html [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402 Participating hosts (45 -> 41) -- Missing(4): fi-ilk-m540 fi-bsw-cyan fi-bdw-samus fi-hsw-4200u Build changes - * Linux: CI_DRM_9798 -> Patchwork_19727 CI-20190529: 20190529 CI_DRM_9798: 70e2e79cd772b97799f4cecd823539f452063562 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_6013: a6c7181747850161377dae5161d33c0675ab273e @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_19727: 201369a1d91fbc03775a97d3e776dab86436e45f @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 201369a1d91f drm/i915: Verify dma_addr in gen8_ggtt_pte_encode == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19727/index.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915/guc: Keep strict GuC ABI definitions separate
Quoting Michal Wajdeczko (2021-02-20 13:44:43) > Our fwif.h file is now mix of strict firmware ABI definitions and > set of our helpers. In anticipation of upcoming changes to the GuC > interface try to keep them separate in smaller maintainable files. > > Signed-off-by: Michal Wajdeczko > Cc: Daniele Ceraolo Spurio > Cc: John Harrison > Cc: Jon Ewins Reviewed-by: Michał Winiarski -Michał > --- > .../gpu/drm/i915/gt/uc/abi/guc_actions_abi.h | 55 > .../gt/uc/abi/guc_communication_ctb_abi.h | 106 > .../gt/uc/abi/guc_communication_mmio_abi.h| 52 > .../gpu/drm/i915/gt/uc/abi/guc_errors_abi.h | 14 + > .../drm/i915/gt/uc/abi/guc_log_buffer_abi.h | 56 > .../gpu/drm/i915/gt/uc/abi/guc_messages_abi.h | 21 ++ > drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h | 257 +- > 7 files changed, 312 insertions(+), 249 deletions(-) > create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h > create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_communication_ctb_abi.h > create mode 100644 > drivers/gpu/drm/i915/gt/uc/abi/guc_communication_mmio_abi.h > create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h > create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_log_buffer_abi.h > create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_messages_abi.h ___ 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: Verify dma_addr in gen8_ggtt_pte_encode
== Series Details == Series: drm/i915: Verify dma_addr in gen8_ggtt_pte_encode URL : https://patchwork.freedesktop.org/series/87352/ State : warning == Summary == $ dim checkpatch origin/drm-tip 201369a1d91f drm/i915: Verify dma_addr in gen8_ggtt_pte_encode -:9: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line) #9: Until now, the gen8_ggtt_pte_encode function, responsible for the preparation total: 0 errors, 1 warnings, 0 checks, 27 lines checked ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Move DDI clock readout to encoder->get_config()
== Series Details == Series: drm/i915: Move DDI clock readout to encoder->get_config() URL : https://patchwork.freedesktop.org/series/87351/ State : failure == Summary == CI Bug Log - changes from CI_DRM_9798 -> Patchwork_19726 Summary --- **FAILURE** Serious unknown changes coming with Patchwork_19726 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_19726, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19726/index.html Possible new issues --- Here are the unknown changes that may have been introduced in Patchwork_19726: ### CI changes ### Possible regressions * boot: - fi-apl-guc: [PASS][1] -> [FAIL][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-apl-guc/boot.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19726/fi-apl-guc/boot.html - fi-cfl-8700k: [PASS][3] -> [FAIL][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-cfl-8700k/boot.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19726/fi-cfl-8700k/boot.html - fi-skl-6700k2: [PASS][5] -> [FAIL][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-skl-6700k2/boot.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19726/fi-skl-6700k2/boot.html - fi-cfl-guc: [PASS][7] -> [FAIL][8] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-cfl-guc/boot.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19726/fi-cfl-guc/boot.html - fi-skl-guc: [PASS][9] -> [FAIL][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-skl-guc/boot.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19726/fi-skl-guc/boot.html Suppressed The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * boot: - {fi-rkl-11500t}:[PASS][11] -> [FAIL][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-rkl-11500t/boot.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19726/fi-rkl-11500t/boot.html ### IGT changes ### Possible regressions * igt@runner@aborted: - fi-tgl-y: NOTRUN -> [FAIL][13] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19726/fi-tgl-y/igt@run...@aborted.html - fi-cml-s: NOTRUN -> [FAIL][14] [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19726/fi-cml-s/igt@run...@aborted.html - fi-tgl-u2: NOTRUN -> [FAIL][15] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19726/fi-tgl-u2/igt@run...@aborted.html Suppressed The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * igt@runner@aborted: - {fi-jsl-1}: NOTRUN -> [FAIL][16] [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19726/fi-jsl-1/igt@run...@aborted.html Known issues Here are the changes found in Patchwork_19726 that come from known issues: ### IGT changes ### Issues hit * igt@kms_chamelium@dp-crc-fast: - fi-kbl-7500u: [PASS][17] -> [FAIL][18] ([i915#1372]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-kbl-7500u/igt@kms_chamel...@dp-crc-fast.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19726/fi-kbl-7500u/igt@kms_chamel...@dp-crc-fast.html * igt@runner@aborted: - fi-icl-y: NOTRUN -> [FAIL][19] ([i915#1569]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19726/fi-icl-y/igt@run...@aborted.html Warnings * igt@runner@aborted: - fi-icl-u2: [FAIL][20] ([i915#1814]) -> [FAIL][21] ([i915#1569] / [k.org#202973]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-icl-u2/igt@run...@aborted.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19726/fi-icl-u2/igt@run...@aborted.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#1372]: https://gitlab.freedesktop.org/drm/intel/issues/1372 [i915#1569]: https://gitlab.freedesktop.org/drm/intel/issues/1569 [i915#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814 [i915#2505]: https://gitlab.freedesktop.org/drm/intel/issues/2505 [k.org#202973]: https://bugzilla.kernel.org/show_bug.cgi?id=202973 Participating hosts (45 -> 38) -- Missing(7): fi-ilk-m540 fi-hsw-4200u fi-byt-j1900 fi-bsw-cyan fi-ehl-2 fi-bdw-samus fi-snb-2600 Build changes - * Linux: CI_DRM_9798 -> Patchwork_19726
[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: Move DDI clock readout to encoder->get_config()
== Series Details == Series: drm/i915: Move DDI clock readout to encoder->get_config() URL : https://patchwork.freedesktop.org/series/87351/ State : warning == Summary == $ dim sparse --fast origin/drm-tip Sparse version: v0.6.2 Fast mode used, each commit won't be checked separately. - +drivers/gpu/drm/i915/gt/intel_reset.c:1323:5: warning: context imbalance in 'intel_gt_reset_trylock' - different lock contexts for basic block +drivers/gpu/drm/i915/gvt/mmio.c:295:23: warning: memcpy with byte count of 279040 +drivers/gpu/drm/i915/i915_perf.c:1437:15: warning: memset with byte count of 16777216 +drivers/gpu/drm/i915/i915_perf.c:1491:15: warning: memset with byte count of 16777216 +./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read16' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read32' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read64' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read8' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_write16' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_write32' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_write8' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read16' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read32' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read64' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read8' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_write16' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_write32' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_write8' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read16' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read32' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read64' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read8' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_write16' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_write32' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_write8' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read16' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read32' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read64' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read8' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_write16' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_write32' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_write8' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen8_write16' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen8_write32' - different lock contexts for basic block +./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen8_write8' - different lock contexts for basic block ___ 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: Promote ptrdiff() to i915_utils.h
== Series Details == Series: drm/i915: Promote ptrdiff() to i915_utils.h URL : https://patchwork.freedesktop.org/series/87348/ State : success == Summary == CI Bug Log - changes from CI_DRM_9798 -> Patchwork_19725 Summary --- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/index.html Known issues Here are the changes found in Patchwork_19725 that come from known issues: ### IGT changes ### Issues hit * igt@i915_pm_rpm@module-reload: - fi-byt-j1900: [PASS][1] -> [INCOMPLETE][2] ([i915#142] / [i915#2405]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-byt-j1900/igt@i915_pm_...@module-reload.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/fi-byt-j1900/igt@i915_pm_...@module-reload.html * igt@prime_self_import@basic-with_one_bo_two_files: - fi-tgl-y: [PASS][3] -> [DMESG-WARN][4] ([i915#402]) +2 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-tgl-y/igt@prime_self_import@basic-with_one_bo_two_files.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/fi-tgl-y/igt@prime_self_import@basic-with_one_bo_two_files.html * igt@runner@aborted: - fi-byt-j1900: NOTRUN -> [FAIL][5] ([i915#1814] / [i915#2505]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/fi-byt-j1900/igt@run...@aborted.html Possible fixes * igt@i915_hangman@error-state-basic: - fi-tgl-y: [DMESG-WARN][6] ([i915#402]) -> [PASS][7] +1 similar issue [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-tgl-y/igt@i915_hang...@error-state-basic.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/fi-tgl-y/igt@i915_hang...@error-state-basic.html [i915#142]: https://gitlab.freedesktop.org/drm/intel/issues/142 [i915#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814 [i915#2405]: https://gitlab.freedesktop.org/drm/intel/issues/2405 [i915#2505]: https://gitlab.freedesktop.org/drm/intel/issues/2505 [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402 Participating hosts (45 -> 41) -- Missing(4): fi-ilk-m540 fi-bsw-cyan fi-bdw-samus fi-hsw-4200u Build changes - * Linux: CI_DRM_9798 -> Patchwork_19725 CI-20190529: 20190529 CI_DRM_9798: 70e2e79cd772b97799f4cecd823539f452063562 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_6013: a6c7181747850161377dae5161d33c0675ab273e @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_19725: a4849d64c1166b620cc534d2375c48729c4e5966 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == a4849d64c116 drm/i915: Promote ptrdiff() to i915_utils.h == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19725/index.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 01/30] drm/dp: Rewrap kdocs for struct drm_dp_aux
On Fri, 2021-02-19 at 15:42 -0800, Randy Dunlap wrote: > On 2/19/21 1:52 PM, Lyude Paul wrote: > > Since we're about to be adding some more fields and update this > > documentation, let's rewrap it to the new column limit of 100 beforehand. > > No actual doc or functional changes are made here. > > > > The preferred column limit is still 80. > For some (exceptional) cases, going up to 100 is OK, > but I don't see any reason here to go beyond 80. Found some posts online that discussed this in detail: https://linux.slashdot.org/story/20/05/31/211211/linus-torvalds-argues-against-80-column-line-length-coding-style-as-linux-kernel-deprecates-it so I guess I'm fine with rewrapping these to 80 cols (although honestly, it'd be really nice to just have a single col limit to make things easier on text editors :) in the next respin. > Signed-off-by: Lyude Paul > --- > include/drm/drm_dp_helper.h | 42 - > 1 file changed, 18 insertions(+), 24 deletions(-) > > diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h > index edffd1dcca3e..2891a98eebc8 100644 > --- a/include/drm/drm_dp_helper.h > +++ b/include/drm/drm_dp_helper.h > @@ -1839,34 +1839,28 @@ struct drm_dp_aux_cec { > * @crc_count: counter of captured frame CRCs > * @transfer: transfers a message representing a single AUX transaction > * > - * The .dev field should be set to a pointer to the device that implements > - * the AUX channel. > + * The .dev field should be set to a pointer to the device that implements > the AUX channel. > * > - * The .name field may be used to specify the name of the I2C adapter. If set > to > - * NULL, dev_name() of .dev will be used. > + * The .name field may be used to specify the name of the I2C adapter. If set > to NULL, dev_name() of > + * .dev will be used. > * > - * Drivers provide a hardware-specific implementation of how transactions > - * are executed via the .transfer() function. A pointer to a drm_dp_aux_msg > - * structure describing the transaction is passed into this function. Upon > - * success, the implementation should return the number of payload bytes > - * that were transferred, or a negative error-code on failure. Helpers > - * propagate errors from the .transfer() function, with the exception of > - * the -EBUSY error, which causes a transaction to be retried. On a short, > - * helpers will return -EPROTO to make it simpler to check for failure. > + * Drivers provide a hardware-specific implementation of how transactions are > executed via the > + * .transfer() function. A pointer to a drm_dp_aux_msg structure describing > the transaction is > + * passed into this function. Upon success, the implementation should return > the number of payload > + * bytes that were transferred, or a negative error-code on failure. Helpers > propagate errors from > + * the .transfer() function, with the exception of the -EBUSY error, which > causes a transaction to > + * be retried. On a short, helpers will return -EPROTO to make it simpler to > check for failure. > * > - * An AUX channel can also be used to transport I2C messages to a sink. A > - * typical application of that is to access an EDID that's present in the > - * sink device. The .transfer() function can also be used to execute such > - * transactions. The drm_dp_aux_register() function registers an I2C > - * adapter that can be passed to drm_probe_ddc(). Upon removal, drivers > - * should call drm_dp_aux_unregister() to remove the I2C adapter. > - * The I2C adapter uses long transfers by default; if a partial response is > - * received, the adapter will drop down to the size given by the partial > - * response for this transaction only. > + * An AUX channel can also be used to transport I2C messages to a sink. A > typical application of > + * that is to access an EDID that's present in the sink device. The > .transfer() function can also be > + * used to execute such transactions. The drm_dp_aux_register() function > registers an I2C adapter > + * that can be passed to drm_probe_ddc(). Upon removal, drivers should call > drm_dp_aux_unregister() > + * to remove the I2C adapter. The I2C adapter uses long transfers by default; > if a partial response > + * is received, the adapter will drop down to the size given by the partial > response for this > + * transaction only. > * > - * Note that the aux helper code assumes that the .transfer() function > - * only modifies the reply field of the drm_dp_aux_msg structure. The > - * retry logic and i2c helpers assume this is the case. > + * Note that the aux helper code assumes that the .transfer() function only > modifies the reply field > + * of the drm_dp_aux_msg structure. The retry logic and i2c helpers assume > this is the case. > */ > struct drm_dp_aux { > const char *name; > -- Sincerely, Lyude Paul (she/her) Software Engineer at Red Hat Note: I deal with a lot of emails and have a lot of bugs on my plate. If
[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/tgl+: Sanitize the DDI LANES/IO and AUX power domain names
== Series Details == Series: drm/i915/tgl+: Sanitize the DDI LANES/IO and AUX power domain names URL : https://patchwork.freedesktop.org/series/87299/ State : success == Summary == CI Bug Log - changes from CI_DRM_9795_full -> Patchwork_19717_full Summary --- **WARNING** Minor unknown changes coming with Patchwork_19717_full need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_19717_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_19717_full: ### IGT changes ### Warnings * igt@runner@aborted: - shard-kbl: ([FAIL][1], [FAIL][2], [FAIL][3]) ([i915#2426] / [i915#2505] / [i915#2724] / [i915#3002]) -> ([FAIL][4], [FAIL][5], [FAIL][6], [FAIL][7], [FAIL][8]) ([i915#1814] / [i915#2292] / [i915#2505] / [i915#3002]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9795/shard-kbl4/igt@run...@aborted.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9795/shard-kbl1/igt@run...@aborted.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9795/shard-kbl6/igt@run...@aborted.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-kbl7/igt@run...@aborted.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-kbl6/igt@run...@aborted.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-kbl4/igt@run...@aborted.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-kbl4/igt@run...@aborted.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-kbl4/igt@run...@aborted.html - shard-apl: ([FAIL][9], [FAIL][10], [FAIL][11]) ([i915#180] / [i915#3002]) -> ([FAIL][12], [FAIL][13], [FAIL][14], [FAIL][15]) ([i915#2724] / [i915#3002]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9795/shard-apl1/igt@run...@aborted.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9795/shard-apl1/igt@run...@aborted.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9795/shard-apl3/igt@run...@aborted.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-apl6/igt@run...@aborted.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-apl2/igt@run...@aborted.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-apl1/igt@run...@aborted.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-apl1/igt@run...@aborted.html Known issues Here are the changes found in Patchwork_19717_full that come from known issues: ### IGT changes ### Issues hit * igt@feature_discovery@psr2: - shard-iclb: [PASS][16] -> [SKIP][17] ([i915#658]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9795/shard-iclb2/igt@feature_discov...@psr2.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-iclb6/igt@feature_discov...@psr2.html * igt@gem_create@create-massive: - shard-snb: NOTRUN -> [DMESG-WARN][18] ([i915#3002]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-snb6/igt@gem_cre...@create-massive.html - shard-kbl: NOTRUN -> [DMESG-WARN][19] ([i915#3002]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-kbl7/igt@gem_cre...@create-massive.html * igt@gem_ctx_persistence@file: - shard-hsw: NOTRUN -> [SKIP][20] ([fdo#109271] / [i915#1099]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-hsw1/igt@gem_ctx_persiste...@file.html * igt@gem_ctx_persistence@legacy-engines-mixed: - shard-snb: NOTRUN -> [SKIP][21] ([fdo#109271] / [i915#1099]) +6 similar issues [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-snb2/igt@gem_ctx_persiste...@legacy-engines-mixed.html * igt@gem_eio@unwedge-stress: - shard-iclb: [PASS][22] -> [TIMEOUT][23] ([i915#2481] / [i915#3070]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9795/shard-iclb5/igt@gem_...@unwedge-stress.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-iclb8/igt@gem_...@unwedge-stress.html * igt@gem_exec_create@forked: - shard-glk: [PASS][24] -> [DMESG-WARN][25] ([i915#118] / [i915#95]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9795/shard-glk6/igt@gem_exec_cre...@forked.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-glk7/igt@gem_exec_cre...@forked.html * igt@gem_exec_fair@basic-deadline: - shard-apl: NOTRUN -> [FAIL][26] ([i915#2846]) [26]:
[Intel-gfx] [PATCH] drm/i915: Verify dma_addr in gen8_ggtt_pte_encode
From: Piotr Piórkowski Until now, the gen8_ggtt_pte_encode function, responsible for the preparation of GGTT PTE, has not verified in any way whether the address given as the parameter is correct. By adding a GGTT address mask, we can easily verify that dma_addr will not fit in the PTE field. While around, cleanup a place where we hold all GEN12 GGTT PTE masks, and the addition of the PTE description. Bspec: 45015 Signed-off-by: Piotr Piórkowski Cc: Matthew Auld Cc: Michal Wajdeczko Cc: Michal Winiarski --- drivers/gpu/drm/i915/gt/intel_ggtt.c | 2 ++ drivers/gpu/drm/i915/gt/intel_gtt.h | 13 - 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt.c b/drivers/gpu/drm/i915/gt/intel_ggtt.c index b0b8ded834f0..52b2428da431 100644 --- a/drivers/gpu/drm/i915/gt/intel_ggtt.c +++ b/drivers/gpu/drm/i915/gt/intel_ggtt.c @@ -193,6 +193,8 @@ static u64 gen8_ggtt_pte_encode(dma_addr_t addr, { gen8_pte_t pte = addr | _PAGE_PRESENT; + GEM_BUG_ON(addr & ~GEN12_GGTT_PTE_ADDR_MASK); + if (flags & PTE_LM) pte |= GEN12_GGTT_PTE_LM; diff --git a/drivers/gpu/drm/i915/gt/intel_gtt.h b/drivers/gpu/drm/i915/gt/intel_gtt.h index 24b5808df16d..c82bbe307668 100644 --- a/drivers/gpu/drm/i915/gt/intel_gtt.h +++ b/drivers/gpu/drm/i915/gt/intel_gtt.h @@ -87,7 +87,18 @@ typedef u64 gen8_pte_t; #define GEN12_PPGTT_PTE_LM BIT_ULL(11) -#define GEN12_GGTT_PTE_LM BIT_ULL(1) +/* + * DOC: GEN12 GGTT Table Entry format + * + * +--+-+-+--+-+ + * |63:46 | 45:12 |11:2 |1 | 0 | + * +==+=+=+==+=+ + * | Ignored | Address | Ignored | Local Memory | Present | + * +--+-+-+--+-+ + */ + +#define GEN12_GGTT_PTE_LM BIT_ULL(1) +#define GEN12_GGTT_PTE_ADDR_MASK GENMASK_ULL(45, 12) /* * Cacheability Control is a 4-bit value. The low three bits are stored in bits -- 2.25.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 6/6] drm/i915: Extend icl_sanitize_encoder_pll_mapping() to all DDI platforms
From: Ville Syrjälä Now that all the encoder clock stuff is uniformly abstracted for all hsw+ platforms, let's extend icl_sanitize_encoder_pll_mapping() to cover all of them. Not sure there is a particular benefit in doing so, but less special cases always makes me happy. Signed-off-by: Ville Syrjälä --- drivers/gpu/drm/i915/display/intel_ddi.c | 2 +- drivers/gpu/drm/i915/display/intel_ddi.h | 2 +- drivers/gpu/drm/i915/display/intel_display.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c index 7d477c4007c7..dd2203f87078 100644 --- a/drivers/gpu/drm/i915/display/intel_ddi.c +++ b/drivers/gpu/drm/i915/display/intel_ddi.c @@ -2134,7 +2134,7 @@ static void intel_ddi_disable_clock(struct intel_encoder *encoder) encoder->disable_clock(encoder); } -void icl_sanitize_encoder_pll_mapping(struct intel_encoder *encoder) +void intel_ddi_sanitize_encoder_pll_mapping(struct intel_encoder *encoder) { struct drm_i915_private *i915 = to_i915(encoder->base.dev); u32 port_mask; diff --git a/drivers/gpu/drm/i915/display/intel_ddi.h b/drivers/gpu/drm/i915/display/intel_ddi.h index 99cebbe6b586..59c6b01d4199 100644 --- a/drivers/gpu/drm/i915/display/intel_ddi.h +++ b/drivers/gpu/drm/i915/display/intel_ddi.h @@ -66,6 +66,6 @@ u32 ddi_signal_levels(struct intel_dp *intel_dp, int intel_ddi_toggle_hdcp_bits(struct intel_encoder *intel_encoder, enum transcoder cpu_transcoder, bool enable, u32 hdcp_mask); -void icl_sanitize_encoder_pll_mapping(struct intel_encoder *encoder); +void intel_ddi_sanitize_encoder_pll_mapping(struct intel_encoder *encoder); #endif /* __INTEL_DDI_H__ */ diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index 8b5cb814b679..87db5331176b 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -13144,8 +13144,8 @@ static void intel_sanitize_encoder(struct intel_encoder *encoder) /* notify opregion of the sanitized encoder state */ intel_opregion_notify_encoder(encoder, connector && has_active_crtc); - if (INTEL_GEN(dev_priv) >= 11) - icl_sanitize_encoder_pll_mapping(encoder); + if (HAS_DDI(dev_priv)) + intel_ddi_sanitize_encoder_pll_mapping(encoder); } /* FIXME read out full plane state for all planes */ -- 2.26.2 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 5/6] drm/i915: Add encoder->is_clock_enabled()
From: Ville Syrjälä Support reading out the current state of the DDI clock. Not sure we really want this. Seems a bit excessive just to restore the debug print to icl_sanitize_encoder_pll_mapping()? But maybe there's more use for it? Signed-off-by: Ville Syrjälä --- drivers/gpu/drm/i915/display/icl_dsi.c| 19 +++ drivers/gpu/drm/i915/display/intel_crt.c | 1 + drivers/gpu/drm/i915/display/intel_ddi.c | 123 +- drivers/gpu/drm/i915/display/intel_ddi.h | 1 + .../drm/i915/display/intel_display_types.h| 4 + 5 files changed, 146 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c index 29fe4919392a..7f2abc088a66 100644 --- a/drivers/gpu/drm/i915/display/icl_dsi.c +++ b/drivers/gpu/drm/i915/display/icl_dsi.c @@ -655,6 +655,24 @@ static void gen11_dsi_ungate_clocks(struct intel_encoder *encoder) mutex_unlock(_priv->dpll.lock); } +static bool gen11_dsi_is_clock_enabled(struct intel_encoder *encoder) +{ + struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); + bool clock_enabled = false; + enum phy phy; + u32 tmp; + + tmp = intel_de_read(dev_priv, ICL_DPCLKA_CFGCR0); + + for_each_dsi_phy(phy, intel_dsi->phys) { + if (!(tmp & ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy))) + clock_enabled = true; + } + + return clock_enabled; +} + static void gen11_dsi_map_pll(struct intel_encoder *encoder, const struct intel_crtc_state *crtc_state) { @@ -1939,6 +1957,7 @@ void icl_dsi_init(struct drm_i915_private *dev_priv) encoder->power_domain = POWER_DOMAIN_PORT_DSI; encoder->get_power_domains = gen11_dsi_get_power_domains; encoder->disable_clock = gen11_dsi_gate_clocks; + encoder->is_clock_enabled = gen11_dsi_is_clock_enabled; /* register DSI connector with DRM subsystem */ drm_connector_init(dev, connector, _dsi_connector_funcs, diff --git a/drivers/gpu/drm/i915/display/intel_crt.c b/drivers/gpu/drm/i915/display/intel_crt.c index b03f74076f64..7f3d11c5ce3e 100644 --- a/drivers/gpu/drm/i915/display/intel_crt.c +++ b/drivers/gpu/drm/i915/display/intel_crt.c @@ -1078,6 +1078,7 @@ void intel_crt_init(struct drm_i915_private *dev_priv) crt->base.post_disable = hsw_post_disable_crt; crt->base.enable_clock = hsw_ddi_enable_clock; crt->base.disable_clock = hsw_ddi_disable_clock; + crt->base.is_clock_enabled = hsw_ddi_is_clock_enabled; } else { if (HAS_PCH_SPLIT(dev_priv)) { crt->base.compute_config = pch_crt_compute_config; diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c index 56f5f55a7c8f..7d477c4007c7 100644 --- a/drivers/gpu/drm/i915/display/intel_ddi.c +++ b/drivers/gpu/drm/i915/display/intel_ddi.c @@ -1589,6 +1589,12 @@ static void _cnl_ddi_disable_clock(struct drm_i915_private *i915, i915_reg_t reg mutex_unlock(>dpll.lock); } +static bool _cnl_ddi_is_clock_enabled(struct drm_i915_private *i915, i915_reg_t reg, + u32 clk_off) +{ + return !(intel_de_read(i915, reg) & clk_off); +} + static struct intel_shared_dpll * _cnl_ddi_get_pll(struct drm_i915_private *i915, i915_reg_t reg, u32 clk_sel_mask, u32 clk_sel_shift) @@ -1625,6 +1631,15 @@ static void adls_ddi_disable_clock(struct intel_encoder *encoder) ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy)); } +static bool adls_ddi_is_clock_enabled(struct intel_encoder *encoder) +{ + struct drm_i915_private *i915 = to_i915(encoder->base.dev); + enum phy phy = intel_port_to_phy(i915, encoder->port); + + return _cnl_ddi_is_clock_enabled(i915, ADLS_DPCLKA_CFGCR(phy), +ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy)); +} + static struct intel_shared_dpll *adls_ddi_get_pll(struct intel_encoder *encoder) { struct drm_i915_private *i915 = to_i915(encoder->base.dev); @@ -1660,6 +1675,15 @@ static void rkl_ddi_disable_clock(struct intel_encoder *encoder) RKL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy)); } +static bool rkl_ddi_is_clock_enabled(struct intel_encoder *encoder) +{ + struct drm_i915_private *i915 = to_i915(encoder->base.dev); + enum phy phy = intel_port_to_phy(i915, encoder->port); + + return _cnl_ddi_is_clock_enabled(i915, ICL_DPCLKA_CFGCR0, +RKL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy)); +} + static struct intel_shared_dpll *rkl_ddi_get_pll(struct intel_encoder *encoder) { struct drm_i915_private *i915 = to_i915(encoder->base.dev); @@ -1704,6 +1728,15 @@ static void dg1_ddi_disable_clock(struct intel_encoder *encoder)
[Intel-gfx] [PATCH 4/6] drm/i915: Move DDI clock readout to encoder->get_config()
From: Ville Syrjälä Move the *_get_ddi_pll() stuff into the encodet->get_config() hook. There it neatly sits next to the matching .{enable,disable}_clock() functions. In order to avoid excessive boilerplate I changed the behaviour such that all platforms now do the readout via crtc_state->port_dpll[]. ICL+ TC is still a bit special due to TBTPLL not having a functional .get_freq(). Should probably change that by adopting the LCPLL approach, but that would require a fairly substantial rework of the DPLL ID handling. So leave it for later. Signed-off-by: Ville Syrjälä --- drivers/gpu/drm/i915/display/icl_dsi.c | 6 +- drivers/gpu/drm/i915/display/intel_crt.c | 2 +- drivers/gpu/drm/i915/display/intel_ddi.c | 321 +-- drivers/gpu/drm/i915/display/intel_ddi.h | 8 +- drivers/gpu/drm/i915/display/intel_display.c | 219 - 5 files changed, 306 insertions(+), 250 deletions(-) diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c index 05d5709ae537..29fe4919392a 100644 --- a/drivers/gpu/drm/i915/display/icl_dsi.c +++ b/drivers/gpu/drm/i915/display/icl_dsi.c @@ -1490,14 +1490,10 @@ static void gen11_dsi_get_cmd_mode_config(struct intel_dsi *intel_dsi, static void gen11_dsi_get_config(struct intel_encoder *encoder, struct intel_crtc_state *pipe_config) { - struct drm_i915_private *i915 = to_i915(encoder->base.dev); struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc); struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); - /* FIXME: adapt icl_ddi_clock_get() for DSI and use that? */ - pipe_config->port_clock = intel_dpll_get_freq(i915, - pipe_config->shared_dpll, - _config->dpll_hw_state); + intel_ddi_get_clock(encoder, pipe_config, icl_ddi_combo_get_pll(encoder)); pipe_config->hw.adjusted_mode.crtc_clock = intel_dsi->pclk; if (intel_dsi->dual_link) diff --git a/drivers/gpu/drm/i915/display/intel_crt.c b/drivers/gpu/drm/i915/display/intel_crt.c index 91a8a42b4aa2..b03f74076f64 100644 --- a/drivers/gpu/drm/i915/display/intel_crt.c +++ b/drivers/gpu/drm/i915/display/intel_crt.c @@ -142,7 +142,7 @@ static void hsw_crt_get_config(struct intel_encoder *encoder, { struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); - intel_ddi_get_config(encoder, pipe_config); + hsw_ddi_get_config(encoder, pipe_config); pipe_config->hw.adjusted_mode.flags &= ~(DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NHSYNC | diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c index eeae78097a20..56f5f55a7c8f 100644 --- a/drivers/gpu/drm/i915/display/intel_ddi.c +++ b/drivers/gpu/drm/i915/display/intel_ddi.c @@ -304,25 +304,6 @@ static void ddi_dotclock_get(struct intel_crtc_state *pipe_config) pipe_config->hw.adjusted_mode.crtc_clock = dotclock; } -static void intel_ddi_clock_get(struct intel_encoder *encoder, - struct intel_crtc_state *pipe_config) -{ - struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); - enum phy phy = intel_port_to_phy(dev_priv, encoder->port); - - if (intel_phy_is_tc(dev_priv, phy) && - intel_get_shared_dpll_id(dev_priv, pipe_config->shared_dpll) == - DPLL_ID_ICL_TBTPLL) - pipe_config->port_clock = icl_calc_tbt_pll_link(dev_priv, - encoder->port); - else - pipe_config->port_clock = - intel_dpll_get_freq(dev_priv, pipe_config->shared_dpll, - _config->dpll_hw_state); - - ddi_dotclock_get(pipe_config); -} - void intel_ddi_set_dp_msa(const struct intel_crtc_state *crtc_state, const struct drm_connector_state *conn_state) { @@ -1608,6 +1589,17 @@ static void _cnl_ddi_disable_clock(struct drm_i915_private *i915, i915_reg_t reg mutex_unlock(>dpll.lock); } +static struct intel_shared_dpll * +_cnl_ddi_get_pll(struct drm_i915_private *i915, i915_reg_t reg, +u32 clk_sel_mask, u32 clk_sel_shift) +{ + enum intel_dpll_id id; + + id = (intel_de_read(i915, reg) & clk_sel_mask) >> clk_sel_shift; + + return intel_get_shared_dpll_by_id(i915, id); +} + static void adls_ddi_enable_clock(struct intel_encoder *encoder, const struct intel_crtc_state *crtc_state) { @@ -1633,6 +1625,16 @@ static void adls_ddi_disable_clock(struct intel_encoder *encoder) ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy)); } +static struct intel_shared_dpll *adls_ddi_get_pll(struct intel_encoder *encoder) +{ + struct drm_i915_private *i915 =
[Intel-gfx] [PATCH 1/6] drm/i915: Call primary encoder's .get_config() from MST .get_config()
From: Ville Syrjälä Stop assuming intel_ddi_get_config() is all we need from the primary encoder, and instead call it via the .get_config() vfunc. This will allow customized .get_config() for the primary, which I plan to use to handle the differences in the clock readout between various platforms. Signed-off-by: Ville Syrjälä --- drivers/gpu/drm/i915/display/intel_dp_mst.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c index 8e316146b6d1..906860ad8eb8 100644 --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c @@ -591,7 +591,7 @@ static void intel_dp_mst_enc_get_config(struct intel_encoder *encoder, struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder); struct intel_digital_port *dig_port = intel_mst->primary; - intel_ddi_get_config(_port->base, pipe_config); + dig_port->base.get_config(_port->base, pipe_config); } static bool intel_dp_mst_initial_fastset_check(struct intel_encoder *encoder, -- 2.26.2 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 3/6] drm/i915: Use pipes instead crtc indices in PLL state tracking
From: Ville Syrjälä All the other places we have use pipes instead of crtc indices when tracking resource usage. Life is easier when we do it the same way always, so switch the dpll mgr to using pipes as well. Looks like it was actually mixing these up in some cases so it would not even have worked correctly except when the device has a contiguous set of pipes starting from pipe A. Granted, that is the typical case but supposedly it may not always hold on modern hw. Signed-off-by: Ville Syrjälä --- drivers/gpu/drm/i915/display/intel_display.c | 40 .../drm/i915/display/intel_display_debugfs.c | 4 +- drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 48 ++- drivers/gpu/drm/i915/display/intel_dpll_mgr.h | 8 ++-- 4 files changed, 51 insertions(+), 49 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index b34620545d3b..958c2a796bae 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -9653,7 +9653,7 @@ verify_single_dpll_state(struct drm_i915_private *dev_priv, struct intel_crtc_state *new_crtc_state) { struct intel_dpll_hw_state dpll_hw_state; - unsigned int crtc_mask; + u8 pipe_mask; bool active; memset(_hw_state, 0, sizeof(dpll_hw_state)); @@ -9666,34 +9666,34 @@ verify_single_dpll_state(struct drm_i915_private *dev_priv, I915_STATE_WARN(!pll->on && pll->active_mask, "pll in active use but not on in sw tracking\n"); I915_STATE_WARN(pll->on && !pll->active_mask, -"pll is on but not used by any active crtc\n"); +"pll is on but not used by any active pipe\n"); I915_STATE_WARN(pll->on != active, "pll on state mismatch (expected %i, found %i)\n", pll->on, active); } if (!crtc) { - I915_STATE_WARN(pll->active_mask & ~pll->state.crtc_mask, - "more active pll users than references: %x vs %x\n", - pll->active_mask, pll->state.crtc_mask); + I915_STATE_WARN(pll->active_mask & ~pll->state.pipe_mask, + "more active pll users than references: 0x%x vs 0x%x\n", + pll->active_mask, pll->state.pipe_mask); return; } - crtc_mask = drm_crtc_mask(>base); + pipe_mask = BIT(crtc->pipe); if (new_crtc_state->hw.active) - I915_STATE_WARN(!(pll->active_mask & crtc_mask), - "pll active mismatch (expected pipe %c in active mask 0x%02x)\n", + I915_STATE_WARN(!(pll->active_mask & pipe_mask), + "pll active mismatch (expected pipe %c in active mask 0x%x)\n", pipe_name(crtc->pipe), pll->active_mask); else - I915_STATE_WARN(pll->active_mask & crtc_mask, - "pll active mismatch (didn't expect pipe %c in active mask 0x%02x)\n", + I915_STATE_WARN(pll->active_mask & pipe_mask, + "pll active mismatch (didn't expect pipe %c in active mask 0x%x)\n", pipe_name(crtc->pipe), pll->active_mask); - I915_STATE_WARN(!(pll->state.crtc_mask & crtc_mask), - "pll enabled crtcs mismatch (expected 0x%x in 0x%02x)\n", - crtc_mask, pll->state.crtc_mask); + I915_STATE_WARN(!(pll->state.pipe_mask & pipe_mask), + "pll enabled crtcs mismatch (expected 0x%x in 0x%x)\n", + pipe_mask, pll->state.pipe_mask); I915_STATE_WARN(pll->on && memcmp(>state.hw_state, _hw_state, @@ -9713,15 +9713,15 @@ verify_shared_dpll_state(struct intel_crtc *crtc, if (old_crtc_state->shared_dpll && old_crtc_state->shared_dpll != new_crtc_state->shared_dpll) { - unsigned int crtc_mask = drm_crtc_mask(>base); + u8 pipe_mask = BIT(crtc->pipe); struct intel_shared_dpll *pll = old_crtc_state->shared_dpll; - I915_STATE_WARN(pll->active_mask & crtc_mask, - "pll active mismatch (didn't expect pipe %c in active mask)\n", - pipe_name(crtc->pipe)); - I915_STATE_WARN(pll->state.crtc_mask & crtc_mask, - "pll enabled crtcs mismatch (found %x in enabled mask)\n", - pipe_name(crtc->pipe)); + I915_STATE_WARN(pll->active_mask & pipe_mask, + "pll active mismatch (didn't expect pipe %c in active mask (0x%x))\n", +
[Intel-gfx] [PATCH 2/6] drm/i915: Do intel_dpll_readout_hw_state() after encoder readout
From: Ville Syrjälä The clock readout for DDI encoders needs to moved into the encoders. To that end intel_dpll_readout_hw_state() needs to happen after the encoder readout as otherwise it can't correctly populate the PLL crtc_mask/active_mask bitmasks. Signed-off-by: Ville Syrjälä --- drivers/gpu/drm/i915/display/intel_display.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index d0da88751c72..b34620545d3b 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -13444,8 +13444,6 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev) readout_plane_state(dev_priv); - intel_dpll_readout_hw_state(dev_priv); - for_each_intel_encoder(dev, encoder) { pipe = 0; @@ -13480,6 +13478,8 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev) pipe_name(pipe)); } + intel_dpll_readout_hw_state(dev_priv); + drm_connector_list_iter_begin(dev, _iter); for_each_intel_connector_iter(connector, _iter) { if (connector->get_hw_state(connector)) { -- 2.26.2 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 0/6] drm/i915: Move DDI clock readout to encoder->get_config()
From: Ville Syrjälä The DDI clock readout has no business being in hsw_get_pipe_config(). Let's move it where it belongs, that is encoder->get_config(). Ville Syrjälä (6): drm/i915: Call primary encoder's .get_config() from MST .get_config() drm/i915: Do intel_dpll_readout_hw_state() after encoder readout drm/i915: Use pipes instead crtc indices in PLL state tracking drm/i915: Move DDI clock readout to encoder->get_config() drm/i915: Add encoder->is_clock_enabled() drm/i915: Extend icl_sanitize_encoder_pll_mapping() to all DDI platforms drivers/gpu/drm/i915/display/icl_dsi.c| 25 +- drivers/gpu/drm/i915/display/intel_crt.c | 3 +- drivers/gpu/drm/i915/display/intel_ddi.c | 446 +- drivers/gpu/drm/i915/display/intel_ddi.h | 11 +- drivers/gpu/drm/i915/display/intel_display.c | 267 +-- .../drm/i915/display/intel_display_debugfs.c | 4 +- .../drm/i915/display/intel_display_types.h| 4 + drivers/gpu/drm/i915/display/intel_dp_mst.c | 2 +- drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 48 +- drivers/gpu/drm/i915/display/intel_dpll_mgr.h | 8 +- 10 files changed, 510 insertions(+), 308 deletions(-) -- 2.26.2 ___ 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/tgl+: Sanitize the DDI LANES/IO and AUX power domain names
On Mon, Feb 22, 2021 at 10:55:17PM +, Patchwork wrote: > == Series Details == > > Series: drm/i915/tgl+: Sanitize the DDI LANES/IO and AUX power domain names > URL : https://patchwork.freedesktop.org/series/87299/ > State : failure Thanks for the review pushed to -din. The failure is unrelated to the patch, as it has no functional change. > > == Summary == > > CI Bug Log - changes from CI_DRM_9795_full -> Patchwork_19717_full > > > Summary > --- > > **FAILURE** > > Serious unknown changes coming with Patchwork_19717_full absolutely need to > be > verified manually. > > If you think the reported changes have nothing to do with the changes > introduced in Patchwork_19717_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_19717_full: > > ### IGT changes ### > > Possible regressions > > * igt@i915_pm_rc6_residency@rc6-idle: > - shard-glk: [PASS][1] -> [FAIL][2] >[1]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9795/shard-glk7/igt@i915_pm_rc6_reside...@rc6-idle.html >[2]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-glk1/igt@i915_pm_rc6_reside...@rc6-idle.html > > > Warnings > > * igt@runner@aborted: > - shard-kbl: ([FAIL][3], [FAIL][4], [FAIL][5]) ([i915#2426] / > [i915#2505] / [i915#2724] / [i915#3002]) -> ([FAIL][6], [FAIL][7], [FAIL][8], > [FAIL][9], [FAIL][10]) ([i915#1814] / [i915#2292] / [i915#2505] / [i915#3002]) >[3]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9795/shard-kbl4/igt@run...@aborted.html >[4]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9795/shard-kbl1/igt@run...@aborted.html >[5]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9795/shard-kbl6/igt@run...@aborted.html >[6]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-kbl4/igt@run...@aborted.html >[7]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-kbl6/igt@run...@aborted.html >[8]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-kbl4/igt@run...@aborted.html >[9]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-kbl4/igt@run...@aborted.html >[10]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-kbl7/igt@run...@aborted.html > - shard-apl: ([FAIL][11], [FAIL][12], [FAIL][13]) ([i915#3002]) > -> ([FAIL][14], [FAIL][15], [FAIL][16], [FAIL][17]) ([i915#2724] / > [i915#3002]) >[11]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9795/shard-apl1/igt@run...@aborted.html >[12]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9795/shard-apl1/igt@run...@aborted.html >[13]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9795/shard-apl3/igt@run...@aborted.html >[14]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-apl2/igt@run...@aborted.html >[15]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-apl6/igt@run...@aborted.html >[16]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-apl1/igt@run...@aborted.html >[17]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-apl1/igt@run...@aborted.html > > > Known issues > > > Here are the changes found in Patchwork_19717_full that come from known > issues: > > ### IGT changes ### > > Issues hit > > * igt@feature_discovery@psr2: > - shard-iclb: [PASS][18] -> [SKIP][19] ([i915#658]) >[18]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9795/shard-iclb2/igt@feature_discov...@psr2.html >[19]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-iclb6/igt@feature_discov...@psr2.html > > * igt@gem_create@create-massive: > - shard-snb: NOTRUN -> [DMESG-WARN][20] ([i915#3002]) >[20]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-snb6/igt@gem_cre...@create-massive.html > - shard-kbl: NOTRUN -> [DMESG-WARN][21] ([i915#3002]) >[21]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-kbl7/igt@gem_cre...@create-massive.html > > * igt@gem_ctx_persistence@file: > - shard-hsw: NOTRUN -> [SKIP][22] ([fdo#109271] / [i915#1099]) >[22]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-hsw1/igt@gem_ctx_persiste...@file.html > > * igt@gem_ctx_persistence@legacy-engines-mixed: > - shard-snb: NOTRUN -> [SKIP][23] ([fdo#109271] / [i915#1099]) > +6 similar issues >[23]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19717/shard-snb2/igt@gem_ctx_persiste...@legacy-engines-mixed.html > > * igt@gem_eio@unwedge-stress: > - shard-iclb: [PASS][24] -> [TIMEOUT][25]
[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/hdcp: Fix null pointer dereference of connector->encoder
== Series Details == Series: drm/i915/hdcp: Fix null pointer dereference of connector->encoder URL : https://patchwork.freedesktop.org/series/87328/ State : success == Summary == CI Bug Log - changes from CI_DRM_9798_full -> Patchwork_19724_full Summary --- **SUCCESS** No regressions found. Known issues Here are the changes found in Patchwork_19724_full that come from known issues: ### IGT changes ### Issues hit * igt@gem_ctx_persistence@legacy-engines-mixed-process: - shard-snb: NOTRUN -> [SKIP][1] ([fdo#109271] / [i915#1099]) +2 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/shard-snb7/igt@gem_ctx_persiste...@legacy-engines-mixed-process.html * igt@gem_ctx_shared@q-in-order: - shard-snb: NOTRUN -> [SKIP][2] ([fdo#109271]) +261 similar issues [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/shard-snb7/igt@gem_ctx_sha...@q-in-order.html * igt@gem_exec_capture@capture@rcs0: - shard-kbl: [PASS][3] -> [FAIL][4] ([i915#3062]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-kbl6/igt@gem_exec_capture@capt...@rcs0.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/shard-kbl7/igt@gem_exec_capture@capt...@rcs0.html * igt@gem_exec_fair@basic-flow@rcs0: - shard-skl: NOTRUN -> [SKIP][5] ([fdo#109271]) +125 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/shard-skl4/igt@gem_exec_fair@basic-f...@rcs0.html * igt@gem_exec_fair@basic-pace-solo@rcs0: - shard-kbl: [PASS][6] -> [FAIL][7] ([i915#2842]) +1 similar issue [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-kbl2/igt@gem_exec_fair@basic-pace-s...@rcs0.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/shard-kbl2/igt@gem_exec_fair@basic-pace-s...@rcs0.html * igt@gem_exec_reloc@basic-wide-active@bcs0: - shard-apl: NOTRUN -> [FAIL][8] ([i915#2389]) +3 similar issues [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/shard-apl7/igt@gem_exec_reloc@basic-wide-act...@bcs0.html * igt@gem_exec_whisper@basic-contexts-forked-all: - shard-glk: [PASS][9] -> [DMESG-WARN][10] ([i915#118] / [i915#95]) +1 similar issue [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-glk2/igt@gem_exec_whis...@basic-contexts-forked-all.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/shard-glk1/igt@gem_exec_whis...@basic-contexts-forked-all.html * igt@gem_huc_copy@huc-copy: - shard-kbl: NOTRUN -> [SKIP][11] ([fdo#109271] / [i915#2190]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/shard-kbl6/igt@gem_huc_c...@huc-copy.html * igt@gem_userptr_blits@input-checking: - shard-snb: NOTRUN -> [DMESG-WARN][12] ([i915#3002]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/shard-snb5/igt@gem_userptr_bl...@input-checking.html * igt@gem_userptr_blits@process-exit-mmap@wb: - shard-skl: NOTRUN -> [SKIP][13] ([fdo#109271] / [i915#1699]) +3 similar issues [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/shard-skl4/igt@gem_userptr_blits@process-exit-m...@wb.html * igt@gem_userptr_blits@process-exit-mmap@wc: - shard-iclb: NOTRUN -> [SKIP][14] ([i915#1699]) +3 similar issues [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/shard-iclb6/igt@gem_userptr_blits@process-exit-m...@wc.html * igt@kms_big_fb@x-tiled-32bpp-rotate-90: - shard-iclb: NOTRUN -> [SKIP][15] ([fdo#110725] / [fdo#111614]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/shard-iclb6/igt@kms_big...@x-tiled-32bpp-rotate-90.html * igt@kms_big_joiner@basic: - shard-apl: NOTRUN -> [SKIP][16] ([fdo#109271] / [i915#2705]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/shard-apl2/igt@kms_big_joi...@basic.html * igt@kms_ccs@pipe-c-missing-ccs-buffer: - shard-skl: NOTRUN -> [SKIP][17] ([fdo#109271] / [fdo#111304]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/shard-skl6/igt@kms_...@pipe-c-missing-ccs-buffer.html * igt@kms_chamelium@dp-hpd: - shard-iclb: NOTRUN -> [SKIP][18] ([fdo#109284] / [fdo#111827]) +2 similar issues [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/shard-iclb6/igt@kms_chamel...@dp-hpd.html * igt@kms_color@pipe-a-ctm-0-5: - shard-skl: [PASS][19] -> [DMESG-WARN][20] ([i915#1982]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-skl8/igt@kms_co...@pipe-a-ctm-0-5.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/shard-skl9/igt@kms_co...@pipe-a-ctm-0-5.html * igt@kms_color@pipe-b-ctm-0-25: - shard-iclb: NOTRUN -> [FAIL][21] ([i915#1149] / [i915#315]) +1 similar issue [21]:
[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915: refactor KBL/TGL/ADLS stepping scheme
== Series Details == Series: drm/i915: refactor KBL/TGL/ADLS stepping scheme URL : https://patchwork.freedesktop.org/series/87323/ State : failure == Summary == CI Bug Log - changes from CI_DRM_9798_full -> Patchwork_19723_full Summary --- **FAILURE** Serious unknown changes coming with Patchwork_19723_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_19723_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_19723_full: ### IGT changes ### Possible regressions * igt@gem_exec_capture@capture@bcs0: - shard-kbl: [PASS][1] -> [FAIL][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-kbl6/igt@gem_exec_capture@capt...@bcs0.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/shard-kbl6/igt@gem_exec_capture@capt...@bcs0.html Known issues Here are the changes found in Patchwork_19723_full that come from known issues: ### IGT changes ### Issues hit * igt@drm_mm@all@replace: - shard-skl: NOTRUN -> [INCOMPLETE][3] ([i915#2485]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/shard-skl9/igt@drm_mm@a...@replace.html * igt@feature_discovery@display-2x: - shard-iclb: NOTRUN -> [SKIP][4] ([i915#1839]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/shard-iclb5/igt@feature_discov...@display-2x.html * igt@gem_ctx_persistence@legacy-engines-mixed-process: - shard-snb: NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#1099]) +4 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/shard-snb6/igt@gem_ctx_persiste...@legacy-engines-mixed-process.html * igt@gem_ctx_shared@q-in-order: - shard-snb: NOTRUN -> [SKIP][6] ([fdo#109271]) +396 similar issues [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/shard-snb6/igt@gem_ctx_sha...@q-in-order.html * igt@gem_exec_fair@basic-none-vip@rcs0: - shard-iclb: NOTRUN -> [FAIL][7] ([i915#2842]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/shard-iclb5/igt@gem_exec_fair@basic-none-...@rcs0.html - shard-glk: [PASS][8] -> [FAIL][9] ([i915#2842]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-glk5/igt@gem_exec_fair@basic-none-...@rcs0.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/shard-glk7/igt@gem_exec_fair@basic-none-...@rcs0.html * igt@gem_exec_fair@basic-none@vcs0: - shard-kbl: NOTRUN -> [FAIL][10] ([i915#2842]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/shard-kbl6/igt@gem_exec_fair@basic-n...@vcs0.html * igt@gem_exec_fair@basic-pace@rcs0: - shard-kbl: [PASS][11] -> [FAIL][12] ([i915#2842]) +1 similar issue [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-kbl1/igt@gem_exec_fair@basic-p...@rcs0.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/shard-kbl6/igt@gem_exec_fair@basic-p...@rcs0.html * igt@gem_exec_fair@basic-pace@vcs1: - shard-kbl: [PASS][13] -> [SKIP][14] ([fdo#109271]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-kbl1/igt@gem_exec_fair@basic-p...@vcs1.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/shard-kbl6/igt@gem_exec_fair@basic-p...@vcs1.html * igt@gem_exec_reloc@basic-wide-active@bcs0: - shard-apl: NOTRUN -> [FAIL][15] ([i915#2389]) +3 similar issues [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/shard-apl1/igt@gem_exec_reloc@basic-wide-act...@bcs0.html * igt@gem_exec_schedule@u-fairslice@vcs0: - shard-skl: NOTRUN -> [DMESG-WARN][16] ([i915#1610] / [i915#2803]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/shard-skl8/igt@gem_exec_schedule@u-fairsl...@vcs0.html * igt@gem_exec_whisper@basic-queues-priority: - shard-glk: [PASS][17] -> [DMESG-WARN][18] ([i915#118] / [i915#95]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/shard-glk1/igt@gem_exec_whis...@basic-queues-priority.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/shard-glk3/igt@gem_exec_whis...@basic-queues-priority.html * igt@gem_huc_copy@huc-copy: - shard-kbl: NOTRUN -> [SKIP][19] ([fdo#109271] / [i915#2190]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/shard-kbl6/igt@gem_huc_c...@huc-copy.html * igt@gem_userptr_blits@input-checking: - shard-snb: NOTRUN -> [DMESG-WARN][20] ([i915#3002]) [20]:
Re: [Intel-gfx] [PATCH] drm/i915: Promote ptrdiff() to i915_utils.h
On 24/02/2021 10:35, Michal Wajdeczko wrote: Generic helpers should be placed in i915_utils.h. Signed-off-by: Michal Wajdeczko Cc: Tvrtko Ursulin Cc: Chris Wilson Cc: Matthew Brost --- drivers/gpu/drm/i915/i915_utils.h | 5 + drivers/gpu/drm/i915/i915_vma.h | 5 - 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h index 4618fe8aacb5..5bca71c90fe1 100644 --- a/drivers/gpu/drm/i915/i915_utils.h +++ b/drivers/gpu/drm/i915/i915_utils.h @@ -201,6 +201,11 @@ __check_struct_size(size_t base, size_t arr, size_t count, size_t *size) __T;\ }) +static __always_inline ptrdiff_t ptrdiff(const void *a, const void *b) +{ + return a - b; +} + /* * container_of_user: Extract the superclass from a pointer to a member. * diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h index a64adc8c883b..aed8e5bc233c 100644 --- a/drivers/gpu/drm/i915/i915_vma.h +++ b/drivers/gpu/drm/i915/i915_vma.h @@ -143,11 +143,6 @@ static inline void i915_vma_put(struct i915_vma *vma) i915_gem_object_put(vma->obj); } -static __always_inline ptrdiff_t ptrdiff(const void *a, const void *b) -{ - return a - b; -} - static inline long i915_vma_compare(struct i915_vma *vma, struct i915_address_space *vm, Reviewed-by: Tvrtko Ursulin Regards, Tvrtko ___ 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/hdcp: Fix null pointer dereference of connector->encoder
== Series Details == Series: drm/i915/hdcp: Fix null pointer dereference of connector->encoder URL : https://patchwork.freedesktop.org/series/87328/ State : success == Summary == CI Bug Log - changes from CI_DRM_9798 -> Patchwork_19724 Summary --- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/index.html Known issues Here are the changes found in Patchwork_19724 that come from known issues: ### IGT changes ### Issues hit * igt@debugfs_test@read_all_entries: - fi-tgl-y: [PASS][1] -> [DMESG-WARN][2] ([i915#402]) +2 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-tgl-y/igt@debugfs_test@read_all_entries.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/fi-tgl-y/igt@debugfs_test@read_all_entries.html * igt@kms_chamelium@dp-crc-fast: - fi-kbl-7500u: [PASS][3] -> [FAIL][4] ([i915#1372]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-kbl-7500u/igt@kms_chamel...@dp-crc-fast.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/fi-kbl-7500u/igt@kms_chamel...@dp-crc-fast.html * igt@kms_chamelium@hdmi-edid-read: - fi-kbl-7500u: [PASS][5] -> [FAIL][6] ([i915#2128]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-kbl-7500u/igt@kms_chamel...@hdmi-edid-read.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/fi-kbl-7500u/igt@kms_chamel...@hdmi-edid-read.html Possible fixes * igt@i915_hangman@error-state-basic: - fi-tgl-y: [DMESG-WARN][7] ([i915#402]) -> [PASS][8] +1 similar issue [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-tgl-y/igt@i915_hang...@error-state-basic.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/fi-tgl-y/igt@i915_hang...@error-state-basic.html [i915#1372]: https://gitlab.freedesktop.org/drm/intel/issues/1372 [i915#2128]: https://gitlab.freedesktop.org/drm/intel/issues/2128 [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402 Participating hosts (45 -> 40) -- Missing(5): fi-ilk-m540 fi-hsw-4200u fi-byt-j1900 fi-bsw-cyan fi-bdw-samus Build changes - * Linux: CI_DRM_9798 -> Patchwork_19724 CI-20190529: 20190529 CI_DRM_9798: 70e2e79cd772b97799f4cecd823539f452063562 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_6013: a6c7181747850161377dae5161d33c0675ab273e @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_19724: e9a297a6e1b1aa940dc8435fe5f887134b61f04a @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == e9a297a6e1b1 drm/i915/hdcp: Fix null pointer dereference of connector->encoder == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19724/index.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH] drm/i915: Promote ptrdiff() to i915_utils.h
Generic helpers should be placed in i915_utils.h. Signed-off-by: Michal Wajdeczko Cc: Tvrtko Ursulin Cc: Chris Wilson Cc: Matthew Brost --- drivers/gpu/drm/i915/i915_utils.h | 5 + drivers/gpu/drm/i915/i915_vma.h | 5 - 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h index 4618fe8aacb5..5bca71c90fe1 100644 --- a/drivers/gpu/drm/i915/i915_utils.h +++ b/drivers/gpu/drm/i915/i915_utils.h @@ -201,6 +201,11 @@ __check_struct_size(size_t base, size_t arr, size_t count, size_t *size) __T;\ }) +static __always_inline ptrdiff_t ptrdiff(const void *a, const void *b) +{ + return a - b; +} + /* * container_of_user: Extract the superclass from a pointer to a member. * diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h index a64adc8c883b..aed8e5bc233c 100644 --- a/drivers/gpu/drm/i915/i915_vma.h +++ b/drivers/gpu/drm/i915/i915_vma.h @@ -143,11 +143,6 @@ static inline void i915_vma_put(struct i915_vma *vma) i915_gem_object_put(vma->obj); } -static __always_inline ptrdiff_t ptrdiff(const void *a, const void *b) -{ - return a - b; -} - static inline long i915_vma_compare(struct i915_vma *vma, struct i915_address_space *vm, -- 2.25.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 and Daniel, here's this week's PR for drm-misc-fixes. One of the patches is a memory leak; the rest is for hardware issues. Best regards Thomas drm-misc-fixes-2021-02-24: * drm/panel: kd35t133: Work with non-continuous DSI clock * drm/rockchip: Require YTR modifier for AFBC * drm/ttm: Fix a memory leak in error handling The following changes since commit f40ddce88593482919761f74910f42f4b84c004b: Linux 5.11 (2021-02-14 14:32:24 -0800) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-fixes-2021-02-24 for you to fetch changes up to 54dab3a718f7094532daf7d25cd14121a0e00e34: drm/panel: kd35t133: allow using non-continuous dsi clock (2021-02-23 22:44:58 +0100) * drm/panel: kd35t133: Work with non-continuous DSI clock * drm/rockchip: Require YTR modifier for AFBC * drm/ttm: Fix a memory leak in error handling Alyssa Rosenzweig (1): drm/rockchip: Require the YTR modifier for AFBC Heiko Stuebner (1): drm/panel: kd35t133: allow using non-continuous dsi clock xinhui pan (1): drm/ttm: Fix a memory leak drivers/gpu/drm/panel/panel-elida-kd35t133.c | 3 ++- drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 11 +++ drivers/gpu/drm/ttm/ttm_bo.c | 9 ++--- 3 files changed, 19 insertions(+), 4 deletions(-) -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Felix Imendörffer ___ 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: refactor KBL/TGL/ADLS stepping scheme
== Series Details == Series: drm/i915: refactor KBL/TGL/ADLS stepping scheme URL : https://patchwork.freedesktop.org/series/87323/ State : success == Summary == CI Bug Log - changes from CI_DRM_9798 -> Patchwork_19723 Summary --- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/index.html Known issues Here are the changes found in Patchwork_19723 that come from known issues: ### IGT changes ### Issues hit * igt@fbdev@read: - fi-tgl-y: [PASS][1] -> [DMESG-WARN][2] ([i915#402]) +1 similar issue [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-tgl-y/igt@fb...@read.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/fi-tgl-y/igt@fb...@read.html * igt@i915_pm_rpm@module-reload: - fi-byt-j1900: [PASS][3] -> [INCOMPLETE][4] ([i915#142] / [i915#2405]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-byt-j1900/igt@i915_pm_...@module-reload.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/fi-byt-j1900/igt@i915_pm_...@module-reload.html * igt@i915_selftest@live@execlists: - fi-bsw-nick:[PASS][5] -> [INCOMPLETE][6] ([i915#2940]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-bsw-nick/igt@i915_selftest@l...@execlists.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/fi-bsw-nick/igt@i915_selftest@l...@execlists.html * igt@runner@aborted: - fi-bsw-nick:NOTRUN -> [FAIL][7] ([i915#1436] / [i915#2722]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/fi-bsw-nick/igt@run...@aborted.html - fi-bdw-5557u: NOTRUN -> [FAIL][8] ([i915#1602] / [i915#2029] / [i915#2369]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/fi-bdw-5557u/igt@run...@aborted.html - fi-byt-j1900: NOTRUN -> [FAIL][9] ([i915#1814] / [i915#2505]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/fi-byt-j1900/igt@run...@aborted.html Possible fixes * igt@i915_hangman@error-state-basic: - fi-tgl-y: [DMESG-WARN][10] ([i915#402]) -> [PASS][11] [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9798/fi-tgl-y/igt@i915_hang...@error-state-basic.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/fi-tgl-y/igt@i915_hang...@error-state-basic.html [i915#142]: https://gitlab.freedesktop.org/drm/intel/issues/142 [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436 [i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602 [i915#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814 [i915#2029]: https://gitlab.freedesktop.org/drm/intel/issues/2029 [i915#2369]: https://gitlab.freedesktop.org/drm/intel/issues/2369 [i915#2405]: https://gitlab.freedesktop.org/drm/intel/issues/2405 [i915#2505]: https://gitlab.freedesktop.org/drm/intel/issues/2505 [i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722 [i915#2940]: https://gitlab.freedesktop.org/drm/intel/issues/2940 [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402 Participating hosts (45 -> 39) -- Missing(6): fi-cml-u2 fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-kbl-7500u fi-bdw-samus Build changes - * Linux: CI_DRM_9798 -> Patchwork_19723 CI-20190529: 20190529 CI_DRM_9798: 70e2e79cd772b97799f4cecd823539f452063562 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_6013: a6c7181747850161377dae5161d33c0675ab273e @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_19723: 7317a17b497ddf475363e35ee10df22c4b819699 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 7317a17b497d drm/i915: rename disp_stepping->display_step and gt_stepping->gt_step 9ea2f25d6c52 drm/i915: rename DISP_STEPPING->DISPLAY_STEP and GT_STEPPING->GT_STEP b00cf6262f47 drm/i915: switch TGL and ADL to the new stepping scheme 8ea29c76e36c drm/i915: switch KBL to the new stepping scheme 9f0ab3110d6b drm/i915: add new helpers for accessing stepping info 6679d541fc02 drm/i915: split out stepping info to a new file c850cee093c5 drm/i915: remove unused ADLS_REVID_* macros == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19723/index.html ___ 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: refactor KBL/TGL/ADLS stepping scheme
== Series Details == Series: drm/i915: refactor KBL/TGL/ADLS stepping scheme URL : https://patchwork.freedesktop.org/series/87323/ State : warning == Summary == $ dim checkpatch origin/drm-tip c850cee093c5 drm/i915: remove unused ADLS_REVID_* macros 6679d541fc02 drm/i915: split out stepping info to a new file -:117: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating? #117: new file mode 100644 total: 0 errors, 1 warnings, 0 checks, 158 lines checked 9f0ab3110d6b drm/i915: add new helpers for accessing stepping info -:28: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i915' - possible side-effects? #28: FILE: drivers/gpu/drm/i915/i915_drv.h:1280: +#define IS_DISPLAY_STEP(__i915, since, until) \ + (drm_WARN_ON(&(__i915)->drm, INTEL_DISPLAY_STEP(__i915) == STEP_NONE), \ +INTEL_DISPLAY_STEP(__i915) >= (since) && INTEL_DISPLAY_STEP(__i915) <= (until)) -:32: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i915' - possible side-effects? #32: FILE: drivers/gpu/drm/i915/i915_drv.h:1284: +#define IS_GT_STEP(__i915, since, until) \ + (drm_WARN_ON(&(__i915)->drm, INTEL_GT_STEP(__i915) == STEP_NONE), \ +INTEL_GT_STEP(__i915) >= (since) && INTEL_GT_STEP(__i915) <= (until)) total: 0 errors, 0 warnings, 2 checks, 70 lines checked 8ea29c76e36c drm/i915: switch KBL to the new stepping scheme -:106: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'dev_priv' - possible side-effects? #106: FILE: drivers/gpu/drm/i915/i915_drv.h:1478: +#define IS_KBL_GT_STEP(dev_priv, since, until) \ + (IS_KABYLAKE(dev_priv) && IS_GT_STEP(dev_priv, since, until)) -:108: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'dev_priv' - possible side-effects? #108: FILE: drivers/gpu/drm/i915/i915_drv.h:1480: +#define IS_KBL_DISPLAY_STEP(dev_priv, since, until) \ + (IS_KABYLAKE(dev_priv) && IS_DISPLAY_STEP(dev_priv, since, until)) -:149: CHECK:LINE_SPACING: Please don't use multiple blank lines #149: FILE: drivers/gpu/drm/i915/intel_stepping.c:16: + total: 0 errors, 0 warnings, 3 checks, 198 lines checked b00cf6262f47 drm/i915: switch TGL and ADL to the new stepping scheme -:52: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i915' - possible side-effects? #52: FILE: drivers/gpu/drm/i915/i915_drv.h:1513: +#define IS_TGL_DISP_STEPPING(__i915, since, until) \ + (IS_TIGERLAKE(__i915) && \ +IS_DISPLAY_STEP(__i915, since, until)) -:60: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i915' - possible side-effects? #60: FILE: drivers/gpu/drm/i915/i915_drv.h:1517: +#define IS_TGL_UY_GT_STEPPING(__i915, since, until) \ + ((IS_TGL_U(__i915) || IS_TGL_Y(__i915)) && \ +IS_GT_STEP(__i915, since, until)) -:69: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i915' - possible side-effects? #69: FILE: drivers/gpu/drm/i915/i915_drv.h:1521: +#define IS_TGL_GT_STEPPING(__i915, since, until) \ + (IS_TIGERLAKE(__i915) && !(IS_TGL_U(__i915) || IS_TGL_Y(__i915)) && \ +IS_GT_STEP(__i915, since, until)) -:83: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i915' - possible side-effects? #83: FILE: drivers/gpu/drm/i915/i915_drv.h:1538: +#define IS_ADLS_DISP_STEPPING(__i915, since, until) \ + (IS_ALDERLAKE_S(__i915) && \ +IS_DISPLAY_STEP(__i915, since, until)) -:91: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i915' - possible side-effects? #91: FILE: drivers/gpu/drm/i915/i915_drv.h:1542: +#define IS_ADLS_GT_STEPPING(__i915, since, until) \ + (IS_ALDERLAKE_S(__i915) && \ +IS_GT_STEP(__i915, since, until)) total: 0 errors, 0 warnings, 5 checks, 127 lines checked 9ea2f25d6c52 drm/i915: rename DISP_STEPPING->DISPLAY_STEP and GT_STEPPING->GT_STEP -:113: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i915' - possible side-effects? #113: FILE: drivers/gpu/drm/i915/i915_drv.h:1513: +#define IS_TGL_DISPLAY_STEP(__i915, since, until) \ (IS_TIGERLAKE(__i915) && \ IS_DISPLAY_STEP(__i915, since, until)) -:118: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i915' - possible side-effects? #118: FILE: drivers/gpu/drm/i915/i915_drv.h:1517: +#define IS_TGL_UY_GT_STEP(__i915, since, until) \ ((IS_TGL_U(__i915) || IS_TGL_Y(__i915)) && \ IS_GT_STEP(__i915, since, until)) -:123: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i915' - possible side-effects? #123: FILE: drivers/gpu/drm/i915/i915_drv.h:1521: +#define IS_TGL_GT_STEP(__i915, since, until) \ (IS_TIGERLAKE(__i915) && !(IS_TGL_U(__i915) || IS_TGL_Y(__i915)) && \ IS_GT_STEP(__i915, since, until)) -:132: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i915' - possible side-effects? #132: FILE: drivers/gpu/drm/i915/i915_drv.h:1538: +#define IS_ADLS_DISPLAY_STEP(__i915, since, until) \ (IS_ALDERLAKE_S(__i915) && \ IS_DISPLAY_STEP(__i915, since, until)) -:137: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i915' - possible side-effects? #137: FILE: drivers/gpu/drm/i915/i915_drv.h:1542: +#define
Re: [Intel-gfx] [Linaro-mm-sig] [PATCH 1/2] dma-buf: Require VM_PFNMAP vma for mmap
On Wed, Feb 24, 2021 at 10:16 AM Thomas Hellström (Intel) wrote: > > > On 2/24/21 9:45 AM, Daniel Vetter wrote: > > On Wed, Feb 24, 2021 at 8:46 AM Thomas Hellström (Intel) > > wrote: > >> > >> On 2/23/21 11:59 AM, Daniel Vetter wrote: > >>> tldr; DMA buffers aren't normal memory, expecting that you can use > >>> them like that (like calling get_user_pages works, or that they're > >>> accounting like any other normal memory) cannot be guaranteed. > >>> > >>> Since some userspace only runs on integrated devices, where all > >>> buffers are actually all resident system memory, there's a huge > >>> temptation to assume that a struct page is always present and useable > >>> like for any more pagecache backed mmap. This has the potential to > >>> result in a uapi nightmare. > >>> > >>> To stop this gap require that DMA buffer mmaps are VM_PFNMAP, which > >>> blocks get_user_pages and all the other struct page based > >>> infrastructure for everyone. In spirit this is the uapi counterpart to > >>> the kernel-internal CONFIG_DMABUF_DEBUG. > >>> > >>> Motivated by a recent patch which wanted to swich the system dma-buf > >>> heap to vm_insert_page instead of vm_insert_pfn. > >>> > >>> v2: > >>> > >>> Jason brought up that we also want to guarantee that all ptes have the > >>> pte_special flag set, to catch fast get_user_pages (on architectures > >>> that support this). Allowing VM_MIXEDMAP (like VM_SPECIAL does) would > >>> still allow vm_insert_page, but limiting to VM_PFNMAP will catch that. > >>> > >>> From auditing the various functions to insert pfn pte entires > >>> (vm_insert_pfn_prot, remap_pfn_range and all it's callers like > >>> dma_mmap_wc) it looks like VM_PFNMAP is already required anyway, so > >>> this should be the correct flag to check for. > >>> > >> If we require VM_PFNMAP, for ordinary page mappings, we also need to > >> disallow COW mappings, since it will not work on architectures that > >> don't have CONFIG_ARCH_HAS_PTE_SPECIAL, (see the docs for > >> vm_normal_page()). > > Hm I figured everyone just uses MAP_SHARED for buffer objects since > > COW really makes absolutely no sense. How would we enforce this? > > Perhaps returning -EINVAL on is_cow_mapping() at mmap time. Either that > or allowing MIXEDMAP. > > >> Also worth noting is the comment in ttm_bo_mmap_vma_setup() with > >> possible performance implications with x86 + PAT + VM_PFNMAP + normal > >> pages. That's a very old comment, though, and might not be valid anymore. > > I think that's why ttm has a page cache for these, because it indeed > > sucks. The PAT changes on pages are rather expensive. > > IIRC the page cache was implemented because of the slowness of the > caching mode transition itself, more specifically the wbinvd() call + > global TLB flush. > > > > > There is still an issue for iomem mappings, because the PAT validation > > does a linear walk of the resource tree (lol) for every vm_insert_pfn. > > But for i915 at least this is fixed by using the io_mapping > > infrastructure, which does the PAT reservation only once when you set > > up the mapping area at driver load. > > Yes, I guess that was the issue that the comment describes, but the > issue wasn't there with vm_insert_mixed() + VM_MIXEDMAP. > > > > > Also TTM uses VM_PFNMAP right now for everything, so it can't be a > > problem that hurts much :-) > > Hmm, both 5.11 and drm-tip appears to still use MIXEDMAP? > > https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/ttm/ttm_bo_vm.c#L554 Uh that's bad, because mixed maps pointing at struct page wont stop gup. At least afaik. Christian, do we need to patch this up, and maybe fix up ttm fault handler to use io_mapping so the vm_insert_pfn stuff is fast? -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [Linaro-mm-sig] [PATCH 1/2] dma-buf: Require VM_PFNMAP vma for mmap
On 2/24/21 9:45 AM, Daniel Vetter wrote: On Wed, Feb 24, 2021 at 8:46 AM Thomas Hellström (Intel) wrote: On 2/23/21 11:59 AM, Daniel Vetter wrote: tldr; DMA buffers aren't normal memory, expecting that you can use them like that (like calling get_user_pages works, or that they're accounting like any other normal memory) cannot be guaranteed. Since some userspace only runs on integrated devices, where all buffers are actually all resident system memory, there's a huge temptation to assume that a struct page is always present and useable like for any more pagecache backed mmap. This has the potential to result in a uapi nightmare. To stop this gap require that DMA buffer mmaps are VM_PFNMAP, which blocks get_user_pages and all the other struct page based infrastructure for everyone. In spirit this is the uapi counterpart to the kernel-internal CONFIG_DMABUF_DEBUG. Motivated by a recent patch which wanted to swich the system dma-buf heap to vm_insert_page instead of vm_insert_pfn. v2: Jason brought up that we also want to guarantee that all ptes have the pte_special flag set, to catch fast get_user_pages (on architectures that support this). Allowing VM_MIXEDMAP (like VM_SPECIAL does) would still allow vm_insert_page, but limiting to VM_PFNMAP will catch that. From auditing the various functions to insert pfn pte entires (vm_insert_pfn_prot, remap_pfn_range and all it's callers like dma_mmap_wc) it looks like VM_PFNMAP is already required anyway, so this should be the correct flag to check for. If we require VM_PFNMAP, for ordinary page mappings, we also need to disallow COW mappings, since it will not work on architectures that don't have CONFIG_ARCH_HAS_PTE_SPECIAL, (see the docs for vm_normal_page()). Hm I figured everyone just uses MAP_SHARED for buffer objects since COW really makes absolutely no sense. How would we enforce this? Perhaps returning -EINVAL on is_cow_mapping() at mmap time. Either that or allowing MIXEDMAP. Also worth noting is the comment in ttm_bo_mmap_vma_setup() with possible performance implications with x86 + PAT + VM_PFNMAP + normal pages. That's a very old comment, though, and might not be valid anymore. I think that's why ttm has a page cache for these, because it indeed sucks. The PAT changes on pages are rather expensive. IIRC the page cache was implemented because of the slowness of the caching mode transition itself, more specifically the wbinvd() call + global TLB flush. There is still an issue for iomem mappings, because the PAT validation does a linear walk of the resource tree (lol) for every vm_insert_pfn. But for i915 at least this is fixed by using the io_mapping infrastructure, which does the PAT reservation only once when you set up the mapping area at driver load. Yes, I guess that was the issue that the comment describes, but the issue wasn't there with vm_insert_mixed() + VM_MIXEDMAP. Also TTM uses VM_PFNMAP right now for everything, so it can't be a problem that hurts much :-) Hmm, both 5.11 and drm-tip appears to still use MIXEDMAP? https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/ttm/ttm_bo_vm.c#L554 -Daniel /Thomas ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v2 6/7] drm/i915: rename DISP_STEPPING->DISPLAY_STEP and GT_STEPPING->GT_STEP
On Tue, 23 Feb 2021, Lucas De Marchi wrote: > On Tue, Feb 23, 2021 at 05:35:11PM +0200, Jani Nikula wrote: >>Matter of taste. STEP matches the enums. >> >>Signed-off-by: Jani Nikula >>--- >> drivers/gpu/drm/i915/display/intel_display_power.c | 2 +- >> drivers/gpu/drm/i915/display/intel_psr.c | 4 ++-- >> drivers/gpu/drm/i915/display/skl_universal_plane.c | 2 +- >> drivers/gpu/drm/i915/gt/intel_workarounds.c| 10 +- >> drivers/gpu/drm/i915/i915_drv.h| 10 +- >> drivers/gpu/drm/i915/intel_device_info.c | 2 +- >> drivers/gpu/drm/i915/intel_pm.c| 2 +- >> 7 files changed, 16 insertions(+), 16 deletions(-) >> >>diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c >>b/drivers/gpu/drm/i915/display/intel_display_power.c >>index f00c1750febd..1f7b2700947a 100644 >>--- a/drivers/gpu/drm/i915/display/intel_display_power.c >>+++ b/drivers/gpu/drm/i915/display/intel_display_power.c >>@@ -5349,7 +5349,7 @@ static void tgl_bw_buddy_init(struct drm_i915_private >>*dev_priv) >> >> if (IS_ALDERLAKE_S(dev_priv) || >> IS_DG1_REVID(dev_priv, DG1_REVID_A0, DG1_REVID_A0) || >>- IS_TGL_DISP_STEPPING(dev_priv, STEP_A0, STEP_B0)) >>+ IS_TGL_DISPLAY_STEP(dev_priv, STEP_A0, STEP_B0)) >> /* Wa_1409767108:tgl,dg1,adl-s */ >> table = wa_1409767108_buddy_page_masks; >> else >>diff --git a/drivers/gpu/drm/i915/display/intel_psr.c >>b/drivers/gpu/drm/i915/display/intel_psr.c >>index 7c6e561f86c1..da5084b54eb6 100644 >>--- a/drivers/gpu/drm/i915/display/intel_psr.c >>+++ b/drivers/gpu/drm/i915/display/intel_psr.c >>@@ -548,7 +548,7 @@ static void hsw_activate_psr2(struct intel_dp *intel_dp) >> >> if (intel_dp->psr.psr2_sel_fetch_enabled) { >> /* WA 1408330847 */ >>- if (IS_TGL_DISP_STEPPING(dev_priv, STEP_A0, STEP_A0) || >>+ if (IS_TGL_DISPLAY_STEP(dev_priv, STEP_A0, STEP_A0) || > > I always hated the DISP vs DISPLAY. It should be in the commit message. > > But if you are doing the s/STEPPING/STEP/, shouldn't the filename also use > step and all the functions/structs? To be honest, the rename came as an afterthought, after Aditya (I think) added the STEP_X enums. For me step everywhere sounds good, I wonder what the native speakers think. BR, Jani. > > Lucas De Marchi > >> IS_RKL_REVID(dev_priv, RKL_REVID_A0, RKL_REVID_A0)) >> intel_de_rmw(dev_priv, CHICKEN_PAR1_1, >> DIS_RAM_BYPASS_PSR2_MAN_TRACK, >>@@ -1103,7 +1103,7 @@ static void intel_psr_disable_locked(struct intel_dp >>*intel_dp) >> >> /* WA 1408330847 */ >> if (intel_dp->psr.psr2_sel_fetch_enabled && >>- (IS_TGL_DISP_STEPPING(dev_priv, STEP_A0, STEP_A0) || >>+ (IS_TGL_DISPLAY_STEP(dev_priv, STEP_A0, STEP_A0) || >> IS_RKL_REVID(dev_priv, RKL_REVID_A0, RKL_REVID_A0))) >> intel_de_rmw(dev_priv, CHICKEN_PAR1_1, >> DIS_RAM_BYPASS_PSR2_MAN_TRACK, 0); >>diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c >>b/drivers/gpu/drm/i915/display/skl_universal_plane.c >>index 1f335cb09149..c4edfc673d47 100644 >>--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c >>+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c >>@@ -1858,7 +1858,7 @@ static bool gen12_plane_supports_mc_ccs(struct >>drm_i915_private *dev_priv, >> { >> /* Wa_14010477008:tgl[a0..c0],rkl[all],dg1[all] */ >> if (IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv) || >>- IS_TGL_DISP_STEPPING(dev_priv, STEP_A0, STEP_C0)) >>+ IS_TGL_DISPLAY_STEP(dev_priv, STEP_A0, STEP_C0)) >> return false; >> >> return plane_id < PLANE_SPRITE4; >>diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c >>b/drivers/gpu/drm/i915/gt/intel_workarounds.c >>index 0c502a733779..4f8f9fbf6619 100644 >>--- a/drivers/gpu/drm/i915/gt/intel_workarounds.c >>+++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c >>@@ -1091,19 +1091,19 @@ tgl_gt_workarounds_init(struct drm_i915_private >>*i915, struct i915_wa_list *wal) >> gen12_gt_workarounds_init(i915, wal); >> >> /* Wa_1409420604:tgl */ >>- if (IS_TGL_UY_GT_STEPPING(i915, STEP_A0, STEP_A0)) >>+ if (IS_TGL_UY_GT_STEP(i915, STEP_A0, STEP_A0)) >> wa_write_or(wal, >> SUBSLICE_UNIT_LEVEL_CLKGATE2, >> CPSSUNIT_CLKGATE_DIS); >> >> /* Wa_1607087056:tgl also know as BUG:1409180338 */ >>- if (IS_TGL_UY_GT_STEPPING(i915, STEP_A0, STEP_A0)) >>+ if (IS_TGL_UY_GT_STEP(i915, STEP_A0, STEP_A0)) >> wa_write_or(wal, >> SLICE_UNIT_LEVEL_CLKGATE, >> L3_CLKGATE_DIS | L3_CR2X_CLKGATE_DIS); >> >> /* Wa_1408615072:tgl[a0] */ >>- if (IS_TGL_UY_GT_STEPPING(i915, STEP_A0, STEP_A0)) >>+ if (IS_TGL_UY_GT_STEP(i915, STEP_A0, STEP_A0)) >> wa_write_or(wal,
Re: [Intel-gfx] [Linaro-mm-sig] [PATCH 1/2] dma-buf: Require VM_PFNMAP vma for mmap
On Wed, Feb 24, 2021 at 8:46 AM Thomas Hellström (Intel) wrote: > > > On 2/23/21 11:59 AM, Daniel Vetter wrote: > > tldr; DMA buffers aren't normal memory, expecting that you can use > > them like that (like calling get_user_pages works, or that they're > > accounting like any other normal memory) cannot be guaranteed. > > > > Since some userspace only runs on integrated devices, where all > > buffers are actually all resident system memory, there's a huge > > temptation to assume that a struct page is always present and useable > > like for any more pagecache backed mmap. This has the potential to > > result in a uapi nightmare. > > > > To stop this gap require that DMA buffer mmaps are VM_PFNMAP, which > > blocks get_user_pages and all the other struct page based > > infrastructure for everyone. In spirit this is the uapi counterpart to > > the kernel-internal CONFIG_DMABUF_DEBUG. > > > > Motivated by a recent patch which wanted to swich the system dma-buf > > heap to vm_insert_page instead of vm_insert_pfn. > > > > v2: > > > > Jason brought up that we also want to guarantee that all ptes have the > > pte_special flag set, to catch fast get_user_pages (on architectures > > that support this). Allowing VM_MIXEDMAP (like VM_SPECIAL does) would > > still allow vm_insert_page, but limiting to VM_PFNMAP will catch that. > > > > From auditing the various functions to insert pfn pte entires > > (vm_insert_pfn_prot, remap_pfn_range and all it's callers like > > dma_mmap_wc) it looks like VM_PFNMAP is already required anyway, so > > this should be the correct flag to check for. > > > If we require VM_PFNMAP, for ordinary page mappings, we also need to > disallow COW mappings, since it will not work on architectures that > don't have CONFIG_ARCH_HAS_PTE_SPECIAL, (see the docs for vm_normal_page()). Hm I figured everyone just uses MAP_SHARED for buffer objects since COW really makes absolutely no sense. How would we enforce this? > Also worth noting is the comment in ttm_bo_mmap_vma_setup() with > possible performance implications with x86 + PAT + VM_PFNMAP + normal > pages. That's a very old comment, though, and might not be valid anymore. I think that's why ttm has a page cache for these, because it indeed sucks. The PAT changes on pages are rather expensive. There is still an issue for iomem mappings, because the PAT validation does a linear walk of the resource tree (lol) for every vm_insert_pfn. But for i915 at least this is fixed by using the io_mapping infrastructure, which does the PAT reservation only once when you set up the mapping area at driver load. Also TTM uses VM_PFNMAP right now for everything, so it can't be a problem that hurts much :-) -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx