diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2020-12-15 10:48:07 +0100 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2020-12-15 10:48:07 +0100 | 
| commit | 3c41e57a1e168d879e923c5583adeae47eec9f64 (patch) | |
| tree | e6272012c4b766189be2821316a3d23d115f5195 /drivers/gpu/drm/ast | |
| parent | d14ce74f1fb376ccbbc0b05ded477ada51253729 (diff) | |
| parent | 2f5fbc4305d07725bfebaedb09e57271315691ef (diff) | |
Merge tag 'irqchip-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/core
Pull irqchip updates for 5.11 from Marc Zyngier:
  - Preliminary support for managed interrupts on platform devices
  - Correctly identify allocation of MSIs proxyied by another device
  - Remove the fasteoi IPI flow which has been proved useless
  - Generalise the Ocelot support to new SoCs
  - Improve GICv4.1 vcpu entry, matching the corresponding KVM optimisation
  - Work around spurious interrupts on Qualcomm PDC
  - Random fixes and cleanups
Link: https://lore.kernel.org/r/20201212135626.1479884-1-maz@kernel.org
Diffstat (limited to 'drivers/gpu/drm/ast')
| -rw-r--r-- | drivers/gpu/drm/ast/ast_mode.c | 17 | 
1 files changed, 16 insertions, 1 deletions
| diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c index 834a156e3a75..0a1e1cf57e19 100644 --- a/drivers/gpu/drm/ast/ast_mode.c +++ b/drivers/gpu/drm/ast/ast_mode.c @@ -742,7 +742,6 @@ static void ast_crtc_dpms(struct drm_crtc *crtc, int mode)  	case DRM_MODE_DPMS_SUSPEND:  		if (ast->tx_chip_type == AST_TX_DP501)  			ast_set_dp501_video_output(crtc->dev, 1); -		ast_crtc_load_lut(ast, crtc);  		break;  	case DRM_MODE_DPMS_OFF:  		if (ast->tx_chip_type == AST_TX_DP501) @@ -778,6 +777,21 @@ static int ast_crtc_helper_atomic_check(struct drm_crtc *crtc,  }  static void +ast_crtc_helper_atomic_flush(struct drm_crtc *crtc, struct drm_crtc_state *old_crtc_state) +{ +	struct ast_private *ast = to_ast_private(crtc->dev); +	struct ast_crtc_state *ast_crtc_state = to_ast_crtc_state(crtc->state); +	struct ast_crtc_state *old_ast_crtc_state = to_ast_crtc_state(old_crtc_state); + +	/* +	 * The gamma LUT has to be reloaded after changing the primary +	 * plane's color format. +	 */ +	if (old_ast_crtc_state->format != ast_crtc_state->format) +		ast_crtc_load_lut(ast, crtc); +} + +static void  ast_crtc_helper_atomic_enable(struct drm_crtc *crtc,  			      struct drm_crtc_state *old_crtc_state)  { @@ -830,6 +844,7 @@ ast_crtc_helper_atomic_disable(struct drm_crtc *crtc,  static const struct drm_crtc_helper_funcs ast_crtc_helper_funcs = {  	.atomic_check = ast_crtc_helper_atomic_check, +	.atomic_flush = ast_crtc_helper_atomic_flush,  	.atomic_enable = ast_crtc_helper_atomic_enable,  	.atomic_disable = ast_crtc_helper_atomic_disable,  }; | 
