Commit 4332473e authored by Jouni Högander's avatar Jouni Högander
Browse files

drm/i915/display: Rename vblank DC workaround functions and variables



We have extended using vblank DC workaround mechanism for
Wa_16025596647. Rename related functions and variables:

vblank_wa_num_pipes -> vblank_enable_count
vblank_dc_work -> vblank_notify_work
intel_display_vblank_dc_work -> intel_display_vblank_notify_work

Signed-off-by: default avatarJouni Högander <jouni.hogander@intel.com>
Reviewed-by: default avatarMika Kahola <mika.kahola@intel.com>
Link: https://lore.kernel.org/r/20250414100508.1208774-14-jouni.hogander@intel.com
parent 9df7215f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -156,7 +156,7 @@ void intel_crtc_vblank_off(const struct intel_crtc_state *crtc_state)

	crtc->vblank_psr_notify = false;

	flush_work(&display->irq.vblank_dc_work);
	flush_work(&display->irq.vblank_notify_work);
}

struct intel_crtc_state *intel_crtc_state_alloc(struct intel_crtc *crtc)
+2 −2
Original line number Diff line number Diff line
@@ -470,9 +470,9 @@ struct intel_display {
		/* For i915gm/i945gm vblank irq workaround */
		u8 vblank_enabled;

		int vblank_wa_num_pipes;
		int vblank_enable_count;

		struct work_struct vblank_dc_work;
		struct work_struct vblank_notify_work;

		u32 de_irq_mask[I915_MAX_PIPES];
		u32 pipestat_irq_mask[I915_MAX_PIPES];
+10 −9
Original line number Diff line number Diff line
@@ -1698,13 +1698,13 @@ static bool gen11_dsi_configure_te(struct intel_crtc *intel_crtc,
	return true;
}

static void intel_display_vblank_dc_work(struct work_struct *work)
static void intel_display_vblank_notify_work(struct work_struct *work)
{
	struct intel_display *display =
		container_of(work, typeof(*display), irq.vblank_dc_work);
	int vblank_wa_num_pipes = READ_ONCE(display->irq.vblank_wa_num_pipes);
		container_of(work, typeof(*display), irq.vblank_notify_work);
	int vblank_enable_count = READ_ONCE(display->irq.vblank_enable_count);

	intel_psr_notify_vblank_enable_disable(display, vblank_wa_num_pipes);
	intel_psr_notify_vblank_enable_disable(display, vblank_enable_count);
}

int bdw_enable_vblank(struct drm_crtc *_crtc)
@@ -1718,8 +1718,8 @@ int bdw_enable_vblank(struct drm_crtc *_crtc)
	if (gen11_dsi_configure_te(crtc, true))
		return 0;

	if (crtc->vblank_psr_notify && display->irq.vblank_wa_num_pipes++ == 0)
		schedule_work(&display->irq.vblank_dc_work);
	if (crtc->vblank_psr_notify && display->irq.vblank_enable_count++ == 0)
		schedule_work(&display->irq.vblank_notify_work);

	spin_lock_irqsave(&dev_priv->irq_lock, irqflags);
	bdw_enable_pipe_irq(display, pipe, GEN8_PIPE_VBLANK);
@@ -1749,8 +1749,8 @@ void bdw_disable_vblank(struct drm_crtc *_crtc)
	bdw_disable_pipe_irq(display, pipe, GEN8_PIPE_VBLANK);
	spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags);

	if (crtc->vblank_psr_notify && --display->irq.vblank_wa_num_pipes == 0)
		schedule_work(&display->irq.vblank_dc_work);
	if (crtc->vblank_psr_notify && --display->irq.vblank_enable_count == 0)
		schedule_work(&display->irq.vblank_notify_work);
}

static u32 vlv_dpinvgtt_pipe_fault_mask(enum pipe pipe)
@@ -2330,7 +2330,8 @@ void intel_display_irq_init(struct intel_display *display)

	intel_hotplug_irq_init(display);

	INIT_WORK(&display->irq.vblank_dc_work, intel_display_vblank_dc_work);
	INIT_WORK(&display->irq.vblank_notify_work,
		  intel_display_vblank_notify_work);
}

struct intel_display_irq_snapshot {