Reviewer | None |
---|---|
Submitted | Nov. 11, 2015, 10:36 a.m. |
Last Updated | June 8, 2016, 1:13 p.m. |
Revision | 17 |
From: Ankitprasad Sharma <ankitprasad.r.sharma@intel.com> This patch series adds support for creating/using Stolen memory backed objects. Despite being a unified memory architecture (UMA) some bits of memory are more equal than others. In particular we have the thorny issue of stolen memory, memory stolen from the system by the BIOS and reserved for igfx use. Stolen memory is required for some functions of the GPU and display engine, but in general it goes wasted. Whilst we cannot return it back to the system, we need to find some other method for utilising it. As we do not support direct access to the physical address in the stolen region, it behaves like a different class of memory, closer in kin to local GPU memory. This strongly suggests that we need a placement model like TTM if we are to fully utilize these discrete chunks of differing memory. To add support for creating Stolen memory backed objects, we extend the drm_i915_gem_create structure, by adding a new flag through which user can specify the preference to allocate the object from stolen memory, which if set, an attempt will be made to allocate the object from stolen memory subject to the availability of free space in the stolen region. This patch series adds support for clearing buffer objects via CPU/GTT. This is particularly useful for clearing out the memory from stolen region, but can also be used for other shmem allocated objects. Currently being used for buffers allocated in the stolen region. Also adding support for stealing purgable stolen pages, if we run out of stolen memory when trying to allocate an object. v2: Added support for read/write from/to objects not backed by shmem using the pread/pwrite interface. Also extended the current get_aperture ioctl to retrieve the total and available size of the stolen region. v3: Removed the extended get_aperture ioctl patch 5 (to be submitted as part of other patch series), addressed comments by Chris about pread/pwrite for non shmem backed objects. v4: Rebased to the latest drm-intel-nightly. v5: Addressed comments, replaced patch 1/4 "Clearing buffers via blitter engine" by "Clearing buffers via CPU/GTT". v6: Rebased to the latest drm-intel-nightly, Addressed comments, updated stolen memory purging logic by maintaining a list for purgable stolen memory objects, enabled pread/pwrite for all non-shmem backed objects without tiling restrictions. v7: Addressed comments, compiler optimization, new patch added for correct error code propagation to the userspace. v8: Added a new patch to the series to Migrate stolen objects before hibernation, as stolen memory is not preserved across hibernation. Added correct error propagation for shmem as well non-shmem backed object allocation. v9: Addressed comments, use of insert_page helper function to map object page by page which can be helpful in low aperture space availability. v10: Addressed comments, use insert_page for clearing out the stolen memory buffer contents to not thrash gtt. This can be verified using IGT tests: igt/gem_stolen, igt/gem_create Ankitprasad Sharma (4): drm/i915: Clearing buffer objects via CPU/GTT drm/i915: Support for creating Stolen memory backed objects drm/i915: Propagating correct error codes to the userspace drm/i915: Support for pread/pwrite from/to non shmem backed objects Chris Wilson (2): drm/i915: Add support for stealing purgable stolen pages drm/i915: Migrate stolen objects before hibernation drivers/gpu/drm/i915/i915_debugfs.c | 6 +- drivers/gpu/drm/i915/i915_dma.c | 3 + drivers/gpu/drm/i915/i915_drv.c | 17 +- drivers/gpu/drm/i915/i915_drv.h | 27 +- drivers/gpu/drm/i915/i915_gem.c | 520 ++++++++++++++++++++++++--- drivers/gpu/drm/i915/i915_gem_batch_pool.c | 4 +- drivers/gpu/drm/i915/i915_gem_context.c | 4 +- drivers/gpu/drm/i915/i915_gem_render_state.c | 7 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 211 +++++++++-- drivers/gpu/drm/i915/i915_guc_submission.c | 45 ++- drivers/gpu/drm/i915/intel_display.c | 5 +- drivers/gpu/drm/i915/intel_fbdev.c | 12 +- drivers/gpu/drm/i915/intel_lrc.c | 10 +- drivers/gpu/drm/i915/intel_overlay.c | 4 +- drivers/gpu/drm/i915/intel_pm.c | 8 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 27 +- include/uapi/drm/i915_drm.h | 16 + 17 files changed, 795 insertions(+), 131 deletions(-)
From: Ankitprasad Sharma <ankitprasad.r.sharma@intel.com> This patch series adds support for creating/using Stolen memory backed objects. Despite being a unified memory architecture (UMA) some bits of memory are more equal than others. In particular we have the thorny issue of stolen memory, memory stolen from the system by the BIOS and reserved for igfx use. Stolen memory is required for some functions of the GPU and display engine, but in general it goes wasted. Whilst we cannot return it back to the system, we need to find some other method for utilising it. As we do not support direct access to the physical address in the stolen region, it behaves like a different class of memory, closer in kin to local GPU memory. This strongly suggests that we need a placement model like TTM if we are to fully utilize these discrete chunks of differing memory. To add support for creating Stolen memory backed objects, we extend the drm_i915_gem_create structure, by adding a new flag through which user can specify the preference to allocate the object from stolen memory, which if set, an attempt will be made to allocate the object from stolen memory subject to the availability of free space in the stolen region. This patch series adds support for clearing buffer objects via CPU/GTT. This is particularly useful for clearing out the memory from stolen region, but can also be used for other shmem allocated objects. Currently being used for buffers allocated in the stolen region. Also adding support for stealing purgable stolen pages, if we run out of stolen memory when trying to allocate an object. v2: Added support for read/write from/to objects not backed by shmem using the pread/pwrite interface. Also extended the current get_aperture ioctl to retrieve the total and available size of the stolen region. v3: Removed the extended get_aperture ioctl patch 5 (to be submitted as part of other patch series), addressed comments by Chris about pread/pwrite for non shmem backed objects. v4: Rebased to the latest drm-intel-nightly. v5: Addressed comments, replaced patch 1/4 "Clearing buffers via blitter engine" by "Clearing buffers via CPU/GTT". v6: Rebased to the latest drm-intel-nightly, Addressed comments, updated stolen memory purging logic by maintaining a list for purgable stolen memory objects, enabled pread/pwrite for all non-shmem backed objects without tiling restrictions. v7: Addressed comments, compiler optimization, new patch added for correct error code propagation to the userspace. v8: Added a new patch to the series to Migrate stolen objects before hibernation, as stolen memory is not preserved across hibernation. Added correct error propagation for shmem as well non-shmem backed object allocation. v9: Addressed comments, use of insert_page helper function to map object page by page which can be helpful in low aperture space availability. v10: Addressed comments, use insert_page for clearing out the stolen memory v11: Addressed comments, 3 new patches added to support allocation from Stolen memory 1. Allow use of i915_gem_object_get_dma_address for stolen backed objects 2. Use insert_page for pwrite_fast 3. Fail the execbuff using stolen objects as batchbuffers This can be verified using IGT tests: igt/gem_stolen, igt/gem_create Ankitprasad Sharma (7): drm/i915: Allow use of i915_gem_object_get_dma_address for stolen backed objects drm/i915: Use insert_page for pwrite_fast drm/i915: Clearing buffer objects via CPU/GTT drm/i915: Support for creating Stolen memory backed objects drm/i915: Propagating correct error codes to the userspace drm/i915: Support for pread/pwrite from/to non shmem backed objects drm/i915: Fail the execbuff using stolen objects as batchbuffers Chris Wilson (2): drm/i915: Add support for stealing purgable stolen pages drm/i915: Migrate stolen objects before hibernation drivers/gpu/drm/i915/i915_debugfs.c | 6 +- drivers/gpu/drm/i915/i915_dma.c | 3 + drivers/gpu/drm/i915/i915_drv.c | 17 +- drivers/gpu/drm/i915/i915_drv.h | 27 +- drivers/gpu/drm/i915/i915_gem.c | 580 ++++++++++++++++++++++++--- drivers/gpu/drm/i915/i915_gem_batch_pool.c | 4 +- drivers/gpu/drm/i915/i915_gem_context.c | 4 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +- drivers/gpu/drm/i915/i915_gem_render_state.c | 7 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 215 ++++++++-- drivers/gpu/drm/i915/i915_guc_submission.c | 52 ++- drivers/gpu/drm/i915/intel_display.c | 5 +- drivers/gpu/drm/i915/intel_fbdev.c | 12 +- drivers/gpu/drm/i915/intel_lrc.c | 10 +- drivers/gpu/drm/i915/intel_overlay.c | 4 +- drivers/gpu/drm/i915/intel_pm.c | 13 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 27 +- include/uapi/drm/i915_drm.h | 16 + 18 files changed, 845 insertions(+), 161 deletions(-)
From: Ankitprasad Sharma <ankitprasad.r.sharma@intel.com> This patch series adds support for creating/using Stolen memory backed objects. Despite being a unified memory architecture (UMA) some bits of memory are more equal than others. In particular we have the thorny issue of stolen memory, memory stolen from the system by the BIOS and reserved for igfx use. Stolen memory is required for some functions of the GPU and display engine, but in general it goes wasted. Whilst we cannot return it back to the system, we need to find some other method for utilising it. As we do not support direct access to the physical address in the stolen region, it behaves like a different class of memory, closer in kin to local GPU memory. This strongly suggests that we need a placement model like TTM if we are to fully utilize these discrete chunks of differing memory. To add support for creating Stolen memory backed objects, we extend the drm_i915_gem_create structure, by adding a new flag through which user can specify the preference to allocate the object from stolen memory, which if set, an attempt will be made to allocate the object from stolen memory subject to the availability of free space in the stolen region. This patch series adds support for clearing buffer objects via CPU/GTT. This is particularly useful for clearing out the memory from stolen region, but can also be used for other shmem allocated objects. Currently being used for buffers allocated in the stolen region. Also adding support for stealing purgable stolen pages, if we run out of stolen memory when trying to allocate an object. v2: Added support for read/write from/to objects not backed by shmem using the pread/pwrite interface. Also extended the current get_aperture ioctl to retrieve the total and available size of the stolen region. v3: Removed the extended get_aperture ioctl patch 5 (to be submitted as part of other patch series), addressed comments by Chris about pread/pwrite for non shmem backed objects. v4: Rebased to the latest drm-intel-nightly. v5: Addressed comments, replaced patch 1/4 "Clearing buffers via blitter engine" by "Clearing buffers via CPU/GTT". v6: Rebased to the latest drm-intel-nightly, Addressed comments, updated stolen memory purging logic by maintaining a list for purgable stolen memory objects, enabled pread/pwrite for all non-shmem backed objects without tiling restrictions. v7: Addressed comments, compiler optimization, new patch added for correct error code propagation to the userspace. v8: Added a new patch to the series to Migrate stolen objects before hibernation, as stolen memory is not preserved across hibernation. Added correct error propagation for shmem as well non-shmem backed object allocation. v9: Addressed comments, use of insert_page helper function to map object page by page which can be helpful in low aperture space availability. v10: Addressed comments, use insert_page for clearing out the stolen memory v11: Addressed comments, 3 new patches added to support allocation from Stolen memory 1. Allow use of i915_gem_object_get_dma_address for stolen backed objects 2. Use insert_page for pwrite_fast 3. Fail the execbuff using stolen objects as batchbuffers v12: Addressed comments, Removed patch "Fail the execbuff using stolen objects as batchbuffers" This can be verified using IGT tests: igt/gem_stolen, igt/gem_create Ankitprasad Sharma (6): drm/i915: Allow use of get_dma_address for stolen backed objects drm/i915: Use insert_page for pwrite_fast drm/i915: Clearing buffer objects via CPU/GTT drm/i915: Support for creating Stolen memory backed objects drm/i915: Propagating correct error codes to the userspace drm/i915: Support for pread/pwrite from/to non shmem backed objects Chris Wilson (2): drm/i915: Add support for stealing purgable stolen pages drm/i915: Migrate stolen objects before hibernation drivers/gpu/drm/i915/i915_debugfs.c | 6 +- drivers/gpu/drm/i915/i915_dma.c | 3 + drivers/gpu/drm/i915/i915_drv.c | 17 +- drivers/gpu/drm/i915/i915_drv.h | 27 +- drivers/gpu/drm/i915/i915_gem.c | 574 +++++++++++++++++++++++---- drivers/gpu/drm/i915/i915_gem_batch_pool.c | 4 +- drivers/gpu/drm/i915/i915_gem_context.c | 4 +- drivers/gpu/drm/i915/i915_gem_render_state.c | 7 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 220 ++++++++-- drivers/gpu/drm/i915/i915_guc_submission.c | 52 ++- drivers/gpu/drm/i915/intel_display.c | 5 +- drivers/gpu/drm/i915/intel_fbdev.c | 12 +- drivers/gpu/drm/i915/intel_lrc.c | 10 +- drivers/gpu/drm/i915/intel_overlay.c | 4 +- drivers/gpu/drm/i915/intel_pm.c | 13 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 27 +- include/uapi/drm/i915_drm.h | 16 + 17 files changed, 836 insertions(+), 165 deletions(-)
From: Ankitprasad Sharma <ankitprasad.r.sharma@intel.com> This patch series adds support for creating/using Stolen memory backed objects. Despite being a unified memory architecture (UMA) some bits of memory are more equal than others. In particular we have the thorny issue of stolen memory, memory stolen from the system by the BIOS and reserved for igfx use. Stolen memory is required for some functions of the GPU and display engine, but in general it goes wasted. Whilst we cannot return it back to the system, we need to find some other method for utilising it. As we do not support direct access to the physical address in the stolen region, it behaves like a different class of memory, closer in kin to local GPU memory. This strongly suggests that we need a placement model like TTM if we are to fully utilize these discrete chunks of differing memory. To add support for creating Stolen memory backed objects, we extend the drm_i915_gem_create structure, by adding a new flag through which user can specify the preference to allocate the object from stolen memory, which if set, an attempt will be made to allocate the object from stolen memory subject to the availability of free space in the stolen region. This patch series adds support for clearing buffer objects via CPU/GTT. This is particularly useful for clearing out the memory from stolen region, but can also be used for other shmem allocated objects. Currently being used for buffers allocated in the stolen region. Also adding support for stealing purgable stolen pages, if we run out of stolen memory when trying to allocate an object. v2: Added support for read/write from/to objects not backed by shmem using the pread/pwrite interface. Also extended the current get_aperture ioctl to retrieve the total and available size of the stolen region. v3: Removed the extended get_aperture ioctl patch 5 (to be submitted as part of other patch series), addressed comments by Chris about pread/pwrite for non shmem backed objects. v4: Rebased to the latest drm-intel-nightly. v5: Addressed comments, replaced patch 1/4 "Clearing buffers via blitter engine" by "Clearing buffers via CPU/GTT". v6: Rebased to the latest drm-intel-nightly, Addressed comments, updated stolen memory purging logic by maintaining a list for purgable stolen memory objects, enabled pread/pwrite for all non-shmem backed objects without tiling restrictions. v7: Addressed comments, compiler optimization, new patch added for correct error code propagation to the userspace. v8: Added a new patch to the series to Migrate stolen objects before hibernation, as stolen memory is not preserved across hibernation. Added correct error propagation for shmem as well non-shmem backed object allocation. v9: Addressed comments, use of insert_page helper function to map object page by page which can be helpful in low aperture space availability. v10: Addressed comments, use insert_page for clearing out the stolen memory v11: Addressed comments, 3 new patches added to support allocation from Stolen memory 1. Allow use of i915_gem_object_get_dma_address for stolen backed objects 2. Use insert_page for pwrite_fast 3. Fail the execbuff using stolen objects as batchbuffers v12: Addressed comments, Removed patch "Fail the execbuff using stolen objects as batchbuffers" v13: Addressed comments, Added 2 patches to detect Intel RST and disable stolen for persistent data if RST device found 1. acpi: Export acpi_bus_type 2. drm/i915: Disable use of stolen area by User when Intel RST is present This can be verified using IGT tests: igt/gem_stolen, igt/gem_create Ankitprasad Sharma (8): drm/i915: Allow use of get_dma_address for stolen backed objects drm/i915: Use insert_page for pwrite_fast drm/i915: Clearing buffer objects via CPU/GTT drm/i915: Support for creating Stolen memory backed objects drm/i915: Propagating correct error codes to the userspace drm/i915: Support for pread/pwrite from/to non shmem backed objects acpi: Export acpi_bus_type drm/i915: Disable use of stolen area by User when Intel RST is present Chris Wilson (2): drm/i915: Add support for stealing purgable stolen pages drm/i915: Migrate stolen objects before hibernation drivers/acpi/bus.c | 1 + drivers/gpu/drm/i915/i915_debugfs.c | 6 +- drivers/gpu/drm/i915/i915_dma.c | 3 + drivers/gpu/drm/i915/i915_drv.c | 17 +- drivers/gpu/drm/i915/i915_drv.h | 37 +- drivers/gpu/drm/i915/i915_gem.c | 562 +++++++++++++++++++++++---- drivers/gpu/drm/i915/i915_gem_batch_pool.c | 4 +- drivers/gpu/drm/i915/i915_gem_context.c | 4 +- drivers/gpu/drm/i915/i915_gem_render_state.c | 7 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 284 ++++++++++++-- drivers/gpu/drm/i915/i915_guc_submission.c | 52 ++- drivers/gpu/drm/i915/intel_acpi.c | 20 + drivers/gpu/drm/i915/intel_display.c | 5 +- drivers/gpu/drm/i915/intel_fbdev.c | 12 +- drivers/gpu/drm/i915/intel_lrc.c | 10 +- drivers/gpu/drm/i915/intel_overlay.c | 4 +- drivers/gpu/drm/i915/intel_pm.c | 13 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 27 +- include/uapi/drm/i915_drm.h | 16 + 19 files changed, 919 insertions(+), 165 deletions(-)
From: Ankitprasad Sharma <ankitprasad.r.sharma@intel.com> This patch series adds support for creating/using Stolen memory backed objects. Despite being a unified memory architecture (UMA) some bits of memory are more equal than others. In particular we have the thorny issue of stolen memory, memory stolen from the system by the BIOS and reserved for igfx use. Stolen memory is required for some functions of the GPU and display engine, but in general it goes wasted. Whilst we cannot return it back to the system, we need to find some other method for utilising it. As we do not support direct access to the physical address in the stolen region, it behaves like a different class of memory, closer in kin to local GPU memory. This strongly suggests that we need a placement model like TTM if we are to fully utilize these discrete chunks of differing memory. To add support for creating Stolen memory backed objects, we extend the drm_i915_gem_create structure, by adding a new flag through which user can specify the preference to allocate the object from stolen memory, which if set, an attempt will be made to allocate the object from stolen memory subject to the availability of free space in the stolen region. This patch series adds support for clearing buffer objects via CPU/GTT. This is particularly useful for clearing out the memory from stolen region, but can also be used for other shmem allocated objects. Currently being used for buffers allocated in the stolen region. Also adding support for stealing purgable stolen pages, if we run out of stolen memory when trying to allocate an object. v2: Added support for read/write from/to objects not backed by shmem using the pread/pwrite interface. Also extended the current get_aperture ioctl to retrieve the total and available size of the stolen region. v3: Removed the extended get_aperture ioctl patch 5 (to be submitted as part of other patch series), addressed comments by Chris about pread/pwrite for non shmem backed objects. v4: Rebased to the latest drm-intel-nightly. v5: Addressed comments, replaced patch 1/4 "Clearing buffers via blitter engine" by "Clearing buffers via CPU/GTT". v6: Rebased to the latest drm-intel-nightly, Addressed comments, updated stolen memory purging logic by maintaining a list for purgable stolen memory objects, enabled pread/pwrite for all non-shmem backed objects without tiling restrictions. v7: Addressed comments, compiler optimization, new patch added for correct error code propagation to the userspace. v8: Added a new patch to the series to Migrate stolen objects before hibernation, as stolen memory is not preserved across hibernation. Added correct error propagation for shmem as well non-shmem backed object allocation. v9: Addressed comments, use of insert_page helper function to map object page by page which can be helpful in low aperture space availability. v10: Addressed comments, use insert_page for clearing out the stolen memory v11: Addressed comments, 3 new patches added to support allocation from Stolen memory 1. Allow use of i915_gem_object_get_dma_address for stolen backed objects 2. Use insert_page for pwrite_fast 3. Fail the execbuff using stolen objects as batchbuffers v12: Addressed comments, Removed patch "Fail the execbuff using stolen objects as batchbuffers" v13: Addressed comments, Added 2 patches to detect Intel RST and disable stolen for persistent data if RST device found 1. acpi: Export acpi_bus_type 2. drm/i915: Disable use of stolen area by User when Intel RST is present v14: Addressed comments, Added 2 base patches to the series 1. drm/i915: Add support for mapping an object page by page 2. drm/i915: Introduce i915_gem_object_get_dma_address() This can be verified using IGT tests: igt/gem_stolen, igt/gem_create Ankitprasad Sharma (7): drm/i915: Use insert_page for pwrite_fast drm/i915: Clearing buffer objects via CPU/GTT drm/i915: Support for creating Stolen memory backed objects drm/i915: Propagating correct error codes to the userspace drm/i915: Support for pread/pwrite from/to non shmem backed objects acpi: Export acpi_bus_type drm/i915: Disable use of stolen area by User when Intel RST is present Chris Wilson (4): drm/i915: Add support for mapping an object page by page drm/i915: Introduce i915_gem_object_get_dma_address() drm/i915: Add support for stealing purgable stolen pages drm/i915: Migrate stolen objects before hibernation drivers/acpi/bus.c | 1 + drivers/char/agp/intel-gtt.c | 9 + drivers/gpu/drm/i915/i915_debugfs.c | 6 +- drivers/gpu/drm/i915/i915_dma.c | 3 + drivers/gpu/drm/i915/i915_drv.c | 17 +- drivers/gpu/drm/i915/i915_drv.h | 58 ++- drivers/gpu/drm/i915/i915_gem.c | 576 +++++++++++++++++++++++---- drivers/gpu/drm/i915/i915_gem_batch_pool.c | 4 +- drivers/gpu/drm/i915/i915_gem_context.c | 4 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 49 +++ drivers/gpu/drm/i915/i915_gem_gtt.h | 5 + drivers/gpu/drm/i915/i915_gem_render_state.c | 7 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 281 +++++++++++-- drivers/gpu/drm/i915/i915_guc_submission.c | 52 ++- drivers/gpu/drm/i915/intel_acpi.c | 20 + drivers/gpu/drm/i915/intel_display.c | 5 +- drivers/gpu/drm/i915/intel_fbdev.c | 12 +- drivers/gpu/drm/i915/intel_lrc.c | 10 +- drivers/gpu/drm/i915/intel_overlay.c | 4 +- drivers/gpu/drm/i915/intel_pm.c | 13 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 27 +- include/drm/intel-gtt.h | 3 + include/uapi/drm/i915_drm.h | 19 + 23 files changed, 1022 insertions(+), 163 deletions(-)
From: Ankitprasad Sharma <ankitprasad.r.sharma@intel.com> This patch series adds support for creating/using Stolen memory backed objects. Despite being a unified memory architecture (UMA) some bits of memory are more equal than others. In particular we have the thorny issue of stolen memory, memory stolen from the system by the BIOS and reserved for igfx use. Stolen memory is required for some functions of the GPU and display engine, but in general it goes wasted. Whilst we cannot return it back to the system, we need to find some other method for utilising it. As we do not support direct access to the physical address in the stolen region, it behaves like a different class of memory, closer in kin to local GPU memory. This strongly suggests that we need a placement model like TTM if we are to fully utilize these discrete chunks of differing memory. To add support for creating Stolen memory backed objects, we extend the drm_i915_gem_create structure, by adding a new flag through which user can specify the preference to allocate the object from stolen memory, which if set, an attempt will be made to allocate the object from stolen memory subject to the availability of free space in the stolen region. This patch series adds support for clearing buffer objects via CPU/GTT. This is particularly useful for clearing out the memory from stolen region, but can also be used for other shmem allocated objects. Currently being used for buffers allocated in the stolen region. Also adding support for stealing purgable stolen pages, if we run out of stolen memory when trying to allocate an object. v2: Added support for read/write from/to objects not backed by shmem using the pread/pwrite interface. Also extended the current get_aperture ioctl to retrieve the total and available size of the stolen region. v3: Removed the extended get_aperture ioctl patch 5 (to be submitted as part of other patch series), addressed comments by Chris about pread/pwrite for non shmem backed objects. v4: Rebased to the latest drm-intel-nightly. v5: Addressed comments, replaced patch 1/4 "Clearing buffers via blitter engine" by "Clearing buffers via CPU/GTT". v6: Rebased to the latest drm-intel-nightly, Addressed comments, updated stolen memory purging logic by maintaining a list for purgable stolen memory objects, enabled pread/pwrite for all non-shmem backed objects without tiling restrictions. v7: Addressed comments, compiler optimization, new patch added for correct error code propagation to the userspace. v8: Added a new patch to the series to Migrate stolen objects before hibernation, as stolen memory is not preserved across hibernation. Added correct error propagation for shmem as well non-shmem backed object allocation. v9: Addressed comments, use of insert_page helper function to map object page by page which can be helpful in low aperture space availability. v10: Addressed comments, use insert_page for clearing out the stolen memory v11: Addressed comments, 3 new patches added to support allocation from Stolen memory 1. Allow use of i915_gem_object_get_dma_address for stolen backed objects 2. Use insert_page for pwrite_fast 3. Fail the execbuff using stolen objects as batchbuffers v12: Addressed comments, Removed patch "Fail the execbuff using stolen objects as batchbuffers" v13: Addressed comments, Added 2 patches to detect Intel RST and disable stolen for persistent data if RST device found 1. acpi: Export acpi_bus_type 2. drm/i915: Disable use of stolen area by User when Intel RST is present v14: Addressed comments, Added 2 base patches to the series 1. drm/i915: Add support for mapping an object page by page 2. drm/i915: Introduce i915_gem_object_get_dma_address() v15: Addressed comments, Disabled stolen memory by default This can be verified using IGT tests: igt/gem_stolen, igt/gem_create Ankitprasad Sharma (6): drm/i915: Use insert_page for pwrite_fast drm/i915: Clearing buffer objects via CPU/GTT drm/i915: Support for creating Stolen memory backed objects drm/i915: Propagating correct error codes to the userspace drm/i915: Support for pread/pwrite from/to non shmem backed objects drm/i915: Disable use of stolen area by User when Intel RST is present Chris Wilson (4): drm/i915: Add support for mapping an object page by page drm/i915: Introduce i915_gem_object_get_dma_address() drm/i915: Add support for stealing purgable stolen pages drm/i915: Migrate stolen objects before hibernation drivers/char/agp/intel-gtt.c | 9 + drivers/gpu/drm/i915/i915_debugfs.c | 6 +- drivers/gpu/drm/i915/i915_dma.c | 3 + drivers/gpu/drm/i915/i915_drv.c | 17 +- drivers/gpu/drm/i915/i915_drv.h | 58 ++- drivers/gpu/drm/i915/i915_gem.c | 602 ++++++++++++++++++++++++--- drivers/gpu/drm/i915/i915_gem_batch_pool.c | 4 +- drivers/gpu/drm/i915/i915_gem_context.c | 4 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 49 +++ drivers/gpu/drm/i915/i915_gem_gtt.h | 5 + drivers/gpu/drm/i915/i915_gem_render_state.c | 7 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 281 +++++++++++-- drivers/gpu/drm/i915/i915_guc_submission.c | 52 ++- drivers/gpu/drm/i915/intel_acpi.c | 10 + drivers/gpu/drm/i915/intel_display.c | 5 +- drivers/gpu/drm/i915/intel_fbdev.c | 12 +- drivers/gpu/drm/i915/intel_lrc.c | 10 +- drivers/gpu/drm/i915/intel_overlay.c | 4 +- drivers/gpu/drm/i915/intel_pm.c | 13 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 27 +- include/drm/intel-gtt.h | 3 + include/uapi/drm/i915_drm.h | 41 ++ 22 files changed, 1060 insertions(+), 162 deletions(-)
From: Ankitprasad Sharma <ankitprasad.r.sharma@intel.com> This patch series adds support for creating/using Stolen memory backed objects. Despite being a unified memory architecture (UMA) some bits of memory are more equal than others. In particular we have the thorny issue of stolen memory, memory stolen from the system by the BIOS and reserved for igfx use. Stolen memory is required for some functions of the GPU and display engine, but in general it goes wasted. Whilst we cannot return it back to the system, we need to find some other method for utilising it. As we do not support direct access to the physical address in the stolen region, it behaves like a different class of memory, closer in kin to local GPU memory. This strongly suggests that we need a placement model like TTM if we are to fully utilize these discrete chunks of differing memory. To add support for creating Stolen memory backed objects, we extend the drm_i915_gem_create structure, by adding a new flag through which user can specify the preference to allocate the object from stolen memory, which if set, an attempt will be made to allocate the object from stolen memory subject to the availability of free space in the stolen region. This patch series adds support for clearing buffer objects via CPU/GTT. This is particularly useful for clearing out the memory from stolen region, but can also be used for other shmem allocated objects. Currently being used for buffers allocated in the stolen region. Also adding support for stealing purgable stolen pages, if we run out of stolen memory when trying to allocate an object. v2: Added support for read/write from/to objects not backed by shmem using the pread/pwrite interface. Also extended the current get_aperture ioctl to retrieve the total and available size of the stolen region. v3: Removed the extended get_aperture ioctl patch 5 (to be submitted as part of other patch series), addressed comments by Chris about pread/pwrite for non shmem backed objects. v4: Rebased to the latest drm-intel-nightly. v5: Addressed comments, replaced patch 1/4 "Clearing buffers via blitter engine" by "Clearing buffers via CPU/GTT". v6: Rebased to the latest drm-intel-nightly, Addressed comments, updated stolen memory purging logic by maintaining a list for purgable stolen memory objects, enabled pread/pwrite for all non-shmem backed objects without tiling restrictions. v7: Addressed comments, compiler optimization, new patch added for correct error code propagation to the userspace. v8: Added a new patch to the series to Migrate stolen objects before hibernation, as stolen memory is not preserved across hibernation. Added correct error propagation for shmem as well non-shmem backed object allocation. v9: Addressed comments, use of insert_page helper function to map object page by page which can be helpful in low aperture space availability. v10: Addressed comments, use insert_page for clearing out the stolen memory v11: Addressed comments, 3 new patches added to support allocation from Stolen memory 1. Allow use of i915_gem_object_get_dma_address for stolen backed objects 2. Use insert_page for pwrite_fast 3. Fail the execbuff using stolen objects as batchbuffers v12: Addressed comments, Removed patch "Fail the execbuff using stolen objects as batchbuffers" v13: Addressed comments, Added 2 patches to detect Intel RST and disable stolen for persistent data if RST device found 1. acpi: Export acpi_bus_type 2. drm/i915: Disable use of stolen area by User when Intel RST is present v14: Addressed comments, Added 2 base patches to the series 1. drm/i915: Add support for mapping an object page by page 2. drm/i915: Introduce i915_gem_object_get_dma_address() v15: Addressed comments, Disabled stolen memory by default v16: Addressed comments, Added low level rpm assertions, Enabled stolen memory This can be verified using IGT tests: igt/gem_stolen, igt/gem_create Ankitprasad Sharma (6): drm/i915: Use insert_page for pwrite_fast drm/i915: Clearing buffer objects via CPU/GTT drm/i915: Support for creating Stolen memory backed objects drm/i915: Propagating correct error codes to the userspace drm/i915: Support for pread/pwrite from/to non shmem backed objects drm/i915: Disable use of stolen area by User when Intel RST is present Chris Wilson (4): drm/i915: Add support for mapping an object page by page drm/i915: Introduce i915_gem_object_get_dma_address() drm/i915: Add support for stealing purgable stolen pages drm/i915: Migrate stolen objects before hibernation drivers/char/agp/intel-gtt.c | 9 + drivers/gpu/drm/i915/i915_debugfs.c | 6 +- drivers/gpu/drm/i915/i915_dma.c | 3 + drivers/gpu/drm/i915/i915_drv.c | 17 +- drivers/gpu/drm/i915/i915_drv.h | 58 ++- drivers/gpu/drm/i915/i915_gem.c | 621 ++++++++++++++++++++++++--- drivers/gpu/drm/i915/i915_gem_batch_pool.c | 4 +- drivers/gpu/drm/i915/i915_gem_context.c | 4 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 65 +++ drivers/gpu/drm/i915/i915_gem_gtt.h | 5 + drivers/gpu/drm/i915/i915_gem_render_state.c | 7 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 281 ++++++++++-- drivers/gpu/drm/i915/i915_guc_submission.c | 52 ++- drivers/gpu/drm/i915/intel_acpi.c | 10 + drivers/gpu/drm/i915/intel_display.c | 5 +- drivers/gpu/drm/i915/intel_fbdev.c | 12 +- drivers/gpu/drm/i915/intel_lrc.c | 10 +- drivers/gpu/drm/i915/intel_overlay.c | 4 +- drivers/gpu/drm/i915/intel_pm.c | 13 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 27 +- include/drm/intel-gtt.h | 3 + include/uapi/drm/i915_drm.h | 41 ++ 22 files changed, 1091 insertions(+), 166 deletions(-)
From: Ankitprasad Sharma <ankitprasad.r.sharma@intel.com> This patch series adds support for creating/using Stolen memory backed objects. Despite being a unified memory architecture (UMA) some bits of memory are more equal than others. In particular we have the thorny issue of stolen memory, memory stolen from the system by the BIOS and reserved for igfx use. Stolen memory is required for some functions of the GPU and display engine, but in general it goes wasted. Whilst we cannot return it back to the system, we need to find some other method for utilising it. As we do not support direct access to the physical address in the stolen region, it behaves like a different class of memory, closer in kin to local GPU memory. This strongly suggests that we need a placement model like TTM if we are to fully utilize these discrete chunks of differing memory. To add support for creating Stolen memory backed objects, we extend the drm_i915_gem_create structure, by adding a new flag through which user can specify the preference to allocate the object from stolen memory, which if set, an attempt will be made to allocate the object from stolen memory subject to the availability of free space in the stolen region. This patch series adds support for clearing buffer objects via CPU/GTT. This is particularly useful for clearing out the memory from stolen region, but can also be used for other shmem allocated objects. Currently being used for buffers allocated in the stolen region. Also adding support for stealing purgable stolen pages, if we run out of stolen memory when trying to allocate an object. v2: Added support for read/write from/to objects not backed by shmem using the pread/pwrite interface. Also extended the current get_aperture ioctl to retrieve the total and available size of the stolen region. v3: Removed the extended get_aperture ioctl patch 5 (to be submitted as part of other patch series), addressed comments by Chris about pread/pwrite for non shmem backed objects. v4: Rebased to the latest drm-intel-nightly. v5: Addressed comments, replaced patch 1/4 "Clearing buffers via blitter engine" by "Clearing buffers via CPU/GTT". v6: Rebased to the latest drm-intel-nightly, Addressed comments, updated stolen memory purging logic by maintaining a list for purgable stolen memory objects, enabled pread/pwrite for all non-shmem backed objects without tiling restrictions. v7: Addressed comments, compiler optimization, new patch added for correct error code propagation to the userspace. v8: Added a new patch to the series to Migrate stolen objects before hibernation, as stolen memory is not preserved across hibernation. Added correct error propagation for shmem as well non-shmem backed object allocation. v9: Addressed comments, use of insert_page helper function to map object page by page which can be helpful in low aperture space availability. v10: Addressed comments, use insert_page for clearing out the stolen memory v11: Addressed comments, 3 new patches added to support allocation from Stolen memory 1. Allow use of i915_gem_object_get_dma_address for stolen backed objects 2. Use insert_page for pwrite_fast 3. Fail the execbuff using stolen objects as batchbuffers v12: Addressed comments, Removed patch "Fail the execbuff using stolen objects as batchbuffers" v13: Addressed comments, Added 2 patches to detect Intel RST and disable stolen for persistent data if RST device found 1. acpi: Export acpi_bus_type 2. drm/i915: Disable use of stolen area by User when Intel RST is present v14: Addressed comments, Added 2 base patches to the series 1. drm/i915: Add support for mapping an object page by page 2. drm/i915: Introduce i915_gem_object_get_dma_address() v15: Addressed comments, Disabled stolen memory by default v16: Addressed comments, Added low level rpm assertions, Enabled stolen memory v17: Addressed comments This can be verified using IGT tests: igt/gem_stolen, igt/gem_create, igt/gem_pread, igt/gem_pwrite Ankitprasad Sharma (6): drm/i915: Use insert_page for pwrite_fast drm/i915: Clearing buffer objects via CPU/GTT drm/i915: Support for creating Stolen memory backed objects drm/i915: Propagating correct error codes to the userspace drm/i915: Support for pread/pwrite from/to non shmem backed objects drm/i915: Disable use of stolen area by User when Intel RST is present Chris Wilson (4): drm/i915: Add support for mapping an object page by page drm/i915: Introduce i915_gem_object_get_dma_address() drm/i915: Add support for stealing purgable stolen pages drm/i915: Migrate stolen objects before hibernation drivers/char/agp/intel-gtt.c | 9 + drivers/gpu/drm/i915/i915_debugfs.c | 6 +- drivers/gpu/drm/i915/i915_dma.c | 3 + drivers/gpu/drm/i915/i915_drv.c | 17 +- drivers/gpu/drm/i915/i915_drv.h | 58 ++- drivers/gpu/drm/i915/i915_gem.c | 631 ++++++++++++++++++++++++--- drivers/gpu/drm/i915/i915_gem_batch_pool.c | 4 +- drivers/gpu/drm/i915/i915_gem_context.c | 4 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 67 +++ drivers/gpu/drm/i915/i915_gem_gtt.h | 5 + drivers/gpu/drm/i915/i915_gem_render_state.c | 7 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 279 ++++++++++-- drivers/gpu/drm/i915/i915_guc_submission.c | 52 ++- drivers/gpu/drm/i915/intel_acpi.c | 7 + drivers/gpu/drm/i915/intel_display.c | 5 +- drivers/gpu/drm/i915/intel_fbdev.c | 12 +- drivers/gpu/drm/i915/intel_lrc.c | 10 +- drivers/gpu/drm/i915/intel_overlay.c | 4 +- drivers/gpu/drm/i915/intel_pm.c | 13 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 27 +- include/drm/intel-gtt.h | 3 + include/uapi/drm/i915_drm.h | 41 ++ 22 files changed, 1098 insertions(+), 166 deletions(-)
From: Ankitprasad Sharma <ankitprasad.r.sharma@intel.com> This patch series adds support for creating/using Stolen memory backed objects. Despite being a unified memory architecture (UMA) some bits of memory are more equal than others. In particular we have the thorny issue of stolen memory, memory stolen from the system by the BIOS and reserved for igfx use. Stolen memory is required for some functions of the GPU and display engine, but in general it goes wasted. Whilst we cannot return it back to the system, we need to find some other method for utilising it. As we do not support direct access to the physical address in the stolen region, it behaves like a different class of memory, closer in kin to local GPU memory. This strongly suggests that we need a placement model like TTM if we are to fully utilize these discrete chunks of differing memory. To add support for creating Stolen memory backed objects, we extend the drm_i915_gem_create structure, by adding a new flag through which user can specify the preference to allocate the object from stolen memory, which if set, an attempt will be made to allocate the object from stolen memory subject to the availability of free space in the stolen region. This patch series adds support for clearing buffer objects via CPU/GTT. This is particularly useful for clearing out the memory from stolen region, but can also be used for other shmem allocated objects. Currently being used for buffers allocated in the stolen region. Also adding support for stealing purgable stolen pages, if we run out of stolen memory when trying to allocate an object. v2: Added support for read/write from/to objects not backed by shmem using the pread/pwrite interface. Also extended the current get_aperture ioctl to retrieve the total and available size of the stolen region. v3: Removed the extended get_aperture ioctl patch 5 (to be submitted as part of other patch series), addressed comments by Chris about pread/pwrite for non shmem backed objects. v4: Rebased to the latest drm-intel-nightly. v5: Addressed comments, replaced patch 1/4 "Clearing buffers via blitter engine" by "Clearing buffers via CPU/GTT". v6: Rebased to the latest drm-intel-nightly, Addressed comments, updated stolen memory purging logic by maintaining a list for purgable stolen memory objects, enabled pread/pwrite for all non-shmem backed objects without tiling restrictions. v7: Addressed comments, compiler optimization, new patch added for correct error code propagation to the userspace. v8: Added a new patch to the series to Migrate stolen objects before hibernation, as stolen memory is not preserved across hibernation. Added correct error propagation for shmem as well non-shmem backed object allocation. v9: Addressed comments, use of insert_page helper function to map object page by page which can be helpful in low aperture space availability. v10: Addressed comments, use insert_page for clearing out the stolen memory v11: Addressed comments, 3 new patches added to support allocation from Stolen memory 1. Allow use of i915_gem_object_get_dma_address for stolen backed objects 2. Use insert_page for pwrite_fast 3. Fail the execbuff using stolen objects as batchbuffers v12: Addressed comments, Removed patch "Fail the execbuff using stolen objects as batchbuffers" v13: Addressed comments, Added 2 patches to detect Intel RST and disable stolen for persistent data if RST device found 1. acpi: Export acpi_bus_type 2. drm/i915: Disable use of stolen area by User when Intel RST is present v14: Addressed comments, Added 2 base patches to the series 1. drm/i915: Add support for mapping an object page by page 2. drm/i915: Introduce i915_gem_object_get_dma_address() v15: Addressed comments, Disabled stolen memory by default v16: Addressed comments, Added low level rpm assertions, Enabled stolen memory v17: Addressed comments v18: Rebased and fixed issue This can be verified using IGT tests: igt/gem_stolen, igt/gem_create, igt/gem_pread, igt/gem_pwrite Ankitprasad Sharma (6): drm/i915: Use insert_page for pwrite_fast drm/i915: Clearing buffer objects via CPU/GTT drm/i915: Support for creating Stolen memory backed objects drm/i915: Propagating correct error codes to the userspace drm/i915: Support for pread/pwrite from/to non shmem backed objects drm/i915: Disable use of stolen area by User when Intel RST is present Chris Wilson (4): drm/i915: Add support for mapping an object page by page drm/i915: Introduce i915_gem_object_get_dma_address() drm/i915: Add support for stealing purgable stolen pages drm/i915: Migrate stolen objects before hibernation drivers/char/agp/intel-gtt.c | 9 + drivers/gpu/drm/i915/i915_debugfs.c | 6 +- drivers/gpu/drm/i915/i915_dma.c | 3 + drivers/gpu/drm/i915/i915_drv.c | 17 +- drivers/gpu/drm/i915/i915_drv.h | 58 ++- drivers/gpu/drm/i915/i915_gem.c | 635 ++++++++++++++++++++++++--- drivers/gpu/drm/i915/i915_gem_batch_pool.c | 4 +- drivers/gpu/drm/i915/i915_gem_context.c | 4 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 67 +++ drivers/gpu/drm/i915/i915_gem_gtt.h | 5 + drivers/gpu/drm/i915/i915_gem_render_state.c | 7 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 279 ++++++++++-- drivers/gpu/drm/i915/i915_guc_submission.c | 52 ++- drivers/gpu/drm/i915/intel_acpi.c | 7 + drivers/gpu/drm/i915/intel_display.c | 5 +- drivers/gpu/drm/i915/intel_fbdev.c | 12 +- drivers/gpu/drm/i915/intel_lrc.c | 10 +- drivers/gpu/drm/i915/intel_overlay.c | 4 +- drivers/gpu/drm/i915/intel_pm.c | 13 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 27 +- include/drm/intel-gtt.h | 3 + include/uapi/drm/i915_drm.h | 41 ++ 22 files changed, 1102 insertions(+), 166 deletions(-)
From: Ankitprasad Sharma <ankitprasad.r.sharma@intel.com> This patch series adds support for creating/using Stolen memory backed objects. Despite being a unified memory architecture (UMA) some bits of memory are more equal than others. In particular we have the thorny issue of stolen memory, memory stolen from the system by the BIOS and reserved for igfx use. Stolen memory is required for some functions of the GPU and display engine, but in general it goes wasted. Whilst we cannot return it back to the system, we need to find some other method for utilising it. As we do not support direct access to the physical address in the stolen region, it behaves like a different class of memory, closer in kin to local GPU memory. This strongly suggests that we need a placement model like TTM if we are to fully utilize these discrete chunks of differing memory. To add support for creating Stolen memory backed objects, we extend the drm_i915_gem_create structure, by adding a new flag through which user can specify the preference to allocate the object from stolen memory, which if set, an attempt will be made to allocate the object from stolen memory subject to the availability of free space in the stolen region. This patch series adds support for clearing buffer objects via CPU/GTT. This is particularly useful for clearing out the memory from stolen region, but can also be used for other shmem allocated objects. Currently being used for buffers allocated in the stolen region. Also adding support for stealing purgable stolen pages, if we run out of stolen memory when trying to allocate an object. v2: Added support for read/write from/to objects not backed by shmem using the pread/pwrite interface. Also extended the current get_aperture ioctl to retrieve the total and available size of the stolen region. v3: Removed the extended get_aperture ioctl patch 5 (to be submitted as part of other patch series), addressed comments by Chris about pread/pwrite for non shmem backed objects. v4: Rebased to the latest drm-intel-nightly. v5: Addressed comments, replaced patch 1/4 "Clearing buffers via blitter engine" by "Clearing buffers via CPU/GTT". v6: Rebased to the latest drm-intel-nightly, Addressed comments, updated stolen memory purging logic by maintaining a list for purgable stolen memory objects, enabled pread/pwrite for all non-shmem backed objects without tiling restrictions. v7: Addressed comments, compiler optimization, new patch added for correct error code propagation to the userspace. v8: Added a new patch to the series to Migrate stolen objects before hibernation, as stolen memory is not preserved across hibernation. Added correct error propagation for shmem as well non-shmem backed object allocation. v9: Addressed comments, use of insert_page helper function to map object page by page which can be helpful in low aperture space availability. v10: Addressed comments, use insert_page for clearing out the stolen memory v11: Addressed comments, 3 new patches added to support allocation from Stolen memory 1. Allow use of i915_gem_object_get_dma_address for stolen backed objects 2. Use insert_page for pwrite_fast 3. Fail the execbuff using stolen objects as batchbuffers v12: Addressed comments, Removed patch "Fail the execbuff using stolen objects as batchbuffers" v13: Addressed comments, Added 2 patches to detect Intel RST and disable stolen for persistent data if RST device found 1. acpi: Export acpi_bus_type 2. drm/i915: Disable use of stolen area by User when Intel RST is present v14: Addressed comments, Added 2 base patches to the series 1. drm/i915: Add support for mapping an object page by page 2. drm/i915: Introduce i915_gem_object_get_dma_address() v15: Addressed comments, Disabled stolen memory by default v16: Addressed comments, Added low level rpm assertions, Enabled stolen memory v17: Addressed comments v18: Rebased and fixed issue v19: Added changes to resolve CI test failures This can be verified using IGT tests: igt/gem_stolen, igt/gem_create, igt/gem_pread, igt/gem_pwrite Ankitprasad Sharma (6): drm/i915: Use insert_page for pwrite_fast drm/i915: Clearing buffer objects via CPU/GTT drm/i915: Support for creating Stolen memory backed objects drm/i915: Propagating correct error codes to the userspace drm/i915: Support for pread/pwrite from/to non shmem backed objects drm/i915: Disable use of stolen area by User when Intel RST is present Chris Wilson (4): drm/i915: Add support for mapping an object page by page drm/i915: Introduce i915_gem_object_get_dma_address() drm/i915: Add support for stealing purgable stolen pages drm/i915: Migrate stolen objects before hibernation drivers/char/agp/intel-gtt.c | 9 + drivers/gpu/drm/i915/i915_debugfs.c | 6 +- drivers/gpu/drm/i915/i915_dma.c | 6 + drivers/gpu/drm/i915/i915_drv.c | 17 +- drivers/gpu/drm/i915/i915_drv.h | 58 ++- drivers/gpu/drm/i915/i915_gem.c | 635 ++++++++++++++++++++++++--- drivers/gpu/drm/i915/i915_gem_batch_pool.c | 4 +- drivers/gpu/drm/i915/i915_gem_context.c | 4 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 67 +++ drivers/gpu/drm/i915/i915_gem_gtt.h | 5 + drivers/gpu/drm/i915/i915_gem_render_state.c | 7 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 279 ++++++++++-- drivers/gpu/drm/i915/i915_guc_submission.c | 52 ++- drivers/gpu/drm/i915/intel_acpi.c | 7 + drivers/gpu/drm/i915/intel_display.c | 5 +- drivers/gpu/drm/i915/intel_fbdev.c | 12 +- drivers/gpu/drm/i915/intel_lrc.c | 10 +- drivers/gpu/drm/i915/intel_overlay.c | 4 +- drivers/gpu/drm/i915/intel_pm.c | 13 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 27 +- include/drm/intel-gtt.h | 3 + include/uapi/drm/i915_drm.h | 41 ++ 22 files changed, 1105 insertions(+), 166 deletions(-)
From: Ankitprasad Sharma <ankitprasad.r.sharma@intel.com> This patch series adds support for creating/using Stolen memory backed objects. Despite being a unified memory architecture (UMA) some bits of memory are more equal than others. In particular we have the thorny issue of stolen memory, memory stolen from the system by the BIOS and reserved for igfx use. Stolen memory is required for some functions of the GPU and display engine, but in general it goes wasted. Whilst we cannot return it back to the system, we need to find some other method for utilising it. As we do not support direct access to the physical address in the stolen region, it behaves like a different class of memory, closer in kin to local GPU memory. This strongly suggests that we need a placement model like TTM if we are to fully utilize these discrete chunks of differing memory. To add support for creating Stolen memory backed objects, we extend the drm_i915_gem_create structure, by adding a new flag through which user can specify the preference to allocate the object from stolen memory, which if set, an attempt will be made to allocate the object from stolen memory subject to the availability of free space in the stolen region. This patch series adds support for clearing buffer objects via CPU/GTT. This is particularly useful for clearing out the memory from stolen region, but can also be used for other shmem allocated objects. Currently being used for buffers allocated in the stolen region. Also adding support for stealing purgable stolen pages, if we run out of stolen memory when trying to allocate an object. v2: Added support for read/write from/to objects not backed by shmem using the pread/pwrite interface. Also extended the current get_aperture ioctl to retrieve the total and available size of the stolen region. v3: Removed the extended get_aperture ioctl patch 5 (to be submitted as part of other patch series), addressed comments by Chris about pread/pwrite for non shmem backed objects. v4: Rebased to the latest drm-intel-nightly. v5: Addressed comments, replaced patch 1/4 "Clearing buffers via blitter engine" by "Clearing buffers via CPU/GTT". v6: Rebased to the latest drm-intel-nightly, Addressed comments, updated stolen memory purging logic by maintaining a list for purgable stolen memory objects, enabled pread/pwrite for all non-shmem backed objects without tiling restrictions. v7: Addressed comments, compiler optimization, new patch added for correct error code propagation to the userspace. v8: Added a new patch to the series to Migrate stolen objects before hibernation, as stolen memory is not preserved across hibernation. Added correct error propagation for shmem as well non-shmem backed object allocation. v9: Addressed comments, use of insert_page helper function to map object page by page which can be helpful in low aperture space availability. v10: Addressed comments, use insert_page for clearing out the stolen memory v11: Addressed comments, 3 new patches added to support allocation from Stolen memory 1. Allow use of i915_gem_object_get_dma_address for stolen backed objects 2. Use insert_page for pwrite_fast 3. Fail the execbuff using stolen objects as batchbuffers v12: Addressed comments, Removed patch "Fail the execbuff using stolen objects as batchbuffers" v13: Addressed comments, Added 2 patches to detect Intel RST and disable stolen for persistent data if RST device found 1. acpi: Export acpi_bus_type 2. drm/i915: Disable use of stolen area by User when Intel RST is present v14: Addressed comments, Added 2 base patches to the series 1. drm/i915: Add support for mapping an object page by page 2. drm/i915: Introduce i915_gem_object_get_dma_address() v15: Addressed comments, Disabled stolen memory by default v16: Addressed comments, Added low level rpm assertions, Enabled stolen memory v17: Addressed comments v18: Rebased and fixed issue v19: Rebased and added 2 more patches to report mappable and stolen size numbers 1. drm/i915: Extend GET_APERTURE ioctl to report available map space 2. drm/i915: Extend GET_APERTURE ioctl to report size of the stolen region This can be verified using IGT tests: igt/gem_stolen, igt/gem_create, igt/gem_pread, igt/gem_pwrite Ankitprasad Sharma (8): drm/i915: Use insert_page for pwrite_fast drm/i915: Clearing buffer objects via CPU/GTT drm/i915: Support for creating Stolen memory backed objects drm/i915: Propagating correct error codes to the userspace drm/i915: Support for pread/pwrite from/to non shmem backed objects drm/i915: Disable use of stolen area by User when Intel RST is present drm/i915: Extend GET_APERTURE ioctl to report available map space drm/i915: Extend GET_APERTURE ioctl to report size of the stolen region Chris Wilson (4): drm/i915: Add support for mapping an object page by page drm/i915: Introduce i915_gem_object_get_dma_address() drm/i915: Add support for stealing purgable stolen pages drm/i915: Migrate stolen objects before hibernation drivers/char/agp/intel-gtt.c | 9 + drivers/gpu/drm/i915/i915_debugfs.c | 149 ++++++- drivers/gpu/drm/i915/i915_dma.c | 3 + drivers/gpu/drm/i915/i915_drv.c | 17 +- drivers/gpu/drm/i915/i915_drv.h | 61 ++- drivers/gpu/drm/i915/i915_gem.c | 635 ++++++++++++++++++++++++--- drivers/gpu/drm/i915/i915_gem_batch_pool.c | 4 +- drivers/gpu/drm/i915/i915_gem_context.c | 4 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 67 +++ drivers/gpu/drm/i915/i915_gem_gtt.h | 5 + drivers/gpu/drm/i915/i915_gem_render_state.c | 7 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 320 ++++++++++++-- drivers/gpu/drm/i915/i915_guc_submission.c | 52 ++- drivers/gpu/drm/i915/intel_acpi.c | 7 + drivers/gpu/drm/i915/intel_display.c | 5 +- drivers/gpu/drm/i915/intel_fbdev.c | 12 +- drivers/gpu/drm/i915/intel_lrc.c | 10 +- drivers/gpu/drm/i915/intel_overlay.c | 4 +- drivers/gpu/drm/i915/intel_pm.c | 13 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 27 +- include/drm/intel-gtt.h | 3 + include/uapi/drm/i915_drm.h | 52 +++ 22 files changed, 1300 insertions(+), 166 deletions(-)
From: Ankitprasad Sharma <ankitprasad.r.sharma@intel.com> This patch series adds support for creating/using Stolen memory backed objects. Despite being a unified memory architecture (UMA) some bits of memory are more equal than others. In particular we have the thorny issue of stolen memory, memory stolen from the system by the BIOS and reserved for igfx use. Stolen memory is required for some functions of the GPU and display engine, but in general it goes wasted. Whilst we cannot return it back to the system, we need to find some other method for utilising it. As we do not support direct access to the physical address in the stolen region, it behaves like a different class of memory, closer in kin to local GPU memory. This strongly suggests that we need a placement model like TTM if we are to fully utilize these discrete chunks of differing memory. To add support for creating Stolen memory backed objects, we extend the drm_i915_gem_create structure, by adding a new flag through which user can specify the preference to allocate the object from stolen memory, which if set, an attempt will be made to allocate the object from stolen memory subject to the availability of free space in the stolen region. This patch series adds support for clearing buffer objects via CPU/GTT. This is particularly useful for clearing out the memory from stolen region, but can also be used for other shmem allocated objects. Currently being used for buffers allocated in the stolen region. Also adding support for stealing purgable stolen pages, if we run out of stolen memory when trying to allocate an object. v2: Added support for read/write from/to objects not backed by shmem using the pread/pwrite interface. Also extended the current get_aperture ioctl to retrieve the total and available size of the stolen region. v3: Removed the extended get_aperture ioctl patch 5 (to be submitted as part of other patch series), addressed comments by Chris about pread/pwrite for non shmem backed objects. v4: Rebased to the latest drm-intel-nightly. v5: Addressed comments, replaced patch 1/4 "Clearing buffers via blitter engine" by "Clearing buffers via CPU/GTT". v6: Rebased to the latest drm-intel-nightly, Addressed comments, updated stolen memory purging logic by maintaining a list for purgable stolen memory objects, enabled pread/pwrite for all non-shmem backed objects without tiling restrictions. v7: Addressed comments, compiler optimization, new patch added for correct error code propagation to the userspace. v8: Added a new patch to the series to Migrate stolen objects before hibernation, as stolen memory is not preserved across hibernation. Added correct error propagation for shmem as well non-shmem backed object allocation. v9: Addressed comments, use of insert_page helper function to map object page by page which can be helpful in low aperture space availability. v10: Addressed comments, use insert_page for clearing out the stolen memory v11: Addressed comments, 3 new patches added to support allocation from Stolen memory 1. Allow use of i915_gem_object_get_dma_address for stolen backed objects 2. Use insert_page for pwrite_fast 3. Fail the execbuff using stolen objects as batchbuffers v12: Addressed comments, Removed patch "Fail the execbuff using stolen objects as batchbuffers" v13: Addressed comments, Added 2 patches to detect Intel RST and disable stolen for persistent data if RST device found 1. acpi: Export acpi_bus_type 2. drm/i915: Disable use of stolen area by User when Intel RST is present v14: Addressed comments, Added 2 base patches to the series 1. drm/i915: Add support for mapping an object page by page 2. drm/i915: Introduce i915_gem_object_get_dma_address() v15: Addressed comments, Disabled stolen memory by default v16: Addressed comments, Added low level rpm assertions, Enabled stolen memory v17: Addressed comments v18: Rebased and fixed issue v19: Rebased and added 2 more patches to report mappable and stolen size numbers 1. drm/i915: Extend GET_APERTURE ioctl to report available map space 2. drm/i915: Extend GET_APERTURE ioctl to report size of the stolen region v20: Rebased and squashed last 2 patches into one. This can be verified using IGT tests: igt/gem_stolen, igt/gem_create, igt/gem_pread, igt/gem_pwrite Ankitprasad Sharma (7): drm/i915: Use insert_page for pwrite_fast drm/i915: Clearing buffer objects via CPU/GTT drm/i915: Support for creating Stolen memory backed objects drm/i915: Propagating correct error codes to the userspace drm/i915: Support for pread/pwrite from/to non shmem backed objects drm/i915: Disable use of stolen area by User when Intel RST is present drm/i915: Extend GET_APERTURE ioctl to report available map space Chris Wilson (4): drm/i915: Add support for mapping an object page by page drm/i915: Introduce i915_gem_object_get_dma_address() drm/i915: Add support for stealing purgable stolen pages drm/i915: Migrate stolen objects before hibernation drivers/char/agp/intel-gtt.c | 8 + drivers/gpu/drm/i915/i915_debugfs.c | 149 ++++++- drivers/gpu/drm/i915/i915_dma.c | 3 + drivers/gpu/drm/i915/i915_drv.c | 22 +- drivers/gpu/drm/i915/i915_drv.h | 61 ++- drivers/gpu/drm/i915/i915_gem.c | 626 ++++++++++++++++++++++++--- drivers/gpu/drm/i915/i915_gem_gtt.c | 66 ++- drivers/gpu/drm/i915/i915_gem_gtt.h | 5 + drivers/gpu/drm/i915/i915_gem_render_state.c | 7 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 306 +++++++++++-- drivers/gpu/drm/i915/i915_guc_submission.c | 50 ++- drivers/gpu/drm/i915/intel_acpi.c | 7 + drivers/gpu/drm/i915/intel_display.c | 5 +- drivers/gpu/drm/i915/intel_fbdev.c | 8 +- drivers/gpu/drm/i915/intel_overlay.c | 3 +- drivers/gpu/drm/i915/intel_pm.c | 13 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 10 +- include/drm/intel-gtt.h | 3 + include/uapi/drm/i915_drm.h | 58 +++ 19 files changed, 1262 insertions(+), 148 deletions(-)
From: Ankitprasad Sharma <ankitprasad.r.sharma@intel.com> This patch series adds support for creating/using Stolen memory backed objects. Despite being a unified memory architecture (UMA) some bits of memory are more equal than others. In particular we have the thorny issue of stolen memory, memory stolen from the system by the BIOS and reserved for igfx use. Stolen memory is required for some functions of the GPU and display engine, but in general it goes wasted. Whilst we cannot return it back to the system, we need to find some other method for utilising it. As we do not support direct access to the physical address in the stolen region, it behaves like a different class of memory, closer in kin to local GPU memory. This strongly suggests that we need a placement model like TTM if we are to fully utilize these discrete chunks of differing memory. To add support for creating Stolen memory backed objects, we extend the drm_i915_gem_create structure, by adding a new flag through which user can specify the preference to allocate the object from stolen memory, which if set, an attempt will be made to allocate the object from stolen memory subject to the availability of free space in the stolen region. This patch series adds support for clearing buffer objects via CPU/GTT. This is particularly useful for clearing out the memory from stolen region, but can also be used for other shmem allocated objects. Currently being used for buffers allocated in the stolen region. Also adding support for stealing purgable stolen pages, if we run out of stolen memory when trying to allocate an object. v2: Added support for read/write from/to objects not backed by shmem using the pread/pwrite interface. Also extended the current get_aperture ioctl to retrieve the total and available size of the stolen region. v3: Removed the extended get_aperture ioctl patch 5 (to be submitted as part of other patch series), addressed comments by Chris about pread/pwrite for non shmem backed objects. v4: Rebased to the latest drm-intel-nightly. v5: Addressed comments, replaced patch 1/4 "Clearing buffers via blitter engine" by "Clearing buffers via CPU/GTT". v6: Rebased to the latest drm-intel-nightly, Addressed comments, updated stolen memory purging logic by maintaining a list for purgable stolen memory objects, enabled pread/pwrite for all non-shmem backed objects without tiling restrictions. v7: Addressed comments, compiler optimization, new patch added for correct error code propagation to the userspace. v8: Added a new patch to the series to Migrate stolen objects before hibernation, as stolen memory is not preserved across hibernation. Added correct error propagation for shmem as well non-shmem backed object allocation. v9: Addressed comments, use of insert_page helper function to map object page by page which can be helpful in low aperture space availability. v10: Addressed comments, use insert_page for clearing out the stolen memory v11: Addressed comments, 3 new patches added to support allocation from Stolen memory 1. Allow use of i915_gem_object_get_dma_address for stolen backed objects 2. Use insert_page for pwrite_fast 3. Fail the execbuff using stolen objects as batchbuffers v12: Addressed comments, Removed patch "Fail the execbuff using stolen objects as batchbuffers" v13: Addressed comments, Added 2 patches to detect Intel RST and disable stolen for persistent data if RST device found 1. acpi: Export acpi_bus_type 2. drm/i915: Disable use of stolen area by User when Intel RST is present v14: Addressed comments, Added 2 base patches to the series 1. drm/i915: Add support for mapping an object page by page 2. drm/i915: Introduce i915_gem_object_get_dma_address() v15: Addressed comments, Disabled stolen memory by default v16: Addressed comments, Added low level rpm assertions, Enabled stolen memory v17: Addressed comments v18: Rebased and fixed issue v19: Rebased and added 2 more patches to report mappable and stolen size numbers 1. drm/i915: Extend GET_APERTURE ioctl to report available map space 2. drm/i915: Extend GET_APERTURE ioctl to report size of the stolen region v20: Rebased and squashed last 2 patches into one. v21: Rebased and resolved conflicts. This can be verified using IGT tests: igt/gem_stolen, igt/gem_create, igt/gem_pread, igt/gem_pwrite Ankitprasad Sharma (7): drm/i915: Use insert_page for pwrite_fast drm/i915: Clearing buffer objects via CPU/GTT drm/i915: Support for creating Stolen memory backed objects drm/i915: Propagating correct error codes to the userspace drm/i915: Support for pread/pwrite from/to non shmem backed objects drm/i915: Disable use of stolen area by User when Intel RST is present drm/i915: Extend GET_APERTURE ioctl to report available map space Chris Wilson (4): drm/i915: Add support for mapping an object page by page drm/i915: Introduce i915_gem_object_get_dma_address() drm/i915: Add support for stealing purgable stolen pages drm/i915: Migrate stolen objects before hibernation drivers/char/agp/intel-gtt.c | 8 + drivers/gpu/drm/i915/i915_debugfs.c | 149 ++++++- drivers/gpu/drm/i915/i915_dma.c | 3 + drivers/gpu/drm/i915/i915_drv.c | 22 +- drivers/gpu/drm/i915/i915_drv.h | 61 ++- drivers/gpu/drm/i915/i915_gem.c | 626 ++++++++++++++++++++++++--- drivers/gpu/drm/i915/i915_gem_gtt.c | 66 ++- drivers/gpu/drm/i915/i915_gem_gtt.h | 5 + drivers/gpu/drm/i915/i915_gem_render_state.c | 7 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 306 +++++++++++-- drivers/gpu/drm/i915/i915_guc_submission.c | 50 ++- drivers/gpu/drm/i915/intel_acpi.c | 7 + drivers/gpu/drm/i915/intel_display.c | 5 +- drivers/gpu/drm/i915/intel_fbdev.c | 8 +- drivers/gpu/drm/i915/intel_overlay.c | 3 +- drivers/gpu/drm/i915/intel_pm.c | 13 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 10 +- include/drm/intel-gtt.h | 3 + include/uapi/drm/i915_drm.h | 58 +++ 19 files changed, 1262 insertions(+), 148 deletions(-)
From: Ankitprasad Sharma <ankitprasad.r.sharma@intel.com> This patch series adds support for creating/using Stolen memory backed objects. Despite being a unified memory architecture (UMA) some bits of memory are more equal than others. In particular we have the thorny issue of stolen memory, memory stolen from the system by the BIOS and reserved for igfx use. Stolen memory is required for some functions of the GPU and display engine, but in general it goes wasted. Whilst we cannot return it back to the system, we need to find some other method for utilising it. As we do not support direct access to the physical address in the stolen region, it behaves like a different class of memory, closer in kin to local GPU memory. This strongly suggests that we need a placement model like TTM if we are to fully utilize these discrete chunks of differing memory. To add support for creating Stolen memory backed objects, we extend the drm_i915_gem_create structure, by adding a new flag through which user can specify the preference to allocate the object from stolen memory, which if set, an attempt will be made to allocate the object from stolen memory subject to the availability of free space in the stolen region. This patch series adds support for clearing buffer objects via CPU/GTT. This is particularly useful for clearing out the memory from stolen region, but can also be used for other shmem allocated objects. Currently being used for buffers allocated in the stolen region. Also adding support for stealing purgable stolen pages, if we run out of stolen memory when trying to allocate an object. v2: Added support for read/write from/to objects not backed by shmem using the pread/pwrite interface. Also extended the current get_aperture ioctl to retrieve the total and available size of the stolen region. v3: Removed the extended get_aperture ioctl patch 5 (to be submitted as part of other patch series), addressed comments by Chris about pread/pwrite for non shmem backed objects. v4: Rebased to the latest drm-intel-nightly. v5: Addressed comments, replaced patch 1/4 "Clearing buffers via blitter engine" by "Clearing buffers via CPU/GTT". v6: Rebased to the latest drm-intel-nightly, Addressed comments, updated stolen memory purging logic by maintaining a list for purgable stolen memory objects, enabled pread/pwrite for all non-shmem backed objects without tiling restrictions. v7: Addressed comments, compiler optimization, new patch added for correct error code propagation to the userspace. v8: Added a new patch to the series to Migrate stolen objects before hibernation, as stolen memory is not preserved across hibernation. Added correct error propagation for shmem as well non-shmem backed object allocation. v9: Addressed comments, use of insert_page helper function to map object page by page which can be helpful in low aperture space availability. v10: Addressed comments, use insert_page for clearing out the stolen memory v11: Addressed comments, 3 new patches added to support allocation from Stolen memory 1. Allow use of i915_gem_object_get_dma_address for stolen backed objects 2. Use insert_page for pwrite_fast 3. Fail the execbuff using stolen objects as batchbuffers v12: Addressed comments, Removed patch "Fail the execbuff using stolen objects as batchbuffers" v13: Addressed comments, Added 2 patches to detect Intel RST and disable stolen for persistent data if RST device found 1. acpi: Export acpi_bus_type 2. drm/i915: Disable use of stolen area by User when Intel RST is present v14: Addressed comments, Added 2 base patches to the series 1. drm/i915: Add support for mapping an object page by page 2. drm/i915: Introduce i915_gem_object_get_dma_address() v15: Addressed comments, Disabled stolen memory by default v16: Addressed comments, Added low level rpm assertions, Enabled stolen memory v17: Addressed comments v18: Rebased and fixed issue v19: Rebased and added 2 more patches to report mappable and stolen size numbers 1. drm/i915: Extend GET_APERTURE ioctl to report available map space 2. drm/i915: Extend GET_APERTURE ioctl to report size of the stolen region v20: Rebased and squashed last 2 patches into one. v21: Rebased and resolved conflicts. v22: Rebased again. This can be verified using IGT tests: igt/gem_stolen, igt/gem_create, igt/gem_pread, igt/gem_pwrite Ankitprasad Sharma (7): drm/i915: Use insert_page for pwrite_fast drm/i915: Clearing buffer objects via CPU/GTT drm/i915: Support for creating Stolen memory backed objects drm/i915: Propagating correct error codes to the userspace drm/i915: Support for pread/pwrite from/to non shmem backed objects drm/i915: Disable use of stolen area by User when Intel RST is present drm/i915: Extend GET_APERTURE ioctl to report available map space Chris Wilson (4): drm/i915: Add support for mapping an object page by page drm/i915: Introduce i915_gem_object_get_dma_address() drm/i915: Add support for stealing purgable stolen pages drm/i915: Migrate stolen objects before hibernation drivers/char/agp/intel-gtt.c | 8 + drivers/gpu/drm/i915/i915_debugfs.c | 149 ++++++- drivers/gpu/drm/i915/i915_dma.c | 3 + drivers/gpu/drm/i915/i915_drv.c | 22 +- drivers/gpu/drm/i915/i915_drv.h | 61 ++- drivers/gpu/drm/i915/i915_gem.c | 626 ++++++++++++++++++++++++--- drivers/gpu/drm/i915/i915_gem_gtt.c | 66 ++- drivers/gpu/drm/i915/i915_gem_gtt.h | 5 + drivers/gpu/drm/i915/i915_gem_render_state.c | 7 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 306 +++++++++++-- drivers/gpu/drm/i915/i915_guc_submission.c | 50 ++- drivers/gpu/drm/i915/intel_acpi.c | 7 + drivers/gpu/drm/i915/intel_display.c | 5 +- drivers/gpu/drm/i915/intel_fbdev.c | 8 +- drivers/gpu/drm/i915/intel_overlay.c | 3 +- drivers/gpu/drm/i915/intel_pm.c | 13 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 10 +- include/drm/intel-gtt.h | 3 + include/uapi/drm/i915_drm.h | 58 +++ 19 files changed, 1262 insertions(+), 148 deletions(-)
HEAD is now at 62e794c drm-intel-nightly: 2015y-12m-09d-10h-43m-09s UTC integration manifest Applying: drm/i915: Clearing buffer objects via CPU/GTT Applying: drm/i915: Support for creating Stolen memory backed objects Repository lacks necessary blobs to fall back on 3-way merge. Cannot fall back to three-way merge. Patch failed at 0002 drm/i915: Support for creating Stolen memory backed objects
Testing [1/6] drm/i915: Clearing buffer objects via CPU/GTT WARNING: memory barrier without comment #95: FILE: drivers/gpu/drm/i915/i915_gem.c:5287: + wmb(); WARNING: memory barrier without comment #101: FILE: drivers/gpu/drm/i915/i915_gem.c:5293: + wmb(); WARNING: memory barrier without comment #121: FILE: drivers/gpu/drm/i915/i915_gem.c:5313: + wmb(); ERROR: else should follow close brace '}' #128: FILE: drivers/gpu/drm/i915/i915_gem.c:5320: + } + else { Your patch has style problems, please review. NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. Testing [2/6] drm/i915: Support for creating Stolen memory backed objects WARNING: please, no space before tabs #184: FILE: include/uapi/drm/i915_drm.h:472: +#define I915_CREATE_PLACEMENT_STOLEN ^I(1<<0) /* Cannot use CPU mmaps */$ Your patch has style problems, please review. NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. Testing [3/6] drm/i915: Propagating correct error codes to the userspace Testing [4/6] drm/i915: Add support for stealing purgable stolen pages WARNING: 'seperate' may be misspelled - perhaps 'separate'? #35: Added a seperate list to maintain purgable objects from stolen memory ERROR: Unrecognized email address: 'Chris Wilson <chris at chris-wilson.co.uk>' #52: Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk> WARNING: Avoid crashing the kernel - try using WARN_ON & recovery code rather than BUG() or BUG_ON() #234: FILE: drivers/gpu/drm/i915/i915_gem_stolen.c:598: + BUG_ON(obj->stolen == NULL); Your patch has style problems, please review. NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. Testing [5/6] drm/i915: Support for pread/pwrite from/to non shmem backed objects Testing [6/6] drm/i915: Migrate stolen objects before hibernation ERROR: Unrecognized email address: 'Chris Wilson <chris at chris-wilson.co.uk>' #52: Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk> WARNING: Missing a blank line after declarations #227: FILE: drivers/gpu/drm/i915/i915_gem.c:4772: + struct page *page; + void *__iomem src; WARNING: memory barrier without comment #230: FILE: drivers/gpu/drm/i915/i915_gem.c:4775: + wmb(); WARNING: memory barrier without comment #236: FILE: drivers/gpu/drm/i915/i915_gem.c:4781: + wmb(); WARNING: memory barrier without comment #253: FILE: drivers/gpu/drm/i915/i915_gem.c:4798: + wmb(); WARNING: memory barrier without comment #311: FILE: drivers/gpu/drm/i915/i915_gem.c:4856: + wmb(); Your patch has style problems, please review. NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS.
• Testing [1/9] drm/i915: Allow use of get_dma_address for stolen backed objects • Testing [2/9] drm/i915: Use insert_page for pwrite_fast WARNING: Missing a blank line after declarations #129: FILE: drivers/gpu/drm/i915/i915_gem.c:826: + unsigned page_length = PAGE_SIZE - page_offset; + page_length = remain < page_length ? remain : page_length; WARNING: memory barrier without comment #131: FILE: drivers/gpu/drm/i915/i915_gem.c:828: + wmb(); WARNING: line over 100 characters #133: FILE: drivers/gpu/drm/i915/i915_gem.c:830: + i915_gem_object_get_dma_address(obj, offset >> PAGE_SHIFT), WARNING: memory barrier without comment #137: FILE: drivers/gpu/drm/i915/i915_gem.c:834: + wmb(); WARNING: memory barrier without comment #156: FILE: drivers/gpu/drm/i915/i915_gem.c:857: + wmb(); ERROR: else should follow close brace '}' #163: FILE: drivers/gpu/drm/i915/i915_gem.c:864: + } + else { Your patch has style problems, please review. NOTE: Ignored message types: BLOCK_COMMENT_STYLE COMMIT_LOG_LONG_LINE COMPLEX_MACRO GIT_COMMIT_ID SPLIT_STRING NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. • Testing [3/9] drm/i915: Clearing buffer objects via CPU/GTT WARNING: memory barrier without comment #82: FILE: drivers/gpu/drm/i915/i915_gem.c:5321: + wmb(); WARNING: memory barrier without comment #87: FILE: drivers/gpu/drm/i915/i915_gem.c:5326: + wmb(); WARNING: memory barrier without comment #91: FILE: drivers/gpu/drm/i915/i915_gem.c:5330: + wmb(); Your patch has style problems, please review. NOTE: Ignored message types: BLOCK_COMMENT_STYLE COMMIT_LOG_LONG_LINE COMPLEX_MACRO GIT_COMMIT_ID SPLIT_STRING NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. • Testing [4/9] drm/i915: Support for creating Stolen memory backed objects WARNING: please, no space before tabs #184: FILE: include/uapi/drm/i915_drm.h:473: +#define I915_CREATE_PLACEMENT_STOLEN ^I(1<<0) /* Cannot use CPU mmaps */$ Your patch has style problems, please review. NOTE: Ignored message types: BLOCK_COMMENT_STYLE COMMIT_LOG_LONG_LINE COMPLEX_MACRO GIT_COMMIT_ID SPLIT_STRING NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. • Testing [5/9] drm/i915: Propagating correct error codes to the userspace ERROR: "(foo*)" should be "(foo *)" #187: FILE: drivers/gpu/drm/i915/i915_gem_stolen.c:573: + return (void*) obj->pages; Your patch has style problems, please review. NOTE: Ignored message types: BLOCK_COMMENT_STYLE COMMIT_LOG_LONG_LINE COMPLEX_MACRO GIT_COMMIT_ID SPLIT_STRING NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. • Testing [6/9] drm/i915: Add support for stealing purgable stolen pages WARNING: 'seperate' may be misspelled - perhaps 'separate'? #35: Added a seperate list to maintain purgable objects from stolen memory ERROR: Unrecognized email address: 'Chris Wilson <chris at chris-wilson.co.uk>' #54: Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk> WARNING: Avoid crashing the kernel - try using WARN_ON & recovery code rather than BUG() or BUG_ON() #236: FILE: drivers/gpu/drm/i915/i915_gem_stolen.c:596: + BUG_ON(obj->stolen == NULL); ERROR: "(foo*)" should be "(foo *)" #390: FILE: drivers/gpu/drm/i915/i915_gem_stolen.c:743: + return (void*) stolen; Your patch has style problems, please review. NOTE: Ignored message types: BLOCK_COMMENT_STYLE COMMIT_LOG_LONG_LINE COMPLEX_MACRO GIT_COMMIT_ID SPLIT_STRING NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. • Testing [7/9] drm/i915: Support for pread/pwrite from/to non shmem backed objects • Testing [8/9] drm/i915: Migrate stolen objects before hibernation WARNING: 'Splitted' may be misspelled - perhaps 'Split'? #52: v6: Handled file leak, Splitted object migration function, added kerneldoc ERROR: Unrecognized email address: 'Chris Wilson <chris at chris-wilson.co.uk>' #56: Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk> WARNING: Missing a blank line after declarations #200: FILE: drivers/gpu/drm/i915/i915_gem.c:4791: + struct page *page; + void *__iomem src; WARNING: memory barrier without comment #203: FILE: drivers/gpu/drm/i915/i915_gem.c:4794: + wmb(); WARNING: memory barrier without comment #209: FILE: drivers/gpu/drm/i915/i915_gem.c:4800: + wmb(); WARNING: memory barrier without comment #226: FILE: drivers/gpu/drm/i915/i915_gem.c:4817: + wmb(); Your patch has style problems, please review. NOTE: Ignored message types: BLOCK_COMMENT_STYLE COMMIT_LOG_LONG_LINE COMPLEX_MACRO GIT_COMMIT_ID SPLIT_STRING NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. • Testing [9/9] drm/i915: Fail the execbuff using stolen objects as batchbuffers
• Testing [1/9] drm/i915: Allow use of get_dma_address for stolen backed objects • Testing [2/9] drm/i915: Use insert_page for pwrite_fast WARNING: Missing a blank line after declarations #129: FILE: drivers/gpu/drm/i915/i915_gem.c:826: + unsigned page_length = PAGE_SIZE - page_offset; + page_length = remain < page_length ? remain : page_length; WARNING: memory barrier without comment #131: FILE: drivers/gpu/drm/i915/i915_gem.c:828: + wmb(); WARNING: line over 100 characters #133: FILE: drivers/gpu/drm/i915/i915_gem.c:830: + i915_gem_object_get_dma_address(obj, offset >> PAGE_SHIFT), WARNING: memory barrier without comment #137: FILE: drivers/gpu/drm/i915/i915_gem.c:834: + wmb(); WARNING: memory barrier without comment #156: FILE: drivers/gpu/drm/i915/i915_gem.c:857: + wmb(); ERROR: else should follow close brace '}' #163: FILE: drivers/gpu/drm/i915/i915_gem.c:864: + } + else { Your patch has style problems, please review. NOTE: Ignored message types: BLOCK_COMMENT_STYLE COMMIT_LOG_LONG_LINE COMPLEX_MACRO GIT_COMMIT_ID SPLIT_STRING NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. • Testing [3/9] drm/i915: Clearing buffer objects via CPU/GTT WARNING: memory barrier without comment #82: FILE: drivers/gpu/drm/i915/i915_gem.c:5321: + wmb(); WARNING: memory barrier without comment #87: FILE: drivers/gpu/drm/i915/i915_gem.c:5326: + wmb(); WARNING: memory barrier without comment #91: FILE: drivers/gpu/drm/i915/i915_gem.c:5330: + wmb(); Your patch has style problems, please review. NOTE: Ignored message types: BLOCK_COMMENT_STYLE COMMIT_LOG_LONG_LINE COMPLEX_MACRO GIT_COMMIT_ID SPLIT_STRING NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. • Testing [4/9] drm/i915: Support for creating Stolen memory backed objects WARNING: please, no space before tabs #184: FILE: include/uapi/drm/i915_drm.h:473: +#define I915_CREATE_PLACEMENT_STOLEN ^I(1<<0) /* Cannot use CPU mmaps */$ Your patch has style problems, please review. NOTE: Ignored message types: BLOCK_COMMENT_STYLE COMMIT_LOG_LONG_LINE COMPLEX_MACRO GIT_COMMIT_ID SPLIT_STRING NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. • Testing [5/9] drm/i915: Propagating correct error codes to the userspace ERROR: "(foo*)" should be "(foo *)" #187: FILE: drivers/gpu/drm/i915/i915_gem_stolen.c:573: + return (void*) obj->pages; Your patch has style problems, please review. NOTE: Ignored message types: BLOCK_COMMENT_STYLE COMMIT_LOG_LONG_LINE COMPLEX_MACRO GIT_COMMIT_ID SPLIT_STRING NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. • Testing [6/9] drm/i915: Add support for stealing purgable stolen pages WARNING: 'seperate' may be misspelled - perhaps 'separate'? #35: Added a seperate list to maintain purgable objects from stolen memory ERROR: Unrecognized email address: 'Chris Wilson <chris at chris-wilson.co.uk>' #54: Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk> WARNING: Avoid crashing the kernel - try using WARN_ON & recovery code rather than BUG() or BUG_ON() #236: FILE: drivers/gpu/drm/i915/i915_gem_stolen.c:596: + BUG_ON(obj->stolen == NULL); ERROR: "(foo*)" should be "(foo *)" #390: FILE: drivers/gpu/drm/i915/i915_gem_stolen.c:743: + return (void*) stolen; Your patch has style problems, please review. NOTE: Ignored message types: BLOCK_COMMENT_STYLE COMMIT_LOG_LONG_LINE COMPLEX_MACRO GIT_COMMIT_ID SPLIT_STRING NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. • Testing [8/9] drm/i915: Migrate stolen objects before hibernation WARNING: 'Splitted' may be misspelled - perhaps 'Split'? #52: v6: Handled file leak, Splitted object migration function, added kerneldoc ERROR: Unrecognized email address: 'Chris Wilson <chris at chris-wilson.co.uk>' #56: Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk> WARNING: Missing a blank line after declarations #200: FILE: drivers/gpu/drm/i915/i915_gem.c:4791: + struct page *page; + void *__iomem src; WARNING: memory barrier without comment #203: FILE: drivers/gpu/drm/i915/i915_gem.c:4794: + wmb(); WARNING: memory barrier without comment #209: FILE: drivers/gpu/drm/i915/i915_gem.c:4800: + wmb(); WARNING: memory barrier without comment #226: FILE: drivers/gpu/drm/i915/i915_gem.c:4817: + wmb(); Your patch has style problems, please review. NOTE: Ignored message types: BLOCK_COMMENT_STYLE COMMIT_LOG_LONG_LINE COMPLEX_MACRO GIT_COMMIT_ID SPLIT_STRING NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. • Testing [9/9] drm/i915: Fail the execbuff using stolen objects as batchbuffers
Built on 058740f8fced6851aeda34f366f5330322cd585f drm-intel-nightly: 2016y-01m-13d-17h-07m-44s UTC integration manifest Test gem_pread: Subgroup basic: pass -> FAIL (snb-dellxps) Test gem_pwrite: Subgroup basic: pass -> FAIL (snb-dellxps) Test kms_flip: Subgroup basic-flip-vs-dpms: dmesg-warn -> PASS (ilk-hp8440p) bdw-ultra total:138 pass:132 dwarn:0 dfail:0 fail:0 skip:6 bsw-nuc-2 total:141 pass:115 dwarn:2 dfail:0 fail:0 skip:24 hsw-brixbox total:141 pass:134 dwarn:0 dfail:0 fail:0 skip:7 ilk-hp8440p total:141 pass:101 dwarn:3 dfail:0 fail:0 skip:37 ivb-t430s total:135 pass:122 dwarn:3 dfail:4 fail:0 skip:6 skl-i5k-2 total:141 pass:131 dwarn:2 dfail:0 fail:0 skip:8 skl-i7k-2 total:141 pass:131 dwarn:2 dfail:0 fail:0 skip:8 snb-dellxps total:141 pass:120 dwarn:5 dfail:0 fail:2 skip:14 snb-x220t total:141 pass:122 dwarn:5 dfail:0 fail:1 skip:13 Results at /archive/results/CI_IGT_test/Patchwork_1182/
Series 659v10 Support for creating/using Stolen memory backed objects 2016-02-19T07:14:23.836239 http://patchwork.freedesktop.org/api/1.0/series/659/revisions/10/mbox/ Applying: drm/i915: Add support for mapping an object page by page Applying: drm/i915: Introduce i915_gem_object_get_dma_address() Applying: drm/i915: Use insert_page for pwrite_fast Applying: drm/i915: Clearing buffer objects via CPU/GTT Applying: drm/i915: Support for creating Stolen memory backed objects Applying: drm/i915: Propagating correct error codes to the userspace Repository lacks necessary blobs to fall back on 3-way merge. Cannot fall back to three-way merge. Patch failed at 0006 drm/i915: Propagating correct error codes to the userspace
Series 659v11 Support for creating/using Stolen memory backed objects http://patchwork.freedesktop.org/api/1.0/series/659/revisions/11/mbox/ Test gem_pread: Subgroup basic: pass -> FAIL (snb-dellxps) Test gem_pwrite: Subgroup basic: pass -> FAIL (snb-dellxps) Test kms_flip: Subgroup basic-flip-vs-dpms: pass -> DMESG-WARN (skl-i7k-2) dmesg-warn -> PASS (ilk-hp8440p) UNSTABLE Subgroup basic-flip-vs-modeset: incomplete -> PASS (ilk-hp8440p) UNSTABLE Test kms_force_connector_basic: Subgroup force-connector-state: pass -> SKIP (snb-x220t) Subgroup force-load-detect: fail -> DMESG-FAIL (snb-dellxps) dmesg-fail -> FAIL (ilk-hp8440p) Subgroup prune-stale-modes: pass -> SKIP (snb-x220t) Test kms_pipe_crc_basic: Subgroup nonblocking-crc-pipe-b-frame-sequence: pass -> SKIP (hsw-brixbox) Subgroup suspend-read-crc-pipe-b: incomplete -> PASS (hsw-gt2) Test pm_rpm: Subgroup basic-rte: pass -> FAIL (bdw-nuci7) bdw-nuci7 total:166 pass:154 dwarn:0 dfail:0 fail:1 skip:11 bdw-ultra total:169 pass:155 dwarn:0 dfail:0 fail:0 skip:14 bsw-nuc-2 total:169 pass:138 dwarn:0 dfail:0 fail:1 skip:30 byt-nuc total:169 pass:144 dwarn:0 dfail:0 fail:0 skip:25 hsw-brixbox total:169 pass:154 dwarn:0 dfail:0 fail:0 skip:15 hsw-gt2 total:169 pass:158 dwarn:0 dfail:1 fail:0 skip:10 ilk-hp8440p total:169 pass:119 dwarn:0 dfail:0 fail:1 skip:49 ivb-t430s total:169 pass:154 dwarn:0 dfail:0 fail:1 skip:14 skl-i7k-2 total:169 pass:151 dwarn:2 dfail:0 fail:0 skip:16 snb-dellxps total:169 pass:144 dwarn:0 dfail:1 fail:2 skip:22 snb-x220t total:169 pass:144 dwarn:0 dfail:0 fail:2 skip:23 Results at /archive/results/CI_IGT_test/Patchwork_1489/ e511a05b4b3bb4d1dbca99b00af6d0dc0a65d295 drm-intel-nightly: 2016y-02m-26d-13h-42m-46s UTC integration manifest 66f34b0664db2044eaece9035b64bdd85eb75813 drm/i915: Disable use of stolen area by User when Intel RST is present 277c4d738f58dab862f41f214d1c41b06d245bf0 drm/i915: Migrate stolen objects before hibernation d0b65035617d04725634e274683569537f417bb3 drm/i915: Support for pread/pwrite from/to non shmem backed objects 8203b788d65c03e1c5d41d01cae7f52434ca8909 drm/i915: Add support for stealing purgable stolen pages 7e9fb703d0de1bf2bfa44de5b203ef13c4a1ce7c drm/i915: Propagating correct error codes to the userspace 257b8081695c8bff5ba8fa9f83a28218f64a42b1 drm/i915: Support for creating Stolen memory backed objects 0bf433c7e12e67e22d76afbaf77826c4476dec31 drm/i915: Clearing buffer objects via CPU/GTT d8e9d940a63808dfcd9f37e4a95030a904766eeb drm/i915: Use insert_page for pwrite_fast b954c2819342aa33f5647c8bc9e65df299841c6e drm/i915: Introduce i915_gem_object_get_dma_address() 4250954d2d02b016eb59695f096d4b66d689e217 drm/i915: Add support for mapping an object page by page
Series 659v12 Support for creating/using Stolen memory backed objects http://patchwork.freedesktop.org/api/1.0/series/659/revisions/12/mbox/ Test gem_ringfill: Subgroup basic-default-s3: dmesg-warn -> PASS (skl-nuci5) Test gem_storedw_loop: Subgroup basic-default: dmesg-warn -> PASS (skl-nuci5) Test gem_sync: Subgroup basic-vebox: dmesg-warn -> PASS (skl-nuci5) Test kms_frontbuffer_tracking: Subgroup basic: dmesg-warn -> PASS (hsw-gt2) Test kms_pipe_crc_basic: Subgroup read-crc-pipe-a-frame-sequence: dmesg-warn -> PASS (hsw-gt2) Subgroup read-crc-pipe-b-frame-sequence: pass -> DMESG-WARN (hsw-gt2) Subgroup read-crc-pipe-c: pass -> DMESG-WARN (hsw-gt2) Subgroup suspend-read-crc-pipe-c: dmesg-warn -> PASS (bsw-nuc-2) bdw-ultra total:194 pass:172 dwarn:1 dfail:0 fail:0 skip:21 bsw-nuc-2 total:194 pass:156 dwarn:1 dfail:0 fail:0 skip:37 byt-nuc total:194 pass:155 dwarn:4 dfail:0 fail:0 skip:35 hsw-brixbox total:194 pass:171 dwarn:1 dfail:0 fail:0 skip:22 hsw-gt2 total:194 pass:174 dwarn:3 dfail:0 fail:0 skip:17 ivb-t430s total:194 pass:168 dwarn:1 dfail:0 fail:0 skip:25 skl-i5k-2 total:194 pass:170 dwarn:1 dfail:0 fail:0 skip:23 skl-i7k-2 total:194 pass:170 dwarn:1 dfail:0 fail:0 skip:23 skl-nuci5 total:194 pass:182 dwarn:1 dfail:0 fail:0 skip:11 Results at /archive/results/CI_IGT_test/Patchwork_1639/ 10e913a48ca36790da9b58bed8729598ea79ebdb drm-intel-nightly: 2016y-03m-17d-13h-22m-41s UTC integration manifest a33c5e5ef7d25051677decad5dbb56fd57d6c5e6 drm/i915: Disable use of stolen area by User when Intel RST is present 125421c6924cfc7f5a12665261972964f958643c drm/i915: Migrate stolen objects before hibernation ba20ee3bc2135fc7ab5c298e7e49d1b958bd713a drm/i915: Support for pread/pwrite from/to non shmem backed objects 768f7acfea69c8b9aa60de167a9c6b9dc3ec6233 drm/i915: Add support for stealing purgable stolen pages 727695e43033e3adef6c494689eb790b4cebdfb9 drm/i915: Propagating correct error codes to the userspace 01a610e77b3a53cfd098bfd1480998588be7a365 drm/i915: Support for creating Stolen memory backed objects 0a35d991c4066e37a795b341564dadc639513fb0 drm/i915: Clearing buffer objects via CPU/GTT e50ab57a0682b743a1a1b70abebddbdff3a4c581 drm/i915: Use insert_page for pwrite_fast 43a70c2afadb9ee62b99c3c4c818719e17a94366 drm/i915: Introduce i915_gem_object_get_dma_address() 1547273f797c2b40a65b9c885e7a1a234b3e6bd5 drm/i915: Add support for mapping an object page by page
Series 659v13 Support for creating/using Stolen memory backed objects http://patchwork.freedesktop.org/api/1.0/series/659/revisions/13/mbox/ Test kms_flip: Subgroup basic-flip-vs-wf_vblank: pass -> FAIL (ilk-hp8440p) UNSTABLE byt-nuc total:192 pass:154 dwarn:0 dfail:0 fail:0 skip:38 ilk-hp8440p total:193 pass:135 dwarn:0 dfail:0 fail:1 skip:57 Results at /archive/results/CI_IGT_test/Patchwork_2043/ 1e81bacf1f7fdbdf83f46b55389713fa13cb1256 drm-intel-nightly: 2016y-04m-24d-10h-36m-11s UTC integration manifest 8d71fcc drm/i915: Support for creating Stolen memory backed objects c3b4827 drm/i915: Clearing buffer objects via CPU/GTT 4c32deb drm/i915: Use insert_page for pwrite_fast 60691ca drm/i915: Introduce i915_gem_object_get_dma_address() 8d8d087 drm/i915: Add support for mapping an object page by page
Test kms_flip: Subgroup basic-flip-vs-dpms: pass -> SKIP (ro-bdw-i5-5250u) Test kms_pipe_crc_basic: Subgroup nonblocking-crc-pipe-c: pass -> SKIP (ro-bdw-i5-5250u) fi-byt-n2820 total:191 pass:153 dwarn:0 dfail:0 fail:0 skip:38 fi-skl-i7-6700k total:192 pass:167 dwarn:0 dfail:0 fail:0 skip:25 ro-bdw-i5-5250u total:192 pass:173 dwarn:1 dfail:0 fail:0 skip:18 ro-bdw-i7-5600u total:192 pass:169 dwarn:0 dfail:0 fail:0 skip:23 ro-byt-n2820 total:192 pass:158 dwarn:0 dfail:0 fail:0 skip:34 ro-hsw-i3-4010u total:192 pass:169 dwarn:0 dfail:0 fail:0 skip:23 ro-hsw-i7-4770r total:192 pass:169 dwarn:0 dfail:0 fail:0 skip:23 ro-ilk1-i5-650 total:191 pass:134 dwarn:0 dfail:0 fail:0 skip:57 ro-ivb-i7-3770 total:192 pass:159 dwarn:0 dfail:0 fail:0 skip:33 ro-ivb3-i7-3770 total:192 pass:163 dwarn:0 dfail:0 fail:0 skip:29 ro-skl-i7-6700hq total:13 pass:12 dwarn:0 dfail:0 fail:0 skip:1 ro-skl2-4405Y total:192 pass:169 dwarn:1 dfail:0 fail:0 skip:22 BOOT FAILED for ro-bsw-n3050 BOOT FAILED for ro-ilk-i7-620lm BOOT FAILED for ro-skl-i7-6700hq Results at /archive/results/CI_IGT_test/RO_Patchwork_631/ 16dfbb6 drm-intel-nightly: 2016y-04m-20d-12h-50m-59s UTC integration manifest 07d52c3 drm/i915: Extend GET_APERTURE ioctl to report size of the stolen region e682b82 drm/i915: Extend GET_APERTURE ioctl to report available map space 318894c drm/i915: Disable use of stolen area by User when Intel RST is present 693de97 drm/i915: Migrate stolen objects before hibernation 88fb569 drm/i915: Support for pread/pwrite from/to non shmem backed objects c324d56 drm/i915: Add support for stealing purgable stolen pages b9a31fe drm/i915: Propagating correct error codes to the userspace eb27df9 drm/i915: Support for creating Stolen memory backed objects 7907798 drm/i915: Clearing buffer objects via CPU/GTT 7f6c1ef drm/i915: Use insert_page for pwrite_fast 9a37e73 drm/i915: Introduce i915_gem_object_get_dma_address() 1878870 drm/i915: Add support for mapping an object page by page
Applying: drm/i915: Add support for mapping an object page by page Applying: drm/i915: Introduce i915_gem_object_get_dma_address() Applying: drm/i915: Use insert_page for pwrite_fast Using index info to reconstruct a base tree... M drivers/gpu/drm/i915/i915_gem.c Falling back to patching base and 3-way merge... Auto-merging drivers/gpu/drm/i915/i915_gem.c CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/i915_gem.c Patch failed at 0003 drm/i915: Use insert_page for pwrite_fast The copy of the patch that failed is found in: .git/rebase-apply/patch When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort".
Applying: drm/i915: Add support for mapping an object page by page Applying: drm/i915: Introduce i915_gem_object_get_dma_address() Applying: drm/i915: Use insert_page for pwrite_fast Applying: drm/i915: Clearing buffer objects via CPU/GTT Applying: drm/i915: Support for creating Stolen memory backed objects Applying: drm/i915: Propagating correct error codes to the userspace fatal: sha1 information is lacking or useless (drivers/gpu/drm/i915/i915_gem.c). error: could not build fake ancestor Patch failed at 0006 drm/i915: Propagating correct error codes to the userspace The copy of the patch that failed is found in: .git/rebase-apply/patch When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort".
Series 659v17 Support for creating/using Stolen memory backed objects http://patchwork.freedesktop.org/api/1.0/series/659/revisions/17/mbox fi-bdw-i7-5557u total:102 pass:93 dwarn:0 dfail:0 fail:0 skip:8 fi-skl-i5-6260u total:209 pass:198 dwarn:0 dfail:0 fail:0 skip:11 fi-skl-i7-6700k total:209 pass:184 dwarn:0 dfail:0 fail:0 skip:25 fi-snb-i7-2600 total:209 pass:170 dwarn:0 dfail:0 fail:0 skip:39 ro-bdw-i5-5250u total:183 pass:172 dwarn:0 dfail:0 fail:0 skip:10 ro-bdw-i7-5600u total:183 pass:154 dwarn:0 dfail:0 fail:0 skip:28 ro-bsw-n3050 total:208 pass:167 dwarn:0 dfail:0 fail:2 skip:39 ro-byt-n2820 total:208 pass:168 dwarn:0 dfail:0 fail:3 skip:37 ro-hsw-i3-4010u total:208 pass:185 dwarn:0 dfail:0 fail:0 skip:23 ro-hsw-i7-4770r total:183 pass:161 dwarn:0 dfail:0 fail:0 skip:21 ro-ilk1-i5-650 total:204 pass:146 dwarn:0 dfail:0 fail:1 skip:57 ro-ivb-i7-3770 total:183 pass:154 dwarn:0 dfail:0 fail:0 skip:28 ro-ivb2-i7-3770 total:183 pass:158 dwarn:0 dfail:0 fail:0 skip:24 ro-snb-i7-2620M total:183 pass:151 dwarn:0 dfail:0 fail:0 skip:31 fi-hsw-i7-4770k failed to connect after reboot ro-bdw-i7-5557U failed to connect after reboot Results at /archive/results/CI_IGT_test/RO_Patchwork_1139/ 131a54b drm-intel-nightly: 2016y-06m-07d-19h-46m-33s UTC integration manifest 5999129 drm/i915: Extend GET_APERTURE ioctl to report available map space bbb5d49 drm/i915: Disable use of stolen area by User when Intel RST is present 2710e78 drm/i915: Migrate stolen objects before hibernation 834ac5c drm/i915: Support for pread/pwrite from/to non shmem backed objects 64de0a8 drm/i915: Add support for stealing purgable stolen pages 37f82e6 drm/i915: Propagating correct error codes to the userspace 0679368 drm/i915: Support for creating Stolen memory backed objects 6f1b112 drm/i915: Clearing buffer objects via CPU/GTT ee9efab drm/i915: Use insert_page for pwrite_fast b8a794a drm/i915: Introduce i915_gem_object_get_dma_address() a424081 drm/i915: Add support for mapping an object page by page