Re: [Intel-gfx] [PATCH v4 00/10] drm/i915: use ref_tracker library for tracking wakerefs
Hi all, Gently ping on the series. Regards Andrzej On 06.03.2023 17:31, Andrzej Hajda wrote: This is revived patchset improving ref_tracker library and converting i915 internal tracker to ref_tracker. The old thread ended without consensus about small kernel allocations, which are performed under spinlock. I have tried to solve the problem by splitting the calls, but it results in complicated API, so I went back to original solution. If there are better solutions I am glad to discuss them. Meanwhile I send original patchset with addressed remaining comments. To: Jani Nikula To: Joonas Lahtinen To: Rodrigo Vivi To: Tvrtko Ursulin To: David Airlie To: Daniel Vetter Cc: linux-ker...@vger.kernel.org Cc: intel-gfx@lists.freedesktop.org Cc: dri-de...@lists.freedesktop.org Cc: Chris Wilson Cc: net...@vger.kernel.org Cc: Eric Dumazet Cc: Jakub Kicinski Cc: Dmitry Vyukov Signed-off-by: Andrzej Hajda --- Changes in v4: - split "Separate wakeref tracking" to smaller parts - fixed typos, - Link to v1-v3: https://patchwork.freedesktop.org/series/100327/ --- Andrzej Hajda (7): lib/ref_tracker: add unlocked leak print helper lib/ref_tracker: __ref_tracker_dir_print improve printing lib/ref_tracker: add printing to memory buffer lib/ref_tracker: remove warnings in case of allocation failure drm/i915: Separate wakeref tracking types from rpm drm/i915: Correct type of wakeref variable drm/i915: replace Intel internal tracker with kernel core ref_tracker Chris Wilson (3): drm/i915: Separate wakeref tracking drm/i915: Track leaked gt->wakerefs drm/i915/gt: Hold a wakeref for the active VM drivers/gpu/drm/i915/Kconfig.debug | 19 ++ drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/display/intel_display_power.c | 2 +- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 7 +- .../drm/i915/gem/selftests/i915_gem_coherency.c| 10 +- drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 14 +- drivers/gpu/drm/i915/gt/intel_breadcrumbs.c| 13 +- drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h | 3 +- drivers/gpu/drm/i915/gt/intel_context.h| 15 +- drivers/gpu/drm/i915/gt/intel_context_types.h | 2 + drivers/gpu/drm/i915/gt/intel_engine_pm.c | 10 +- drivers/gpu/drm/i915/gt/intel_engine_types.h | 2 + .../gpu/drm/i915/gt/intel_execlists_submission.c | 2 +- drivers/gpu/drm/i915/gt/intel_gt_pm.c | 12 +- drivers/gpu/drm/i915/gt/intel_gt_pm.h | 38 +++- drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c | 4 +- drivers/gpu/drm/i915/gt/selftest_engine_cs.c | 20 +- drivers/gpu/drm/i915/gt/selftest_gt_pm.c | 5 +- drivers/gpu/drm/i915/gt/selftest_reset.c | 10 +- drivers/gpu/drm/i915/gt/selftest_rps.c | 17 +- drivers/gpu/drm/i915/gt/selftest_slpc.c| 5 +- drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 11 +- drivers/gpu/drm/i915/i915_driver.c | 2 +- drivers/gpu/drm/i915/i915_pmu.c| 16 +- drivers/gpu/drm/i915/intel_runtime_pm.c| 221 ++--- drivers/gpu/drm/i915/intel_runtime_pm.h| 11 +- drivers/gpu/drm/i915/intel_wakeref.c | 7 +- drivers/gpu/drm/i915/intel_wakeref.h | 112 ++- include/linux/ref_tracker.h| 31 ++- lib/ref_tracker.c | 179 ++--- 30 files changed, 469 insertions(+), 332 deletions(-) --- base-commit: 1ddc2e762c6a109af52f3c39534c7115aebe change-id: 20230224-track_gt-1b3da8bdacd7 Best regards,
[Intel-gfx] [PATCH v4 00/10] drm/i915: use ref_tracker library for tracking wakerefs
This is revived patchset improving ref_tracker library and converting i915 internal tracker to ref_tracker. The old thread ended without consensus about small kernel allocations, which are performed under spinlock. I have tried to solve the problem by splitting the calls, but it results in complicated API, so I went back to original solution. If there are better solutions I am glad to discuss them. Meanwhile I send original patchset with addressed remaining comments. To: Jani Nikula To: Joonas Lahtinen To: Rodrigo Vivi To: Tvrtko Ursulin To: David Airlie To: Daniel Vetter Cc: linux-ker...@vger.kernel.org Cc: intel-gfx@lists.freedesktop.org Cc: dri-de...@lists.freedesktop.org Cc: Chris Wilson Cc: net...@vger.kernel.org Cc: Eric Dumazet Cc: Jakub Kicinski Cc: Dmitry Vyukov Signed-off-by: Andrzej Hajda --- Changes in v4: - split "Separate wakeref tracking" to smaller parts - fixed typos, - Link to v1-v3: https://patchwork.freedesktop.org/series/100327/ --- Andrzej Hajda (7): lib/ref_tracker: add unlocked leak print helper lib/ref_tracker: __ref_tracker_dir_print improve printing lib/ref_tracker: add printing to memory buffer lib/ref_tracker: remove warnings in case of allocation failure drm/i915: Separate wakeref tracking types from rpm drm/i915: Correct type of wakeref variable drm/i915: replace Intel internal tracker with kernel core ref_tracker Chris Wilson (3): drm/i915: Separate wakeref tracking drm/i915: Track leaked gt->wakerefs drm/i915/gt: Hold a wakeref for the active VM drivers/gpu/drm/i915/Kconfig.debug | 19 ++ drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/display/intel_display_power.c | 2 +- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 7 +- .../drm/i915/gem/selftests/i915_gem_coherency.c| 10 +- drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 14 +- drivers/gpu/drm/i915/gt/intel_breadcrumbs.c| 13 +- drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h | 3 +- drivers/gpu/drm/i915/gt/intel_context.h| 15 +- drivers/gpu/drm/i915/gt/intel_context_types.h | 2 + drivers/gpu/drm/i915/gt/intel_engine_pm.c | 10 +- drivers/gpu/drm/i915/gt/intel_engine_types.h | 2 + .../gpu/drm/i915/gt/intel_execlists_submission.c | 2 +- drivers/gpu/drm/i915/gt/intel_gt_pm.c | 12 +- drivers/gpu/drm/i915/gt/intel_gt_pm.h | 38 +++- drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c | 4 +- drivers/gpu/drm/i915/gt/selftest_engine_cs.c | 20 +- drivers/gpu/drm/i915/gt/selftest_gt_pm.c | 5 +- drivers/gpu/drm/i915/gt/selftest_reset.c | 10 +- drivers/gpu/drm/i915/gt/selftest_rps.c | 17 +- drivers/gpu/drm/i915/gt/selftest_slpc.c| 5 +- drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 11 +- drivers/gpu/drm/i915/i915_driver.c | 2 +- drivers/gpu/drm/i915/i915_pmu.c| 16 +- drivers/gpu/drm/i915/intel_runtime_pm.c| 221 ++--- drivers/gpu/drm/i915/intel_runtime_pm.h| 11 +- drivers/gpu/drm/i915/intel_wakeref.c | 7 +- drivers/gpu/drm/i915/intel_wakeref.h | 112 ++- include/linux/ref_tracker.h| 31 ++- lib/ref_tracker.c | 179 ++--- 30 files changed, 469 insertions(+), 332 deletions(-) --- base-commit: 1ddc2e762c6a109af52f3c39534c7115aebe change-id: 20230224-track_gt-1b3da8bdacd7 Best regards, -- Andrzej Hajda
Re: [Intel-gfx] [PATCH v4 00/10] cover-letter: Update vfio_pin/unpin_pages API
On Fri, 22 Jul 2022 19:02:46 -0700 Nicolin Chen wrote: > This is a preparatory series for IOMMUFD v2 patches. It prepares for > replacing vfio_iommu_type1 implementations of vfio_pin/unpin_pages() > with IOMMUFD version. > > There's a gap between these two versions: the vfio_iommu_type1 version > inputs a non-contiguous PFN list and outputs another PFN list for the > pinned physical page list, while the IOMMUFD version only supports a > contiguous address input by accepting the starting IO virtual address > of a set of pages to pin and by outputting to a physical page list. > > The nature of existing callers mostly aligns with the IOMMUFD version, > except s390's vfio_ccw_cp code where some additional change is needed > along with this series. Overall, updating to "iova" and "phys_page" > does improve the caller side to some extent. > > Also fix a misuse of physical address and virtual address in the s390's > crypto code. And update the input naming at the adjacent vfio_dma_rw(). > > This is on github: > https://github.com/nicolinc/iommufd/commits/vfio_pin_pages-v4 > > Terrence has tested this series on i915; Eric has tested on s390. > > Thanks! > > Changelog > v4: > * Dropped double-shifting at two gvt_unpin_guest_page calls, fixing >a bug that's discovered by Alex > * Added Reviewed-by from Anthony Krowiak > * Rebased on top of linux-vfio's next > v3: https://lore.kernel.org/kvm/20220708224427.1245-1-nicol...@nvidia.com/ > * Added a patch to replace roundup with DIV_ROUND_UP in i915 gvt > * Dropped the "driver->ops->unpin_pages" and NULL checks in PATCH-1 > * Changed to use WARN_ON and separate into lines in PATCH-1 > * Replaced "guest" words with "user" and fix typo in PATCH-5 > * Updated commit log of PATCH-1, PATCH-6, and PATCH-10 > * Added Reviewed/Acked-by from Christoph, Jason, Kirti, Kevin and Eric > * Added Tested-by from Terrence (i915) and Eric (s390) > v2: https://lore.kernel.org/kvm/20220706062759.24946-1-nicol...@nvidia.com/ > * Added a patch to make vfio_unpin_pages return void > * Added two patches to remove PFN list from two s390 callers > * Renamed "phys_page" parameter to "pages" for vfio_pin_pages > * Updated commit log of kmap_local_page() patch > * Added Harald's "Reviewed-by" to pa_ind patch > * Rebased on top of Alex's extern removal path > v1: https://lore.kernel.org/kvm/20220616235212.15185-1-nicol...@nvidia.com/ > > Nicolin Chen (10): > vfio: Make vfio_unpin_pages() return void > drm/i915/gvt: Replace roundup with DIV_ROUND_UP > vfio/ap: Pass in physical address of ind to ap_aqic() > vfio/ccw: Only pass in contiguous pages > vfio: Pass in starting IOVA to vfio_pin/unpin_pages API > vfio/ap: Change saved_pfn to saved_iova > vfio/ccw: Change pa_pfn list to pa_iova list > vfio: Rename user_iova of vfio_dma_rw() > vfio/ccw: Add kmap_local_page() for memcpy > vfio: Replace phys_pfn with pages for vfio_pin_pages() > > .../driver-api/vfio-mediated-device.rst | 6 +- > arch/s390/include/asm/ap.h| 6 +- > drivers/gpu/drm/i915/gvt/kvmgt.c | 45 ++-- > drivers/s390/cio/vfio_ccw_cp.c| 195 +++--- > drivers/s390/crypto/ap_queue.c| 2 +- > drivers/s390/crypto/vfio_ap_ops.c | 54 +++-- > drivers/s390/crypto/vfio_ap_private.h | 4 +- > drivers/vfio/vfio.c | 54 ++--- > drivers/vfio/vfio.h | 8 +- > drivers/vfio/vfio_iommu_type1.c | 45 ++-- > include/linux/vfio.h | 9 +- > 11 files changed, 213 insertions(+), 215 deletions(-) > Applied to vfio next branch for v5.20. Thanks, Alex
Re: [Intel-gfx] [PATCH v4 00/10] cover-letter: Update vfio_pin/unpin_pages API
> -Original Message- > From: intel-gvt-dev On > Behalf Of Nicolin Chen > > This is a preparatory series for IOMMUFD v2 patches. It prepares for > replacing vfio_iommu_type1 implementations of vfio_pin/unpin_pages() > with IOMMUFD version. > > There's a gap between these two versions: the vfio_iommu_type1 version > inputs a non-contiguous PFN list and outputs another PFN list for the > pinned physical page list, while the IOMMUFD version only supports a > contiguous address input by accepting the starting IO virtual address of a > set of pages to pin and by outputting to a physical page list. > > The nature of existing callers mostly aligns with the IOMMUFD version, > except s390's vfio_ccw_cp code where some additional change is needed > along with this series. Overall, updating to "iova" and "phys_page" > does improve the caller side to some extent. > > Also fix a misuse of physical address and virtual address in the s390's crypto > code. And update the input naming at the adjacent vfio_dma_rw(). > > This is on github: > https://github.com/nicolinc/iommufd/commits/vfio_pin_pages-v4 > > Terrence has tested this series on i915; Eric has tested on s390. > > Thanks! > > Changelog > v4: > * Dropped double-shifting at two gvt_unpin_guest_page calls, fixing >a bug that's discovered by Alex > * Added Reviewed-by from Anthony Krowiak > * Rebased on top of linux-vfio's next > v3: https://lore.kernel.org/kvm/20220708224427.1245-1- > nicol...@nvidia.com/ > * Added a patch to replace roundup with DIV_ROUND_UP in i915 gvt > * Dropped the "driver->ops->unpin_pages" and NULL checks in PATCH-1 > * Changed to use WARN_ON and separate into lines in PATCH-1 > * Replaced "guest" words with "user" and fix typo in PATCH-5 > * Updated commit log of PATCH-1, PATCH-6, and PATCH-10 > * Added Reviewed/Acked-by from Christoph, Jason, Kirti, Kevin and Eric > * Added Tested-by from Terrence (i915) and Eric (s390) > v2: https://lore.kernel.org/kvm/20220706062759.24946-1- > nicol...@nvidia.com/ > * Added a patch to make vfio_unpin_pages return void > * Added two patches to remove PFN list from two s390 callers > * Renamed "phys_page" parameter to "pages" for vfio_pin_pages > * Updated commit log of kmap_local_page() patch > * Added Harald's "Reviewed-by" to pa_ind patch > * Rebased on top of Alex's extern removal path > v1: https://lore.kernel.org/kvm/20220616235212.15185-1- > nicol...@nvidia.com/ > > Nicolin Chen (10): > vfio: Make vfio_unpin_pages() return void > drm/i915/gvt: Replace roundup with DIV_ROUND_UP > vfio/ap: Pass in physical address of ind to ap_aqic() > vfio/ccw: Only pass in contiguous pages > vfio: Pass in starting IOVA to vfio_pin/unpin_pages API > vfio/ap: Change saved_pfn to saved_iova > vfio/ccw: Change pa_pfn list to pa_iova list > vfio: Rename user_iova of vfio_dma_rw() > vfio/ccw: Add kmap_local_page() for memcpy > vfio: Replace phys_pfn with pages for vfio_pin_pages() > > .../driver-api/vfio-mediated-device.rst | 6 +- > arch/s390/include/asm/ap.h| 6 +- > drivers/gpu/drm/i915/gvt/kvmgt.c | 45 ++-- > drivers/s390/cio/vfio_ccw_cp.c| 195 +++--- > drivers/s390/crypto/ap_queue.c| 2 +- > drivers/s390/crypto/vfio_ap_ops.c | 54 +++-- > drivers/s390/crypto/vfio_ap_private.h | 4 +- > drivers/vfio/vfio.c | 54 ++--- > drivers/vfio/vfio.h | 8 +- > drivers/vfio/vfio_iommu_type1.c | 45 ++-- > include/linux/vfio.h | 9 +- > 11 files changed, 213 insertions(+), 215 deletions(-) Verified the Intel KVMGT feature, no regression be introduced by v4 patch series, the previous Call Trace issue already gone. Tested-by: Terrence Xu > -- > 2.17.1
[Intel-gfx] [PATCH v4 00/10]
v4 of https://patchwork.freedesktop.org/series/71224/ Changes from v2: - Also remove gen from device_info on first patch - Rebase - Collect a-b for the entire series Changes from v3: - Collect r-b and add missing conversions for pineview Lucas De Marchi (10): drm/i915: simplify prefixes on device_info drm/i915: prefer 3-letter acronym for pineview drm/i915: prefer 3-letter acronym for haswell drm/i915: prefer 3-letter acronym for skylake drm/i915: prefer 3-letter acronym for cannonlake drm/i915: prefer 3-letter acronym for icelake drm/i915: prefer 3-letter acronym for ironlake drm/i915: prefer 3-letter acronym for broadwell drm/i915: prefer 3-letter acronym for ivybridge drm/i915: prefer 3-letter acronym for tigerlake drivers/gpu/drm/i915/display/icl_dsi.c| 2 +- drivers/gpu/drm/i915/display/intel_crt.c | 8 +- drivers/gpu/drm/i915/display/intel_ddi.c | 8 +- drivers/gpu/drm/i915/display/intel_display.c | 284 +- drivers/gpu/drm/i915/display/intel_display.h | 6 +- drivers/gpu/drm/i915/display/intel_dp.c | 34 +-- drivers/gpu/drm/i915/display/intel_dp_mst.c | 4 +- .../drm/i915/display/intel_fifo_underrun.c| 24 +- drivers/gpu/drm/i915/display/vlv_dsi.c| 2 +- drivers/gpu/drm/i915/gt/intel_mocs.c | 18 +- drivers/gpu/drm/i915/gt/intel_reset.c | 7 +- drivers/gpu/drm/i915/gt/intel_workarounds.c | 2 +- drivers/gpu/drm/i915/gvt/handlers.c | 8 +- drivers/gpu/drm/i915/i915_debugfs.c | 10 +- drivers/gpu/drm/i915/i915_irq.c | 18 +- drivers/gpu/drm/i915/i915_pci.c | 230 +++--- drivers/gpu/drm/i915/intel_device_info.c | 8 +- drivers/gpu/drm/i915/intel_pm.c | 45 +-- 18 files changed, 361 insertions(+), 357 deletions(-) -- 2.24.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH v4 00/10] Clear Color Support for TGL Render Decompression
Support for Clear Color is contained in the last two patches submitted by Radhakrishna Sripada. The first 8 patches are currently undergoing review/revision changes. The first 8 patches are cherry-picked from the series https://patchwork.freedesktop.org/series/67078/ Expecting feedback for the last 2 patches. The series is tested with kms_cube and custom Mesa branch by Nanley. Dhinakaran Pandiyan (8): drm/framebuffer: Format modifier for Intel Gen-12 render compression drm/i915: Use intel_tile_height() instead of re-implementing drm/i915: Move CCS stride alignment W/A inside intel_fb_stride_alignment drm/i915/tgl: Gen-12 render decompression drm/i915: Extract framebufer CCS offset checks into a function drm/framebuffer: Format modifier for Intel Gen-12 media compression drm/fb: Extend format_info member arrays to handle four planes Gen-12 display can decompress surfaces compressed by the media engine. Radhakrishna Sripada (2): drm/framebuffer/tgl: Format modifier for Intel Gen 12 render compression with Clear Color drm/i915/tgl: Add Clear Color supoort for TGL Render Decompression drivers/gpu/drm/i915/display/intel_display.c | 434 ++ .../drm/i915/display/intel_display_types.h| 5 +- drivers/gpu/drm/i915/display/intel_sprite.c | 70 ++- drivers/gpu/drm/i915/i915_reg.h | 14 + include/drm/drm_fourcc.h | 8 +- include/uapi/drm/drm_fourcc.h | 35 ++ 6 files changed, 452 insertions(+), 114 deletions(-) -- 2.20.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH v4 00/10] DSB enablement.
Display State Buffer (DSB) is hardware capability which allows driver to batch submit HW programming. As part of initial enablement common api created which currently used to program gamma lut proramming. Going forwad DSB support can be added for HDR and flip related operation. HSDES: 1209978241 BSpec: 32020 v1: Initial version. v2: Move intel_dsb files under display folder and fixed an issue. v3: As per review comments from Chris and Jani, - removed some unwanted code. (Chris) - Used i915_gem_object_create_internal instead of _shmem. (Chris) - cmd_buf_tail removed and can be derived through vma object. (Chris) - Simplified and optimized code few places. (Chris) - Called dsb-api directly in callsites instead going via I915_WRITE. (Jani) v4: Addressed review commnets from Shashank. Cc: Ville Syrjälä Cc: Jani Nikula Cc: Rodrigo Vivi Cc: Daniel Vetter Cc: Imre Deak Cc: Michel Thierry Cc: Uma Shankar Cc: Shashank Sharma Cc: Swati Sharma Cc: Lucas De Marchi Signed-off-by: Animesh Manna Animesh Manna (10): drm/i915/dsb: feature flag added for display state buffer. drm/i915/dsb: DSB context creation. drm/i915/dsb: single register write function for DSB. drm/i915/dsb: Indexed register write function for DSB. drm/i915/dsb: Check DSB engine status. drm/i915/dsb: functions to enable/disable DSB engine. drm/i915/dsb: function to trigger workload execution of DSB. drm/i915/dsb: Enable gamma lut programming using DSB. drm/i915/dsb: Enable DSB for gen12. drm/i915/dsb: Documentation for DSB. Documentation/gpu/i915.rst| 9 + drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/display/intel_color.c| 64 ++-- .../drm/i915/display/intel_display_types.h| 3 + drivers/gpu/drm/i915/display/intel_dsb.c | 337 ++ drivers/gpu/drm/i915/display/intel_dsb.h | 49 +++ drivers/gpu/drm/i915/i915_drv.h | 5 + drivers/gpu/drm/i915/i915_pci.c | 3 +- drivers/gpu/drm/i915/i915_reg.h | 10 + drivers/gpu/drm/i915/intel_device_info.h | 1 + 10 files changed, 458 insertions(+), 24 deletions(-) create mode 100644 drivers/gpu/drm/i915/display/intel_dsb.c create mode 100644 drivers/gpu/drm/i915/display/intel_dsb.h -- 2.22.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v4 00/10] Execlist based engine-reset (v4)
On 11/01/17 23:30, Chris Wilson wrote: I'm sorry to do this, but there is a regression fix for gen3 required first that makes this more complicated. https://cgit.freedesktop.org/~ickle/linux-2.6/commit/?h=prescheduler=de399a0a6baae97910796d81d8b9324db3fdd77c https://cgit.freedesktop.org/~ickle/linux-2.6/commit/?h=prescheduler=67bea4dbb664b100c108af05d9a0f1f3b4078ab2 https://cgit.freedesktop.org/~ickle/linux-2.6/commit/?h=prescheduler=d91a3e43a8d6f94076b60caa1de3a9918c5cd766 -Chris No worries, I'll rebase on top of these. ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v4 00/10] Execlist based engine-reset (v4)
I'm sorry to do this, but there is a regression fix for gen3 required first that makes this more complicated. https://cgit.freedesktop.org/~ickle/linux-2.6/commit/?h=prescheduler=de399a0a6baae97910796d81d8b9324db3fdd77c https://cgit.freedesktop.org/~ickle/linux-2.6/commit/?h=prescheduler=67bea4dbb664b100c108af05d9a0f1f3b4078ab2 https://cgit.freedesktop.org/~ickle/linux-2.6/commit/?h=prescheduler=d91a3e43a8d6f94076b60caa1de3a9918c5cd766 -Chris -- Chris Wilson, Intel Open Source Technology Centre ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH v4 00/10] Execlist based engine-reset (v4)
These patches are to add engine reset feature from Gen8. This is also referred to as Timeout detection and recovery (TDR). This complements to the full gpu reset feature available in i915 but it only allows to reset a particular engine instead of all engines thus providing a light weight engine reset and recovery mechanism. This implementation is for execlist based submission only hence limited from Gen8 onwards. For GuC based submission, additional changes can be added later on. Timeout detection relies on the existing hangcheck which remains the same, main changes are to the recovery mechanism. Once we detect a hang on a particular engine we identify the request that caused the hang, skip the request and adjust head pointers to allow the execution to proceed normally. After some cleanup, submissions are restarted to process remaining work queued to that engine. If engine reset fails to recover engine correctly then we fallback to full gpu reset. v2: ELSP queue request tracking and reset path changes to handle incomplete requests during reset. Thanks to Chris Wilson for providing these patches. v3: Let the waiter keep handling the full gpu reset if it already has the lock; point out that GuC submission needs a different method to restart workloads after the engine reset completes. v4: Handle reset as 2 level resets, by first going to engine only and fall backing to full/chip reset as needed, i.e. reset_engine will need the struct_mutex. Arun Siluvery (6): drm/i915: Update i915.reset to handle engine resets drm/i915/tdr: Modify error handler for per engine hang recovery drm/i915/tdr: Add support for per engine reset recovery drm/i915/tdr: Add engine reset count to error state drm/i915/tdr: Export per-engine reset count info to debugfs drm/i915/tdr: Enable Engine reset and recovery support Michel Thierry (3): drm/i915: Keep i915_handle_error kerneldoc parameters together drm/i915: Update i915_reset parameter for kerneldoc drm/i915: Add engine reset count in get-reset-stats ioctl Mika Kuoppala (1): drm/i915: Skip reset request if there is one already drivers/gpu/drm/i915/i915_debugfs.c | 21 ++ drivers/gpu/drm/i915/i915_drv.c | 118 +++- drivers/gpu/drm/i915/i915_drv.h | 16 + drivers/gpu/drm/i915/i915_gem.c | 2 +- drivers/gpu/drm/i915/i915_gem_context.c | 14 +++- drivers/gpu/drm/i915/i915_gpu_error.c | 3 + drivers/gpu/drm/i915/i915_irq.c | 34 ++--- drivers/gpu/drm/i915/i915_params.c | 6 +- drivers/gpu/drm/i915/i915_params.h | 2 +- drivers/gpu/drm/i915/i915_pci.c | 5 +- drivers/gpu/drm/i915/intel_uncore.c | 61 +++-- include/uapi/drm/i915_drm.h | 3 +- 12 files changed, 258 insertions(+), 27 deletions(-) -- 2.11.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH v4 00/10] Unduplicate CHV phy code
Hi, I checked registre dumps with and without this series and noticed one difference that was actually intentional but not mentioned, so the first patch gets an updated commit message. Also changed chv_phy_post_disable() to chv_phy_post_pll_disable() as requested by Ville. Cc: Jim BrideCc: Ville Syrjälä Ander Conselvan de Oliveira (10): drm/i915: Set crtc_state->lane_count for HDMI drm/i915: Unduplicate CHV signal level code drm/i915: Unduplicate chv_data_lane_soft_reset() drm/i915: Unduplicate CHV phy-releated pre pll enabling code drm/i915: Unduplicate CHV pre-encoder enabling phy logic drm/i915: Unduplicate CHV encoders' post pll disable code drm/i915: Unduplicate VLV signal level code drm/i915: Unduplicate VLV phy pre pll enabling code drm/i915: Unduplicate pre encoder enabling phy code drm/i915: Move VLV HDMI lane reset work around logic to intel_dpio_phy.c drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/i915_drv.h | 18 ++ drivers/gpu/drm/i915/intel_ddi.c | 4 +- drivers/gpu/drm/i915/intel_dp.c | 412 ++--- drivers/gpu/drm/i915/intel_dpio_phy.c | 470 ++ drivers/gpu/drm/i915/intel_drv.h | 5 + drivers/gpu/drm/i915/intel_hdmi.c | 356 + 7 files changed, 526 insertions(+), 740 deletions(-) create mode 100644 drivers/gpu/drm/i915/intel_dpio_phy.c -- 2.4.11 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v4 00/10] drm/i915: improve the RPM device suspended assert
On ti, 2015-12-15 at 20:10 +0200, Imre Deak wrote: > This is v4 of [1]. It has the following changes: > - fix module reload that got broken in v3 due to removal of HAS_RUNTIME_PM > (added patch 1-3 + revised patch 4) > - disable the wakeref asserts in the IRQ handlers and RPS work too > (revised patch 7) [1] http://lists.freedesktop.org/archives/intel-gfx/2015-November/080005.html Thanks for all the reviews, I pushed the patchset to dinq. > Imre Deak (10): > drm/i915: clarify comment about mandatory RPM put/get during driver > load/unload > drm/i915: disable power well support on platforms without runtime PM > support > drm/i915: refactor RPM disabling due to RC6 being disabled > drm/i915: remove HAS_RUNTIME_PM check from RPM get/put/assert helpers > drm/i915: add assert_rpm_wakelock_held helper > drm/i915: use assert_rpm_wakelock_held instead of opencoding it > drm/i915: add support for checking if we hold an RPM reference > drm/i915: check that we hold an RPM wakelock ref before we put it > drm/i915: add support for checking RPM atomic sections > drm/i915: check that we are in an RPM atomic section in GGTT PTE > updaters > > drivers/gpu/drm/i915/i915_dma.c | 7 > drivers/gpu/drm/i915/i915_drv.c | 39 -- > drivers/gpu/drm/i915/i915_drv.h | 2 + > drivers/gpu/drm/i915/i915_gem_gtt.c | 33 +++ > drivers/gpu/drm/i915/i915_irq.c | 73 > ++--- > drivers/gpu/drm/i915/intel_drv.h| 72 > drivers/gpu/drm/i915/intel_pm.c | 17 > drivers/gpu/drm/i915/intel_runtime_pm.c | 57 - > drivers/gpu/drm/i915/intel_uncore.c | 23 --- > 9 files changed, 270 insertions(+), 53 deletions(-) > ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH v4 00/10] drm/i915: improve the RPM device suspended assert
This is v4 of [1]. It has the following changes: - fix module reload that got broken in v3 due to removal of HAS_RUNTIME_PM (added patch 1-3 + revised patch 4) - disable the wakeref asserts in the IRQ handlers and RPS work too (revised patch 7) Imre Deak (10): drm/i915: clarify comment about mandatory RPM put/get during driver load/unload drm/i915: disable power well support on platforms without runtime PM support drm/i915: refactor RPM disabling due to RC6 being disabled drm/i915: remove HAS_RUNTIME_PM check from RPM get/put/assert helpers drm/i915: add assert_rpm_wakelock_held helper drm/i915: use assert_rpm_wakelock_held instead of opencoding it drm/i915: add support for checking if we hold an RPM reference drm/i915: check that we hold an RPM wakelock ref before we put it drm/i915: add support for checking RPM atomic sections drm/i915: check that we are in an RPM atomic section in GGTT PTE updaters drivers/gpu/drm/i915/i915_dma.c | 7 drivers/gpu/drm/i915/i915_drv.c | 39 -- drivers/gpu/drm/i915/i915_drv.h | 2 + drivers/gpu/drm/i915/i915_gem_gtt.c | 33 +++ drivers/gpu/drm/i915/i915_irq.c | 73 ++--- drivers/gpu/drm/i915/intel_drv.h| 72 drivers/gpu/drm/i915/intel_pm.c | 17 drivers/gpu/drm/i915/intel_runtime_pm.c | 57 - drivers/gpu/drm/i915/intel_uncore.c | 23 --- 9 files changed, 270 insertions(+), 53 deletions(-) -- 2.5.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx