Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 24986ee0 authored by Daniel Vetter's avatar Daniel Vetter Committed by Dave Airlie
Browse files

drm: kill DRIVER_REQUIRE_AGP



Only the two intel drivers need this and they can easily check for
working agp support in their driver ->load callbacks.

This is the only reason why agp initialization could fail, so allows
us to rip out a bit of error handling code in the next patch.

Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 5ec467a8
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -267,11 +267,6 @@ static int drm_pci_agp_init(struct drm_device *dev)
	if (drm_core_has_AGP(dev)) {
		if (drm_pci_device_is_agp(dev))
			dev->agp = drm_agp_init(dev);
		if (drm_core_check_feature(dev, DRIVER_REQUIRE_AGP)
		    && (dev->agp == NULL)) {
			DRM_ERROR("Cannot initialize the agpgart module.\n");
			return -EINVAL;
		}
		if (dev->agp) {
			dev->agp->agp_mtrr = arch_phys_wc_add(
				dev->agp->agp_info.aper_base,
+4 −0
Original line number Diff line number Diff line
@@ -1193,6 +1193,10 @@ static int i810_flip_bufs(struct drm_device *dev, void *data,

int i810_driver_load(struct drm_device *dev, unsigned long flags)
{
	/* Our userspace depends upon the agp mapping support. */
	if (!dev->agp)
		return -EINVAL;

	pci_set_master(dev->pdev);

	return 0;
+1 −1
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ static const struct file_operations i810_driver_fops = {

static struct drm_driver driver = {
	.driver_features =
	    DRIVER_USE_AGP | DRIVER_REQUIRE_AGP |
	    DRIVER_USE_AGP |
	    DRIVER_HAVE_DMA,
	.dev_priv_size = sizeof(drm_i810_buf_priv_t),
	.load = i810_driver_load,
+4 −0
Original line number Diff line number Diff line
@@ -1476,6 +1476,10 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
		return -ENODEV;
	}

	/* UMS needs agp support. */
	if (!drm_core_check_feature(dev, DRIVER_MODESET) && !dev->agp)
		return -EINVAL;

	dev_priv = kzalloc(sizeof(*dev_priv), GFP_KERNEL);
	if (dev_priv == NULL)
		return -ENOMEM;
+2 −2
Original line number Diff line number Diff line
@@ -828,7 +828,7 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
	if (PCI_FUNC(pdev->devfn))
		return -ENODEV;

	driver.driver_features &= ~(DRIVER_USE_AGP | DRIVER_REQUIRE_AGP);
	driver.driver_features &= ~(DRIVER_USE_AGP);

	return drm_get_pci_dev(pdev, ent, &driver);
}
@@ -936,7 +936,7 @@ static struct drm_driver driver = {
	 * deal with them for Intel hardware.
	 */
	.driver_features =
	    DRIVER_USE_AGP | DRIVER_REQUIRE_AGP |
	    DRIVER_USE_AGP |
	    DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | DRIVER_GEM | DRIVER_PRIME |
	    DRIVER_RENDER,
	.load = i915_driver_load,
Loading