cregit-Linux how code gets into the kernel

Release 4.11 drivers/gpu/drm/via/via_map.c

/*
 * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
 * Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sub license,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice (including the
 * next paragraph) shall be included in all copies or substantial portions
 * of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
 * VIA, S3 GRAPHICS, AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 * DEALINGS IN THE SOFTWARE.
 */
#include <drm/drmP.h>
#include <drm/via_drm.h>
#include "via_drv.h"


static int via_do_init_map(struct drm_device *dev, drm_via_init_t *init) { drm_via_private_t *dev_priv = dev->dev_private; DRM_DEBUG("\n"); dev_priv->sarea = drm_legacy_getsarea(dev); if (!dev_priv->sarea) { DRM_ERROR("could not find sarea!\n"); dev->dev_private = (void *)dev_priv; via_do_cleanup_map(dev); return -EINVAL; } dev_priv->fb = drm_legacy_findmap(dev, init->fb_offset); if (!dev_priv->fb) { DRM_ERROR("could not find framebuffer!\n"); dev->dev_private = (void *)dev_priv; via_do_cleanup_map(dev); return -EINVAL; } dev_priv->mmio = drm_legacy_findmap(dev, init->mmio_offset); if (!dev_priv->mmio) { DRM_ERROR("could not find mmio region!\n"); dev->dev_private = (void *)dev_priv; via_do_cleanup_map(dev); return -EINVAL; } dev_priv->sarea_priv = (drm_via_sarea_t *) ((u8 *) dev_priv->sarea->handle + init->sarea_priv_offset); dev_priv->agpAddr = init->agpAddr; via_init_futex(dev_priv); via_init_dmablit(dev); dev->dev_private = (void *)dev_priv; return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Dave Airlie21398.16%457.14%
Daniel Vetter20.92%114.29%
Márton Németh10.46%114.29%
David Herrmann10.46%114.29%
Total217100.00%7100.00%


int via_do_cleanup_map(struct drm_device *dev) { via_dma_cleanup(dev); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Dave Airlie18100.00%2100.00%
Total18100.00%2100.00%


int via_map_init(struct drm_device *dev, void *data, struct drm_file *file_priv) { drm_via_init_t *init = data; DRM_DEBUG("\n"); switch (init->func) { case VIA_INIT_MAP: return via_do_init_map(dev, init); case VIA_CLEANUP_MAP: return via_do_cleanup_map(dev); } return -EINVAL; }

Contributors

PersonTokensPropCommitsCommitProp
Dave Airlie4470.97%133.33%
Eric Anholt1727.42%133.33%
Márton Németh11.61%133.33%
Total62100.00%3100.00%


int via_driver_load(struct drm_device *dev, unsigned long chipset) { drm_via_private_t *dev_priv; int ret = 0; dev_priv = kzalloc(sizeof(drm_via_private_t), GFP_KERNEL); if (dev_priv == NULL) return -ENOMEM; idr_init(&dev_priv->object_idr); dev->dev_private = (void *)dev_priv; dev_priv->chipset = chipset; pci_set_master(dev->pdev); ret = drm_vblank_init(dev, 1); if (ret) { kfree(dev_priv); return ret; } return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Dave Airlie6058.82%333.33%
Keith Packard2019.61%111.11%
Thomas Hellstrom109.80%222.22%
Márton Németh87.84%111.11%
Eric Anholt43.92%222.22%
Total102100.00%9100.00%


void via_driver_unload(struct drm_device *dev) { drm_via_private_t *dev_priv = dev->dev_private; idr_destroy(&dev_priv->object_idr); kfree(dev_priv); }

Contributors

PersonTokensPropCommitsCommitProp
Dave Airlie2167.74%240.00%
Daniel Vetter825.81%120.00%
Gabriel Krisman Bertazi13.23%120.00%
Eric Anholt13.23%120.00%
Total31100.00%5100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Dave Airlie36482.73%527.78%
Eric Anholt225.00%316.67%
Keith Packard204.55%15.56%
Daniel Vetter102.27%211.11%
Thomas Hellstrom102.27%211.11%
Márton Németh102.27%211.11%
David Howells20.45%15.56%
Gabriel Krisman Bertazi10.23%15.56%
David Herrmann10.23%15.56%
Total440100.00%18100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.