Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/drm2/radeon/radeon_fb.c
Show First 20 Lines • Show All 285 Lines • ▼ Show 20 Lines | |||||
static int radeon_fbdev_destroy(struct drm_device *dev, struct radeon_fbdev *rfbdev) | static int radeon_fbdev_destroy(struct drm_device *dev, struct radeon_fbdev *rfbdev) | ||||
{ | { | ||||
struct fb_info *info; | struct fb_info *info; | ||||
struct radeon_framebuffer *rfb = &rfbdev->rfb; | struct radeon_framebuffer *rfb = &rfbdev->rfb; | ||||
if (rfbdev->helper.fbdev) { | if (rfbdev->helper.fbdev) { | ||||
info = rfbdev->helper.fbdev; | info = rfbdev->helper.fbdev; | ||||
if (info->fb_fbd_dev != NULL) | |||||
emaste: Why do we need `vga_pci_repost` both here and in `vt_kms_reset`? | |||||
Not Done Inline ActionsThis is a mistake I don't have locally anymore. I still haven't published a revised patch (which is not finished anyway). However, I only changed what calls what to address concerns expressed outside of Phabricator. The vga_pci_repost() function is unchanged and it needs review, because I'm not sure of what I do :) dumbbell: This is a mistake I don't have locally anymore. I still haven't published a revised patch… | |||||
device_delete_child(dev->device, info->fb_fbd_dev); | |||||
Not Done Inline ActionsNote that the device_delete_child() is moved to a central function in drm_fb_helper.c in my DRM update branch. This avoids to do it in each driver. This function is missing in our current DRM and I didn't want to import new code for now. dumbbell: Note that the `device_delete_child()` is moved to a central function in `drm_fb_helper.c` in my… | |||||
free(info->fb_priv, DRM_MEM_KMS); | free(info->fb_priv, DRM_MEM_KMS); | ||||
free(info, DRM_MEM_KMS); | free(info, DRM_MEM_KMS); | ||||
} | } | ||||
if (rfb->obj) { | if (rfb->obj) { | ||||
DRM_UNLOCK(dev); /* Work around lock recursion. dumbbell@ */ | DRM_UNLOCK(dev); /* Work around lock recursion. dumbbell@ */ | ||||
radeonfb_destroy_pinned_object(rfb->obj); | radeonfb_destroy_pinned_object(rfb->obj); | ||||
DRM_LOCK(dev); | DRM_LOCK(dev); | ||||
▲ Show 20 Lines • Show All 98 Lines • Show Last 20 Lines |
Why do we need vga_pci_repost both here and in vt_kms_reset?