Searched refs:drm (Results 1 - 200 of 779) sorted by relevance

1234

/linux-4.4.14/drivers/gpu/drm/bochs/
H A DMakefile1 ccflags-y := -Iinclude/drm
2 bochs-drm-y := bochs_drv.o bochs_mm.o bochs_kms.o bochs_fbdev.o bochs_hw.o
4 obj-$(CONFIG_DRM_BOCHS) += bochs-drm.o
H A Dbochs.h5 #include <drm/drmP.h>
6 #include <drm/drm_crtc.h>
7 #include <drm/drm_crtc_helper.h>
8 #include <drm/drm_fb_helper.h>
10 #include <drm/drm_gem.h>
73 /* drm */
H A Dbochs_drv.c19 /* drm interface */
87 .name = "bochs-drm",
200 .name = "bochs-drm",
/linux-4.4.14/drivers/gpu/drm/rcar-du/
H A DMakefile1 rcar-du-drm-y := rcar_du_crtc.o \
10 rcar-du-drm-$(CONFIG_DRM_RCAR_HDMI) += rcar_du_hdmicon.o \
12 rcar-du-drm-$(CONFIG_DRM_RCAR_LVDS) += rcar_du_lvdsenc.o
14 obj-$(CONFIG_DRM_RCAR_DU) += rcar-du-drm.o
H A Drcar_du_vgacon.c14 #include <drm/drmP.h>
15 #include <drm/drm_atomic_helper.h>
16 #include <drm/drm_crtc.h>
17 #include <drm/drm_crtc_helper.h>
H A Drcar_du_hdmicon.c14 #include <drm/drmP.h>
15 #include <drm/drm_atomic_helper.h>
16 #include <drm/drm_crtc.h>
17 #include <drm/drm_crtc_helper.h>
18 #include <drm/drm_encoder_slave.h>
H A Drcar_du_encoder.h17 #include <drm/drm_crtc.h>
18 #include <drm/drm_encoder_slave.h>
H A Drcar_du_lvdscon.c14 #include <drm/drmP.h>
15 #include <drm/drm_atomic_helper.h>
16 #include <drm/drm_crtc.h>
17 #include <drm/drm_crtc_helper.h>
H A Drcar_du_hdmienc.c16 #include <drm/drmP.h>
17 #include <drm/drm_crtc.h>
18 #include <drm/drm_crtc_helper.h>
19 #include <drm/drm_encoder_slave.h>
H A Drcar_du_plane.h17 #include <drm/drmP.h>
18 #include <drm/drm_crtc.h>
H A Drcar_du_crtc.h20 #include <drm/drmP.h>
21 #include <drm/drm_crtc.h>
/linux-4.4.14/drivers/gpu/drm/
H A Ddrm_trace_points.c1 #include <drm/drmP.h>
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
5 drm-y := drm_auth.o drm_bufs.o drm_cache.o \
17 drm-$(CONFIG_COMPAT) += drm_ioc32.o
18 drm-$(CONFIG_DRM_GEM_CMA_HELPER) += drm_gem_cma_helper.o
19 drm-$(CONFIG_PCI) += ati_pcigart.o
20 drm-$(CONFIG_DRM_PANEL) += drm_panel.o
21 drm-$(CONFIG_OF) += drm_of.o
22 drm-$(CONFIG_AGP) += drm_agpsupport.o
24 drm-y += $(drm-m)
36 obj-$(CONFIG_DRM) += drm.o
H A Ddrm_panel.c27 #include <drm/drm_crtc.h>
28 #include <drm/drm_panel.h>
63 panel->drm = connector->dev; drm_panel_attach()
72 panel->drm = NULL; drm_panel_detach()
H A Ddrm_gem_cma_helper.c2 * drm gem CMA (contiguous memory allocator) helper functions
27 #include <drm/drmP.h>
28 #include <drm/drm.h>
29 #include <drm/drm_gem_cma_helper.h>
30 #include <drm/drm_vma_manager.h>
45 * @drm: DRM device
56 __drm_gem_cma_create(struct drm_device *drm, size_t size) __drm_gem_cma_create() argument
68 ret = drm_gem_object_init(drm, gem_obj, size); __drm_gem_cma_create()
87 * @drm: DRM device
98 struct drm_gem_cma_object *drm_gem_cma_create(struct drm_device *drm, drm_gem_cma_create() argument
106 cma_obj = __drm_gem_cma_create(drm, size); drm_gem_cma_create()
110 cma_obj->vaddr = dma_alloc_writecombine(drm->dev, size, drm_gem_cma_create()
113 dev_err(drm->dev, "failed to allocate buffer with size %zu\n", drm_gem_cma_create()
131 * @drm: DRM device
145 struct drm_device *drm, size_t size, drm_gem_cma_create_with_handle()
152 cma_obj = drm_gem_cma_create(drm, size); drm_gem_cma_create_with_handle()
208 * @drm: DRM device
220 struct drm_device *drm, drm_gem_cma_dumb_create_internal()
232 cma_obj = drm_gem_cma_create_with_handle(file_priv, drm, args->size, drm_gem_cma_dumb_create_internal()
241 * @drm: DRM device
257 struct drm_device *drm, drm_gem_cma_dumb_create()
265 cma_obj = drm_gem_cma_create_with_handle(file_priv, drm, args->size, drm_gem_cma_dumb_create()
275 * @drm: DRM device
287 struct drm_device *drm, u32 handle, drm_gem_cma_dumb_map_offset()
292 gem_obj = drm_gem_object_lookup(drm, file_priv, handle); drm_gem_cma_dumb_map_offset()
294 dev_err(drm->dev, "failed to lookup GEM object\n"); drm_gem_cma_dumb_map_offset()
144 drm_gem_cma_create_with_handle(struct drm_file *file_priv, struct drm_device *drm, size_t size, uint32_t *handle) drm_gem_cma_create_with_handle() argument
219 drm_gem_cma_dumb_create_internal(struct drm_file *file_priv, struct drm_device *drm, struct drm_mode_create_dumb *args) drm_gem_cma_dumb_create_internal() argument
256 drm_gem_cma_dumb_create(struct drm_file *file_priv, struct drm_device *drm, struct drm_mode_create_dumb *args) drm_gem_cma_dumb_create() argument
286 drm_gem_cma_dumb_map_offset(struct drm_file *file_priv, struct drm_device *drm, u32 handle, u64 *offset) drm_gem_cma_dumb_map_offset() argument
H A Ddrm_fb_cma_helper.c2 * drm kms/fb cma (contiguous memory allocator) helper functions
20 #include <drm/drmP.h>
21 #include <drm/drm_crtc.h>
22 #include <drm/drm_fb_helper.h>
23 #include <drm/drm_crtc_helper.h>
24 #include <drm/drm_gem_cma_helper.h>
25 #include <drm/drm_fb_cma_helper.h>
330 dev_err(dev->dev, "Failed to allocate drm fbdev.\n"); drm_fbdev_cma_init()
340 dev_err(dev->dev, "Failed to initialize drm fb helper.\n"); drm_fbdev_cma_init()
H A Ddrm_of.c5 #include <drm/drmP.h>
6 #include <drm/drm_crtc.h>
7 #include <drm/drm_of.h>
H A Ddrm_trace.h9 #define TRACE_SYSTEM drm
/linux-4.4.14/drivers/gpu/drm/shmobile/
H A DMakefile1 shmob-drm-y := shmob_drm_backlight.o \
7 obj-$(CONFIG_DRM_SHMOBILE) += shmob-drm.o
H A Dshmob_drm_kms.c14 #include <drm/drmP.h>
15 #include <drm/drm_crtc.h>
16 #include <drm/drm_crtc_helper.h>
17 #include <drm/drm_fb_cma_helper.h>
18 #include <drm/drm_gem_cma_helper.h>
H A Dshmob_drm_crtc.h17 #include <drm/drmP.h>
18 #include <drm/drm_crtc.h>
/linux-4.4.14/drivers/gpu/drm/fsl-dcu/
H A DMakefile1 fsl-dcu-drm-y := fsl_dcu_drm_drv.o \
7 obj-$(CONFIG_DRM_FSL_DCU) += fsl-dcu-drm.o
H A Dfsl_dcu_drm_kms.c4 * Freescale DCU drm device driver
12 #include <drm/drmP.h>
13 #include <drm/drm_atomic_helper.h>
14 #include <drm/drm_crtc_helper.h>
15 #include <drm/drm_fb_cma_helper.h>
28 drm_mode_config_init(fsl_dev->drm); fsl_dcu_drm_modeset_init()
30 fsl_dev->drm->mode_config.min_width = 0; fsl_dcu_drm_modeset_init()
31 fsl_dev->drm->mode_config.min_height = 0; fsl_dcu_drm_modeset_init()
32 fsl_dev->drm->mode_config.max_width = 2031; fsl_dcu_drm_modeset_init()
33 fsl_dev->drm->mode_config.max_height = 2047; fsl_dcu_drm_modeset_init()
34 fsl_dev->drm->mode_config.funcs = &fsl_dcu_drm_mode_config_funcs; fsl_dcu_drm_modeset_init()
36 drm_kms_helper_poll_init(fsl_dev->drm); fsl_dcu_drm_modeset_init()
40 drm_mode_config_reset(fsl_dev->drm); fsl_dcu_drm_modeset_init()
H A Dfsl_dcu_drm_fbdev.c4 * Freescale DCU drm device driver
12 #include <drm/drmP.h>
13 #include <drm/drm_fb_cma_helper.h>
H A Dfsl_dcu_drm_drv.c4 * Freescale DCU drm device driver
24 #include <drm/drmP.h>
25 #include <drm/drm_crtc_helper.h>
26 #include <drm/drm_gem_cma_helper.h>
66 static int fsl_dcu_load(struct drm_device *drm, unsigned long flags) fsl_dcu_load() argument
68 struct device *dev = drm->dev; fsl_dcu_load()
69 struct fsl_dcu_drm_device *fsl_dev = drm->dev_private; fsl_dcu_load()
78 ret = drm_vblank_init(drm, drm->mode_config.num_crtc); fsl_dcu_load()
83 drm->vblank_disable_allowed = true; fsl_dcu_load()
85 ret = fsl_dcu_drm_irq_init(drm); fsl_dcu_load()
88 drm->irq_enabled = true; fsl_dcu_load()
90 fsl_dcu_fbdev_init(drm); fsl_dcu_load()
95 drm_mode_config_cleanup(drm); fsl_dcu_load()
96 drm_vblank_cleanup(drm); fsl_dcu_load()
97 drm_irq_uninstall(drm); fsl_dcu_load()
98 drm->dev_private = NULL; fsl_dcu_load()
214 .name = "fsl-dcu-drm",
229 drm_kms_helper_poll_disable(fsl_dev->drm); fsl_dcu_drm_pm_suspend()
258 drm_kms_helper_poll_enable(fsl_dev->drm); fsl_dcu_drm_pm_resume()
297 struct drm_device *drm; fsl_dcu_drm_probe() local
357 drm = drm_dev_alloc(driver, dev); fsl_dcu_drm_probe()
358 if (!drm) fsl_dcu_drm_probe()
362 fsl_dev->drm = drm; fsl_dcu_drm_probe()
364 drm->dev_private = fsl_dev; fsl_dcu_drm_probe()
366 drm_dev_set_unique(drm, dev_name(dev)); fsl_dcu_drm_probe()
368 ret = drm_dev_register(drm, 0); fsl_dcu_drm_probe()
374 driver->date, drm->primary->index); fsl_dcu_drm_probe()
379 drm_dev_unref(drm); fsl_dcu_drm_probe()
387 drm_put_dev(fsl_dev->drm); fsl_dcu_drm_remove()
H A Dfsl_dcu_drm_rgb.c4 * Freescale DCU drm device driver
14 #include <drm/drmP.h>
15 #include <drm/drm_atomic_helper.h>
16 #include <drm/drm_crtc_helper.h>
17 #include <drm/drm_panel.h>
59 ret = drm_encoder_init(fsl_dev->drm, encoder, &encoder_funcs, fsl_dcu_drm_encoder_create()
134 struct drm_mode_config mode_config = fsl_dev->drm->mode_config; fsl_dcu_drm_connector_create()
140 ret = drm_connector_init(fsl_dev->drm, connector, fsl_dcu_drm_connector_create()
H A Dfsl_dcu_drm_crtc.h4 * Freescale DCU drm device driver
H A Dfsl_dcu_drm_plane.h4 * Freescale DCU drm device driver
H A Dfsl_dcu_drm_crtc.c4 * Freescale DCU drm device driver
15 #include <drm/drmP.h>
16 #include <drm/drm_atomic.h>
17 #include <drm/drm_atomic_helper.h>
18 #include <drm/drm_crtc.h>
19 #include <drm/drm_crtc_helper.h>
176 primary = fsl_dcu_drm_primary_create_plane(fsl_dev->drm); fsl_dcu_drm_crtc_create()
177 ret = drm_crtc_init_with_planes(fsl_dev->drm, crtc, primary, NULL, fsl_dcu_drm_crtc_create()
H A Dfsl_dcu_drm_plane.c4 * Freescale DCU drm device driver
14 #include <drm/drmP.h>
15 #include <drm/drm_atomic_helper.h>
16 #include <drm/drm_crtc.h>
17 #include <drm/drm_crtc_helper.h>
18 #include <drm/drm_fb_cma_helper.h>
19 #include <drm/drm_gem_cma_helper.h>
20 #include <drm/drm_plane_helper.h>
H A Dfsl_dcu_drm_output.h4 * Freescale DCU drm device driver
/linux-4.4.14/drivers/gpu/drm/tegra/
H A DMakefile3 tegra-drm-y := \
4 drm.o \
18 obj-$(CONFIG_DRM_TEGRA) += tegra-drm.o
H A Dgem.h16 #include <drm/drm.h>
17 #include <drm/drmP.h>
18 #include <drm/drm_gem.h>
55 struct tegra_bo *tegra_bo_create(struct drm_device *drm, size_t size,
58 struct drm_device *drm,
63 int tegra_bo_dumb_create(struct drm_file *file, struct drm_device *drm,
65 int tegra_bo_dumb_map_offset(struct drm_file *file, struct drm_device *drm,
72 struct dma_buf *tegra_gem_prime_export(struct drm_device *drm,
75 struct drm_gem_object *tegra_gem_prime_import(struct drm_device *drm,
H A Dfb.c13 #include "drm.h"
94 static struct tegra_fb *tegra_fb_alloc(struct drm_device *drm, tegra_fb_alloc() argument
120 err = drm_framebuffer_init(drm, &fb->base, &tegra_fb_funcs); tegra_fb_alloc()
122 dev_err(drm->dev, "failed to initialize framebuffer: %d\n", tegra_fb_alloc()
132 struct drm_framebuffer *tegra_fb_create(struct drm_device *drm, tegra_fb_create() argument
150 gem = drm_gem_object_lookup(drm, file, cmd->handles[i]); tegra_fb_create()
169 fb = tegra_fb_alloc(drm, cmd, planes, i); tegra_fb_create()
202 struct drm_device *drm = helper->dev; tegra_fbdev_probe() local
223 bo = tegra_bo_create(drm, size, 0); tegra_fbdev_probe()
229 dev_err(drm->dev, "failed to allocate framebuffer info\n"); tegra_fbdev_probe()
234 fbdev->fb = tegra_fb_alloc(drm, &cmd, &bo, 1); tegra_fbdev_probe()
237 dev_err(drm->dev, "failed to allocate DRM framebuffer: %d\n", tegra_fbdev_probe()
261 dev_err(drm->dev, "failed to vmap() framebuffer\n"); tegra_fbdev_probe()
267 drm->mode_config.fb_base = (resource_size_t)bo->paddr; tegra_fbdev_probe()
287 static struct tegra_fbdev *tegra_fbdev_create(struct drm_device *drm) tegra_fbdev_create() argument
293 dev_err(drm->dev, "failed to allocate DRM fbdev\n"); tegra_fbdev_create()
297 drm_fb_helper_prepare(drm, &fbdev->base, &tegra_fb_helper_funcs); tegra_fbdev_create()
312 struct drm_device *drm = fbdev->base.dev; tegra_fbdev_init() local
315 err = drm_fb_helper_init(drm, &fbdev->base, num_crtc, max_connectors); tegra_fbdev_init()
317 dev_err(drm->dev, "failed to initialize DRM FB helper: %d\n", tegra_fbdev_init()
324 dev_err(drm->dev, "failed to add connectors: %d\n", err); tegra_fbdev_init()
330 dev_err(drm->dev, "failed to set initial configuration: %d\n", tegra_fbdev_init()
362 void tegra_fb_output_poll_changed(struct drm_device *drm) tegra_fb_output_poll_changed() argument
364 struct tegra_drm *tegra = drm->dev_private; tegra_fb_output_poll_changed()
371 int tegra_drm_fb_prepare(struct drm_device *drm) tegra_drm_fb_prepare() argument
374 struct tegra_drm *tegra = drm->dev_private; tegra_drm_fb_prepare()
376 tegra->fbdev = tegra_fbdev_create(drm); tegra_drm_fb_prepare()
384 void tegra_drm_fb_free(struct drm_device *drm) tegra_drm_fb_free() argument
387 struct tegra_drm *tegra = drm->dev_private; tegra_drm_fb_free()
393 int tegra_drm_fb_init(struct drm_device *drm) tegra_drm_fb_init() argument
396 struct tegra_drm *tegra = drm->dev_private; tegra_drm_fb_init()
399 err = tegra_fbdev_init(tegra->fbdev, 32, drm->mode_config.num_crtc, tegra_drm_fb_init()
400 drm->mode_config.num_connector); tegra_drm_fb_init()
408 void tegra_drm_fb_exit(struct drm_device *drm) tegra_drm_fb_exit() argument
411 struct tegra_drm *tegra = drm->dev_private; tegra_drm_fb_exit()
H A Ddrm.c13 #include <drm/drm_atomic.h>
14 #include <drm/drm_atomic_helper.h>
16 #include "drm.h"
40 struct drm_device *drm = tegra->drm; tegra_atomic_complete() local
58 drm_atomic_helper_commit_modeset_disables(drm, state); tegra_atomic_complete()
59 drm_atomic_helper_commit_planes(drm, state, false); tegra_atomic_complete()
60 drm_atomic_helper_commit_modeset_enables(drm, state); tegra_atomic_complete()
62 drm_atomic_helper_wait_for_vblanks(drm, state); tegra_atomic_complete()
64 drm_atomic_helper_cleanup_planes(drm, state); tegra_atomic_complete()
76 static int tegra_atomic_commit(struct drm_device *drm, tegra_atomic_commit() argument
79 struct tegra_drm *tegra = drm->dev_private; tegra_atomic_commit()
82 err = drm_atomic_helper_prepare_planes(drm, state); tegra_atomic_commit()
96 drm_atomic_helper_swap_state(drm, state); tegra_atomic_commit()
116 static int tegra_drm_load(struct drm_device *drm, unsigned long flags) tegra_drm_load() argument
118 struct host1x_device *device = to_host1x_device(drm->dev); tegra_drm_load()
151 drm->dev_private = tegra; tegra_drm_load()
152 tegra->drm = drm; tegra_drm_load()
154 drm_mode_config_init(drm); tegra_drm_load()
156 drm->mode_config.min_width = 0; tegra_drm_load()
157 drm->mode_config.min_height = 0; tegra_drm_load()
159 drm->mode_config.max_width = 4096; tegra_drm_load()
160 drm->mode_config.max_height = 4096; tegra_drm_load()
162 drm->mode_config.funcs = &tegra_drm_mode_funcs; tegra_drm_load()
164 err = tegra_drm_fb_prepare(drm); tegra_drm_load()
168 drm_kms_helper_poll_init(drm); tegra_drm_load()
179 drm->irq_enabled = true; tegra_drm_load()
182 drm->max_vblank_count = 0xffffffff; tegra_drm_load()
183 drm->vblank_disable_allowed = true; tegra_drm_load()
185 err = drm_vblank_init(drm, drm->mode_config.num_crtc); tegra_drm_load()
189 drm_mode_config_reset(drm); tegra_drm_load()
191 err = tegra_drm_fb_init(drm); tegra_drm_load()
198 drm_vblank_cleanup(drm); tegra_drm_load()
202 drm_kms_helper_poll_fini(drm); tegra_drm_load()
203 tegra_drm_fb_free(drm); tegra_drm_load()
205 drm_mode_config_cleanup(drm); tegra_drm_load()
216 static int tegra_drm_unload(struct drm_device *drm) tegra_drm_unload() argument
218 struct host1x_device *device = to_host1x_device(drm->dev); tegra_drm_unload()
219 struct tegra_drm *tegra = drm->dev_private; tegra_drm_unload()
222 drm_kms_helper_poll_fini(drm); tegra_drm_unload()
223 tegra_drm_fb_exit(drm); tegra_drm_unload()
224 drm_mode_config_cleanup(drm); tegra_drm_unload()
225 drm_vblank_cleanup(drm); tegra_drm_unload()
241 static int tegra_drm_open(struct drm_device *drm, struct drm_file *filp) tegra_drm_open() argument
261 static void tegra_drm_lastclose(struct drm_device *drm) tegra_drm_lastclose() argument
264 struct tegra_drm *tegra = drm->dev_private; tegra_drm_lastclose()
271 host1x_bo_lookup(struct drm_device *drm, struct drm_file *file, u32 handle) host1x_bo_lookup() argument
276 gem = drm_gem_object_lookup(drm, file, handle); host1x_bo_lookup()
280 mutex_lock(&drm->struct_mutex); host1x_bo_lookup()
282 mutex_unlock(&drm->struct_mutex); host1x_bo_lookup()
290 struct drm_device *drm, host1x_reloc_copy_from_user()
316 dest->cmdbuf.bo = host1x_bo_lookup(drm, file, cmdbuf); host1x_reloc_copy_from_user()
320 dest->target.bo = host1x_bo_lookup(drm, file, target); host1x_reloc_copy_from_user()
328 struct drm_tegra_submit *args, struct drm_device *drm, tegra_drm_submit()
368 bo = host1x_bo_lookup(drm, file, cmdbuf.handle); tegra_drm_submit()
382 &relocs[num_relocs], drm, tegra_drm_submit()
447 static int tegra_gem_create(struct drm_device *drm, void *data, tegra_gem_create() argument
453 bo = tegra_bo_create_with_handle(file, drm, args->size, args->flags, tegra_gem_create()
461 static int tegra_gem_mmap(struct drm_device *drm, void *data, tegra_gem_mmap() argument
468 gem = drm_gem_object_lookup(drm, file, args->handle); tegra_gem_mmap()
481 static int tegra_syncpt_read(struct drm_device *drm, void *data, tegra_syncpt_read() argument
484 struct host1x *host = dev_get_drvdata(drm->dev->parent); tegra_syncpt_read()
496 static int tegra_syncpt_incr(struct drm_device *drm, void *data, tegra_syncpt_incr() argument
499 struct host1x *host1x = dev_get_drvdata(drm->dev->parent); tegra_syncpt_incr()
510 static int tegra_syncpt_wait(struct drm_device *drm, void *data, tegra_syncpt_wait() argument
513 struct host1x *host1x = dev_get_drvdata(drm->dev->parent); tegra_syncpt_wait()
525 static int tegra_open_channel(struct drm_device *drm, void *data, tegra_open_channel() argument
529 struct tegra_drm *tegra = drm->dev_private; tegra_open_channel()
555 static int tegra_close_channel(struct drm_device *drm, void *data, tegra_close_channel() argument
573 static int tegra_get_syncpt(struct drm_device *drm, void *data, tegra_get_syncpt() argument
595 static int tegra_submit(struct drm_device *drm, void *data, tegra_submit() argument
607 return context->client->ops->submit(context, args, drm, file); tegra_submit()
610 static int tegra_get_syncpt_base(struct drm_device *drm, void *data, tegra_get_syncpt_base() argument
638 static int tegra_gem_set_tiling(struct drm_device *drm, void *data, tegra_gem_set_tiling() argument
677 gem = drm_gem_object_lookup(drm, file, args->handle); tegra_gem_set_tiling()
691 static int tegra_gem_get_tiling(struct drm_device *drm, void *data, tegra_gem_get_tiling() argument
699 gem = drm_gem_object_lookup(drm, file, args->handle); tegra_gem_get_tiling()
731 static int tegra_gem_set_flags(struct drm_device *drm, void *data, tegra_gem_set_flags() argument
741 gem = drm_gem_object_lookup(drm, file, args->handle); tegra_gem_set_flags()
756 static int tegra_gem_get_flags(struct drm_device *drm, void *data, tegra_gem_get_flags() argument
763 gem = drm_gem_object_lookup(drm, file, args->handle); tegra_gem_get_flags()
812 static struct drm_crtc *tegra_crtc_from_pipe(struct drm_device *drm, tegra_crtc_from_pipe() argument
817 list_for_each_entry(crtc, &drm->mode_config.crtc_list, head) { tegra_crtc_from_pipe()
825 static u32 tegra_drm_get_vblank_counter(struct drm_device *drm, tegra_drm_get_vblank_counter() argument
828 struct drm_crtc *crtc = tegra_crtc_from_pipe(drm, pipe); tegra_drm_get_vblank_counter()
837 static int tegra_drm_enable_vblank(struct drm_device *drm, unsigned int pipe) tegra_drm_enable_vblank() argument
839 struct drm_crtc *crtc = tegra_crtc_from_pipe(drm, pipe); tegra_drm_enable_vblank()
850 static void tegra_drm_disable_vblank(struct drm_device *drm, unsigned int pipe) tegra_drm_disable_vblank() argument
852 struct drm_crtc *crtc = tegra_crtc_from_pipe(drm, pipe); tegra_drm_disable_vblank()
859 static void tegra_drm_preclose(struct drm_device *drm, struct drm_file *file) tegra_drm_preclose() argument
865 list_for_each_entry(crtc, &drm->mode_config.crtc_list, head) tegra_drm_preclose()
878 struct drm_device *drm = node->minor->dev; tegra_debugfs_framebuffers() local
881 mutex_lock(&drm->mode_config.fb_lock); tegra_debugfs_framebuffers()
883 list_for_each_entry(fb, &drm->mode_config.fb_list, head) { tegra_debugfs_framebuffers()
890 mutex_unlock(&drm->mode_config.fb_lock); tegra_debugfs_framebuffers()
898 struct drm_device *drm = node->minor->dev; tegra_debugfs_iova() local
899 struct tegra_drm *tegra = drm->dev_private; tegra_debugfs_iova()
987 struct drm_device *drm; host1x_drm_probe() local
990 drm = drm_dev_alloc(driver, &dev->dev); host1x_drm_probe()
991 if (!drm) host1x_drm_probe()
994 drm_dev_set_unique(drm, dev_name(&dev->dev)); host1x_drm_probe()
995 dev_set_drvdata(&dev->dev, drm); host1x_drm_probe()
997 err = drm_dev_register(drm, 0); host1x_drm_probe()
1003 driver->date, drm->primary->index); host1x_drm_probe()
1008 drm_dev_unref(drm); host1x_drm_probe()
1014 struct drm_device *drm = dev_get_drvdata(&dev->dev); host1x_drm_remove() local
1016 drm_dev_unregister(drm); host1x_drm_remove()
1017 drm_dev_unref(drm); host1x_drm_remove()
1025 struct drm_device *drm = dev_get_drvdata(dev); host1x_drm_suspend() local
1027 drm_kms_helper_poll_disable(drm); host1x_drm_suspend()
1034 struct drm_device *drm = dev_get_drvdata(dev); host1x_drm_resume() local
1036 drm_kms_helper_poll_enable(drm); host1x_drm_resume()
1071 .name = "drm",
288 host1x_reloc_copy_from_user(struct host1x_reloc *dest, struct drm_tegra_reloc __user *src, struct drm_device *drm, struct drm_file *file) host1x_reloc_copy_from_user() argument
327 tegra_drm_submit(struct tegra_drm_context *context, struct drm_tegra_submit *args, struct drm_device *drm, struct drm_file *file) tegra_drm_submit() argument
H A Dgem.c18 #include <drm/tegra_drm.h>
20 #include "drm.h"
31 struct drm_device *drm = obj->gem.dev; tegra_bo_put() local
33 mutex_lock(&drm->struct_mutex); tegra_bo_put()
35 mutex_unlock(&drm->struct_mutex); tegra_bo_put()
75 struct drm_device *drm = obj->gem.dev; tegra_bo_get() local
77 mutex_lock(&drm->struct_mutex); tegra_bo_get()
79 mutex_unlock(&drm->struct_mutex); tegra_bo_get()
110 dev_err(tegra->drm->dev, "out of I/O virtual memory: %zd\n", tegra_bo_iommu_map()
120 dev_err(tegra->drm->dev, "failed to map buffer: %zd\n", err); tegra_bo_iommu_map()
147 static struct tegra_bo *tegra_bo_alloc_object(struct drm_device *drm, tegra_bo_alloc_object() argument
160 err = drm_gem_object_init(drm, &bo->gem, size); tegra_bo_alloc_object()
177 static void tegra_bo_free(struct drm_device *drm, struct tegra_bo *bo) tegra_bo_free() argument
184 dma_free_writecombine(drm->dev, bo->gem.size, bo->vaddr, tegra_bo_free()
189 static int tegra_bo_get_pages(struct drm_device *drm, struct tegra_bo *bo) tegra_bo_get_pages() argument
214 dma_sync_sg_for_device(drm->dev, bo->sgt->sgl, bo->sgt->nents, tegra_bo_get_pages()
224 static int tegra_bo_alloc(struct drm_device *drm, struct tegra_bo *bo) tegra_bo_alloc() argument
226 struct tegra_drm *tegra = drm->dev_private; tegra_bo_alloc()
230 err = tegra_bo_get_pages(drm, bo); tegra_bo_alloc()
236 tegra_bo_free(drm, bo); tegra_bo_alloc()
242 bo->vaddr = dma_alloc_writecombine(drm->dev, size, &bo->paddr, tegra_bo_alloc()
245 dev_err(drm->dev, tegra_bo_alloc()
255 struct tegra_bo *tegra_bo_create(struct drm_device *drm, size_t size, tegra_bo_create() argument
261 bo = tegra_bo_alloc_object(drm, size); tegra_bo_create()
265 err = tegra_bo_alloc(drm, bo); tegra_bo_create()
284 struct drm_device *drm, tegra_bo_create_with_handle()
292 bo = tegra_bo_create(drm, size, flags); tegra_bo_create_with_handle()
307 static struct tegra_bo *tegra_bo_import(struct drm_device *drm, tegra_bo_import() argument
310 struct tegra_drm *tegra = drm->dev_private; tegra_bo_import()
315 bo = tegra_bo_alloc_object(drm, buf->size); tegra_bo_import()
319 attach = dma_buf_attach(buf, drm->dev); tegra_bo_import()
387 int tegra_bo_dumb_create(struct drm_file *file, struct drm_device *drm, tegra_bo_dumb_create() argument
391 struct tegra_drm *tegra = drm->dev_private; tegra_bo_dumb_create()
397 bo = tegra_bo_create_with_handle(file, drm, args->size, 0, tegra_bo_dumb_create()
405 int tegra_bo_dumb_map_offset(struct drm_file *file, struct drm_device *drm, tegra_bo_dumb_map_offset() argument
411 mutex_lock(&drm->struct_mutex); tegra_bo_dumb_map_offset()
413 gem = drm_gem_object_lookup(drm, file, handle); tegra_bo_dumb_map_offset()
415 dev_err(drm->dev, "failed to lookup GEM object\n"); tegra_bo_dumb_map_offset()
416 mutex_unlock(&drm->struct_mutex); tegra_bo_dumb_map_offset()
426 mutex_unlock(&drm->struct_mutex); tegra_bo_dumb_map_offset()
617 struct dma_buf *tegra_gem_prime_export(struct drm_device *drm, tegra_gem_prime_export() argument
631 struct drm_gem_object *tegra_gem_prime_import(struct drm_device *drm, tegra_gem_prime_import() argument
639 if (gem->dev == drm) { tegra_gem_prime_import()
645 bo = tegra_bo_import(drm, buf); tegra_gem_prime_import()
283 tegra_bo_create_with_handle(struct drm_file *file, struct drm_device *drm, size_t size, unsigned long flags, u32 *handle) tegra_bo_create_with_handle() argument
H A Ddrm.h13 #include <uapi/drm/tegra_drm.h>
17 #include <drm/drmP.h>
18 #include <drm/drm_crtc_helper.h>
19 #include <drm/drm_edid.h>
20 #include <drm/drm_fb_helper.h>
21 #include <drm/drm_fixed.h>
41 struct drm_device *drm; member in struct:tegra_drm
76 struct drm_tegra_submit *args, struct drm_device *drm,
81 struct drm_tegra_submit *args, struct drm_device *drm,
102 int tegra_drm_init(struct tegra_drm *tegra, struct drm_device *drm);
231 int tegra_dc_rgb_init(struct drm_device *drm, struct tegra_dc *dc);
237 int tegra_output_init(struct drm_device *drm, struct tegra_output *output);
269 struct drm_framebuffer *tegra_fb_create(struct drm_device *drm,
272 int tegra_drm_fb_prepare(struct drm_device *drm);
273 void tegra_drm_fb_free(struct drm_device *drm);
274 int tegra_drm_fb_init(struct drm_device *drm);
275 void tegra_drm_fb_exit(struct drm_device *drm);
278 void tegra_fb_output_poll_changed(struct drm_device *drm);
H A Dgr2d.c11 #include "drm.h"
30 struct tegra_drm_client *drm = host1x_to_drm_client(client); gr2d_init() local
33 struct gr2d *gr2d = to_gr2d(drm); gr2d_init()
45 return tegra_drm_register_client(dev->dev_private, drm); gr2d_init()
50 struct tegra_drm_client *drm = host1x_to_drm_client(client); gr2d_exit() local
52 struct gr2d *gr2d = to_gr2d(drm); gr2d_exit()
55 err = tegra_drm_unregister_client(dev->dev_private, drm); gr2d_exit()
H A Dgr3d.c18 #include "drm.h"
40 struct tegra_drm_client *drm = host1x_to_drm_client(client); gr3d_init() local
43 struct gr3d *gr3d = to_gr3d(drm); gr3d_init()
55 return tegra_drm_register_client(dev->dev_private, drm); gr3d_init()
60 struct tegra_drm_client *drm = host1x_to_drm_client(client); gr3d_exit() local
62 struct gr3d *gr3d = to_gr3d(drm); gr3d_exit()
65 err = tegra_drm_unregister_client(dev->dev_private, drm); gr3d_exit()
H A Drgb.c12 #include <drm/drm_atomic_helper.h>
13 #include <drm/drm_panel.h>
15 #include "drm.h"
275 int tegra_dc_rgb_init(struct drm_device *drm, struct tegra_dc *dc) tegra_dc_rgb_init() argument
283 drm_connector_init(drm, &output->connector, &tegra_rgb_connector_funcs, tegra_dc_rgb_init()
289 drm_encoder_init(drm, &output->encoder, &tegra_rgb_encoder_funcs, tegra_dc_rgb_init()
298 err = tegra_output_init(drm, output); tegra_dc_rgb_init()
H A Doutput.c10 #include <drm/drm_atomic_helper.h>
11 #include <drm/drm_panel.h>
12 #include "drm.h"
191 int tegra_output_init(struct drm_device *drm, struct tegra_output *output) tegra_output_init() argument
/linux-4.4.14/drivers/gpu/drm/vgem/
H A DMakefile1 ccflags-y := -Iinclude/drm
H A Dvgem_drv.h32 #include <drm/drmP.h>
33 #include <drm/drm_gem.h>
/linux-4.4.14/drivers/gpu/drm/sti/
H A DMakefile1 sti-drm-y := \
23 obj-$(CONFIG_DRM_STI) = sti-drm.o
H A Dsti_drv.h10 #include <drm/drmP.h>
16 * STI drm private structure
21 * @drm_dev: drm device
H A Dsti_plane.h10 #include <drm/drmP.h>
11 #include <drm/drm_atomic_helper.h>
12 #include <drm/drm_plane_helper.h>
56 * @plane: drm plane it is bound to (if any)
H A Dsti_awg_utils.h10 #include <drm/drmP.h>
H A Dsti_drv.c7 #include <drm/drmP.h>
15 #include <drm/drm_atomic.h>
16 #include <drm/drm_atomic_helper.h>
17 #include <drm/drm_crtc_helper.h>
18 #include <drm/drm_gem_cma_helper.h>
19 #include <drm/drm_fb_cma_helper.h>
43 struct drm_device *drm = private->drm_dev; sti_atomic_complete() local
61 drm_atomic_helper_commit_modeset_disables(drm, state); sti_atomic_complete()
62 drm_atomic_helper_commit_planes(drm, state, false); sti_atomic_complete()
63 drm_atomic_helper_commit_modeset_enables(drm, state); sti_atomic_complete()
65 drm_atomic_helper_wait_for_vblanks(drm, state); sti_atomic_complete()
67 drm_atomic_helper_cleanup_planes(drm, state); sti_atomic_complete()
79 static int sti_atomic_commit(struct drm_device *drm, sti_atomic_commit() argument
82 struct sti_private *private = drm->dev_private; sti_atomic_commit()
85 err = drm_atomic_helper_prepare_planes(drm, state); sti_atomic_commit()
99 drm_atomic_helper_swap_state(drm, state); sti_atomic_commit()
H A Dsti_plane.c9 #include <drm/drmP.h>
10 #include <drm/drm_fb_cma_helper.h>
11 #include <drm/drm_gem_cma_helper.h>
106 DRM_DEBUG_DRIVER("drm plane:%d mapped to %s with zorder:%d\n", sti_plane_init_property()
H A Dsti_crtc.h10 #include <drm/drmP.h>
H A Dsti_cursor.c8 #include <drm/drmP.h>
10 #include <drm/drm_atomic_helper.h>
11 #include <drm/drm_fb_cma_helper.h>
12 #include <drm/drm_gem_cma_helper.h>
13 #include <drm/drm_plane_helper.h>
135 DRM_DEBUG_KMS("CRTC:%d (%s) drm plane:%d (%s)\n", sti_cursor_atomic_update()
221 DRM_DEBUG_DRIVER("drm plane:%d not enabled\n", sti_cursor_atomic_disable()
226 DRM_DEBUG_DRIVER("CRTC:%d (%s) drm plane:%d (%s)\n", sti_cursor_atomic_disable()
H A Dsti_hdmi.h12 #include <drm/drmP.h>
31 * @drm_dev: pointer to drm device
H A Dsti_crtc.c11 #include <drm/drmP.h>
12 #include <drm/drm_atomic.h>
13 #include <drm/drm_atomic_helper.h>
14 #include <drm/drm_crtc_helper.h>
15 #include <drm/drm_plane_helper.h>
378 DRM_DEBUG_DRIVER("drm CRTC:%d mapped to %s\n", sti_crtc_init()
/linux-4.4.14/drivers/gpu/drm/tdfx/
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
5 ccflags-y := -Iinclude/drm
H A Dtdfx_drv.c35 #include <drm/drmP.h>
38 #include <drm/drm_pciids.h>
39 #include <drm/drm_legacy.h>
/linux-4.4.14/drivers/gpu/drm/radeon/
H A Dradeon_trace_points.c4 #include <drm/drmP.h>
5 #include <drm/radeon_drm.h>
H A Ddrm_buffer.c39 * Allocate the drm buffer object.
55 DRM_ERROR("Failed to allocate drm buffer object to hold" drm_buffer_alloc()
71 DRM_ERROR("Failed to allocate %dth page for drm" drm_buffer_alloc()
104 DRM_ERROR("Requesting to copy %d bytes to a drm buffer with" drm_buffer_copy_from_user()
115 DRM_ERROR("Failed to copy user data (%p) to drm buffer" drm_buffer_copy_from_user()
127 * Free the drm buffer object
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
5 ccflags-y := -Iinclude/drm -Idrivers/gpu/drm/amd/include
H A Dradeon_kms.c28 #include <drm/drmP.h>
30 #include <drm/radeon_drm.h>
48 * @dev: drm dev pointer radeon_has_atpx()
84 * @dev: drm dev pointer
172 * @dev: drm dev pointer
173 * @owner: drm file
174 * @applier: drm file
208 * @filp: drm filp
600 * Outdated mess for old drm with Xorg being in charge (void function now).
603 * radeon_driver_lastclose_kms - drm callback for last close
605 * @dev: drm dev pointer
618 * radeon_driver_open_kms - drm callback for open
620 * @dev: drm dev pointer
621 * @file_priv: drm file
686 * radeon_driver_postclose_kms - drm callback for post close
688 * @dev: drm dev pointer
689 * @file_priv: drm file
720 * radeon_driver_preclose_kms - drm callback for pre close
722 * @dev: drm dev pointer
723 * @file_priv: drm file
750 * @dev: drm dev pointer
819 * @dev: drm dev pointer
846 * @dev: drm dev pointer
870 * @dev: drm dev pointer
H A Dradeon_irq_kms.c28 #include <drm/drmP.h>
29 #include <drm/drm_crtc_helper.h>
30 #include <drm/radeon_drm.h>
72 * a drm hotplug event to alert userspace.
112 * radeon_driver_irq_preinstall_kms - drm irq preinstall callback
114 * @dev: drm dev pointer
144 * radeon_driver_irq_postinstall_kms - drm irq preinstall callback
146 * @dev: drm dev pointer
164 * radeon_driver_irq_uninstall_kms - drm irq uninstall callback
166 * @dev: drm dev pointer
/linux-4.4.14/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_trace_points.c4 #include <drm/drmP.h>
5 #include <drm/amdgpu_drm.h>
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
5 ccflags-y := -Iinclude/drm -Idrivers/gpu/drm/amd/include/asic_reg \
6 -Idrivers/gpu/drm/amd/include \
7 -Idrivers/gpu/drm/amd/amdgpu \
8 -Idrivers/gpu/drm/amd/scheduler
H A Damdgpu_kms.c28 #include <drm/drmP.h>
30 #include <drm/amdgpu_drm.h>
48 * @dev: drm dev pointer amdgpu_has_atpx()
80 * @dev: drm dev pointer
153 * @filp: drm filp
485 * Outdated mess for old drm with Xorg being in charge (void function now).
488 * amdgpu_driver_lastclose_kms - drm callback for last close
490 * @dev: drm dev pointer
503 * amdgpu_driver_open_kms - drm callback for open
505 * @dev: drm dev pointer
506 * @file_priv: drm file
549 * amdgpu_driver_postclose_kms - drm callback for post close
551 * @dev: drm dev pointer
552 * @file_priv: drm file
582 * amdgpu_driver_preclose_kms - drm callback for pre close
584 * @dev: drm dev pointer
585 * @file_priv: drm file
605 * @dev: drm dev pointer
672 * @dev: drm dev pointer
689 * @dev: drm dev pointer
705 * @dev: drm dev pointer
H A Damdgpu_ioc32.c32 #include <drm/drmP.h>
33 #include <drm/amdgpu_drm.h>
H A Damdgpu_irq.c28 #include <drm/drmP.h>
29 #include <drm/drm_crtc_helper.h>
30 #include <drm/amdgpu_drm.h>
52 * a drm hotplug event to alert userspace.
116 * amdgpu_irq_preinstall - drm irq preinstall callback
118 * @dev: drm dev pointer
134 * amdgpu_irq_postinstall - drm irq preinstall callback
136 * @dev: drm dev pointer
148 * amdgpu_irq_uninstall - drm irq uninstall callback
150 * @dev: drm dev pointer
/linux-4.4.14/drivers/gpu/drm/udl/
H A DMakefile2 ccflags-y := -Iinclude/drm
H A Dudl_encoder.c13 #include <drm/drmP.h>
14 #include <drm/drm_crtc.h>
15 #include <drm/drm_crtc_helper.h>
H A Dudl_connector.c13 #include <drm/drmP.h>
14 #include <drm/drm_crtc.h>
15 #include <drm/drm_edid.h>
16 #include <drm/drm_crtc_helper.h>
71 * blocks then the drm edid code expects them to be present, so patch udl_get_modes()
H A Dudl_drv.c10 #include <drm/drmP.h>
11 #include <drm/drm_crtc_helper.h>
/linux-4.4.14/drivers/gpu/drm/cirrus/
H A DMakefile1 ccflags-y := -Iinclude/drm
H A Dcirrus_drv.h16 #include <drm/drm_fb_helper.h>
18 #include <drm/ttm/ttm_bo_api.h>
19 #include <drm/ttm/ttm_bo_driver.h>
20 #include <drm/ttm/ttm_placement.h>
21 #include <drm/ttm/ttm_memory.h>
22 #include <drm/ttm/ttm_module.h>
24 #include <drm/drm_gem.h>
H A Dcirrus_drv.c13 #include <drm/drmP.h>
14 #include <drm/drm_crtc_helper.h>
27 * This is the generic driver code. This binds the driver to the drm core,
/linux-4.4.14/drivers/gpu/drm/mgag200/
H A DMakefile1 ccflags-y := -Iinclude/drm
H A Dmgag200_drv.c13 #include <drm/drmP.h>
17 #include <drm/drm_pciids.h>
20 * This is the generic driver code. This binds the driver to the drm core,
H A Dmgag200_drv.h18 #include <drm/drm_fb_helper.h>
19 #include <drm/ttm/ttm_bo_api.h>
20 #include <drm/ttm/ttm_bo_driver.h>
21 #include <drm/ttm/ttm_placement.h>
22 #include <drm/ttm/ttm_memory.h>
23 #include <drm/ttm/ttm_module.h>
25 #include <drm/drm_gem.h>
/linux-4.4.14/drivers/gpu/drm/nouveau/
H A Dnouveau_ttm.c38 struct nouveau_drm *drm = nouveau_bdev(man->bdev); nouveau_vram_manager_init() local
39 struct nvkm_fb *fb = nvxx_fb(&drm->device); nouveau_vram_manager_init()
69 struct nouveau_drm *drm = nouveau_bdev(man->bdev); nouveau_vram_manager_del() local
70 struct nvkm_ram *ram = nvxx_fb(&drm->device)->ram; nouveau_vram_manager_del()
81 struct nouveau_drm *drm = nouveau_bdev(man->bdev); nouveau_vram_manager_new() local
82 struct nvkm_ram *ram = nvxx_fb(&drm->device)->ram; nouveau_vram_manager_new()
88 if (drm->device.info.ram_size == 0) nouveau_vram_manager_new()
143 struct nouveau_drm *drm = nouveau_bdev(bo->bdev); nouveau_gart_manager_new() local
153 switch (drm->device.info.family) { nouveau_gart_manager_new()
161 if (drm->device.info.chipset != 0x50) nouveau_gart_manager_new()
170 NV_WARN(drm, "%s: unhandled family type %x\n", __func__, nouveau_gart_manager_new()
171 drm->device.info.family); nouveau_gart_manager_new()
198 struct nouveau_drm *drm = nouveau_bdev(man->bdev); nv04_gart_manager_init() local
199 struct nvkm_mmu *mmu = nvxx_mmu(&drm->device); nv04_gart_manager_init()
270 struct nouveau_drm *drm = nouveau_drm(file_priv->minor->dev); nouveau_ttm_mmap() local
275 return ttm_bo_mmap(filp, vma, &drm->ttm.bdev); nouveau_ttm_mmap()
291 nouveau_ttm_global_init(struct nouveau_drm *drm) nouveau_ttm_global_init() argument
296 global_ref = &drm->ttm.mem_global_ref; nouveau_ttm_global_init()
305 drm->ttm.mem_global_ref.release = NULL; nouveau_ttm_global_init()
309 drm->ttm.bo_global_ref.mem_glob = global_ref->object; nouveau_ttm_global_init()
310 global_ref = &drm->ttm.bo_global_ref.ref; nouveau_ttm_global_init()
319 drm_global_item_unref(&drm->ttm.mem_global_ref); nouveau_ttm_global_init()
320 drm->ttm.mem_global_ref.release = NULL; nouveau_ttm_global_init()
328 nouveau_ttm_global_release(struct nouveau_drm *drm) nouveau_ttm_global_release() argument
330 if (drm->ttm.mem_global_ref.release == NULL) nouveau_ttm_global_release()
333 drm_global_item_unref(&drm->ttm.bo_global_ref.ref); nouveau_ttm_global_release()
334 drm_global_item_unref(&drm->ttm.mem_global_ref); nouveau_ttm_global_release()
335 drm->ttm.mem_global_ref.release = NULL; nouveau_ttm_global_release()
339 nouveau_ttm_init(struct nouveau_drm *drm) nouveau_ttm_init() argument
341 struct nvkm_device *device = nvxx_device(&drm->device); nouveau_ttm_init()
343 struct drm_device *dev = drm->dev; nouveau_ttm_init()
348 drm->agp.bridge = pci->agp.bridge; nouveau_ttm_init()
349 drm->agp.base = pci->agp.base; nouveau_ttm_init()
350 drm->agp.size = pci->agp.size; nouveau_ttm_init()
351 drm->agp.cma = pci->agp.cma; nouveau_ttm_init()
354 bits = nvxx_mmu(&drm->device)->dma_bits; nouveau_ttm_init()
355 if (nvxx_device(&drm->device)->func->pci) { nouveau_ttm_init()
356 if (drm->agp.bridge) nouveau_ttm_init()
382 ret = nouveau_ttm_global_init(drm); nouveau_ttm_init()
386 ret = ttm_bo_device_init(&drm->ttm.bdev, nouveau_ttm_init()
387 drm->ttm.bo_global_ref.ref.object, nouveau_ttm_init()
393 NV_ERROR(drm, "error initialising bo driver, %d\n", ret); nouveau_ttm_init()
398 drm->gem.vram_available = drm->device.info.ram_user; nouveau_ttm_init()
400 ret = ttm_bo_init_mm(&drm->ttm.bdev, TTM_PL_VRAM, nouveau_ttm_init()
401 drm->gem.vram_available >> PAGE_SHIFT); nouveau_ttm_init()
403 NV_ERROR(drm, "VRAM mm init failed, %d\n", ret); nouveau_ttm_init()
407 drm->ttm.mtrr = arch_phys_wc_add(device->func->resource_addr(device, 1), nouveau_ttm_init()
411 if (!drm->agp.bridge) { nouveau_ttm_init()
412 drm->gem.gart_available = nvxx_mmu(&drm->device)->limit; nouveau_ttm_init()
414 drm->gem.gart_available = drm->agp.size; nouveau_ttm_init()
417 ret = ttm_bo_init_mm(&drm->ttm.bdev, TTM_PL_TT, nouveau_ttm_init()
418 drm->gem.gart_available >> PAGE_SHIFT); nouveau_ttm_init()
420 NV_ERROR(drm, "GART mm init failed, %d\n", ret); nouveau_ttm_init()
424 NV_INFO(drm, "VRAM: %d MiB\n", (u32)(drm->gem.vram_available >> 20)); nouveau_ttm_init()
425 NV_INFO(drm, "GART: %d MiB\n", (u32)(drm->gem.gart_available >> 20)); nouveau_ttm_init()
430 nouveau_ttm_fini(struct nouveau_drm *drm) nouveau_ttm_fini() argument
432 ttm_bo_clean_mm(&drm->ttm.bdev, TTM_PL_VRAM); nouveau_ttm_fini()
433 ttm_bo_clean_mm(&drm->ttm.bdev, TTM_PL_TT); nouveau_ttm_fini()
435 ttm_bo_device_release(&drm->ttm.bdev); nouveau_ttm_fini()
437 nouveau_ttm_global_release(drm); nouveau_ttm_fini()
439 arch_phys_wc_del(drm->ttm.mtrr); nouveau_ttm_fini()
440 drm->ttm.mtrr = 0; nouveau_ttm_fini()
H A Dnouveau_vga.c4 #include <drm/drmP.h>
5 #include <drm/drm_crtc_helper.h>
15 struct nouveau_drm *drm = nouveau_drm(priv); nouveau_vga_set_decode() local
16 struct nvif_object *device = &drm->device.object; nouveau_vga_set_decode()
18 if (drm->device.info.family == NV_DEVICE_INFO_V0_CURIE && nouveau_vga_set_decode()
19 drm->device.info.chipset >= 0x4c) nouveau_vga_set_decode()
22 if (drm->device.info.chipset >= 0x40) nouveau_vga_set_decode()
87 nouveau_vga_init(struct nouveau_drm *drm) nouveau_vga_init() argument
89 struct drm_device *dev = drm->dev; nouveau_vga_init()
105 vga_switcheroo_init_domain_pm_ops(drm->dev->dev, &drm->vga_pm_domain); nouveau_vga_init()
109 nouveau_vga_fini(struct nouveau_drm *drm) nouveau_vga_fini() argument
111 struct drm_device *dev = drm->dev; nouveau_vga_fini()
121 vga_switcheroo_fini_domain_pm_ops(drm->dev->dev); nouveau_vga_fini()
H A Dnouveau_drm.c139 nouveau_accel_fini(struct nouveau_drm *drm) nouveau_accel_fini() argument
141 nouveau_channel_idle(drm->channel); nouveau_accel_fini()
142 nvif_object_fini(&drm->ntfy); nouveau_accel_fini()
143 nvkm_gpuobj_del(&drm->notify); nouveau_accel_fini()
144 nvif_notify_fini(&drm->flip); nouveau_accel_fini()
145 nvif_object_fini(&drm->nvsw); nouveau_accel_fini()
146 nouveau_channel_del(&drm->channel); nouveau_accel_fini()
148 nouveau_channel_idle(drm->cechan); nouveau_accel_fini()
149 nvif_object_fini(&drm->ttm.copy); nouveau_accel_fini()
150 nouveau_channel_del(&drm->cechan); nouveau_accel_fini()
152 if (drm->fence) nouveau_accel_fini()
153 nouveau_fence(drm)->dtor(drm); nouveau_accel_fini()
157 nouveau_accel_init(struct nouveau_drm *drm) nouveau_accel_init() argument
159 struct nvif_device *device = &drm->device; nouveau_accel_init()
178 ret = nv04_fence_create(drm); nouveau_accel_init()
181 ret = nv10_fence_create(drm); nouveau_accel_init()
185 ret = nv17_fence_create(drm); nouveau_accel_init()
188 ret = nv50_fence_create(drm); nouveau_accel_init()
191 ret = nv84_fence_create(drm); nouveau_accel_init()
196 ret = nvc0_fence_create(drm); nouveau_accel_init()
205 NV_ERROR(drm, "failed to initialise sync subsystem, %d\n", ret); nouveau_accel_init()
206 nouveau_accel_fini(drm); nouveau_accel_init()
211 ret = nouveau_channel_new(drm, &drm->device, nouveau_accel_init()
214 0, &drm->cechan); nouveau_accel_init()
216 NV_ERROR(drm, "failed to create ce channel, %d\n", ret); nouveau_accel_init()
224 ret = nouveau_channel_new(drm, &drm->device, nouveau_accel_init()
225 NvDmaFB, NvDmaTT, &drm->cechan); nouveau_accel_init()
227 NV_ERROR(drm, "failed to create ce channel, %d\n", ret); nouveau_accel_init()
236 ret = nouveau_channel_new(drm, &drm->device, arg0, arg1, &drm->channel); nouveau_accel_init()
238 NV_ERROR(drm, "failed to create kernel channel, %d\n", ret); nouveau_accel_init()
239 nouveau_accel_fini(drm); nouveau_accel_init()
243 ret = nvif_object_init(&drm->channel->user, NVDRM_NVSW, nouveau_accel_init()
244 nouveau_abi16_swclass(drm), NULL, 0, &drm->nvsw); nouveau_accel_init()
246 ret = RING_SPACE(drm->channel, 2); nouveau_accel_init()
249 BEGIN_NV04(drm->channel, NvSubSw, 0, 1); nouveau_accel_init()
250 OUT_RING (drm->channel, NVDRM_NVSW); nouveau_accel_init()
253 BEGIN_NVC0(drm->channel, FermiSw, 0, 1); nouveau_accel_init()
254 OUT_RING (drm->channel, 0x001f0000); nouveau_accel_init()
258 ret = nvif_notify_init(&drm->nvsw, nouveau_flip_complete, nouveau_accel_init()
260 &drm->flip); nouveau_accel_init()
262 ret = nvif_notify_get(&drm->flip); nouveau_accel_init()
264 nouveau_accel_fini(drm); nouveau_accel_init()
270 NV_ERROR(drm, "failed to allocate software object, %d\n", ret); nouveau_accel_init()
271 nouveau_accel_fini(drm); nouveau_accel_init()
276 ret = nvkm_gpuobj_new(nvxx_device(&drm->device), 32, 0, false, nouveau_accel_init()
277 NULL, &drm->notify); nouveau_accel_init()
279 NV_ERROR(drm, "failed to allocate notifier, %d\n", ret); nouveau_accel_init()
280 nouveau_accel_fini(drm); nouveau_accel_init()
284 ret = nvif_object_init(&drm->channel->user, NvNotify0, nouveau_accel_init()
289 .start = drm->notify->addr, nouveau_accel_init()
290 .limit = drm->notify->addr + 31 nouveau_accel_init()
292 &drm->ntfy); nouveau_accel_init()
294 nouveau_accel_fini(drm); nouveau_accel_init()
300 nouveau_bo_move_init(drm); nouveau_accel_init()
358 nouveau_get_hdmi_dev(struct nouveau_drm *drm) nouveau_get_hdmi_dev() argument
360 struct pci_dev *pdev = drm->dev->pdev; nouveau_get_hdmi_dev()
364 drm->hdmi_device = NULL; nouveau_get_hdmi_dev()
369 drm->hdmi_device = pci_get_bus_and_slot((unsigned int)pdev->bus->number, nouveau_get_hdmi_dev()
372 if (!drm->hdmi_device) { nouveau_get_hdmi_dev()
373 NV_DEBUG(drm, "hdmi device not found %d %d %d\n", pdev->bus->number, PCI_SLOT(pdev->devfn), 1); nouveau_get_hdmi_dev()
377 if ((drm->hdmi_device->class >> 8) != PCI_CLASS_MULTIMEDIA_HD_AUDIO) { nouveau_get_hdmi_dev()
378 NV_DEBUG(drm, "possible hdmi device not audio %d\n", drm->hdmi_device->class); nouveau_get_hdmi_dev()
379 pci_dev_put(drm->hdmi_device); nouveau_get_hdmi_dev()
380 drm->hdmi_device = NULL; nouveau_get_hdmi_dev()
388 struct nouveau_drm *drm; nouveau_drm_load() local
391 ret = nouveau_cli_create(dev, "DRM", sizeof(*drm), (void **)&drm); nouveau_drm_load()
395 dev->dev_private = drm; nouveau_drm_load()
396 drm->dev = dev; nouveau_drm_load()
397 nvxx_client(&drm->client.base)->debug = nouveau_drm_load()
400 INIT_LIST_HEAD(&drm->clients); nouveau_drm_load()
401 spin_lock_init(&drm->tile.lock); nouveau_drm_load()
403 nouveau_get_hdmi_dev(drm); nouveau_drm_load()
405 ret = nvif_device_init(&drm->client.base.object, 0, NV_DEVICE, nouveau_drm_load()
409 &drm->device); nouveau_drm_load()
419 if (drm->device.info.chipset == 0xc1) nouveau_drm_load()
420 nvif_mask(&drm->device.object, 0x00088080, 0x00000800, 0x00000000); nouveau_drm_load()
422 nouveau_vga_init(drm); nouveau_drm_load()
424 if (drm->device.info.family >= NV_DEVICE_INFO_V0_TESLA) { nouveau_drm_load()
425 ret = nvkm_vm_new(nvxx_device(&drm->device), 0, (1ULL << 40), nouveau_drm_load()
426 0x1000, NULL, &drm->client.vm); nouveau_drm_load()
430 nvxx_client(&drm->client.base)->vm = drm->client.vm; nouveau_drm_load()
433 ret = nouveau_ttm_init(drm); nouveau_drm_load()
453 nouveau_accel_init(drm); nouveau_drm_load()
471 nouveau_ttm_fini(drm); nouveau_drm_load()
473 nouveau_vga_fini(drm); nouveau_drm_load()
475 nvif_device_fini(&drm->device); nouveau_drm_load()
476 nouveau_cli_destroy(&drm->client); nouveau_drm_load()
483 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_drm_unload() local
487 nouveau_accel_fini(drm); nouveau_drm_unload()
497 nouveau_ttm_fini(drm); nouveau_drm_unload()
498 nouveau_vga_fini(drm); nouveau_drm_unload()
500 nvif_device_fini(&drm->device); nouveau_drm_unload()
501 if (drm->hdmi_device) nouveau_drm_unload()
502 pci_dev_put(drm->hdmi_device); nouveau_drm_unload()
503 nouveau_cli_destroy(&drm->client); nouveau_drm_unload()
510 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_drm_device_remove() local
515 client = nvxx_client(&drm->client.base); nouveau_drm_device_remove()
533 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_do_suspend() local
538 NV_INFO(drm, "suspending console...\n"); nouveau_do_suspend()
540 NV_INFO(drm, "suspending display...\n"); nouveau_do_suspend()
546 NV_INFO(drm, "evicting buffers...\n"); nouveau_do_suspend()
547 ttm_bo_evict_mm(&drm->ttm.bdev, TTM_PL_VRAM); nouveau_do_suspend()
549 NV_INFO(drm, "waiting for kernel channels to go idle...\n"); nouveau_do_suspend()
550 if (drm->cechan) { nouveau_do_suspend()
551 ret = nouveau_channel_idle(drm->cechan); nouveau_do_suspend()
556 if (drm->channel) { nouveau_do_suspend()
557 ret = nouveau_channel_idle(drm->channel); nouveau_do_suspend()
562 NV_INFO(drm, "suspending client object trees...\n"); nouveau_do_suspend()
563 if (drm->fence && nouveau_fence(drm)->suspend) { nouveau_do_suspend()
564 if (!nouveau_fence(drm)->suspend(drm)) { nouveau_do_suspend()
570 list_for_each_entry(cli, &drm->clients, head) { nouveau_do_suspend()
576 NV_INFO(drm, "suspending kernel object tree...\n"); nouveau_do_suspend()
577 ret = nvif_client_suspend(&drm->client.base); nouveau_do_suspend()
584 list_for_each_entry_continue_reverse(cli, &drm->clients, head) { nouveau_do_suspend()
588 if (drm->fence && nouveau_fence(drm)->resume) nouveau_do_suspend()
589 nouveau_fence(drm)->resume(drm); nouveau_do_suspend()
593 NV_INFO(drm, "resuming display...\n"); nouveau_do_suspend()
602 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_do_resume() local
605 NV_INFO(drm, "resuming kernel object tree...\n"); nouveau_do_resume()
606 nvif_client_resume(&drm->client.base); nouveau_do_resume()
608 NV_INFO(drm, "resuming client object trees...\n"); nouveau_do_resume()
609 if (drm->fence && nouveau_fence(drm)->resume) nouveau_do_resume()
610 nouveau_fence(drm)->resume(drm); nouveau_do_resume()
612 list_for_each_entry(cli, &drm->clients, head) { nouveau_do_resume()
619 NV_INFO(drm, "resuming display...\n"); nouveau_do_resume()
621 NV_INFO(drm, "resuming console...\n"); nouveau_do_resume()
750 struct nouveau_drm *drm = nouveau_drm(drm_dev); nouveau_pmops_runtime_idle() local
766 if (drm->hdmi_device) { nouveau_pmops_runtime_idle()
767 if (!drm->hdmi_device->driver) { nouveau_pmops_runtime_idle()
774 list_for_each_entry(crtc, &drm->dev->mode_config.crtc_list, head) { nouveau_pmops_runtime_idle()
789 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_drm_open() local
809 if (drm->device.info.family >= NV_DEVICE_INFO_V0_TESLA) { nouveau_drm_open()
810 ret = nvkm_vm_new(nvxx_device(&drm->device), 0, (1ULL << 40), nouveau_drm_open()
822 mutex_lock(&drm->client.mutex); nouveau_drm_open()
823 list_add(&cli->head, &drm->clients); nouveau_drm_open()
824 mutex_unlock(&drm->client.mutex); nouveau_drm_open()
837 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_drm_preclose() local
846 mutex_lock(&drm->client.mutex); nouveau_drm_preclose()
848 mutex_unlock(&drm->client.mutex); nouveau_drm_preclose()
1035 struct drm_device *drm; nouveau_platform_device_create() local
1043 drm = drm_dev_alloc(&driver_platform, &pdev->dev); nouveau_platform_device_create()
1044 if (!drm) { nouveau_platform_device_create()
1049 err = drm_dev_set_unique(drm, "%s", dev_name(&pdev->dev)); nouveau_platform_device_create()
1053 drm->platformdev = pdev; nouveau_platform_device_create()
1054 platform_set_drvdata(pdev, drm); nouveau_platform_device_create()
1056 return drm; nouveau_platform_device_create()
H A Dnouveau_fbcon.c41 #include <drm/drmP.h>
42 #include <drm/drm_crtc.h>
43 #include <drm/drm_crtc_helper.h>
44 #include <drm/drm_fb_helper.h>
62 struct nouveau_drm *drm = nouveau_drm(fbcon->dev); nouveau_fbcon_fillrect() local
63 struct nvif_device *device = &drm->device; nouveau_fbcon_fillrect()
71 mutex_trylock(&drm->client.mutex)) { nouveau_fbcon_fillrect()
79 mutex_unlock(&drm->client.mutex); nouveau_fbcon_fillrect()
94 struct nouveau_drm *drm = nouveau_drm(fbcon->dev); nouveau_fbcon_copyarea() local
95 struct nvif_device *device = &drm->device; nouveau_fbcon_copyarea()
103 mutex_trylock(&drm->client.mutex)) { nouveau_fbcon_copyarea()
111 mutex_unlock(&drm->client.mutex); nouveau_fbcon_copyarea()
126 struct nouveau_drm *drm = nouveau_drm(fbcon->dev); nouveau_fbcon_imageblit() local
127 struct nvif_device *device = &drm->device; nouveau_fbcon_imageblit()
135 mutex_trylock(&drm->client.mutex)) { nouveau_fbcon_imageblit()
143 mutex_unlock(&drm->client.mutex); nouveau_fbcon_imageblit()
158 struct nouveau_drm *drm = nouveau_drm(fbcon->dev); nouveau_fbcon_sync() local
159 struct nouveau_channel *chan = drm->channel; nouveau_fbcon_sync()
167 if (!mutex_trylock(&drm->client.mutex)) nouveau_fbcon_sync()
171 mutex_unlock(&drm->client.mutex); nouveau_fbcon_sync()
185 struct nouveau_drm *drm = nouveau_drm(fbcon->dev); nouveau_fbcon_open() local
186 int ret = pm_runtime_get_sync(drm->dev->dev); nouveau_fbcon_open()
196 struct nouveau_drm *drm = nouveau_drm(fbcon->dev); nouveau_fbcon_release() local
197 pm_runtime_put(drm->dev->dev); nouveau_fbcon_release()
237 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_fbcon_accel_save_disable() local
238 if (drm->fbcon) { nouveau_fbcon_accel_save_disable()
239 drm->fbcon->saved_flags = drm->fbcon->helper.fbdev->flags; nouveau_fbcon_accel_save_disable()
240 drm->fbcon->helper.fbdev->flags |= FBINFO_HWACCEL_DISABLED; nouveau_fbcon_accel_save_disable()
247 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_fbcon_accel_restore() local
248 if (drm->fbcon) { nouveau_fbcon_accel_restore()
249 drm->fbcon->helper.fbdev->flags = drm->fbcon->saved_flags; nouveau_fbcon_accel_restore()
256 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_fbcon_accel_fini() local
257 struct nouveau_fbdev *fbcon = drm->fbcon; nouveau_fbcon_accel_fini()
258 if (fbcon && drm->channel) { nouveau_fbcon_accel_fini()
262 nouveau_channel_idle(drm->channel); nouveau_fbcon_accel_fini()
276 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_fbcon_accel_init() local
277 struct nouveau_fbdev *fbcon = drm->fbcon; nouveau_fbcon_accel_init()
281 if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) nouveau_fbcon_accel_init()
284 if (drm->device.info.family < NV_DEVICE_INFO_V0_FERMI) nouveau_fbcon_accel_init()
319 /* Clear the entire fbcon. The drm will program every connector nouveau_fbcon_zfill()
338 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_fbcon_create() local
339 struct nvif_device *device = &drm->device; nouveau_fbcon_create()
363 NV_ERROR(drm, "failed to allocate framebuffer\n"); nouveau_fbcon_create()
369 NV_ERROR(drm, "failed to pin fb: %d\n", ret); nouveau_fbcon_create()
375 NV_ERROR(drm, "failed to map fb: %d\n", ret); nouveau_fbcon_create()
379 chan = nouveau_nofbaccel ? NULL : drm->channel; nouveau_fbcon_create()
381 ret = nouveau_bo_vma_add(nvbo, drm->client.vm, nouveau_fbcon_create()
384 NV_ERROR(drm, "failed to map fb into chan: %d\n", ret); nouveau_fbcon_create()
436 NV_INFO(drm, "allocated %dx%d fb: 0x%llx, bo %p\n", nouveau_fbcon_create()
459 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_fbcon_output_poll_changed() local
460 if (drm->fbcon) nouveau_fbcon_output_poll_changed()
461 drm_fb_helper_hotplug_event(&drm->fbcon->helper); nouveau_fbcon_output_poll_changed()
488 struct nouveau_drm *drm = nouveau_drm(fbcon->dev); nouveau_fbcon_gpu_lockup() local
490 NV_ERROR(drm, "GPU lockup - switching to software fbcon\n"); nouveau_fbcon_gpu_lockup()
503 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_fbcon_set_suspend() local
504 if (drm->fbcon) { nouveau_fbcon_set_suspend()
508 drm_fb_helper_set_suspend(&drm->fbcon->helper, state); nouveau_fbcon_set_suspend()
518 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_fbcon_init() local
532 drm->fbcon = fbcon; nouveau_fbcon_init()
545 if (drm->device.info.ram_size <= 32 * 1024 * 1024) nouveau_fbcon_init()
548 if (drm->device.info.ram_size <= 64 * 1024 * 1024) nouveau_fbcon_init()
572 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_fbcon_fini() local
574 if (!drm->fbcon) nouveau_fbcon_fini()
578 nouveau_fbcon_destroy(dev, drm->fbcon); nouveau_fbcon_fini()
579 kfree(drm->fbcon); nouveau_fbcon_fini()
580 drm->fbcon = NULL; nouveau_fbcon_fini()
H A Dnouveau_hwmon.c32 #include <drm/drmP.h>
42 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_show_temp() local
43 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_show_temp()
68 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_temp1_auto_point1_temp() local
69 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_temp1_auto_point1_temp()
80 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_set_temp1_auto_point1_temp() local
81 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_set_temp1_auto_point1_temp()
101 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_temp1_auto_point1_temp_hyst() local
102 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_temp1_auto_point1_temp_hyst()
113 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_set_temp1_auto_point1_temp_hyst() local
114 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_set_temp1_auto_point1_temp_hyst()
133 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_max_temp() local
134 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_max_temp()
144 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_set_max_temp() local
145 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_set_max_temp()
164 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_max_temp_hyst() local
165 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_max_temp_hyst()
175 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_set_max_temp_hyst() local
176 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_set_max_temp_hyst()
196 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_critical_temp() local
197 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_critical_temp()
208 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_set_critical_temp() local
209 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_set_critical_temp()
229 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_critical_temp_hyst() local
230 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_critical_temp_hyst()
242 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_set_critical_temp_hyst() local
243 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_set_critical_temp_hyst()
262 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_emergency_temp() local
263 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_emergency_temp()
274 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_set_emergency_temp() local
275 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_set_emergency_temp()
295 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_emergency_temp_hyst() local
296 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_emergency_temp_hyst()
308 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_set_emergency_temp_hyst() local
309 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_set_emergency_temp_hyst()
348 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_show_fan1_input() local
349 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_show_fan1_input()
361 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_get_pwm1_enable() local
362 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_get_pwm1_enable()
377 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_set_pwm1_enable() local
378 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_set_pwm1_enable()
400 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_get_pwm1() local
401 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_get_pwm1()
416 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_set_pwm1() local
417 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_set_pwm1()
440 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_get_pwm1_min() local
441 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_get_pwm1_min()
456 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_set_pwm1_min() local
457 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_set_pwm1_min()
480 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_get_pwm1_max() local
481 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_get_pwm1_max()
496 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_set_pwm1_max() local
497 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_set_pwm1_max()
563 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hwmon_init() local
564 struct nvkm_therm *therm = nvxx_therm(&drm->device); nouveau_hwmon_init()
569 hwmon = drm->hwmon = kzalloc(sizeof(*hwmon), GFP_KERNEL); nouveau_hwmon_init()
580 NV_ERROR(drm, "Unable to register hwmon device: %d\n", ret); nouveau_hwmon_init()
621 NV_ERROR(drm, "Unable to create some hwmon sysfs files: %d\n", ret); nouveau_hwmon_init()
H A Dnouveau_drm.h46 #include <drm/ttm/ttm_bo_api.h>
47 #include <drm/ttm/ttm_bo_driver.h>
48 #include <drm/ttm/ttm_placement.h>
49 #include <drm/ttm/ttm_memory.h>
50 #include <drm/ttm/ttm_module.h>
51 #include <drm/ttm/ttm_page_alloc.h>
53 #include "uapi/drm/nouveau_drm.h"
145 /* context for accelerated drm-internal operations */
196 #define NV_FATAL(drm,f,a...) NV_PRINTK(crit, &(drm)->client, f, ##a)
197 #define NV_ERROR(drm,f,a...) NV_PRINTK(err, &(drm)->client, f, ##a)
198 #define NV_WARN(drm,f,a...) NV_PRINTK(warn, &(drm)->client, f, ##a)
199 #define NV_INFO(drm,f,a...) NV_PRINTK(info, &(drm)->client, f, ##a)
200 #define NV_DEBUG(drm,f,a...) do { \
202 NV_PRINTK(info, &(drm)->client, f, ##a); \
H A Dnouveau_backlight.c42 struct nouveau_drm *drm = bl_get_data(bd); nv40_get_intensity() local
43 struct nvif_object *device = &drm->device.object; nv40_get_intensity()
53 struct nouveau_drm *drm = bl_get_data(bd); nv40_set_intensity() local
54 struct nvif_object *device = &drm->device.object; nv40_set_intensity()
73 struct nouveau_drm *drm = nouveau_drm(connector->dev); nv40_backlight_init() local
74 struct nvif_object *device = &drm->device.object; nv40_backlight_init()
84 bd = backlight_device_register("nv_backlight", connector->kdev, drm, nv40_backlight_init()
88 drm->backlight = bd; nv40_backlight_init()
99 struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); nv50_get_intensity() local
100 struct nvif_object *device = &drm->device.object; nv50_get_intensity()
114 struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); nv50_set_intensity() local
115 struct nvif_object *device = &drm->device.object; nv50_set_intensity()
135 struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); nva3_get_intensity() local
136 struct nvif_object *device = &drm->device.object; nva3_get_intensity()
153 struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); nva3_set_intensity() local
154 struct nvif_object *device = &drm->device.object; nva3_set_intensity()
179 struct nouveau_drm *drm = nouveau_drm(connector->dev); nv50_backlight_init() local
180 struct nvif_object *device = &drm->device.object; nv50_backlight_init()
196 if (drm->device.info.chipset <= 0xa0 || nv50_backlight_init()
197 drm->device.info.chipset == 0xaa || nv50_backlight_init()
198 drm->device.info.chipset == 0xac) nv50_backlight_init()
211 drm->backlight = bd; nv50_backlight_init()
220 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_backlight_init() local
221 struct nvif_device *device = &drm->device; nouveau_backlight_init()
248 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_backlight_exit() local
250 if (drm->backlight) { nouveau_backlight_exit()
251 backlight_device_unregister(drm->backlight); nouveau_backlight_exit()
252 drm->backlight = NULL; nouveau_backlight_exit()
H A Dnouveau_debugfs.h4 #include <drm/drmP.h>
H A Dnouveau_ttm.h18 int nouveau_ttm_init(struct nouveau_drm *drm);
19 void nouveau_ttm_fini(struct nouveau_drm *drm);
H A Dnouveau_dp.c25 #include <drm/drmP.h>
26 #include <drm/drm_dp_helper.h>
36 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_dp_probe_oui() local
43 NV_DEBUG(drm, "Sink OUI: %02hx%02hx%02hx\n", nouveau_dp_probe_oui()
47 NV_DEBUG(drm, "Branch OUI: %02hx%02hx%02hx\n", nouveau_dp_probe_oui()
56 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_dp_detect() local
72 NV_DEBUG(drm, "display: %dx%d dpcd 0x%02x\n", nouveau_dp_detect()
74 NV_DEBUG(drm, "encoder: %dx%d\n", nouveau_dp_detect()
83 NV_DEBUG(drm, "maximum: %dx%d\n", nouveau_dp_detect()
H A Dnv84_fence.c106 struct nv84_fence_priv *priv = chan->drm->fence; nv84_fence_read()
113 struct drm_device *dev = chan->drm->dev; nv84_fence_context_del()
114 struct nv84_fence_priv *priv = chan->drm->fence; nv84_fence_context_del()
135 struct nv84_fence_priv *priv = chan->drm->fence; nv84_fence_context_new()
158 for (i = 0; !ret && i < chan->drm->dev->mode_config.num_crtc; i++) { nv84_fence_context_new()
159 struct nouveau_bo *bo = nv50_display_crtc_sema(chan->drm->dev, i); nv84_fence_context_new()
169 nv84_fence_suspend(struct nouveau_drm *drm) nv84_fence_suspend() argument
171 struct nv84_fence_priv *priv = drm->fence; nv84_fence_suspend()
184 nv84_fence_resume(struct nouveau_drm *drm) nv84_fence_resume() argument
186 struct nv84_fence_priv *priv = drm->fence; nv84_fence_resume()
198 nv84_fence_destroy(struct nouveau_drm *drm) nv84_fence_destroy() argument
200 struct nv84_fence_priv *priv = drm->fence; nv84_fence_destroy()
209 drm->fence = NULL; nv84_fence_destroy()
214 nv84_fence_create(struct nouveau_drm *drm) nv84_fence_create() argument
216 struct nvkm_fifo *fifo = nvxx_fifo(&drm->device); nv84_fence_create()
221 priv = drm->fence = kzalloc(sizeof(*priv), GFP_KERNEL); nv84_fence_create()
236 domain = drm->device.info.ram_size != 0 ? TTM_PL_FLAG_VRAM : nv84_fence_create()
242 ret = nouveau_bo_new(drm->dev, 16 * priv->base.contexts, 0, domain, 0, nv84_fence_create()
256 ret = nouveau_bo_new(drm->dev, 16 * priv->base.contexts, 0, nv84_fence_create()
271 nv84_fence_destroy(drm); nv84_fence_create()
H A Dnouveau_bo.c49 struct nouveau_drm *drm = nouveau_drm(dev); nv10_bo_update_tile_region() local
50 int i = reg - drm->tile.reg; nv10_bo_update_tile_region()
51 struct nvkm_device *device = nvxx_device(&drm->device); nv10_bo_update_tile_region()
69 struct nouveau_drm *drm = nouveau_drm(dev); nv10_bo_get_tile_region() local
70 struct nouveau_drm_tile *tile = &drm->tile.reg[i]; nv10_bo_get_tile_region()
72 spin_lock(&drm->tile.lock); nv10_bo_get_tile_region()
80 spin_unlock(&drm->tile.lock); nv10_bo_get_tile_region()
88 struct nouveau_drm *drm = nouveau_drm(dev); nv10_bo_put_tile_region() local
91 spin_lock(&drm->tile.lock); nv10_bo_put_tile_region()
94 spin_unlock(&drm->tile.lock); nv10_bo_put_tile_region()
102 struct nouveau_drm *drm = nouveau_drm(dev); nv10_bo_set_tiling() local
103 struct nvkm_fb *fb = nvxx_fb(&drm->device); nv10_bo_set_tiling()
131 struct nouveau_drm *drm = nouveau_bdev(bo->bdev); nouveau_bo_del_ttm() local
132 struct drm_device *dev = drm->dev; nouveau_bo_del_ttm()
146 struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev); nouveau_bo_fixup_align() local
147 struct nvif_device *device = &drm->device; nouveau_bo_fixup_align()
182 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_bo_new() local
190 if (drm->client.vm) nouveau_bo_new()
191 lpg_shift = drm->client.vm->mmu->lpg_shift; nouveau_bo_new()
195 NV_WARN(drm, "skipped size %x\n", (u32)size); nouveau_bo_new()
210 nvbo->bo.bdev = &drm->ttm.bdev; nouveau_bo_new()
212 if (!nvxx_device(&drm->device)->func->cpu_coherent) nouveau_bo_new()
216 if (drm->client.vm) { nouveau_bo_new()
218 nvbo->page_shift = drm->client.vm->mmu->lpg_shift; nouveau_bo_new()
225 acc_size = ttm_bo_dma_acc_size(&drm->ttm.bdev, size, nouveau_bo_new()
228 ret = ttm_bo_init(&drm->ttm.bdev, &nvbo->bo, size, nouveau_bo_new()
257 struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev); set_placement_range() local
258 u32 vram_pages = drm->device.info.ram_size >> PAGE_SHIFT; set_placement_range()
261 if (drm->device.info.family == NV_DEVICE_INFO_V0_CELSIUS && set_placement_range()
310 struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev); nouveau_bo_pin() local
319 if (drm->device.info.family >= NV_DEVICE_INFO_V0_TESLA && nouveau_bo_pin()
334 NV_ERROR(drm, "bo %p pinned elsewhere: " nouveau_bo_pin()
365 drm->gem.vram_available -= bo->mem.size; nouveau_bo_pin()
368 drm->gem.gart_available -= bo->mem.size; nouveau_bo_pin()
384 struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev); nouveau_bo_unpin() local
403 drm->gem.vram_available += bo->mem.size; nouveau_bo_unpin()
406 drm->gem.gart_available += bo->mem.size; nouveau_bo_unpin()
456 struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev); nouveau_bo_sync_for_device() local
457 struct nvkm_device *device = nvxx_device(&drm->device); nouveau_bo_sync_for_device()
476 struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev); nouveau_bo_sync_for_cpu() local
477 struct nvkm_device *device = nvxx_device(&drm->device); nouveau_bo_sync_for_cpu()
578 struct nouveau_drm *drm = nouveau_bdev(bdev); nouveau_ttm_tt_create() local
580 if (drm->agp.bridge) { nouveau_ttm_tt_create()
581 return ttm_agp_tt_create(bdev, drm->agp.bridge, size, nouveau_ttm_tt_create()
600 struct nouveau_drm *drm = nouveau_bdev(bdev); nouveau_bo_init_mem_type() local
615 if (drm->device.info.family >= NV_DEVICE_INFO_V0_TESLA) { nouveau_bo_init_mem_type()
617 if (nvxx_bar(&drm->device)->iomap_uncached) { nouveau_bo_init_mem_type()
630 if (drm->device.info.family >= NV_DEVICE_INFO_V0_TESLA) nouveau_bo_init_mem_type()
633 if (!drm->agp.bridge) nouveau_bo_init_mem_type()
638 if (drm->agp.bridge) { nouveau_bo_init_mem_type()
879 OUT_RING (chan, chan->drm->ntfy.handle); nv50_bo_move_init()
968 OUT_RING (chan, chan->drm->ntfy.handle); nv04_bo_move_init()
1030 nouveau_bo_move_prep(struct nouveau_drm *drm, struct ttm_buffer_object *bo, nouveau_bo_move_prep() argument
1038 ret = nvkm_vm_get(drm->client.vm, size, old_node->page_shift, nouveau_bo_move_prep()
1043 ret = nvkm_vm_get(drm->client.vm, size, new_node->page_shift, nouveau_bo_move_prep()
1059 struct nouveau_drm *drm = nouveau_bdev(bo->bdev); nouveau_bo_move_m2mf() local
1060 struct nouveau_channel *chan = drm->ttm.chan; nouveau_bo_move_m2mf()
1069 if (drm->device.info.family >= NV_DEVICE_INFO_V0_TESLA) { nouveau_bo_move_m2mf()
1070 ret = nouveau_bo_move_prep(drm, bo, new_mem); nouveau_bo_move_m2mf()
1078 ret = drm->ttm.move(chan, bo, &bo->mem, new_mem); nouveau_bo_move_m2mf()
1096 nouveau_bo_move_init(struct nouveau_drm *drm) nouveau_bo_move_init() argument
1128 chan = drm->cechan; nouveau_bo_move_init()
1130 chan = drm->channel; nouveau_bo_move_init()
1137 &drm->ttm.copy); nouveau_bo_move_init()
1139 ret = mthd->init(chan, drm->ttm.copy.handle); nouveau_bo_move_init()
1141 nvif_object_fini(&drm->ttm.copy); nouveau_bo_move_init()
1145 drm->ttm.move = mthd->exec; nouveau_bo_move_init()
1146 drm->ttm.chan = chan; nouveau_bo_move_init()
1152 NV_INFO(drm, "MM: using %s for buffer copies\n", name); nouveau_bo_move_init()
1251 struct nouveau_drm *drm = nouveau_bdev(bo->bdev); nouveau_bo_vm_bind() local
1252 struct drm_device *dev = drm->dev; nouveau_bo_vm_bind()
1260 if (drm->device.info.family >= NV_DEVICE_INFO_V0_CELSIUS) { nouveau_bo_vm_bind()
1274 struct nouveau_drm *drm = nouveau_bdev(bo->bdev); nouveau_bo_vm_cleanup() local
1275 struct drm_device *dev = drm->dev; nouveau_bo_vm_cleanup()
1286 struct nouveau_drm *drm = nouveau_bdev(bo->bdev); nouveau_bo_move() local
1293 NV_WARN(drm, "Moving pinned object %p!\n", nvbo); nouveau_bo_move()
1295 if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) { nouveau_bo_move()
1310 if (drm->ttm.move) { nouveau_bo_move()
1330 if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) { nouveau_bo_move()
1352 struct nouveau_drm *drm = nouveau_bdev(bdev); nouveau_ttm_io_mem_reserve() local
1353 struct nvkm_device *device = nvxx_device(&drm->device); nouveau_ttm_io_mem_reserve()
1370 if (drm->agp.bridge) { nouveau_ttm_io_mem_reserve()
1372 mem->bus.base = drm->agp.base; nouveau_ttm_io_mem_reserve()
1373 mem->bus.is_iomem = !drm->agp.cma; nouveau_ttm_io_mem_reserve()
1376 if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA || !node->memtype) nouveau_ttm_io_mem_reserve()
1384 if (drm->device.info.family >= NV_DEVICE_INFO_V0_TESLA) { nouveau_ttm_io_mem_reserve()
1385 struct nvkm_bar *bar = nvxx_bar(&drm->device); nouveau_ttm_io_mem_reserve()
1387 if (drm->device.info.family >= NV_DEVICE_INFO_V0_FERMI) nouveau_ttm_io_mem_reserve()
1420 struct nouveau_drm *drm = nouveau_bdev(bo->bdev); nouveau_ttm_fault_reserve_notify() local
1422 struct nvkm_device *device = nvxx_device(&drm->device); nouveau_ttm_fault_reserve_notify()
1430 if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA || nouveau_ttm_fault_reserve_notify()
1445 if (drm->device.info.family >= NV_DEVICE_INFO_V0_TESLA || nouveau_ttm_fault_reserve_notify()
1467 struct nouveau_drm *drm; nouveau_ttm_tt_populate() local
1486 drm = nouveau_bdev(ttm->bdev); nouveau_ttm_tt_populate()
1487 device = nvxx_device(&drm->device); nouveau_ttm_tt_populate()
1488 dev = drm->dev; nouveau_ttm_tt_populate()
1495 if (!nvxx_device(&drm->device)->func->cpu_coherent && nouveau_ttm_tt_populate()
1500 if (drm->agp.bridge) { nouveau_ttm_tt_populate()
1541 struct nouveau_drm *drm; nouveau_ttm_tt_unpopulate() local
1551 drm = nouveau_bdev(ttm->bdev); nouveau_ttm_tt_unpopulate()
1552 device = nvxx_device(&drm->device); nouveau_ttm_tt_unpopulate()
1553 dev = drm->dev; nouveau_ttm_tt_unpopulate()
1560 if (!nvxx_device(&drm->device)->func->cpu_coherent && nouveau_ttm_tt_unpopulate()
1567 if (drm->agp.bridge) { nouveau_ttm_tt_unpopulate()
H A Dnouveau_platform.c28 struct drm_device *drm; nouveau_platform_probe() local
33 drm = nouveau_platform_device_create(func, pdev, &device); nouveau_platform_probe()
34 if (IS_ERR(drm)) nouveau_platform_probe()
35 return PTR_ERR(drm); nouveau_platform_probe()
37 ret = drm_dev_register(drm, 0); nouveau_platform_probe()
39 drm_dev_unref(drm); nouveau_platform_probe()
H A Dnouveau_bios.c25 #include <drm/drmP.h>
98 struct nouveau_drm *drm = nouveau_drm(dev); run_digital_op_script() local
100 NV_INFO(drm, "0x%04X: Parsing digital output script table\n", run_digital_op_script()
111 struct nouveau_drm *drm = nouveau_drm(dev); call_lvds_manufacturer_script() local
112 struct nvbios *bios = &drm->vbios; call_lvds_manufacturer_script()
148 struct nouveau_drm *drm = nouveau_drm(dev); run_lvds_table() local
149 struct nvbios *bios = &drm->vbios; run_lvds_table()
194 NV_ERROR(drm, "Pixel clock comparison table not found\n"); run_lvds_table()
201 NV_ERROR(drm, "LVDS output init script not found\n"); run_lvds_table()
217 struct nouveau_drm *drm = nouveau_drm(dev); call_lvds_script() local
218 struct nvif_object *device = &drm->device.object; call_lvds_script()
219 struct nvbios *bios = &drm->vbios; call_lvds_script()
238 NV_INFO(drm, "Calling LVDS script %d:\n", script); call_lvds_script()
271 struct nouveau_drm *drm = nouveau_drm(dev); parse_lvds_manufacturer_table_header() local
277 NV_ERROR(drm, "Pointer to LVDS manufacturer table invalid\n"); parse_lvds_manufacturer_table_header()
291 NV_ERROR(drm, "LVDS table header not understood\n"); parse_lvds_manufacturer_table_header()
299 NV_ERROR(drm, "LVDS table header not understood\n"); parse_lvds_manufacturer_table_header()
305 NV_ERROR(drm, parse_lvds_manufacturer_table_header()
321 struct nouveau_drm *drm = nouveau_drm(dev); get_fp_strap() local
322 struct nvif_object *device = &drm->device.object; get_fp_strap()
336 if (drm->device.info.family >= NV_DEVICE_INFO_V0_TESLA) get_fp_strap()
344 struct nouveau_drm *drm = nouveau_drm(dev); parse_fp_mode_table() local
354 NV_ERROR(drm, "Pointer to flat panel table invalid\n"); parse_fp_mode_table()
393 NV_ERROR(drm, parse_fp_mode_table()
412 NV_ERROR(drm, "Pointer to flat panel xlat table invalid\n"); parse_fp_mode_table()
422 NV_ERROR(drm, "Bad flat panel table index\n"); parse_fp_mode_table()
441 NV_INFO(drm, "BIOS FP mode: %dx%d (%dkHz pixel clock)\n", parse_fp_mode_table()
451 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_bios_fp_mode() local
452 struct nvbios *bios = &drm->vbios; nouveau_bios_fp_mode()
522 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_bios_parse_lvds_table() local
523 struct nvbios *bios = &drm->vbios; nouveau_bios_parse_lvds_table()
584 NV_ERROR(drm, "LVDS table revision not currently supported\n"); nouveau_bios_parse_lvds_table()
637 struct nouveau_drm *drm = nouveau_drm(dev); run_tmds_table() local
638 struct nvif_object *device = &drm->device.object; run_tmds_table()
639 struct nvbios *bios = &drm->vbios; run_tmds_table()
660 NV_ERROR(drm, "Pixel clock comparison table not found\n"); run_tmds_table()
667 NV_ERROR(drm, "TMDS output init script not found\n"); run_tmds_table()
705 struct nouveau_drm *drm = nouveau_drm(dev); parse_bit_A_tbl_entry() local
710 NV_ERROR(drm, "Do not understand BIT A table\n"); parse_bit_A_tbl_entry()
717 NV_DEBUG(drm, "Pointer to BIT loadval table invalid\n"); parse_bit_A_tbl_entry()
724 NV_ERROR(drm, "BIT loadval table version %d.%d not supported\n", parse_bit_A_tbl_entry()
734 NV_ERROR(drm, "Do not understand BIT loadval table\n"); parse_bit_A_tbl_entry()
754 struct nouveau_drm *drm = nouveau_drm(dev); parse_bit_display_tbl_entry() local
757 NV_ERROR(drm, "Do not understand BIT display table\n"); parse_bit_display_tbl_entry()
773 struct nouveau_drm *drm = nouveau_drm(dev); parse_bit_init_tbl_entry() local
776 NV_ERROR(drm, "Do not understand init table\n"); parse_bit_init_tbl_entry()
797 struct nouveau_drm *drm = nouveau_drm(dev); parse_bit_i_tbl_entry() local
802 NV_ERROR(drm, "BIT i table too short for needed information\n"); parse_bit_i_tbl_entry()
814 NV_WARN(drm, "BIT i table not long enough for DAC load " parse_bit_i_tbl_entry()
835 NV_WARN(drm, "DAC load detection comparison table version " parse_bit_i_tbl_entry()
855 struct nouveau_drm *drm = nouveau_drm(dev); parse_bit_lvds_tbl_entry() local
858 NV_ERROR(drm, "Do not understand BIT LVDS table\n"); parse_bit_lvds_tbl_entry()
928 struct nouveau_drm *drm = nouveau_drm(dev); parse_bit_tmds_tbl_entry() local
932 NV_ERROR(drm, "Do not understand BIT TMDS table\n"); parse_bit_tmds_tbl_entry()
938 NV_ERROR(drm, "Pointer to TMDS table invalid\n"); parse_bit_tmds_tbl_entry()
942 NV_INFO(drm, "TMDS table version %d.%d\n", parse_bit_tmds_tbl_entry()
956 NV_WARN(drm, "TMDS table script pointers not stubbed\n"); parse_bit_tmds_tbl_entry()
974 struct nouveau_drm *drm = nouveau_drm(dev); bit_table() local
975 struct nvbios *bios = &drm->vbios; bit_table()
1004 struct nouveau_drm *drm = nouveau_drm(dev); parse_bit_table() local
1010 NV_INFO(drm, "BIT table '%c' not found\n", table->id); parse_bit_table()
1086 struct nouveau_drm *drm = nouveau_drm(dev); parse_bmp_structure() local
1100 NV_INFO(drm, "BMP version %d.%d\n", parse_bmp_structure()
1116 NV_ERROR(drm, "You have an unsupported BMP version. " parse_bmp_structure()
1165 NV_ERROR(drm, "Bad BMP checksum\n"); parse_bmp_structure()
1252 struct nouveau_drm *drm = nouveau_drm(dev); olddcb_table() local
1255 if (drm->device.info.family > NV_DEVICE_INFO_V0_TNT) olddcb_table()
1256 dcb = ROMPTR(dev, drm->vbios.data[0x36]); olddcb_table()
1258 NV_WARN(drm, "No DCB data found in VBIOS\n"); olddcb_table()
1263 NV_WARN(drm, "DCB version 0x%02x unknown\n", dcb[0]); olddcb_table()
1295 NV_WARN(drm, "No useful DCB data in VBIOS\n"); olddcb_table()
1299 NV_WARN(drm, "DCB header validation failed\n"); olddcb_table()
1400 struct nouveau_drm *drm = nouveau_drm(dev); parse_dcb20_entry() local
1457 NV_ERROR(drm, "Unknown LVDS configuration bits, " parse_dcb20_entry()
1542 struct nouveau_drm *drm = nouveau_drm(dev); parse_dcb15_entry() local
1562 NV_ERROR(drm, "Unknown DCB type %d\n", conn & 0x0000000f); parse_dcb15_entry()
1601 struct nouveau_drm *drm = nouveau_drm(dev); merge_like_dcb_entries() local
1619 NV_INFO(drm, "Merging DCB entries %d and %d\n", merge_like_dcb_entries()
1645 struct nouveau_drm *drm = nouveau_drm(dev); apply_dcb_encoder_quirks() local
1646 struct dcb_table *dcb = &drm->vbios.dcb; apply_dcb_encoder_quirks()
1783 struct nouveau_drm *drm = nouveau_drm(dev); parse_dcb_entry() local
1784 struct dcb_table *dcb = &drm->vbios.dcb; parse_dcb_entry()
1792 NV_INFO(drm, "DCB outp %02d: %08x %08x\n", idx, conn, conf); parse_dcb_entry()
1862 struct nouveau_drm *drm = nouveau_drm(dev); parse_dcb_table() local
1878 NV_INFO(drm, "DCB version %d.%d\n", dcbt[0] >> 4, dcbt[0] & 0xf); parse_dcb_table()
1895 NV_INFO(drm, "DCB conn %02d: %04x\n", parse_dcb_table()
1898 NV_INFO(drm, "DCB conn %02d: %08x\n", parse_dcb_table()
1917 struct nouveau_drm *drm = nouveau_drm(dev); load_nv17_hwsq_ucode_entry() local
1918 struct nvif_object *device = &drm->device.object; load_nv17_hwsq_ucode_entry()
1924 NV_ERROR(drm, "Too few entries in HW sequencer table for " load_nv17_hwsq_ucode_entry()
1932 NV_ERROR(drm, "Unknown HW sequencer entry size\n"); load_nv17_hwsq_ucode_entry()
1936 NV_INFO(drm, "Loading NV17 power sequencing microcode\n"); load_nv17_hwsq_ucode_entry()
1980 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_bios_embedded_edid() local
1981 struct nvbios *bios = &drm->vbios; nouveau_bios_embedded_edid()
2004 NV_INFO(drm, "Found EDID in BIOS\n"); nouveau_bios_embedded_edid()
2011 struct nouveau_drm *drm = nouveau_drm(dev); NVInitVBIOS() local
2012 struct nvkm_bios *bios = nvxx_bios(&drm->device); NVInitVBIOS()
2013 struct nvbios *legacy = &drm->vbios; NVInitVBIOS()
2040 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_run_vbios_init() local
2041 struct nvbios *bios = &drm->vbios; nouveau_run_vbios_init()
2061 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_bios_posted() local
2064 if (drm->device.info.family >= NV_DEVICE_INFO_V0_TESLA) nouveau_bios_posted()
2078 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_bios_init() local
2079 struct nvbios *bios = &drm->vbios; nouveau_bios_init()
2101 NV_INFO(drm, "Adaptor not initialised, " nouveau_bios_init()
H A Dnouveau_display.c27 #include <drm/drmP.h>
28 #include <drm/drm_crtc_helper.h>
364 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_display_init() local
382 nvif_notify_get(&drm->flip); nouveau_display_init()
390 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_display_fini() local
394 /* Make sure that drm and hw vblank irqs get properly disabled. */ nouveau_display_fini()
399 nvif_notify_put(&drm->flip); nouveau_display_fini()
450 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_display_create() local
451 struct nvkm_device *device = nvxx_device(&drm->device); nouveau_display_create()
455 disp = drm->display = kzalloc(sizeof(*disp), GFP_KERNEL); nouveau_display_create()
468 if (drm->device.info.family < NV_DEVICE_INFO_V0_CELSIUS) { nouveau_display_create()
472 if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) { nouveau_display_create()
476 if (drm->device.info.family < NV_DEVICE_INFO_V0_FERMI) { nouveau_display_create()
487 if (drm->device.info.chipset < 0x11) nouveau_display_create()
495 if (nouveau_modeset != 2 && drm->vbios.dcb.entries) { nouveau_display_create()
512 ret = nvif_object_init(&drm->device.object, 0, nouveau_display_create()
599 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_display_resume() local
613 NV_ERROR(drm, "Could not pin framebuffer\n"); nouveau_display_resume()
625 NV_ERROR(drm, "Could not pin/map cursor.\n"); nouveau_display_resume()
646 /* Make sure that drm and hw vblank irqs get resumed if needed. */ nouveau_display_resume()
671 struct nouveau_drm *drm = chan->drm; nouveau_page_flip_emit() local
672 struct drm_device *dev = drm->dev; nouveau_page_flip_emit()
691 if (drm->device.info.family < NV_DEVICE_INFO_V0_FERMI) nouveau_page_flip_emit()
716 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_crtc_page_flip() local
725 chan = drm->channel; nouveau_crtc_page_flip()
770 if (drm->device.info.family >= NV_DEVICE_INFO_V0_TESLA) { nouveau_crtc_page_flip()
828 struct nouveau_drm *drm = chan->drm; nouveau_finish_page_flip() local
829 struct drm_device *dev = drm->dev; nouveau_finish_page_flip()
836 NV_ERROR(drm, "unexpected pageflip\n"); nouveau_finish_page_flip()
843 if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) { nouveau_finish_page_flip()
869 struct nouveau_drm *drm = container_of(notify, typeof(*drm), flip); nouveau_flip_complete() local
870 struct nouveau_channel *chan = drm->channel; nouveau_flip_complete()
874 if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) { nouveau_flip_complete()
875 nv_set_crtc_base(drm->dev, state.crtc, state.offset + nouveau_flip_complete()
H A Dnv50_fence.c37 struct drm_device *dev = chan->drm->dev; nv50_fence_context_new()
38 struct nv10_fence_priv *priv = chan->drm->fence; nv50_fence_context_new()
85 nv50_fence_create(struct nouveau_drm *drm) nv50_fence_create() argument
90 priv = drm->fence = kzalloc(sizeof(*priv), GFP_KERNEL); nv50_fence_create()
102 ret = nouveau_bo_new(drm->dev, 4096, 0x1000, TTM_PL_FLAG_VRAM, nv50_fence_create()
116 nv10_fence_destroy(drm); nv50_fence_create()
H A Dnv17_fence.c37 struct nv10_fence_priv *priv = chan->drm->fence; nv17_fence_sync()
76 struct nv10_fence_priv *priv = chan->drm->fence; nv17_fence_context_new()
106 nv17_fence_resume(struct nouveau_drm *drm) nv17_fence_resume() argument
108 struct nv10_fence_priv *priv = drm->fence; nv17_fence_resume()
114 nv17_fence_create(struct nouveau_drm *drm) nv17_fence_create() argument
119 priv = drm->fence = kzalloc(sizeof(*priv), GFP_KERNEL); nv17_fence_create()
131 ret = nouveau_bo_new(drm->dev, 4096, 0x1000, TTM_PL_FLAG_VRAM, nv17_fence_create()
145 nv10_fence_destroy(drm); nv17_fence_create()
H A Dnouveau_debugfs.c38 struct nouveau_drm *drm = nouveau_drm(node->minor->dev); nouveau_debugfs_vbios_image() local
41 for (i = 0; i < drm->vbios.length; i++) nouveau_debugfs_vbios_image()
42 seq_printf(m, "%c", drm->vbios.data[i]); nouveau_debugfs_vbios_image()
H A Dnouveau_chan.c72 nouveau_fence(chan->drm)->context_del(chan); nouveau_channel_del()
89 nouveau_channel_prep(struct nouveau_drm *drm, struct nvif_device *device, nouveau_channel_prep() argument
104 chan->drm = drm; nouveau_channel_prep()
111 ret = nouveau_bo_new(drm->dev, size, 0, target, 0, 0, NULL, NULL, nouveau_channel_prep()
161 if (chan->drm->agp.bridge) { nouveau_channel_prep()
164 args.start = chan->drm->agp.base; nouveau_channel_prep()
165 args.limit = chan->drm->agp.base + nouveau_channel_prep()
166 chan->drm->agp.size - 1; nouveau_channel_prep()
186 nouveau_channel_ind(struct nouveau_drm *drm, struct nvif_device *device, nouveau_channel_ind() argument
206 ret = nouveau_channel_prep(drm, device, 0x12000, &chan); nouveau_channel_ind()
255 nouveau_channel_dma(struct nouveau_drm *drm, struct nvif_device *device, nouveau_channel_dma() argument
269 ret = nouveau_channel_prep(drm, device, 0x10000, &chan); nouveau_channel_dma()
328 if (chan->drm->agp.bridge) { nouveau_channel_init()
331 args.start = chan->drm->agp.base; nouveau_channel_init()
332 args.limit = chan->drm->agp.base + nouveau_channel_init()
333 chan->drm->agp.size - 1; nouveau_channel_init()
396 return nouveau_fence(chan->drm)->context_new(chan); nouveau_channel_init()
400 nouveau_channel_new(struct nouveau_drm *drm, struct nvif_device *device, nouveau_channel_new() argument
411 ret = nouveau_channel_ind(drm, device, arg0, pchan); nouveau_channel_new()
414 ret = nouveau_channel_dma(drm, device, pchan); nouveau_channel_new()
H A Dnv04_fence.c91 nv04_fence_destroy(struct nouveau_drm *drm) nv04_fence_destroy() argument
93 struct nv04_fence_priv *priv = drm->fence; nv04_fence_destroy()
94 drm->fence = NULL; nv04_fence_destroy()
99 nv04_fence_create(struct nouveau_drm *drm) nv04_fence_create() argument
103 priv = drm->fence = kzalloc(sizeof(*priv), GFP_KERNEL); nv04_fence_create()
H A Dnv10_fence.c86 nv10_fence_destroy(struct nouveau_drm *drm) nv10_fence_destroy() argument
88 struct nv10_fence_priv *priv = drm->fence; nv10_fence_destroy()
93 drm->fence = NULL; nv10_fence_destroy()
98 nv10_fence_create(struct nouveau_drm *drm) nv10_fence_create() argument
102 priv = drm->fence = kzalloc(sizeof(*priv), GFP_KERNEL); nv10_fence_create()
H A Dnouveau_connector.c31 #include <drm/drmP.h>
32 #include <drm/drm_edid.h>
33 #include <drm/drm_crtc_helper.h>
117 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_connector_ddc_detect() local
118 struct nvkm_gpio *gpio = nvxx_gpio(&drm->device); nouveau_connector_ddc_detect()
200 struct nouveau_drm *drm = nouveau_drm(connector->dev); nouveau_connector_set_encoder() local
207 if (drm->device.info.family >= NV_DEVICE_INFO_V0_TESLA) { nouveau_connector_set_encoder()
217 if (drm->device.info.family == NV_DEVICE_INFO_V0_KELVIN || nouveau_connector_set_encoder()
218 (drm->device.info.family == NV_DEVICE_INFO_V0_CELSIUS && nouveau_connector_set_encoder()
240 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_connector_detect() local
266 NV_ERROR(drm, "DDC responded, but no EDID for %s\n", nouveau_connector_detect()
336 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_connector_detect_lvds() local
353 if (!drm->vbios.fp_no_ddc) { nouveau_connector_detect_lvds()
379 if (nouveau_bios_fp_mode(dev, NULL) && (drm->vbios.fp_no_ddc || nouveau_connector_detect_lvds()
388 if (!drm->vbios.fp_no_ddc) { nouveau_connector_detect_lvds()
415 struct nouveau_drm *drm = nouveau_drm(connector->dev); nouveau_connector_force() local
430 NV_ERROR(drm, "can't find encoder to force %s on!\n", nouveau_connector_force()
596 struct nouveau_drm *drm = nouveau_drm(connector->dev); nouveau_connector_native_mode() local
610 NV_DEBUG(drm, "native mode from preferred\n"); nouveau_connector_native_mode()
633 NV_DEBUG(drm, "native mode from largest: %dx%d@%d\n", nouveau_connector_native_mode()
697 struct nouveau_drm *drm = nouveau_drm(connector->dev); nouveau_connector_detect_depth() local
700 struct nvbios *bios = &drm->vbios; nouveau_connector_detect_depth()
747 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_connector_get_modes() local
765 drm->vbios.fp_no_ddc) && nouveau_bios_fp_mode(dev, NULL)) { nouveau_connector_get_modes()
815 struct nouveau_drm *drm = nouveau_drm(connector->dev); get_tmds_link_bandwidth() local
819 drm->device.info.chipset >= 0x46) get_tmds_link_bandwidth()
821 else if (drm->device.info.chipset >= 0x40) get_tmds_link_bandwidth()
823 else if (drm->device.info.chipset >= 0x18) get_tmds_link_bandwidth()
962 struct nouveau_drm *drm = nouveau_drm(connector->dev); nouveau_connector_hotplug() local
970 NV_DEBUG(drm, "%splugged %s\n", plugged ? "" : "un", name); nouveau_connector_hotplug()
972 mutex_lock(&drm->dev->mode_config.mutex); nouveau_connector_hotplug()
977 mutex_unlock(&drm->dev->mode_config.mutex); nouveau_connector_hotplug()
1049 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_connector_create() local
1079 NV_WARN(drm, "unknown connector type %02x\n", nouveau_connector_create()
1103 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_connector_create() local
1104 struct dcb_table *dcbt = &drm->vbios.dcb; nouveau_connector_create()
1140 NV_ERROR(drm, "Error parsing LVDS table, disabling\n"); nouveau_connector_create()
1153 NV_ERROR(drm, "failed to register aux channel\n"); nouveau_connector_create()
H A Dnouveau_sysfs.c164 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_sysfs_fini() local
165 struct nvif_device *device = &drm->device; nouveau_sysfs_fini()
172 drm->sysfs = NULL; nouveau_sysfs_fini()
179 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_sysfs_init() local
180 struct nvif_device *device = &drm->device; nouveau_sysfs_init()
187 sysfs = drm->sysfs = kzalloc(sizeof(*sysfs), GFP_KERNEL); nouveau_sysfs_init()
H A Dnouveau_fence.h64 #define nouveau_fence(drm) ((struct nouveau_fence_priv *)(drm)->fence)
82 void nv17_fence_resume(struct nouveau_drm *drm);
H A Dnvc0_fence.c76 nvc0_fence_create(struct nouveau_drm *drm) nvc0_fence_create() argument
78 int ret = nv84_fence_create(drm); nvc0_fence_create()
80 struct nv84_fence_priv *priv = drm->fence; nvc0_fence_create()
H A Dnouveau_chan.h9 struct nouveau_drm *drm; member in struct:nouveau_channel
H A Dnv04_fbcon.c33 struct nouveau_drm *drm = nouveau_drm(nfbdev->dev); nv04_fbcon_copyarea() local
34 struct nouveau_channel *chan = drm->channel; nv04_fbcon_copyarea()
53 struct nouveau_drm *drm = nouveau_drm(nfbdev->dev); nv04_fbcon_fillrect() local
54 struct nouveau_channel *chan = drm->channel; nv04_fbcon_fillrect()
80 struct nouveau_drm *drm = nouveau_drm(nfbdev->dev); nv04_fbcon_imageblit() local
81 struct nouveau_channel *chan = drm->channel; nv04_fbcon_imageblit()
140 struct nouveau_drm *drm = nouveau_drm(dev); nv04_fbcon_accel_init() local
141 struct nouveau_channel *chan = drm->channel; nv04_fbcon_accel_init()
142 struct nvif_device *device = &drm->device; nv04_fbcon_accel_init()
H A Dnv50_fbcon.c33 struct nouveau_drm *drm = nouveau_drm(nfbdev->dev); nv50_fbcon_fillrect() local
34 struct nouveau_channel *chan = drm->channel; nv50_fbcon_fillrect()
68 struct nouveau_drm *drm = nouveau_drm(nfbdev->dev); nv50_fbcon_copyarea() local
69 struct nouveau_channel *chan = drm->channel; nv50_fbcon_copyarea()
96 struct nouveau_drm *drm = nouveau_drm(nfbdev->dev); nv50_fbcon_imageblit() local
97 struct nouveau_channel *chan = drm->channel; nv50_fbcon_imageblit()
155 struct nouveau_drm *drm = nouveau_drm(dev); nv50_fbcon_accel_init() local
156 struct nouveau_channel *chan = drm->channel; nv50_fbcon_accel_init()
H A Dnvc0_fbcon.c33 struct nouveau_drm *drm = nouveau_drm(nfbdev->dev); nvc0_fbcon_fillrect() local
34 struct nouveau_channel *chan = drm->channel; nvc0_fbcon_fillrect()
68 struct nouveau_drm *drm = nouveau_drm(nfbdev->dev); nvc0_fbcon_copyarea() local
69 struct nouveau_channel *chan = drm->channel; nvc0_fbcon_copyarea()
96 struct nouveau_drm *drm = nouveau_drm(nfbdev->dev); nvc0_fbcon_imageblit() local
97 struct nouveau_channel *chan = drm->channel; nvc0_fbcon_imageblit()
155 struct nouveau_drm *drm = nouveau_drm(dev); nvc0_fbcon_accel_init() local
156 struct nouveau_channel *chan = drm->channel; nvc0_fbcon_accel_init()
H A Dnouveau_gem.c39 struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev); nouveau_gem_object_del() local
41 struct device *dev = drm->dev->dev; nouveau_gem_object_del()
66 struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev); nouveau_gem_object_open() local
68 struct device *dev = drm->dev->dev; nouveau_gem_object_open()
151 struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev); nouveau_gem_object_close() local
152 struct device *dev = drm->dev->dev; nouveau_gem_object_close()
182 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_gem_new() local
209 if (drm->device.info.family >= NV_DEVICE_INFO_V0_TESLA) nouveau_gem_new()
258 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_gem_ioctl_new() local
260 struct nvkm_fb *fb = nvxx_fb(&drm->device); nouveau_gem_ioctl_new()
371 struct drm_device *dev = chan->drm->dev; validate_init()
469 struct nouveau_drm *drm = chan->drm; validate_list() local
500 if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) { list_for_each_entry()
674 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_gem_ioctl_pushbuf() local
696 req->vram_available = drm->gem.vram_available; nouveau_gem_ioctl_pushbuf()
697 req->gart_available = drm->gem.gart_available; nouveau_gem_ioctl_pushbuf()
771 if (drm->device.info.chipset >= 0x25) { nouveau_gem_ioctl_pushbuf()
844 if (drm->device.info.chipset >= 0x25) { nouveau_gem_ioctl_pushbuf()
H A Dnouveau_abi16.c86 nouveau_abi16_swclass(struct nouveau_drm *drm) nouveau_abi16_swclass() argument
88 switch (drm->device.info.family) { nouveau_abi16_swclass()
174 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_abi16_ioctl_getparam() local
175 struct nvif_device *device = &drm->device; nouveau_abi16_ioctl_getparam()
208 getparam->value = drm->gem.vram_available; nouveau_abi16_ioctl_getparam()
211 getparam->value = drm->gem.gart_available; nouveau_abi16_ioctl_getparam()
247 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_abi16_ioctl_channel_alloc() local
256 if (!drm->channel) nouveau_abi16_ioctl_channel_alloc()
286 ret = nouveau_channel_new(drm, device, init->fb_ctxdma_handle, nouveau_abi16_ioctl_channel_alloc()
501 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_abi16_ioctl_notifierobj_alloc() local
541 if (drm->agp.bridge) { nouveau_abi16_ioctl_notifierobj_alloc()
544 args.start += drm->agp.base + chan->ntfy->bo.offset; nouveau_abi16_ioctl_notifierobj_alloc()
545 args.limit += drm->agp.base + chan->ntfy->bo.offset; nouveau_abi16_ioctl_notifierobj_alloc()
H A Dnouveau_gem.h4 #include <drm/drmP.h>
H A Dnouveau_sgdma.c96 struct nouveau_drm *drm = nouveau_bdev(bdev); nouveau_sgdma_create_ttm() local
103 if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) nouveau_sgdma_create_ttm()
/linux-4.4.14/drivers/gpu/drm/savage/
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
5 ccflags-y = -Iinclude/drm
H A Dsavage_drv.c28 #include <drm/drmP.h>
29 #include <drm/savage_drm.h>
32 #include <drm/drm_pciids.h>
/linux-4.4.14/drivers/gpu/drm/sis/
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
5 ccflags-y = -Iinclude/drm
H A Dsis_drv.c30 #include <drm/drmP.h>
31 #include <drm/sis_drm.h>
34 #include <drm/drm_pciids.h>
H A Dsis_drv.h31 #include <drm/drm_legacy.h>
49 #include <drm/drm_mm.h>
/linux-4.4.14/drivers/gpu/drm/ttm/
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
4 ccflags-y := -Iinclude/drm
H A Dttm_agp_backend.c34 #include <drm/ttm/ttm_module.h>
35 #include <drm/ttm/ttm_bo_driver.h>
36 #include <drm/ttm/ttm_page_alloc.h>
38 #include <drm/ttm/ttm_placement.h>
H A Dttm_bo_manager.c31 #include <drm/ttm/ttm_module.h>
32 #include <drm/ttm/ttm_bo_driver.h>
33 #include <drm/ttm/ttm_placement.h>
34 #include <drm/drm_mm.h>
H A Dttm_tt.c41 #include <drm/drm_cache.h>
42 #include <drm/drm_mem_util.h>
43 #include <drm/ttm/ttm_module.h>
44 #include <drm/ttm/ttm_bo_driver.h>
45 #include <drm/ttm/ttm_placement.h>
46 #include <drm/ttm/ttm_page_alloc.h>
/linux-4.4.14/drivers/gpu/drm/via/
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
5 ccflags-y := -Iinclude/drm
H A Dvia_drv.c27 #include <drm/drmP.h>
28 #include <drm/via_drm.h>
31 #include <drm/drm_pciids.h>
H A Dvia_video.c28 #include <drm/drmP.h>
29 #include <drm/via_drm.h>
/linux-4.4.14/drivers/gpu/drm/omapdrm/
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
6 ccflags-y := -Iinclude/drm -Werror
H A Domap_debugfs.c2 * drivers/gpu/drm/omapdrm/omap_debugfs.c
20 #include <drm/drm_crtc.h>
21 #include <drm/drm_fb_helper.h>
H A Domap_encoder.c2 * drivers/gpu/drm/omapdrm/omap_encoder.c
22 #include <drm/drm_crtc.h>
23 #include <drm/drm_crtc_helper.h>
24 #include <drm/drm_edid.h>
/linux-4.4.14/drivers/gpu/drm/r128/
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
5 ccflags-y := -Iinclude/drm
H A Dr128_drv.c34 #include <drm/drmP.h>
35 #include <drm/r128_drm.h>
38 #include <drm/drm_pciids.h>
/linux-4.4.14/drivers/gpu/drm/ast/
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
5 ccflags-y := -Iinclude/drm
/linux-4.4.14/drivers/gpu/drm/i810/
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
5 ccflags-y := -Iinclude/drm
H A Di810_drv.c35 #include <drm/drmP.h>
36 #include <drm/i810_drm.h>
39 #include <drm/drm_pciids.h>
87 pr_err("drm/i810 does not support SMP\n"); i810_init()
/linux-4.4.14/drivers/gpu/drm/mga/
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
5 ccflags-y := -Iinclude/drm
/linux-4.4.14/drivers/gpu/drm/bridge/
H A DMakefile1 ccflags-y := -Iinclude/drm
/linux-4.4.14/drivers/gpu/drm/amd/amdkfd/
H A DMakefile5 ccflags-y := -Iinclude/drm -Idrivers/gpu/drm/amd/include/ \
6 -Idrivers/gpu/drm/amd/include/asic_reg
/linux-4.4.14/drivers/gpu/drm/imx/
H A Dimx-drm-core.c2 * Freescale i.MX drm driver
22 #include <drm/drmP.h>
23 #include <drm/drm_fb_helper.h>
24 #include <drm/drm_crtc_helper.h>
25 #include <drm/drm_gem_cma_helper.h>
26 #include <drm/drm_fb_cma_helper.h>
27 #include <drm/drm_plane_helper.h>
28 #include <drm/drm_of.h>
31 #include "imx-drm.h"
41 struct drm_device *drm; member in struct:imx_drm_device
62 static void imx_drm_driver_lastclose(struct drm_device *drm) imx_drm_driver_lastclose() argument
65 struct imx_drm_device *imxdrm = drm->dev_private; imx_drm_driver_lastclose()
71 static int imx_drm_driver_unload(struct drm_device *drm) imx_drm_driver_unload() argument
74 struct imx_drm_device *imxdrm = drm->dev_private; imx_drm_driver_unload()
77 drm_kms_helper_poll_fini(drm); imx_drm_driver_unload()
84 component_unbind_all(drm->dev, drm); imx_drm_driver_unload()
86 drm_vblank_cleanup(drm); imx_drm_driver_unload()
87 drm_mode_config_cleanup(drm); imx_drm_driver_unload()
89 platform_set_drvdata(drm->platformdev, NULL); imx_drm_driver_unload()
148 static int imx_drm_enable_vblank(struct drm_device *drm, unsigned int pipe) imx_drm_enable_vblank() argument
150 struct imx_drm_device *imxdrm = drm->dev_private; imx_drm_enable_vblank()
166 static void imx_drm_disable_vblank(struct drm_device *drm, unsigned int pipe) imx_drm_disable_vblank() argument
168 struct imx_drm_device *imxdrm = drm->dev_private; imx_drm_disable_vblank()
180 static void imx_drm_driver_preclose(struct drm_device *drm, imx_drm_driver_preclose() argument
189 imx_drm_disable_vblank(drm, i); imx_drm_driver_preclose()
216 static void imx_drm_output_poll_changed(struct drm_device *drm) imx_drm_output_poll_changed() argument
219 struct imx_drm_device *imxdrm = drm->dev_private; imx_drm_output_poll_changed()
234 static int imx_drm_driver_load(struct drm_device *drm, unsigned long flags) imx_drm_driver_load() argument
240 imxdrm = devm_kzalloc(drm->dev, sizeof(*imxdrm), GFP_KERNEL); imx_drm_driver_load()
244 imxdrm->drm = drm; imx_drm_driver_load()
246 drm->dev_private = imxdrm; imx_drm_driver_load()
249 * enable drm irq mode. imx_drm_driver_load()
252 * P.S. note that we wouldn't use drm irq handler but imx_drm_driver_load()
254 * drm framework supports only one irq handler and imx_drm_driver_load()
257 drm->irq_enabled = true; imx_drm_driver_load()
264 drm->mode_config.min_width = 64; imx_drm_driver_load()
265 drm->mode_config.min_height = 64; imx_drm_driver_load()
266 drm->mode_config.max_width = 4096; imx_drm_driver_load()
267 drm->mode_config.max_height = 4096; imx_drm_driver_load()
268 drm->mode_config.funcs = &imx_drm_mode_config_funcs; imx_drm_driver_load()
270 drm_mode_config_init(drm); imx_drm_driver_load()
272 ret = drm_vblank_init(drm, MAX_CRTC); imx_drm_driver_load()
278 * disabled by drm timer once a current process gives up ownership imx_drm_driver_load()
281 drm->vblank_disable_allowed = true; imx_drm_driver_load()
283 platform_set_drvdata(drm->platformdev, drm); imx_drm_driver_load()
286 ret = component_bind_all(drm->dev, drm); imx_drm_driver_load()
295 list_for_each_entry(connector, &drm->mode_config.connector_list, head) { imx_drm_driver_load()
298 dev_err(drm->dev, imx_drm_driver_load()
313 dev_warn(drm->dev, "Invalid legacyfb_depth. Defaulting to 16bpp\n"); imx_drm_driver_load()
316 imxdrm->fbhelper = drm_fbdev_cma_init(drm, legacyfb_depth, imx_drm_driver_load()
317 drm->mode_config.num_crtc, MAX_CRTC); imx_drm_driver_load()
325 drm_kms_helper_poll_init(drm); imx_drm_driver_load()
330 component_unbind_all(drm->dev, drm); imx_drm_driver_load()
332 drm_vblank_cleanup(drm); imx_drm_driver_load()
334 drm_mode_config_cleanup(drm); imx_drm_driver_load()
342 int imx_drm_add_crtc(struct drm_device *drm, struct drm_crtc *crtc, imx_drm_add_crtc() argument
347 struct imx_drm_device *imxdrm = drm->dev_private; imx_drm_add_crtc()
358 if (imxdrm->drm->open_count) imx_drm_add_crtc()
382 drm_crtc_init_with_planes(drm, crtc, primary_plane, NULL, imx_drm_add_crtc()
411 int imx_drm_encoder_parse_of(struct drm_device *drm, imx_drm_encoder_parse_of() argument
414 uint32_t crtc_mask = drm_of_find_possible_crtcs(drm, np); imx_drm_encoder_parse_of()
496 .name = "imx-drm",
595 .name = "imx-drm",
603 MODULE_DESCRIPTION("i.MX drm driver core");
H A DMakefile2 imxdrm-objs := imx-drm-core.o
H A Dimx-drm.h27 int imx_drm_add_crtc(struct drm_device *drm, struct drm_crtc *crtc,
40 void imx_drm_mode_config_init(struct drm_device *drm);
51 int imx_drm_encoder_parse_of(struct drm_device *drm,
H A Dparallel-display.c2 * i.MX drm driver - parallel display implementation
18 #include <drm/drmP.h>
19 #include <drm/drm_fb_helper.h>
20 #include <drm/drm_crtc_helper.h>
21 #include <drm/drm_panel.h>
26 #include "imx-drm.h"
176 static int imx_pd_register(struct drm_device *drm, imx_pd_register() argument
181 ret = imx_drm_encoder_parse_of(drm, &imxpd->encoder, imx_pd_register()
194 drm_encoder_init(drm, &imxpd->encoder, &imx_pd_encoder_funcs, imx_pd_register()
199 drm_connector_init(drm, &imxpd->connector, &imx_pd_connector_funcs, imx_pd_register()
214 struct drm_device *drm = data; imx_pd_bind() local
259 ret = imx_pd_register(drm, imxpd); imx_pd_bind()
H A Dipuv3-crtc.c20 #include <drm/drmP.h>
21 #include <drm/drm_crtc_helper.h>
25 #include <drm/drm_gem_cma_helper.h>
26 #include <drm/drm_fb_cma_helper.h>
29 #include "imx-drm.h"
211 struct drm_device *drm = ipu_crtc->base.dev; ipu_crtc_handle_pageflip() local
213 spin_lock_irqsave(&drm->event_lock, flags); ipu_crtc_handle_pageflip()
219 spin_unlock_irqrestore(&drm->event_lock, flags); ipu_crtc_handle_pageflip()
348 struct ipu_client_platformdata *pdata, struct drm_device *drm) ipu_crtc_init()
363 ipu_crtc->plane[0] = ipu_plane_init(drm, ipu, pdata->dma[0], dp, 0, ipu_crtc_init()
370 ret = imx_drm_add_crtc(drm, &ipu_crtc->base, &ipu_crtc->imx_crtc, ipu_crtc_init()
387 ipu_crtc->plane[1] = ipu_plane_init(drm, ipu, pdata->dma[1], ipu_crtc_init()
418 struct drm_device *drm = data; ipu_drm_bind() local
428 ret = ipu_crtc_init(ipu_crtc, pdata, drm); ipu_drm_bind()
347 ipu_crtc_init(struct ipu_crtc *ipu_crtc, struct ipu_client_platformdata *pdata, struct drm_device *drm) ipu_crtc_init() argument
H A Ddw_hdmi-imx.c14 #include <drm/bridge/dw_hdmi.h>
17 #include <drm/drm_of.h>
18 #include <drm/drmP.h>
19 #include <drm/drm_crtc_helper.h>
20 #include <drm/drm_edid.h>
21 #include <drm/drm_encoder_slave.h>
23 #include "imx-drm.h"
209 struct drm_device *drm = data; dw_hdmi_imx_bind() local
238 encoder->possible_crtcs = drm_of_find_possible_crtcs(drm, dev->of_node); dw_hdmi_imx_bind()
253 drm_encoder_init(drm, encoder, &dw_hdmi_imx_encoder_funcs, dw_hdmi_imx_bind()
H A Dimx-ldb.c2 * i.MX drm driver - LVDS display bridge
19 #include <drm/drmP.h>
20 #include <drm/drm_fb_helper.h>
21 #include <drm/drm_crtc_helper.h>
22 #include <drm/drm_panel.h>
31 #include "imx-drm.h"
401 static int imx_ldb_register(struct drm_device *drm, imx_ldb_register() argument
407 ret = imx_drm_encoder_parse_of(drm, &imx_ldb_ch->encoder, imx_ldb_register()
424 drm_encoder_init(drm, &imx_ldb_ch->encoder, &imx_ldb_encoder_funcs, imx_ldb_register()
429 drm_connector_init(drm, &imx_ldb_ch->connector, imx_ldb_register()
508 struct drm_device *drm = data; imx_ldb_bind() local
631 ret = imx_ldb_register(drm, channel); for_each_child_of_node()
H A Dipuv3-plane.h4 #include <drm/drm_crtc.h> /* drm_plane */
H A Dimx-tve.c2 * i.MX drm driver - Television Encoder (TVEv2)
25 #include <drm/drmP.h>
26 #include <drm/drm_fb_helper.h>
27 #include <drm/drm_crtc_helper.h>
30 #include "imx-drm.h"
496 static int imx_tve_register(struct drm_device *drm, struct imx_tve *tve) imx_tve_register() argument
504 ret = imx_drm_encoder_parse_of(drm, &tve->encoder, imx_tve_register()
510 drm_encoder_init(drm, &tve->encoder, &imx_tve_encoder_funcs, imx_tve_register()
515 drm_connector_init(drm, &tve->connector, &imx_tve_connector_funcs, imx_tve_register()
565 struct drm_device *drm = data; imx_tve_bind() local
683 ret = imx_tve_register(drm, tve); imx_tve_bind()
/linux-4.4.14/drivers/gpu/drm/tilcdc/
H A DMakefile1 ccflags-y := -Iinclude/drm
H A Dtilcdc_drv.h32 #include <drm/drmP.h>
33 #include <drm/drm_crtc_helper.h>
34 #include <drm/drm_gem_cma_helper.h>
35 #include <drm/drm_fb_cma_helper.h>
/linux-4.4.14/drivers/gpu/drm/vc4/
H A DMakefile1 ccflags-y := -Iinclude/drm
H A Dvc4_drv.c153 struct drm_device *drm; vc4_drm_bind() local
164 drm = drm_dev_alloc(&vc4_drm_driver, dev); vc4_drm_bind()
165 if (!drm) vc4_drm_bind()
167 platform_set_drvdata(pdev, drm); vc4_drm_bind()
168 vc4->dev = drm; vc4_drm_bind()
169 drm->dev_private = vc4; vc4_drm_bind()
171 drm_dev_set_unique(drm, dev_name(dev)); vc4_drm_bind()
173 drm_mode_config_init(drm); vc4_drm_bind()
177 ret = component_bind_all(dev, drm); vc4_drm_bind()
181 ret = drm_dev_register(drm, 0); vc4_drm_bind()
189 list_for_each_entry(connector, &drm->mode_config.connector_list, head) { vc4_drm_bind()
195 vc4_kms_load(drm); vc4_drm_bind()
200 drm_dev_unregister(drm); vc4_drm_bind()
202 component_unbind_all(dev, drm); vc4_drm_bind()
204 drm_dev_unref(drm); vc4_drm_bind()
211 struct drm_device *drm = platform_get_drvdata(pdev); vc4_drm_unbind() local
212 struct vc4_dev *vc4 = to_vc4_dev(drm); vc4_drm_unbind()
217 drm_mode_config_cleanup(drm); vc4_drm_unbind()
219 drm_put_dev(drm); vc4_drm_unbind()
261 .name = "vc4-drm",
294 MODULE_ALIAS("platform:vc4-drm");
H A Dvc4_debugfs.c13 #include <drm/drmP.h>
H A Dvc4_hvs.c106 struct drm_device *drm = dev_get_drvdata(master); vc4_hvs_bind() local
107 struct vc4_dev *vc4 = drm->dev_private; vc4_hvs_bind()
129 struct drm_device *drm = dev_get_drvdata(master); vc4_hvs_unbind() local
130 struct vc4_dev *vc4 = drm->dev_private; vc4_hvs_unbind()
/linux-4.4.14/drivers/gpu/drm/i2c/
H A DMakefile1 ccflags-y := -Iinclude/drm
/linux-4.4.14/drivers/gpu/drm/virtio/
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
5 ccflags-y := -Iinclude/drm
/linux-4.4.14/drivers/gpu/drm/qxl/
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
5 ccflags-y := -Iinclude/drm
/linux-4.4.14/drivers/gpu/drm/exynos/
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
5 ccflags-y := -Iinclude/drm -Idrivers/gpu/drm/exynos
H A Dexynos_drm_fb.c15 #include <drm/drmP.h>
16 #include <drm/drm_crtc.h>
17 #include <drm/drm_crtc_helper.h>
18 #include <drm/drm_fb_helper.h>
19 #include <drm/drm_atomic.h>
20 #include <drm/drm_atomic_helper.h>
21 #include <uapi/drm/exynos_drm.h>
34 * @fb: drm framebuffer obejct.
48 * if exynos drm driver supports iommu then framebuffer can use check_fb_gem_memory_type()
H A Dexynos_drm_core.c15 #include <drm/drmP.h>
61 DRM_DEBUG("exynos drm subdrv probe failed.\n"); exynos_drm_device_subdrv_probe()
76 WARN(1, "Unexpected drm device unregister!\n"); exynos_drm_device_subdrv_remove()
H A Dexynos_drm_drv.h18 #include <drm/drmP.h>
42 * Exynos drm common overlay structure.
83 * Exynos drm crtc ops
135 * drm framework doesn't support multiple irq yet.
142 * @ops: pointer to callbacks for exynos drm specific functionality
169 * Exynos drm private structure.
203 * Exynos drm sub driver structure.
205 * @list: sub driver has its own list object to register to exynos drm driver.
209 * @probe: this callback would be called by exynos drm driver after
213 * @open: this would be called with drm device file open.
214 * @close: this would be called with drm device file close.
232 /* this function removes subdrv list from exynos drm driver */
H A Dexynos_drm_fb.h25 /* get gem object of a drm framebuffer */
H A Dexynos_drm_fbdev.c15 #include <drm/drmP.h>
16 #include <drm/drm_crtc.h>
17 #include <drm/drm_fb_helper.h>
18 #include <drm/drm_crtc_helper.h>
19 #include <drm/exynos_drm.h>
167 DRM_ERROR("failed to create drm framebuffer.\n"); exynos_drm_fbdev_create()
242 DRM_ERROR("failed to initialize drm fb helper.\n"); exynos_drm_fbdev_init()
281 /* release drm framebuffer and real buffer */ exynos_drm_fbdev_destroy()
H A Dexynos_drm_plane.c12 #include <drm/drmP.h>
14 #include <drm/exynos_drm.h>
15 #include <drm/drm_plane_helper.h>
16 #include <drm/drm_atomic_helper.h>
91 /* set drm framebuffer data. */ exynos_plane_mode_set()
H A Dexynos_drm_crtc.c15 #include <drm/drmP.h>
16 #include <drm/drm_crtc_helper.h>
17 #include <drm/drm_atomic.h>
18 #include <drm/drm_atomic_helper.h>
/linux-4.4.14/drivers/gpu/drm/rockchip/
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
H A Drockchip_drm_drv.c19 #include <drm/drmP.h>
20 #include <drm/drm_crtc_helper.h>
21 #include <drm/drm_fb_helper.h>
40 * Attach a (component) device to the shared drm dma mapping from master drm
93 static struct drm_crtc *rockchip_crtc_from_pipe(struct drm_device *drm, rockchip_crtc_from_pipe() argument
99 list_for_each_entry(crtc, &drm->mode_config.crtc_list, head) rockchip_crtc_from_pipe()
199 * enable drm irq mode. rockchip_drm_load()
210 * by drm timer once a current process gives up ownership of rockchip_drm_load()
309 struct drm_device *drm = dev_get_drvdata(dev); rockchip_drm_sys_suspend() local
312 if (!drm) rockchip_drm_sys_suspend()
315 drm_modeset_lock_all(drm); rockchip_drm_sys_suspend()
316 list_for_each_entry(connector, &drm->mode_config.connector_list, head) { rockchip_drm_sys_suspend()
325 drm_modeset_unlock_all(drm); rockchip_drm_sys_suspend()
332 struct drm_device *drm = dev_get_drvdata(dev); rockchip_drm_sys_resume() local
337 if (!drm) rockchip_drm_sys_resume()
340 drm_modeset_lock_all(drm); rockchip_drm_sys_resume()
341 list_for_each_entry(connector, &drm->mode_config.connector_list, head) { rockchip_drm_sys_resume()
368 drm_modeset_unlock_all(drm); rockchip_drm_sys_resume()
370 drm_helper_resume_force_mode(drm); rockchip_drm_sys_resume()
373 drm_kms_helper_hotplug_event(drm); rockchip_drm_sys_resume()
446 struct drm_device *drm; rockchip_drm_bind() local
449 drm = drm_dev_alloc(&rockchip_drm_driver, dev); rockchip_drm_bind()
450 if (!drm) rockchip_drm_bind()
453 ret = drm_dev_set_unique(drm, "%s", dev_name(dev)); rockchip_drm_bind()
457 ret = drm_dev_register(drm, 0); rockchip_drm_bind()
461 dev_set_drvdata(dev, drm); rockchip_drm_bind()
466 drm_dev_unref(drm); rockchip_drm_bind()
472 struct drm_device *drm = dev_get_drvdata(dev); rockchip_drm_unbind() local
474 drm_dev_unregister(drm); rockchip_drm_unbind()
475 drm_dev_unref(drm); rockchip_drm_unbind()
560 .name = "rockchip-drm",
H A Drockchip_drm_gem.c15 #include <drm/drm.h>
16 #include <drm/drmP.h>
17 #include <drm/drm_gem.h>
18 #include <drm/drm_vma_manager.h>
29 struct drm_device *drm = obj->dev; rockchip_gem_alloc_buf() local
37 rk_obj->kvaddr = dma_alloc_attrs(drm->dev, obj->size, rockchip_gem_alloc_buf()
51 struct drm_device *drm = obj->dev; rockchip_gem_free_buf() local
53 dma_free_attrs(drm->dev, obj->size, rk_obj->kvaddr, rk_obj->dma_addr, rockchip_gem_free_buf()
63 struct drm_device *drm = obj->dev; rockchip_drm_gem_object_mmap() local
72 ret = dma_mmap_attrs(drm->dev, vma, rk_obj->kvaddr, rk_obj->dma_addr, rockchip_drm_gem_object_mmap()
92 /* drm driver mmap file operations */ rockchip_gem_mmap()
108 rockchip_gem_create_object(struct drm_device *drm, unsigned int size, rockchip_gem_create_object() argument
123 drm_gem_private_object_init(drm, obj, size); rockchip_gem_create_object()
162 struct drm_device *drm, unsigned int size, rockchip_gem_create_with_handle()
169 rk_obj = rockchip_gem_create_object(drm, size, false); rockchip_gem_create_with_handle()
260 struct drm_device *drm = obj->dev; rockchip_gem_prime_get_sg_table() local
268 ret = dma_get_sgtable_attrs(drm->dev, sgt, rk_obj->kvaddr, rockchip_gem_prime_get_sg_table()
161 rockchip_gem_create_with_handle(struct drm_file *file_priv, struct drm_device *drm, unsigned int size, unsigned int *handle) rockchip_gem_create_with_handle() argument
H A Drockchip_drm_drv.h20 #include <drm/drm_fb_helper.h>
21 #include <drm/drm_gem.h>
34 * Rockchip drm private crtc funcs.
44 * Rockchip drm private structure.
H A Drockchip_drm_fbdev.c15 #include <drm/drm.h>
16 #include <drm/drmP.h>
17 #include <drm/drm_fb_helper.h>
18 #include <drm/drm_crtc_helper.h>
148 dev_err(dev->dev, "Failed to initialize drm fb helper - %d.\n", rockchip_drm_fbdev_init()
H A Ddw_hdmi-rockchip.c14 #include <drm/drm_of.h>
15 #include <drm/drmP.h>
16 #include <drm/drm_crtc_helper.h>
17 #include <drm/drm_edid.h>
18 #include <drm/drm_encoder_slave.h>
19 #include <drm/bridge/dw_hdmi.h>
251 struct drm_device *drm = data; dw_hdmi_rockchip_bind() local
280 encoder->possible_crtcs = drm_of_find_possible_crtcs(drm, dev->of_node); dw_hdmi_rockchip_bind()
297 drm_encoder_init(drm, encoder, &dw_hdmi_rockchip_encoder_funcs, dw_hdmi_rockchip_bind()
H A Drockchip_drm_gem.h36 /* drm driver mmap file operations */
44 rockchip_gem_create_object(struct drm_device *drm, unsigned int size,
H A Drockchip_drm_fb.c16 #include <drm/drm.h>
17 #include <drm/drmP.h>
18 #include <drm/drm_fb_helper.h>
19 #include <drm/drm_crtc_helper.h>
/linux-4.4.14/drivers/gpu/drm/vmwgfx/
H A DMakefile2 ccflags-y := -Iinclude/drm
/linux-4.4.14/include/drm/
H A Ddrm_gem_cma_helper.h4 #include <drm/drmP.h>
5 #include <drm/drm_gem.h>
34 struct drm_device *drm,
39 struct drm_device *drm,
44 struct drm_device *drm, u32 handle,
51 struct drm_gem_cma_object *drm_gem_cma_create(struct drm_device *drm,
H A Dati_pcigart.h4 #include <drm/drm_legacy.h>
/linux-4.4.14/drivers/gpu/drm/msm/
H A DMakefile1 ccflags-y := -Iinclude/drm -Idrivers/gpu/drm/msm
2 ccflags-$(CONFIG_DRM_MSM_DSI) += -Idrivers/gpu/drm/msm/dsi
H A Dmsm_gpu.c569 int msm_gpu_init(struct drm_device *drm, struct platform_device *pdev, msm_gpu_init() argument
579 gpu->dev = drm; msm_gpu_init()
611 dev_err(drm->dev, "failed to get irq: %d\n", ret); msm_gpu_init()
618 dev_err(drm->dev, "failed to request IRQ%u: %d\n", gpu->irq, ret); msm_gpu_init()
652 dev_info(drm->dev, "%s: using IOMMU\n", name); msm_gpu_init()
656 dev_err(drm->dev, "failed to init iommu: %d\n", ret); msm_gpu_init()
663 dev_info(drm->dev, "%s: no IOMMU, fallback to VRAM carveout!\n", name); msm_gpu_init()
665 gpu->id = msm_register_mmu(drm, gpu->mmu); msm_gpu_init()
669 mutex_lock(&drm->struct_mutex); msm_gpu_init()
671 mutex_unlock(&drm->struct_mutex); msm_gpu_init()
675 dev_err(drm->dev, "could not create ringbuffer: %d\n", ret); msm_gpu_init()
H A Dmsm_drv.h42 #include <drm/drmP.h>
43 #include <drm/drm_atomic.h>
44 #include <drm/drm_atomic_helper.h>
45 #include <drm/drm_crtc_helper.h>
46 #include <drm/drm_plane_helper.h>
47 #include <drm/drm_fb_helper.h>
48 #include <drm/msm_drm.h>
49 #include <drm/drm_gem.h>
/linux-4.4.14/drivers/gpu/drm/nouveau/dispnv04/
H A Dcursor.c1 #include <drm/drmP.h>
2 #include <drm/drm_mode.h>
41 struct nouveau_drm *drm = nouveau_drm(dev); nv04_cursor_set_offset() local
58 if (drm->device.info.family == NV_DEVICE_INFO_V0_CURIE) nv04_cursor_set_offset()
H A Ddisp.c25 #include <drm/drmP.h>
26 #include <drm/drm_crtc_helper.h>
37 struct nouveau_drm *drm = nouveau_drm(dev); nv04_display_create() local
38 struct nvkm_i2c *i2c = nvxx_i2c(&drm->device); nv04_display_create()
39 struct dcb_table *dcb = &drm->vbios.dcb; nv04_display_create()
50 nvif_object_map(&drm->device.object); nv04_display_create()
85 NV_WARN(drm, "DCB type %d not known\n", dcbent->type); nv04_display_create()
96 NV_WARN(drm, "%s has no encoders, removing\n", nv04_display_create()
128 struct nouveau_drm *drm = nouveau_drm(dev); nv04_display_destroy() local
156 nvif_object_unmap(&drm->device.object); nv04_display_destroy()
H A Ddac.c27 #include <drm/drmP.h>
28 #include <drm/drm_crtc_helper.h>
68 struct nouveau_drm *drm = nouveau_drm(dev); sample_load_twice() local
69 struct nvif_object *device = &drm->device.object; sample_load_twice()
83 if (nvif_msec(&drm->device, 10, sample_load_twice()
89 if (nvif_msec(&drm->device, 10, sample_load_twice()
95 if (nvif_msec(&drm->device, 10, sample_load_twice()
137 struct nouveau_drm *drm = nouveau_drm(dev); nv04_dac_detect() local
228 NV_DEBUG(drm, "Load detected on head A\n"); nv04_dac_detect()
238 struct nouveau_drm *drm = nouveau_drm(dev); nv17_dac_sample_load() local
240 struct nvkm_gpio *gpio = nvxx_gpio(&drm->device); nv17_dac_sample_load()
251 if (drm->vbios.tvdactestval) nv17_dac_sample_load()
252 testval = drm->vbios.tvdactestval; nv17_dac_sample_load()
256 if (drm->vbios.dactestval) nv17_dac_sample_load()
257 testval = drm->vbios.dactestval; nv17_dac_sample_load()
291 if (drm->device.info.family >= NV_DEVICE_INFO_V0_CURIE) { nv17_dac_sample_load()
338 struct nouveau_drm *drm = nouveau_drm(encoder->dev); nv17_dac_detect() local
346 NV_DEBUG(drm, "Load detected on output %c\n", nv17_dac_detect()
380 struct nouveau_drm *drm = nouveau_drm(dev); nv04_dac_mode_set() local
406 if (drm->device.info.chipset < 0x44) nv04_dac_mode_set()
415 struct nouveau_drm *drm = nouveau_drm(encoder->dev); nv04_dac_commit() local
421 NV_DEBUG(drm, "Output %s is running on CRTC %d using output %c\n", nv04_dac_commit()
463 struct nouveau_drm *drm = nouveau_drm(encoder->dev); nv04_dac_dpms() local
469 NV_DEBUG(drm, "Setting dpms mode %d on vga encoder (output %d)\n", nv04_dac_dpms()
H A Ddisp.h129 struct nouveau_drm *drm = nouveau_drm(dev); nv_two_heads() local
132 if (drm->device.info.family >= NV_DEVICE_INFO_V0_CELSIUS && impl != 0x0100 && nv_two_heads()
148 struct nouveau_drm *drm = nouveau_drm(dev); nv_two_reg_pll() local
151 if (impl == 0x0310 || impl == 0x0340 || drm->device.info.family >= NV_DEVICE_INFO_V0_CURIE) nv_two_reg_pll()
172 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_bios_run_init_table() local
173 struct nvkm_bios *bios = nvxx_bios(&drm->device); nouveau_bios_run_init_table()
H A Dhw.c25 #include <drm/drmP.h>
87 struct nouveau_drm *drm = nouveau_drm(dev); NVSetOwner() local
92 if (drm->device.info.chipset == 0x11) { NVSetOwner()
103 if (drm->device.info.chipset == 0x11) { /* set me harder */ NVSetOwner()
135 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hw_decode_pll() local
152 else if (drm->device.info.chipset == 0x30 || drm->device.info.chipset == 0x35) { nouveau_hw_decode_pll()
167 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hw_get_pllvals() local
168 struct nvif_object *device = &drm->device.object; nouveau_hw_get_pllvals()
169 struct nvkm_bios *bios = nvxx_bios(&drm->device); nouveau_hw_get_pllvals()
187 if (drm->device.info.family == NV_DEVICE_INFO_V0_CELSIUS && reg1 >= NV_PRAMDAC_VPLL_COEFF) { nouveau_hw_get_pllvals()
254 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hw_fix_bad_vpll() local
255 struct nvif_device *device = &drm->device; nouveau_hw_fix_bad_vpll()
271 NV_WARN(drm, "VPLL %d outwith limits, attempting to fix\n", head + 1); nouveau_hw_fix_bad_vpll()
306 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hw_save_vga_fonts() local
322 NV_INFO(drm, "%sing VGA fonts\n", save ? "Sav" : "Restor"); nouveau_hw_save_vga_fonts()
327 NV_ERROR(drm, "Failed to map VRAM, " nouveau_hw_save_vga_fonts()
390 struct nouveau_drm *drm = nouveau_drm(dev); nv_save_state_ramdac() local
394 if (drm->device.info.family >= NV_DEVICE_INFO_V0_CELSIUS) nv_save_state_ramdac()
401 if (drm->device.info.chipset == 0x11) nv_save_state_ramdac()
408 if (drm->device.info.chipset >= 0x30) nv_save_state_ramdac()
450 if (drm->device.info.family == NV_DEVICE_INFO_V0_CURIE) { nv_save_state_ramdac()
465 struct nouveau_drm *drm = nouveau_drm(dev); nv_load_state_ramdac() local
466 struct nvkm_clk *clk = nvxx_clk(&drm->device); nv_load_state_ramdac()
471 if (drm->device.info.family >= NV_DEVICE_INFO_V0_CELSIUS) nv_load_state_ramdac()
478 if (drm->device.info.chipset == 0x11) nv_load_state_ramdac()
485 if (drm->device.info.chipset >= 0x30) nv_load_state_ramdac()
522 if (drm->device.info.family == NV_DEVICE_INFO_V0_CURIE) { nv_load_state_ramdac()
587 struct nouveau_drm *drm = nouveau_drm(dev); nv_save_state_ext() local
603 if (drm->device.info.family >= NV_DEVICE_INFO_V0_KELVIN) nv_save_state_ext()
606 if (drm->device.info.family >= NV_DEVICE_INFO_V0_RANKINE) nv_save_state_ext()
615 if (drm->device.info.family >= NV_DEVICE_INFO_V0_CELSIUS) { nv_save_state_ext()
619 if (drm->device.info.family >= NV_DEVICE_INFO_V0_RANKINE) nv_save_state_ext()
622 if (drm->device.info.family == NV_DEVICE_INFO_V0_CURIE) nv_save_state_ext()
634 if (drm->device.info.family >= NV_DEVICE_INFO_V0_CELSIUS) { nv_save_state_ext()
662 struct nouveau_drm *drm = nouveau_drm(dev); nv_load_state_ext() local
663 struct nvif_object *device = &drm->device.object; nv_load_state_ext()
668 if (drm->device.info.family >= NV_DEVICE_INFO_V0_CELSIUS) { nv_load_state_ext()
680 nvif_wr32(device, NV_PVIDEO_LIMIT(0), drm->device.info.ram_size - 1); nv_load_state_ext()
681 nvif_wr32(device, NV_PVIDEO_LIMIT(1), drm->device.info.ram_size - 1); nv_load_state_ext()
682 nvif_wr32(device, NV_PVIDEO_UVPLANE_LIMIT(0), drm->device.info.ram_size - 1); nv_load_state_ext()
683 nvif_wr32(device, NV_PVIDEO_UVPLANE_LIMIT(1), drm->device.info.ram_size - 1); nv_load_state_ext()
690 if (drm->device.info.family >= NV_DEVICE_INFO_V0_RANKINE) nv_load_state_ext()
693 if (drm->device.info.family == NV_DEVICE_INFO_V0_CURIE) { nv_load_state_ext()
716 if (drm->device.info.family >= NV_DEVICE_INFO_V0_KELVIN) nv_load_state_ext()
719 if (drm->device.info.family >= NV_DEVICE_INFO_V0_RANKINE) nv_load_state_ext()
726 if (drm->device.info.family == NV_DEVICE_INFO_V0_CURIE) nv_load_state_ext()
732 if (drm->device.info.family >= NV_DEVICE_INFO_V0_CELSIUS) { nv_load_state_ext()
740 if (drm->device.info.family < NV_DEVICE_INFO_V0_KELVIN) { nv_load_state_ext()
743 nvif_msec(&drm->device, 650, nv_load_state_ext()
747 nvif_msec(&drm->device, 650, nv_load_state_ext()
810 struct nouveau_drm *drm = nouveau_drm(dev); nouveau_hw_save_state() local
812 if (drm->device.info.chipset == 0x11) nouveau_hw_save_state()
H A Dcrtc.c27 #include <drm/drmP.h>
28 #include <drm/drm_crtc_helper.h>
29 #include <drm/drm_plane_helper.h>
114 struct nouveau_drm *drm = nouveau_drm(dev); nv_crtc_calc_state_ext() local
115 struct nvkm_bios *bios = nvxx_bios(&drm->device); nv_crtc_calc_state_ext()
116 struct nvkm_clk *clk = nvxx_clk(&drm->device); nv_crtc_calc_state_ext()
140 if (drm->device.info.chipset > 0x40 && dot_clock <= (pll_lim.vco1.max_freq / 2)) nv_crtc_calc_state_ext()
150 if (drm->device.info.family == NV_DEVICE_INFO_V0_CURIE) nv_crtc_calc_state_ext()
153 if (drm->device.info.chipset < 0x41) nv_crtc_calc_state_ext()
159 NV_DEBUG(drm, "vpll: n1 %d n2 %d m1 %d m2 %d log2p %d\n", nv_crtc_calc_state_ext()
162 NV_DEBUG(drm, "vpll: n %d m %d log2p %d\n", nv_crtc_calc_state_ext()
173 struct nouveau_drm *drm = nouveau_drm(dev); nv_crtc_dpms() local
177 NV_DEBUG(drm, "Setting dpms mode %d on CRTC %d\n", mode, nv_crtc_dpms()
279 if (dev->overlayAdaptor && drm->device.info.family >= NV_DEVICE_INFO_V0_CELSIUS) nv_crtc_mode_set_vga()
465 struct nouveau_drm *drm = nouveau_drm(dev); nv_crtc_mode_set_regs() local
513 if (drm->device.info.chipset >= 0x11) nv_crtc_mode_set_regs()
554 if (drm->device.info.family >= NV_DEVICE_INFO_V0_RANKINE) nv_crtc_mode_set_regs()
560 if (drm->device.info.family == NV_DEVICE_INFO_V0_CURIE) nv_crtc_mode_set_regs()
564 if (drm->device.info.family >= NV_DEVICE_INFO_V0_RANKINE) nv_crtc_mode_set_regs()
567 if (drm->device.info.family >= NV_DEVICE_INFO_V0_CELSIUS) nv_crtc_mode_set_regs()
573 if (drm->device.info.family == NV_DEVICE_INFO_V0_CURIE) { nv_crtc_mode_set_regs()
585 if (drm->device.info.family >= NV_DEVICE_INFO_V0_CELSIUS) nv_crtc_mode_set_regs()
594 if (drm->device.info.chipset >= 0x11) nv_crtc_mode_set_regs()
642 struct nouveau_drm *drm = nouveau_drm(dev); nv_crtc_mode_set() local
645 NV_DEBUG(drm, "CTRC mode on CRTC %d:\n", nv_crtc->index); nv_crtc_mode_set()
657 if (drm->device.info.family == NV_DEVICE_INFO_V0_CURIE) nv_crtc_mode_set()
704 struct nouveau_drm *drm = nouveau_drm(dev); nv_crtc_prepare() local
718 if (drm->device.info.family == NV_DEVICE_INFO_V0_CURIE) { nv_crtc_prepare()
827 struct nouveau_drm *drm = nouveau_drm(dev); nv04_crtc_do_mode_set_base() local
833 NV_DEBUG(drm, "index %d\n", nv_crtc->index); nv04_crtc_do_mode_set_base()
837 NV_DEBUG(drm, "No FB bound\n"); nv04_crtc_do_mode_set_base()
892 if (drm->device.info.family >= NV_DEVICE_INFO_V0_KELVIN) { nv04_crtc_do_mode_set_base()
915 struct nouveau_drm *drm = nouveau_drm(crtc->dev); nv04_crtc_mode_set_base_atomic() local
916 struct drm_device *dev = drm->dev; nv04_crtc_mode_set_base_atomic()
971 struct nouveau_drm *drm = nouveau_drm(dev); nv11_cursor_upload() local
973 if (drm->device.info.chipset == 0x11) { nv11_cursor_upload()
990 struct nouveau_drm *drm = nouveau_drm(crtc->dev); nv04_crtc_cursor_set() local
991 struct drm_device *dev = drm->dev; nv04_crtc_cursor_set()
1014 if (drm->device.info.chipset >= 0x11) nv04_crtc_cursor_set()
1041 struct nouveau_drm *drm; nouveau_crtc_set_config() local
1057 drm = nouveau_drm(dev); nouveau_crtc_set_config()
1068 if (active && !drm->have_disp_power_ref) { nouveau_crtc_set_config()
1069 drm->have_disp_power_ref = true; nouveau_crtc_set_config()
1074 if (!active && drm->have_disp_power_ref) { nouveau_crtc_set_config()
1076 drm->have_disp_power_ref = false; nouveau_crtc_set_config()
H A Dtvnv04.c27 #include <drm/drmP.h>
34 #include <drm/drm_crtc_helper.h>
36 #include <drm/i2c/ch7006.h>
56 struct nouveau_drm *drm = nouveau_drm(dev); nv04_tv_identify() local
57 struct nvkm_i2c *i2c = nvxx_i2c(&drm->device); nv04_tv_identify()
78 struct nouveau_drm *drm = nouveau_drm(dev); nv04_tv_dpms() local
83 NV_DEBUG(drm, "Setting dpms mode %d on TV encoder (output %d)\n", nv04_tv_dpms()
169 struct nouveau_drm *drm = nouveau_drm(dev); nv04_tv_commit() local
175 NV_DEBUG(drm, "Output %s is running on CRTC %d using output %c\n", nv04_tv_commit()
210 struct nouveau_drm *drm = nouveau_drm(dev); nv04_tv_create() local
211 struct nvkm_i2c *i2c = nvxx_i2c(&drm->device); nv04_tv_create()
H A Dtvnv17.c27 #include <drm/drmP.h>
28 #include <drm/drm_crtc_helper.h>
48 struct nouveau_drm *drm = nouveau_drm(dev); nv42_tv_sample_load() local
49 struct nvkm_gpio *gpio = nvxx_gpio(&drm->device); nv42_tv_sample_load()
58 if (drm->vbios.tvdactestval) nv42_tv_sample_load()
59 testval = drm->vbios.tvdactestval; nv42_tv_sample_load()
132 struct nouveau_drm *drm = nouveau_drm(dev); get_tv_detect_quirks() local
133 struct nvkm_device *device = nvxx_device(&drm->device); get_tv_detect_quirks()
147 struct nouveau_drm *drm = nouveau_drm(dev); nv17_tv_detect() local
157 if (drm->device.info.chipset == 0x42 || nv17_tv_detect()
158 drm->device.info.chipset == 0x43) nv17_tv_detect()
192 NV_INFO(drm, "Load detected on output %c\n", nv17_tv_detect()
364 struct nouveau_drm *drm = nouveau_drm(dev); nv17_tv_dpms() local
365 struct nvkm_gpio *gpio = nvxx_gpio(&drm->device); nv17_tv_dpms()
373 NV_INFO(drm, "Setting dpms mode %d on TV encoder (output %d)\n", nv17_tv_dpms()
399 struct nouveau_drm *drm = nouveau_drm(dev); nv17_tv_prepare() local
426 drm->vbios.fp.dual_link); nv17_tv_prepare()
438 if (drm->device.info.family == NV_DEVICE_INFO_V0_CURIE) nv17_tv_prepare()
462 struct nouveau_drm *drm = nouveau_drm(dev); nv17_tv_mode_set() local
495 if (drm->device.info.family >= NV_DEVICE_INFO_V0_RANKINE) { nv17_tv_mode_set()
575 struct nouveau_drm *drm = nouveau_drm(dev); nv17_tv_commit() local
590 if (drm->device.info.chipset < 0x44) nv17_tv_commit()
601 NV_INFO(drm, "Output %s is running on CRTC %d using output %c\n", nv17_tv_commit()
638 struct nouveau_drm *drm = nouveau_drm(dev); nv17_tv_create_resources() local
655 NV_WARN(drm, "Invalid TV norm setting \"%s\"\n", nv17_tv_create_resources()
H A Dhw.h26 #include <drm/drmP.h>
169 struct nouveau_drm *drm = nouveau_drm(dev); NVReadPRMVIO() local
174 if (head && drm->device.info.family == NV_DEVICE_INFO_V0_CURIE) NVReadPRMVIO()
185 struct nouveau_drm *drm = nouveau_drm(dev); NVWritePRMVIO() local
189 if (head && drm->device.info.family == NV_DEVICE_INFO_V0_CURIE) NVWritePRMVIO()
263 struct nouveau_drm *drm = nouveau_drm(dev); nv_heads_tied() local
265 if (drm->device.info.chipset == 0x11) nv_heads_tied()
315 struct nouveau_drm *drm = nouveau_drm(dev); NVLockVgaCrtcs() local
321 if (drm->device.info.chipset == 0x11 && !nv_heads_tied(dev)) NVLockVgaCrtcs()
336 struct nouveau_drm *drm = nouveau_drm(dev); nv_cursor_width() local
338 return drm->device.info.family >= NV_DEVICE_INFO_V0_CELSIUS ? NV10_CURSOR_SIZE : NV04_CURSOR_SIZE; nv_cursor_width()
356 struct nouveau_drm *drm = nouveau_drm(dev); nv_set_crtc_base() local
360 if (drm->device.info.family == NV_DEVICE_INFO_V0_TNT) { nv_set_crtc_base()
375 struct nouveau_drm *drm = nouveau_drm(dev); nv_show_cursor() local
385 if (drm->device.info.family == NV_DEVICE_INFO_V0_CURIE) nv_show_cursor()
392 struct nouveau_drm *drm = nouveau_drm(dev); nv_pitch_align() local
401 if (drm->device.info.family == NV_DEVICE_INFO_V0_TNT) nv_pitch_align()
H A Ddfp.c27 #include <drm/drmP.h>
28 #include <drm/drm_crtc_helper.h>
38 #include <drm/i2c/sil164.h>
285 struct nouveau_drm *drm = nouveau_drm(dev); nv04_dfp_mode_set() local
295 NV_DEBUG(drm, "Output mode on CRTC %d:\n", nv_crtc->index); nv04_dfp_mode_set()
303 drm->vbios.digital_min_front_porch) nv04_dfp_mode_set()
306 regp->fp_horiz_regs[FP_CRTC] = output_mode->hsync_start - drm->vbios.digital_min_front_porch - 1; nv04_dfp_mode_set()
419 if (drm->device.info.chipset == 0x11) nv04_dfp_mode_set()
430 if (drm->device.info.chipset != 0x11) { nv04_dfp_mode_set()
447 struct nouveau_drm *drm = nouveau_drm(dev); nv04_dfp_commit() local
466 if (drm->device.info.chipset < 0x44) nv04_dfp_commit()
479 NV_DEBUG(drm, "Output %s is running on CRTC %d using output %c\n", nv04_dfp_commit()
515 struct nouveau_drm *drm = nouveau_drm(dev); nv04_lvds_dpms() local
523 NV_DEBUG(drm, "Setting dpms mode %d on lvds encoder (output %d)\n", nv04_lvds_dpms()
561 struct nouveau_drm *drm = nouveau_drm(encoder->dev); nv04_tmds_dpms() local
568 NV_DEBUG(drm, "Setting dpms mode %d on tmds encoder (output %d)\n", nv04_tmds_dpms()
625 struct nouveau_drm *drm = nouveau_drm(dev); nv04_tmds_slave_init() local
626 struct nvkm_i2c *i2c = nvxx_i2c(&drm->device); nv04_tmds_slave_init()
H A Doverlay.c26 #include <drm/drmP.h>
27 #include <drm/drm_crtc.h>
28 #include <drm/drm_fourcc.h>
99 struct nouveau_drm *drm = nouveau_drm(plane->dev); nv10_update_plane() local
100 struct nvif_object *dev = &drm->device.object; nv10_update_plane()
122 if (drm->device.info.chipset >= 0x30) { nv10_update_plane()
263 struct nouveau_drm *drm = nouveau_drm(device); nv10_overlay_init() local
271 switch (drm->device.info.chipset) { nv10_overlay_init()
340 NV_ERROR(drm, "Failed to create plane\n"); nv10_overlay_init()
456 struct nouveau_drm *drm = nouveau_drm(device); nv04_overlay_init() local
492 NV_ERROR(drm, "Failed to create plane\n"); nv04_overlay_init()
/linux-4.4.14/drivers/hid/
H A Dhid-wiimote-debug.c23 struct dentry *drm; member in struct:wiimote_debug
106 __u8 drm; wiidebug_drm_show() local
109 drm = dbg->wdata->state.drm; wiidebug_drm_show()
112 if (drm < WIIPROTO_REQ_MAX) wiidebug_drm_show()
113 str = wiidebug_drmmap[drm]; wiidebug_drm_show()
192 dbg->drm = debugfs_create_file("drm", S_IRUSR, wiidebug_init()
194 if (!dbg->drm) wiidebug_init()
222 debugfs_remove(dbg->drm); wiidebug_deinit()
/linux-4.4.14/drivers/gpu/drm/atmel-hlcdc/
H A Datmel_hlcdc_dc.h29 #include <drm/drm_atomic.h>
30 #include <drm/drm_atomic_helper.h>
31 #include <drm/drm_crtc.h>
32 #include <drm/drm_crtc_helper.h>
33 #include <drm/drm_fb_cma_helper.h>
34 #include <drm/drm_gem_cma_helper.h>
35 #include <drm/drm_panel.h>
36 #include <drm/drm_plane_helper.h>
37 #include <drm/drmP.h>
/linux-4.4.14/drivers/gpu/drm/gma500/
H A Dframebuffer.h25 #include <drm/drmP.h>
26 #include <drm/drm_fb_helper.h>
H A Dgem.c26 #include <drm/drmP.h>
27 #include <drm/drm.h>
28 #include <drm/gma_drm.h>
29 #include <drm/drm_vma_manager.h>
52 * @file: our drm client file
53 * @dev: drm device
H A Dgma_device.c16 #include <drm/drmP.h>
H A Dgtt.h23 #include <drm/drmP.h>
24 #include <drm/drm_gem.h>
/linux-4.4.14/drivers/gpu/drm/armada/
H A Darmada_drv.c12 #include <drm/drmP.h>
13 #include <drm/drm_crtc_helper.h>
14 #include <drm/drm_of.h>
19 #include <drm/armada_drm.h>
75 resource_size(mem), "armada-drm")) armada_drm_load()
214 .name = "armada-drm",
319 .name = "armada-drm",
321 .name = "armada-510-drm",
331 .name = "armada-drm",
362 MODULE_ALIAS("platform:armada-drm");
H A Darmada_510.c12 #include <drm/drmP.h>
13 #include <drm/drm_crtc_helper.h>
H A Darmada_fb.c8 #include <drm/drmP.h>
9 #include <drm/drm_crtc_helper.h>
10 #include <drm/drm_fb_helper.h>
45 #define FMT(drm, fmt, mod) \ armada_framebuffer_create()
46 case DRM_FORMAT_##drm: \ armada_framebuffer_create()
/linux-4.4.14/drivers/gpu/drm/msm/edp/
H A Dedp.c77 struct drm_device *drm = dev_get_drvdata(master); edp_bind() local
78 struct msm_drm_private *priv = drm->dev_private; edp_bind()
92 struct drm_device *drm = dev_get_drvdata(master); edp_unbind() local
93 struct msm_drm_private *priv = drm->dev_private; edp_unbind()
146 /* Second part of initialization, the drm/kms level modeset_init */ msm_edp_modeset_init()
197 /* bridge/connector are normally destroyed by drm */ msm_edp_modeset_init()
/linux-4.4.14/drivers/gpu/drm/msm/adreno/
H A Dadreno_gpu.c331 int adreno_gpu_init(struct drm_device *drm, struct platform_device *pdev, adreno_gpu_init() argument
355 ret = msm_gpu_init(drm, pdev, &adreno_gpu->base, &funcs->base, adreno_gpu_init()
361 ret = request_firmware(&adreno_gpu->pm4, adreno_gpu->info->pm4fw, drm->dev); adreno_gpu_init()
363 dev_err(drm->dev, "failed to load %s PM4 firmware: %d\n", adreno_gpu_init()
368 ret = request_firmware(&adreno_gpu->pfp, adreno_gpu->info->pfpfw, drm->dev); adreno_gpu_init()
370 dev_err(drm->dev, "failed to load %s PFP firmware: %d\n", adreno_gpu_init()
383 mutex_lock(&drm->struct_mutex); adreno_gpu_init()
384 adreno_gpu->memptrs_bo = msm_gem_new(drm, sizeof(*adreno_gpu->memptrs), adreno_gpu_init()
386 mutex_unlock(&drm->struct_mutex); adreno_gpu_init()
390 dev_err(drm->dev, "could not allocate memptrs: %d\n", ret); adreno_gpu_init()
396 dev_err(drm->dev, "could not vmap memptrs\n"); adreno_gpu_init()
403 dev_err(drm->dev, "could not map memptrs: %d\n", ret); adreno_gpu_init()
/linux-4.4.14/include/sound/
H A Dhda_i915.h7 #include <drm/i915_component.h>
/linux-4.4.14/drivers/gpu/drm/i915/
H A Dintel_dsi.h27 #include <drm/drmP.h>
28 #include <drm/drm_crtc.h>
29 #include <drm/drm_mipi_dsi.h>
H A DMakefile2 # Makefile for the drm device driver. This driver provides support for the
H A Di915_gem_debug.c28 #include <drm/drmP.h>
29 #include <drm/i915_drm.h>
H A Dintel_atomic_plane.c34 #include <drm/drmP.h>
35 #include <drm/drm_atomic_helper.h>
36 #include <drm/drm_plane_helper.h>
41 * @plane: drm plane
66 * @plane: drm plane
93 * @plane: drm plane
/linux-4.4.14/drivers/gpu/drm/amd/scheduler/
H A Dgpu_sched_trace.h8 #include <drm/drmP.h>
/linux-4.4.14/include/uapi/drm/
H A Ddrm_sarea.h35 #include <drm/drm.h>

Completed in 2582 milliseconds

1234