Re: [PATCH] drm/i915: suppress atomic commit error message under gvt-g env

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Ville:
    Thanks for the reply!  :P

Is this error message for the end-user or for debug? If this is for the end-user, only warning one time should be better? I saw a case on Celeron, if this happens, usually this would happen again and agin, the error message could fill all the dmesg. If this is only for debug, should DRM_DEBUG_KMS() would be better?

Anyway, thanks for the reply! :P

Thanks,
Zhi.

于 03/03/17 19:53, Ville Syrjälä 写道:
On Fri, Mar 03, 2017 at 10:56:16AM +0800, Zhi Wang wrote:
Can we directly use DRM_DEBUG_KMS() for this periodic error message?

No. We want to actually know when/if this fails.


On 03/03/17 19:53, bing.niu@xxxxxxxxx wrote:
From: Bing Niu <bing.niu@xxxxxxxxx>

under virtualization enviroment, it is possible guest update pipe
registers across vblank intervals due to overhead of mmio traps or vm
schedule out. However, it is safe since those pipe update happen in
virual registers and will not be committed to hardware. suppress that
atomic commit error message under virtualization case to avoid
confusing user.

Signed-off-by: Bing Niu <bing.niu@xxxxxxxxx>
---
   drivers/gpu/drm/i915/intel_sprite.c | 3 ++-
   1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
index b16a295..5ce1ec6 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -158,6 +158,7 @@ void intel_pipe_update_end(struct intel_crtc *crtc, struct intel_flip_work *work
   	int scanline_end = intel_get_crtc_scanline(crtc);
   	u32 end_vbl_count = intel_crtc_get_vblank_counter(crtc);
   	ktime_t end_vbl_time = ktime_get();
+	struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);

   	if (work) {
   		work->flip_queued_vblank = end_vbl_count;
@@ -184,7 +185,7 @@ void intel_pipe_update_end(struct intel_crtc *crtc, struct intel_flip_work *work
   	local_irq_enable();

   	if (crtc->debug.start_vbl_count &&
-	    crtc->debug.start_vbl_count != end_vbl_count) {
+	    crtc->debug.start_vbl_count != end_vbl_count && !intel_vgpu_active(dev_priv)) {
   		DRM_ERROR("Atomic update failure on pipe %c (start=%u end=%u) time %lld us, min %d, max %d, scanline start %d, end %d\n",
   			  pipe_name(pipe), crtc->debug.start_vbl_count,
   			  end_vbl_count,

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux