Loading drivers/char/drm/drm_drawable.c +26 −15 Original line number Diff line number Diff line Loading @@ -172,28 +172,38 @@ int drm_rmdraw(DRM_IOCTL_ARGS) bitfield_length = idx + 1; if (idx != id / (8 * sizeof(*bitfield))) bitfield = NULL; if (bitfield_length) { if (bitfield_length != dev->drw_bitfield_length) bitfield = drm_alloc(bitfield_length * sizeof(*bitfield), DRM_MEM_BUFS); sizeof(*bitfield), DRM_MEM_BUFS); if (!bitfield && bitfield_length) { if (!bitfield) { bitfield = dev->drw_bitfield; bitfield_length = dev->drw_bitfield_length; } } } if (bitfield != dev->drw_bitfield) { info_length = 8 * sizeof(*bitfield) * bitfield_length; info = drm_alloc(info_length * sizeof(*info), DRM_MEM_BUFS); if (info_length) { info = drm_alloc(info_length * sizeof(*info), DRM_MEM_BUFS); if (!info && info_length) { if (!info) { info = dev->drw_info; info_length = dev->drw_info_length; } } else info = NULL; spin_lock_irqsave(&dev->drw_lock, irqflags); if (bitfield) memcpy(bitfield, dev->drw_bitfield, bitfield_length * sizeof(*bitfield)); drm_free(dev->drw_bitfield, sizeof(*bitfield) * Loading @@ -202,6 +212,7 @@ int drm_rmdraw(DRM_IOCTL_ARGS) dev->drw_bitfield_length = bitfield_length; if (info != dev->drw_info) { if (info) memcpy(info, dev->drw_info, info_length * sizeof(*info)); drm_free(dev->drw_info, sizeof(*info) * Loading drivers/char/drm/drm_pciids.h +7 −0 Original line number Diff line number Diff line Loading @@ -102,13 +102,20 @@ {0x1002, 0x5653, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV410|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ {0x1002, 0x5834, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS300|RADEON_IS_IGP}, \ {0x1002, 0x5835, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS300|RADEON_IS_IGP|RADEON_IS_MOBILITY}, \ {0x1002, 0x5954, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5955, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5974, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5975, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5960, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \ {0x1002, 0x5961, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \ {0x1002, 0x5962, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \ {0x1002, 0x5964, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \ {0x1002, 0x5965, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \ {0x1002, 0x5969, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV100}, \ {0x1002, 0x5a41, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5a42, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5a61, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5a62, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5b60, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_NEW_MEMMAP}, \ {0x1002, 0x5b62, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_NEW_MEMMAP}, \ {0x1002, 0x5b63, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_NEW_MEMMAP}, \ Loading drivers/char/drm/i915_irq.c +1 −1 Original line number Diff line number Diff line Loading @@ -582,7 +582,7 @@ void i915_driver_irq_postinstall(drm_device_t * dev) { drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; dev_priv->swaps_lock = SPIN_LOCK_UNLOCKED; spin_lock_init(&dev_priv->swaps_lock); INIT_LIST_HEAD(&dev_priv->vbl_swaps.head); dev_priv->swaps_pending = 0; Loading Loading
drivers/char/drm/drm_drawable.c +26 −15 Original line number Diff line number Diff line Loading @@ -172,28 +172,38 @@ int drm_rmdraw(DRM_IOCTL_ARGS) bitfield_length = idx + 1; if (idx != id / (8 * sizeof(*bitfield))) bitfield = NULL; if (bitfield_length) { if (bitfield_length != dev->drw_bitfield_length) bitfield = drm_alloc(bitfield_length * sizeof(*bitfield), DRM_MEM_BUFS); sizeof(*bitfield), DRM_MEM_BUFS); if (!bitfield && bitfield_length) { if (!bitfield) { bitfield = dev->drw_bitfield; bitfield_length = dev->drw_bitfield_length; } } } if (bitfield != dev->drw_bitfield) { info_length = 8 * sizeof(*bitfield) * bitfield_length; info = drm_alloc(info_length * sizeof(*info), DRM_MEM_BUFS); if (info_length) { info = drm_alloc(info_length * sizeof(*info), DRM_MEM_BUFS); if (!info && info_length) { if (!info) { info = dev->drw_info; info_length = dev->drw_info_length; } } else info = NULL; spin_lock_irqsave(&dev->drw_lock, irqflags); if (bitfield) memcpy(bitfield, dev->drw_bitfield, bitfield_length * sizeof(*bitfield)); drm_free(dev->drw_bitfield, sizeof(*bitfield) * Loading @@ -202,6 +212,7 @@ int drm_rmdraw(DRM_IOCTL_ARGS) dev->drw_bitfield_length = bitfield_length; if (info != dev->drw_info) { if (info) memcpy(info, dev->drw_info, info_length * sizeof(*info)); drm_free(dev->drw_info, sizeof(*info) * Loading
drivers/char/drm/drm_pciids.h +7 −0 Original line number Diff line number Diff line Loading @@ -102,13 +102,20 @@ {0x1002, 0x5653, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV410|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ {0x1002, 0x5834, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS300|RADEON_IS_IGP}, \ {0x1002, 0x5835, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS300|RADEON_IS_IGP|RADEON_IS_MOBILITY}, \ {0x1002, 0x5954, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5955, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5974, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5975, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5960, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \ {0x1002, 0x5961, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \ {0x1002, 0x5962, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \ {0x1002, 0x5964, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \ {0x1002, 0x5965, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \ {0x1002, 0x5969, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV100}, \ {0x1002, 0x5a41, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5a42, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5a61, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5a62, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5b60, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_NEW_MEMMAP}, \ {0x1002, 0x5b62, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_NEW_MEMMAP}, \ {0x1002, 0x5b63, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_NEW_MEMMAP}, \ Loading
drivers/char/drm/i915_irq.c +1 −1 Original line number Diff line number Diff line Loading @@ -582,7 +582,7 @@ void i915_driver_irq_postinstall(drm_device_t * dev) { drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; dev_priv->swaps_lock = SPIN_LOCK_UNLOCKED; spin_lock_init(&dev_priv->swaps_lock); INIT_LIST_HEAD(&dev_priv->vbl_swaps.head); dev_priv->swaps_pending = 0; Loading