v3d_drv.c
Includes Linux kernel module headerfile_operations VFS table hook target
SHA-2568b763b459402f25fd50b87a66f6efd99a2e12f81710e7d0aac385b537766be2f
MaleculeO(Er)H(Os)
Evidence
⋯4 lines
5 * DOC: Broadcom V3D Graphics Driver
6 *
7 * This driver supports the Broadcom V3D 3.3 and 4.1 OpenGL ES GPUs.
8 * For V3D 2.x support, see the VC4 driver.
9 *
10 * The V3D GPU includes a tiled render (composed of a b …
11:49… , and the CSD (compute
12 * shader dispatch).
13 */
14
15#include <linux/clk.h>
16#include <linux/device.h>
17#include <linux/dma-mapping.h>
18#include <linux/io.h>
19#include <linux/module.h>
20#include <linux/of.h>
21#include <linux/of_platform.h>
22#include <linux/platform_device.h>
23#include <linux/sched/clock.h>
24#include <linux/reset.h>
25
26#include <drm/drm_drv.h>
27#include <drm/drm_managed.h>
28#include <drm/drm_print.h>
29#include <uapi/drm/v3d_drm.h>
30
31#include "v3d_drv.h"
32#include "v3d_regs.h"
33
34#define DRIVER_NAME "v3d"
35#define DRIVER_DESC "Broadcom V3D graphics"
36#define DRIVER_MAJOR 1 …
60:18… V3D_CORE0_IDENT2] = V3D_CTL_IDENT2,
61 };
62
63 if (args->pad != 0)
64 return -EINVAL;
65
66 /* Note that DRM_V3D_PARAM_V3D_CORE0_IDENT0 is 0, so we need
67 * to explicitly allow it in the "the register in our
68 * para …
⋯4 lines
223}
224
225static const struct file_operations v3d_drm_fops = {
226 .owner = THIS_MODULE,
227 DRM_GEM_FOPS,
228 .show_fdinfo = drm_show_fdinfo,
229};
230
231/* DRM_AUTH is required on SUBMIT_CL for now, while we don't have GMP
232 * protection between clients. Note that render nodes would be
233 * able to submit CLs that could access BOs from clients authenticated
234 * with the master node. The TFU doesn't use the GMP, so it would
235 * need to stay DRM_AUTH until we do …