cregit-Linux how code gets into the kernel

Release 4.7 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 airliedave airlie21398.16%457.14%
daniel vetterdaniel vetter20.92%114.29%
david herrmanndavid herrmann10.46%114.29%
marton nemethmarton nemeth10.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 airliedave 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 airliedave airlie4470.97%133.33%
eric anholteric anholt1727.42%133.33%
marton nemethmarton nemeth11.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 airliedave airlie6058.82%333.33%
keith packardkeith packard2019.61%111.11%
thomas hellstromthomas hellstrom109.80%222.22%
marton nemethmarton nemeth87.84%111.11%
eric anholteric anholt43.92%222.22%
Total102100.00%9100.00%


int 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); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
dave airliedave airlie2573.53%250.00%
daniel vetterdaniel vetter823.53%125.00%
eric anholteric anholt12.94%125.00%
Total34100.00%4100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
dave airliedave airlie36883.07%529.41%
eric anholteric anholt224.97%317.65%
keith packardkeith packard204.51%15.88%
marton nemethmarton nemeth102.26%211.76%
daniel vetterdaniel vetter102.26%211.76%
thomas hellstromthomas hellstrom102.26%211.76%
david howellsdavid howells20.45%15.88%
david herrmanndavid herrmann10.23%15.88%
Total443100.00%17100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}