Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 28a8194c authored by Patrik Jakobsson's avatar Patrik Jakobsson
Browse files

drm/gma500/cdv: Add and hook up chip op for watermarks



Add a callback hook to the chip ops struct to allow chips to have their
specific fifo watermark update function. Currently only cdv actually
tries to set wms based on crtc configuration but if/when the other chips
needs it we can attach a callback for them as well.

Signed-off-by: default avatarPatrik Jakobsson <patrik.r.jakobsson@gmail.com>
parent 367e4408
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -656,4 +656,5 @@ const struct psb_ops cdv_chip_ops = {
	.restore_regs = cdv_restore_display_registers,
	.power_down = cdv_power_down,
	.power_up = cdv_power_up,
	.update_wm = cdv_update_wm,
};
+1 −0
Original line number Diff line number Diff line
@@ -26,3 +26,4 @@ extern void cdv_hdmi_init(struct drm_device *dev, struct psb_intel_mode_device *
			int reg);
extern struct drm_display_mode *cdv_intel_crtc_mode_get(struct drm_device *dev,
					     struct drm_crtc *crtc);
extern void cdv_update_wm(struct drm_device *dev, struct drm_crtc *crtc);
+1 −1
Original line number Diff line number Diff line
@@ -532,7 +532,7 @@ void cdv_intel_disable_self_refresh(struct drm_device *dev)

}

void cdv_intel_update_watermark(struct drm_device *dev, struct drm_crtc *crtc)
void cdv_update_wm(struct drm_device *dev, struct drm_crtc *crtc)
{

	if (cdv_intel_single_pipe_active(dev)) {
+1 −1
Original line number Diff line number Diff line
@@ -321,7 +321,7 @@ void gma_crtc_dpms(struct drm_crtc *crtc, int mode)
	}

	if (IS_CDV(dev))
		cdv_intel_update_watermark(dev, crtc);
		dev_priv->ops->update_wm(dev, crtc);

	/* Set FIFO watermarks */
	REG_WRITE(DSPARB, 0x3F3E);
+0 −2
Original line number Diff line number Diff line
@@ -103,6 +103,4 @@ extern bool gma_find_best_pll(const struct gma_limit_t *limit,

/* Cedarview specific functions */
extern void cdv_intel_disable_self_refresh(struct drm_device *dev);
extern void cdv_intel_update_watermark(struct drm_device *dev,
				       struct drm_crtc *crtc);
#endif
Loading