drm/amdgpu: Use drm_fb_helper_lastclose() and _poll_changed()
This driver can use drm_fb_helper_lastclose() in its .lastclose function. It can also use drm_fb_helper_output_poll_changed() as its .output_poll_changed callback. Remove the unused driver implementations. Cc: Alex Deucher <alexander.deucher@amd.com> Cc: "Christian König" <christian.koenig@amd.com> Signed-off-by: Noralf Trønnes <noralf@tronnes.org> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
		
				
					committed by
					
						 Alex Deucher
						Alex Deucher
					
				
			
			
				
	
			
			
			
						parent
						
							366c1baa87
						
					
				
				
					commit
					ab77e02ce9
				
			| @@ -34,6 +34,7 @@ | ||||
| #include <linux/pm_runtime.h> | ||||
| #include <drm/drm_crtc_helper.h> | ||||
| #include <drm/drm_edid.h> | ||||
| #include <drm/drm_fb_helper.h> | ||||
| 
 | ||||
| static void amdgpu_flip_callback(struct dma_fence *f, struct dma_fence_cb *cb) | ||||
| { | ||||
| @@ -556,15 +557,9 @@ amdgpu_user_framebuffer_create(struct drm_device *dev, | ||||
| 	return &amdgpu_fb->base; | ||||
| } | ||||
| 
 | ||||
| void amdgpu_output_poll_changed(struct drm_device *dev) | ||||
| { | ||||
| 	struct amdgpu_device *adev = dev->dev_private; | ||||
| 	amdgpu_fb_output_poll_changed(adev); | ||||
| } | ||||
| 
 | ||||
| const struct drm_mode_config_funcs amdgpu_mode_funcs = { | ||||
| 	.fb_create = amdgpu_user_framebuffer_create, | ||||
| 	.output_poll_changed = amdgpu_output_poll_changed | ||||
| 	.output_poll_changed = drm_fb_helper_output_poll_changed, | ||||
| }; | ||||
| 
 | ||||
| static const struct drm_prop_enum_list amdgpu_underscan_enum_list[] = | ||||
|   | ||||
| @@ -27,6 +27,5 @@ struct drm_framebuffer * | ||||
| amdgpu_user_framebuffer_create(struct drm_device *dev, | ||||
| 			       struct drm_file *file_priv, | ||||
| 			       const struct drm_mode_fb_cmd2 *mode_cmd); | ||||
| void amdgpu_output_poll_changed(struct drm_device *dev); | ||||
| 
 | ||||
| #endif | ||||
|   | ||||
| @@ -283,12 +283,6 @@ out: | ||||
| 	return ret; | ||||
| } | ||||
| 
 | ||||
| void amdgpu_fb_output_poll_changed(struct amdgpu_device *adev) | ||||
| { | ||||
| 	if (adev->mode_info.rfbdev) | ||||
| 		drm_fb_helper_hotplug_event(&adev->mode_info.rfbdev->helper); | ||||
| } | ||||
| 
 | ||||
| static int amdgpu_fbdev_destroy(struct drm_device *dev, struct amdgpu_fbdev *rfbdev) | ||||
| { | ||||
| 	struct amdgpu_framebuffer *rfb = &rfbdev->rfb; | ||||
| @@ -393,24 +387,3 @@ bool amdgpu_fbdev_robj_is_fb(struct amdgpu_device *adev, struct amdgpu_bo *robj) | ||||
| 		return true; | ||||
| 	return false; | ||||
| } | ||||
| 
 | ||||
| void amdgpu_fbdev_restore_mode(struct amdgpu_device *adev) | ||||
| { | ||||
| 	struct amdgpu_fbdev *afbdev; | ||||
| 	struct drm_fb_helper *fb_helper; | ||||
| 	int ret; | ||||
| 
 | ||||
| 	if (!adev) | ||||
| 		return; | ||||
| 
 | ||||
| 	afbdev = adev->mode_info.rfbdev; | ||||
| 
 | ||||
| 	if (!afbdev) | ||||
| 		return; | ||||
| 
 | ||||
| 	fb_helper = &afbdev->helper; | ||||
| 
 | ||||
| 	ret = drm_fb_helper_restore_fbdev_mode_unlocked(fb_helper); | ||||
| 	if (ret) | ||||
| 		DRM_DEBUG("failed to restore crtc mode\n"); | ||||
| } | ||||
|   | ||||
| @@ -788,9 +788,7 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file | ||||
|  */ | ||||
| void amdgpu_driver_lastclose_kms(struct drm_device *dev) | ||||
| { | ||||
| 	struct amdgpu_device *adev = dev->dev_private; | ||||
| 
 | ||||
| 	amdgpu_fbdev_restore_mode(adev); | ||||
| 	drm_fb_helper_lastclose(dev); | ||||
| 	vga_switcheroo_process_delayed_switch(); | ||||
| } | ||||
| 
 | ||||
|   | ||||
| @@ -658,10 +658,6 @@ void amdgpu_fbdev_fini(struct amdgpu_device *adev); | ||||
| void amdgpu_fbdev_set_suspend(struct amdgpu_device *adev, int state); | ||||
| int amdgpu_fbdev_total_size(struct amdgpu_device *adev); | ||||
| bool amdgpu_fbdev_robj_is_fb(struct amdgpu_device *adev, struct amdgpu_bo *robj); | ||||
| void amdgpu_fbdev_restore_mode(struct amdgpu_device *adev); | ||||
| 
 | ||||
| void amdgpu_fb_output_poll_changed(struct amdgpu_device *adev); | ||||
| 
 | ||||
| 
 | ||||
| int amdgpu_align_pitch(struct amdgpu_device *adev, int width, int bpp, bool tiled); | ||||
| 
 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user