diff options
| author | Qiang Yu <yuq825@gmail.com> | 2020-04-21 21:35:48 +0800 | 
|---|---|---|
| committer | Qiang Yu <yuq825@gmail.com> | 2020-04-24 20:51:10 +0800 | 
| commit | 3446d7e9883d70882568b0f7b6549835d51a8bc7 (patch) | |
| tree | bac87841e0e25d9ce56d4f8b5330d25f708c7f46 /drivers/gpu/drm/lima/lima_bcast.c | |
| parent | 9f5072a191a141dcc919125986ea22bf05d598a7 (diff) | |
drm/lima: add resume/suspend callback for each ip
For called when PM do resume/suspend.
Tested-by: Bhushan Shah <bshah@kde.org>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200421133551.31481-8-yuq825@gmail.com
Diffstat (limited to 'drivers/gpu/drm/lima/lima_bcast.c')
| -rw-r--r-- | drivers/gpu/drm/lima/lima_bcast.c | 25 | 
1 files changed, 20 insertions, 5 deletions
diff --git a/drivers/gpu/drm/lima/lima_bcast.c b/drivers/gpu/drm/lima/lima_bcast.c index 288398027bfa..fbc43f243c54 100644 --- a/drivers/gpu/drm/lima/lima_bcast.c +++ b/drivers/gpu/drm/lima/lima_bcast.c @@ -26,18 +26,33 @@ void lima_bcast_enable(struct lima_device *dev, int num_pp)  	bcast_write(LIMA_BCAST_BROADCAST_MASK, mask);  } +static int lima_bcast_hw_init(struct lima_ip *ip) +{ +	bcast_write(LIMA_BCAST_BROADCAST_MASK, ip->data.mask << 16); +	bcast_write(LIMA_BCAST_INTERRUPT_MASK, ip->data.mask); +	return 0; +} + +int lima_bcast_resume(struct lima_ip *ip) +{ +	return lima_bcast_hw_init(ip); +} + +void lima_bcast_suspend(struct lima_ip *ip) +{ + +} +  int lima_bcast_init(struct lima_ip *ip)  { -	int i, mask = 0; +	int i;  	for (i = lima_ip_pp0; i <= lima_ip_pp7; i++) {  		if (ip->dev->ip[i].present) -			mask |= 1 << (i - lima_ip_pp0); +			ip->data.mask |= 1 << (i - lima_ip_pp0);  	} -	bcast_write(LIMA_BCAST_BROADCAST_MASK, mask << 16); -	bcast_write(LIMA_BCAST_INTERRUPT_MASK, mask); -	return 0; +	return lima_bcast_hw_init(ip);  }  void lima_bcast_fini(struct lima_ip *ip)  | 
