| /linux/drivers/gpu/drm/nouveau/ |
| H A D | nouveau_drm.c | 228 mutex_lock(&cli->drm->client_mutex); in nouveau_cli_fini() 230 mutex_unlock(&cli->drm->client_mutex); in nouveau_cli_fini() 234 nouveau_cli_init(struct nouveau_drm *drm, const char *sname, in nouveau_cli_init() argument 256 cli->drm = drm; in nouveau_cli_init() 263 mutex_lock(&drm->client_mutex); in nouveau_cli_init() 264 ret = nvif_client_ctor(&drm->_client, cli->name, &cli->base); in nouveau_cli_init() 265 mutex_unlock(&drm->client_mutex); in nouveau_cli_init() 277 cli->device.object.map.ptr = drm->device.object.map.ptr; in nouveau_cli_init() 279 ret = nvif_mmu_ctor(&cli->device.object, "drmMmu", drm->mmu.object.oclass, in nouveau_cli_init() 316 ret = nouveau_sched_create(&cli->sched, drm, NULL, 1); in nouveau_cli_init() [all …]
|
| H A D | nouveau_led.c | 40 struct nouveau_drm *drm = nouveau_drm(drm_dev); in nouveau_led_get_brightness() local 41 struct nvif_object *device = &drm->client.device.object; in nouveau_led_get_brightness() 57 struct nouveau_drm *drm = nouveau_drm(drm_dev); in nouveau_led_set_brightness() local 58 struct nvif_object *device = &drm->client.device.object; in nouveau_led_set_brightness() 80 struct nouveau_drm *drm = nouveau_drm(dev); in nouveau_led_init() local 81 struct nvkm_gpio *gpio = nvxx_gpio(drm); in nouveau_led_init() 92 drm->led = kzalloc(sizeof(*drm->led), GFP_KERNEL); in nouveau_led_init() 93 if (!drm->led) in nouveau_led_init() 95 drm->led->dev = dev; in nouveau_led_init() 97 drm->led->led.name = "nvidia-logo"; in nouveau_led_init() [all …]
|
| H A D | nouveau_dmem.c | 61 typedef int (*nouveau_migrate_copy_t)(struct nouveau_drm *drm, u64 npages, 64 typedef int (*nouveau_clear_page_t)(struct nouveau_drm *drm, u32 length, 70 struct nouveau_drm *drm; member 82 struct nouveau_drm *drm; member 106 return chunk->drm; in page_to_drm() 122 struct nouveau_dmem *dmem = chunk->drm->dmem; in nouveau_dmem_folio_free() 155 static int nouveau_dmem_copy_folio(struct nouveau_drm *drm, in nouveau_dmem_copy_folio() argument 159 struct device *dev = drm->dev->dev; in nouveau_dmem_copy_folio() 171 if (drm->dmem->migrate.copy_func(drm, folio_nr_pages(sfolio), in nouveau_dmem_copy_folio() 185 struct nouveau_drm *drm = page_to_drm(vmf->page); in nouveau_dmem_migrate_to_ram() local [all …]
|
| H A D | nouveau_debugfs.c | 41 struct nouveau_drm *drm = nouveau_drm(node->minor->dev); in nouveau_debugfs_vbios_image() local 44 for (i = 0; i < drm->vbios.length; i++) in nouveau_debugfs_vbios_image() 45 seq_printf(m, "%c", drm->vbios.data[i]); in nouveau_debugfs_vbios_image() 53 struct nouveau_drm *drm = nouveau_drm(node->minor->dev); in nouveau_debugfs_strap_peek() local 56 ret = pm_runtime_get_sync(drm->dev->dev); in nouveau_debugfs_strap_peek() 58 pm_runtime_put_autosuspend(drm->dev->dev); in nouveau_debugfs_strap_peek() 63 nvif_rd32(&drm->client.device.object, 0x101000)); in nouveau_debugfs_strap_peek() 65 pm_runtime_mark_last_busy(drm->dev->dev); in nouveau_debugfs_strap_peek() 66 pm_runtime_put_autosuspend(drm->dev->dev); in nouveau_debugfs_strap_peek() 74 struct drm_device *drm = m->private; in nouveau_debugfs_pstate_get() local [all …]
|
| H A D | nouveau_vga.c | 14 struct nouveau_drm *drm = pci_get_drvdata(pdev); in nouveau_vga_set_decode() local 15 struct nvif_object *device = &drm->client.device.object; in nouveau_vga_set_decode() 17 if (drm->client.device.info.family == NV_DEVICE_INFO_V0_CURIE && in nouveau_vga_set_decode() 18 drm->client.device.info.chipset >= 0x4c) in nouveau_vga_set_decode() 21 if (drm->client.device.info.chipset >= 0x40) in nouveau_vga_set_decode() 37 struct nouveau_drm *drm = pci_get_drvdata(pdev); in nouveau_switcheroo_set_state() local 38 struct drm_device *dev = drm->dev; in nouveau_switcheroo_set_state() 60 struct nouveau_drm *drm = pci_get_drvdata(pdev); in nouveau_switcheroo_reprobe() local 61 struct drm_device *dev = drm->dev; in nouveau_switcheroo_reprobe() 69 struct nouveau_drm *drm = pci_get_drvdata(pdev); in nouveau_switcheroo_can_switch() local [all …]
|
| H A D | nouveau_bo.c | 59 struct nouveau_drm *drm = nouveau_drm(dev); in nv10_bo_update_tile_region() local 60 int i = reg - drm->tile.reg; in nv10_bo_update_tile_region() 61 struct nvkm_fb *fb = nvxx_fb(drm); in nv10_bo_update_tile_region() 78 struct nouveau_drm *drm = nouveau_drm(dev); in nv10_bo_get_tile_region() local 79 struct nouveau_drm_tile *tile = &drm->tile.reg[i]; in nv10_bo_get_tile_region() 81 spin_lock(&drm->tile.lock); in nv10_bo_get_tile_region() 89 spin_unlock(&drm->tile.lock); in nv10_bo_get_tile_region() 97 struct nouveau_drm *drm = nouveau_drm(dev); in nv10_bo_put_tile_region() local 100 spin_lock(&drm->tile.lock); in nv10_bo_put_tile_region() 103 spin_unlock(&drm->tile.lock); in nv10_bo_put_tile_region() [all …]
|
| H A D | nouveau_hwmon.c | 54 struct nouveau_drm *drm = nouveau_drm(dev); in nouveau_hwmon_temp1_auto_point1_temp() local 55 struct nvkm_therm *therm = nvxx_therm(drm); in nouveau_hwmon_temp1_auto_point1_temp() 66 struct nouveau_drm *drm = nouveau_drm(dev); in nouveau_hwmon_set_temp1_auto_point1_temp() local 67 struct nvkm_therm *therm = nvxx_therm(drm); in nouveau_hwmon_set_temp1_auto_point1_temp() 87 struct nouveau_drm *drm = nouveau_drm(dev); in nouveau_hwmon_temp1_auto_point1_temp_hyst() local 88 struct nvkm_therm *therm = nvxx_therm(drm); in nouveau_hwmon_temp1_auto_point1_temp_hyst() 99 struct nouveau_drm *drm = nouveau_drm(dev); in nouveau_hwmon_set_temp1_auto_point1_temp_hyst() local 100 struct nvkm_therm *therm = nvxx_therm(drm); in nouveau_hwmon_set_temp1_auto_point1_temp_hyst() 120 struct nouveau_drm *drm = nouveau_drm(dev); in nouveau_hwmon_get_pwm1_max() local 121 struct nvkm_therm *therm = nvxx_therm(drm); in nouveau_hwmon_get_pwm1_max() [all …]
|
| H A D | nouveau_mem.c | 81 nvif_vmm_put(&mem->drm->client.vmm.vmm, &mem->vma[1]); in nouveau_mem_fini() 82 nvif_vmm_put(&mem->drm->client.vmm.vmm, &mem->vma[0]); in nouveau_mem_fini() 83 mutex_lock(&mem->drm->client_mutex); in nouveau_mem_fini() 85 mutex_unlock(&mem->drm->client_mutex); in nouveau_mem_fini() 92 struct nouveau_drm *drm = mem->drm; in nouveau_mem_host() local 93 struct nvif_mmu *mmu = &drm->mmu; in nouveau_mem_host() 98 if (!nouveau_drm_use_coherent_gpu_mapping(drm)) in nouveau_mem_host() 99 type = drm->ttm.type_ncoh[!!mem->kind]; in nouveau_mem_host() 101 type = drm->ttm.type_host[0]; in nouveau_mem_host() 116 mutex_lock(&drm->client_mutex); in nouveau_mem_host() [all …]
|
| H A D | nouveau_bios.c | 94 struct nouveau_drm *drm = nouveau_drm(dev); in run_digital_op_script() local 96 NV_INFO(drm, "0x%04X: Parsing digital output script table\n", in run_digital_op_script() 107 struct nouveau_drm *drm = nouveau_drm(dev); in call_lvds_manufacturer_script() local 108 struct nvbios *bios = &drm->vbios; in call_lvds_manufacturer_script() 147 struct nouveau_drm *drm = nouveau_drm(dev); in run_lvds_table() local 148 struct nvbios *bios = &drm->vbios; in run_lvds_table() 193 NV_ERROR(drm, "Pixel clock comparison table not found\n"); in run_lvds_table() 200 NV_ERROR(drm, "LVDS output init script not found\n"); in run_lvds_table() 216 struct nouveau_drm *drm = nouveau_drm(dev); in call_lvds_script() local 217 struct nvif_object *device = &drm->client.device.object; in call_lvds_script() [all …]
|
| /linux/drivers/gpu/drm/mxsfb/ |
| H A D | mxsfb_drv.c | 117 struct drm_device *drm = mxsfb->drm; in mxsfb_attach_bridge() local 123 ret = drm_of_find_panel_or_bridge(drm->dev->of_node, 0, 0, &panel, in mxsfb_attach_bridge() 129 bridge = devm_drm_panel_bridge_add_typed(drm->dev, panel, in mxsfb_attach_bridge() 140 return dev_err_probe(drm->dev, ret, "Failed to attach bridge\n"); in mxsfb_attach_bridge() 148 drm_connector_list_iter_begin(drm, &iter); in mxsfb_attach_bridge() 157 struct drm_device *drm = data; in mxsfb_irq_handler() local 158 struct mxsfb_drm_private *mxsfb = drm->dev_private; in mxsfb_irq_handler() 178 static void mxsfb_irq_disable(struct drm_device *drm) in mxsfb_irq_disable() argument 180 struct mxsfb_drm_private *mxsfb = drm->dev_private; in mxsfb_irq_disable() 209 static int mxsfb_load(struct drm_device *drm, in mxsfb_load() argument [all …]
|
| /linux/drivers/gpu/drm/sprd/ |
| H A D | sprd_drm.c | 39 static void sprd_drm_mode_config_init(struct drm_device *drm) in sprd_drm_mode_config_init() argument 41 drm->mode_config.min_width = 0; in sprd_drm_mode_config_init() 42 drm->mode_config.min_height = 0; in sprd_drm_mode_config_init() 43 drm->mode_config.max_width = 8192; in sprd_drm_mode_config_init() 44 drm->mode_config.max_height = 8192; in sprd_drm_mode_config_init() 46 drm->mode_config.funcs = &sprd_drm_mode_config_funcs; in sprd_drm_mode_config_init() 47 drm->mode_config.helper_private = &sprd_drm_mode_config_helper; in sprd_drm_mode_config_init() 68 struct drm_device *drm; in sprd_drm_bind() local 72 sprd = devm_drm_dev_alloc(dev, &sprd_drm_drv, struct sprd_drm, drm); in sprd_drm_bind() 76 drm = &sprd->drm; in sprd_drm_bind() [all …]
|
| /linux/Documentation/gpu/imagination/ |
| H A D | uapi.rst | 6 .. kernel-doc:: include/uapi/drm/pvr_drm.h 11 .. kernel-doc:: include/uapi/drm/pvr_drm.h 14 .. kernel-doc:: include/uapi/drm/pvr_drm.h 19 .. kernel-doc:: include/uapi/drm/pvr_drm.h 22 .. kernel-doc:: include/uapi/drm/pvr_drm.h 27 .. kernel-doc:: include/uapi/drm/pvr_drm.h 30 .. kernel-doc:: include/uapi/drm/pvr_drm.h 33 .. kernel-doc:: include/uapi/drm/pvr_drm.h 36 .. kernel-doc:: include/uapi/drm/pvr_drm.h 43 .. kernel-doc:: include/uapi/drm/pvr_drm.h [all …]
|
| /linux/Documentation/gpu/ |
| H A D | panfrost.rst | 4 drm/Panfrost Mali Driver 12 The drm/Panfrost driver implements the DRM client usage stats specification as 13 documented in :ref:`drm-client-usage-stats`. 23 drm-driver: panfrost 24 drm-client-id: 14 25 drm-engine-fragment: 1846584880 ns 26 drm-cycles-fragment: 1424359409 27 drm-maxfreq-fragment: 799999987 Hz 28 drm-curfreq-fragment: 799999987 Hz 29 drm-engine-vertex-tiler: 71932239 ns [all …]
|
| /linux/drivers/gpu/drm/imx/dcss/ |
| H A D | dcss-kms.c | 114 struct drm_device *drm; in dcss_kms_attach() local 123 drm = &kms->base; in dcss_kms_attach() 126 drm->dev_private = dcss; in dcss_kms_attach() 130 ret = drm_vblank_init(drm, 1); in dcss_kms_attach() 138 ret = dcss_crtc_init(crtc, drm); in dcss_kms_attach() 142 drm_mode_config_reset(drm); in dcss_kms_attach() 144 drm_kms_helper_poll_init(drm); in dcss_kms_attach() 146 ret = drm_dev_register(drm, 0); in dcss_kms_attach() 150 drm_client_setup(drm, NULL); in dcss_kms_attach() 155 drm_kms_helper_poll_fini(drm); in dcss_kms_attach() [all …]
|
| /linux/drivers/gpu/drm/mcde/ |
| H A D | mcde_drv.c | 128 static int mcde_modeset_init(struct drm_device *drm) in mcde_modeset_init() argument 131 struct mcde *mcde = to_mcde(drm); in mcde_modeset_init() 146 ret = drm_of_find_panel_or_bridge(drm->dev->of_node, in mcde_modeset_init() 149 dev_err(drm->dev, in mcde_modeset_init() 157 dev_err(drm->dev, in mcde_modeset_init() 167 mode_config = &drm->mode_config; in mcde_modeset_init() 176 ret = drm_vblank_init(drm, 1); in mcde_modeset_init() 178 dev_err(drm->dev, "failed to init vblank\n"); in mcde_modeset_init() 182 ret = mcde_display_init(drm); in mcde_modeset_init() 184 dev_err(drm->dev, "failed to init display\n"); in mcde_modeset_init() [all …]
|
| /linux/drivers/gpu/drm/exynos/ |
| H A D | exynos_drm_drv.c | 240 struct drm_device *drm; in exynos_drm_bind() local 244 drm = drm_dev_alloc(&exynos_drm_driver, dev); in exynos_drm_bind() 245 if (IS_ERR(drm)) in exynos_drm_bind() 246 return PTR_ERR(drm); in exynos_drm_bind() 257 dev_set_drvdata(dev, drm); in exynos_drm_bind() 258 drm->dev_private = (void *)private; in exynos_drm_bind() 260 drm_mode_config_init(drm); in exynos_drm_bind() 262 exynos_drm_mode_config_init(drm); in exynos_drm_bind() 266 list_for_each_entry(encoder, &drm->mode_config.encoder_list, head) in exynos_drm_bind() 269 list_for_each_entry(encoder, &drm->mode_config.encoder_list, head) in exynos_drm_bind() [all …]
|
| /linux/drivers/gpu/drm/armada/ |
| H A D | armada_drv.c | 87 struct armada_private, drm); in armada_drm_bind() 102 dev_set_drvdata(dev, &priv->drm); in armada_drm_bind() 105 drm_mode_config_init(&priv->drm); in armada_drm_bind() 106 priv->drm.mode_config.min_width = 320; in armada_drm_bind() 107 priv->drm.mode_config.min_height = 200; in armada_drm_bind() 113 priv->drm.mode_config.max_width = 1920; in armada_drm_bind() 114 priv->drm.mode_config.max_height = 2048; in armada_drm_bind() 116 priv->drm.mode_config.preferred_depth = 24; in armada_drm_bind() 117 priv->drm.mode_config.funcs = &armada_drm_mode_config_funcs; in armada_drm_bind() 121 ret = component_bind_all(dev, &priv->drm); in armada_drm_bind() [all …]
|
| /linux/drivers/gpu/drm/tegra/ |
| H A D | drm.c | 46 static int tegra_atomic_check(struct drm_device *drm, in tegra_atomic_check() argument 51 err = drm_atomic_helper_check(drm, state); in tegra_atomic_check() 55 return tegra_display_hub_atomic_check(drm, state); in tegra_atomic_check() 64 static void tegra_atomic_post_commit(struct drm_device *drm, in tegra_atomic_post_commit() argument 77 struct drm_device *drm = old_state->dev; in tegra_atomic_commit_tail() local 78 struct tegra_drm *tegra = drm->dev_private; in tegra_atomic_commit_tail() 83 drm_atomic_helper_commit_modeset_disables(drm, old_state); in tegra_atomic_commit_tail() 84 tegra_display_hub_atomic_commit(drm, old_state); in tegra_atomic_commit_tail() 85 drm_atomic_helper_commit_planes(drm, old_state, 0); in tegra_atomic_commit_tail() 86 drm_atomic_helper_commit_modeset_enables(drm, old_state); in tegra_atomic_commit_tail() [all …]
|
| /linux/tools/perf/util/ |
| H A D | drm_pmu.c | 75 struct drm_pmu *drm; in add_drm_pmu() local 109 zfree(&drm); in add_drm_pmu() 114 drm = zalloc(sizeof(*drm)); in add_drm_pmu() 115 if (!drm) in add_drm_pmu() 118 if (perf_pmu__init(&drm->pmu, type, name) != 0) { in add_drm_pmu() 119 perf_pmu__delete(&drm->pmu); in add_drm_pmu() 123 drm->pmu.cpus = perf_cpu_map__new_int(0); in add_drm_pmu() 124 if (!drm->pmu.cpus) { in add_drm_pmu() 125 perf_pmu__delete(&drm->pmu); in add_drm_pmu() 128 return drm; in add_drm_pmu() [all …]
|
| /linux/drivers/gpu/drm/ |
| H A D | Kconfig | 31 source "drivers/gpu/drm/Kconfig.debug" 62 Enable a drm panic handler, which will display a user-friendly message 97 This can also be overridden by drm.panic_screen=xxxx kernel parameter 98 or by writing to /sys/module/drm/parameters/panic_screen sysfs entry 156 Enable debug tracing of failures to gracefully handle drm modeset lock 157 contention. A history of each drm modeset lock path hitting -EDEADLK 172 source "drivers/gpu/drm/clients/Kconfig" 186 source "drivers/gpu/drm/display/Kconfig" 268 source "drivers/gpu/drm/sysfb/Kconfig" 270 source "drivers/gpu/drm/arm/Kconfig" [all …]
|
| /linux/drivers/gpu/drm/nova/ |
| H A D | driver.rs | 4 auxiliary, c_str, device::Core, drm, drm::gem, drm::ioctl, prelude::*, sync::aref::ARef, 12 drm: ARef<drm::Device<Self>>, field 16 pub(crate) type NovaDevice = drm::Device<NovaDriver>; 23 const INFO: drm::DriverInfo = drm::DriverInfo { 51 let drm = drm::Device::<Self>::new(adev.as_ref(), data)?; in probe() localVariable 52 drm::Registration::new_foreign_owned(&drm, adev.as_ref(), 0)?; in probe() 54 Ok(Self { drm }) in probe() 59 impl drm::Driver for NovaDriver { 64 const INFO: drm::DriverInfo = INFO;
|
| /linux/drivers/gpu/drm/meson/ |
| H A D | meson_drv.c | 186 struct drm_device *drm; in meson_drv_bind_master() local 201 drm = drm_dev_alloc(&meson_driver, dev); in meson_drv_bind_master() 202 if (IS_ERR(drm)) in meson_drv_bind_master() 203 return PTR_ERR(drm); in meson_drv_bind_master() 210 drm->dev_private = priv; in meson_drv_bind_master() 211 priv->drm = drm; in meson_drv_bind_master() 265 ret = drm_vblank_init(drm, 1); in meson_drv_bind_master() 285 ret = drmm_mode_config_init(drm); in meson_drv_bind_master() 288 drm->mode_config.max_width = 3840; in meson_drv_bind_master() 289 drm->mode_config.max_height = 2160; in meson_drv_bind_master() [all …]
|
| /linux/drivers/gpu/drm/tests/ |
| H A D | drm_managed_test.c | 15 struct drm_device *drm; member 20 static void drm_action(struct drm_device *drm, void *ptr) in drm_action() argument 37 ret = drmm_add_action_or_reset(priv->drm, drm_action, priv); in drm_test_managed_release_action() 40 ret = drm_dev_register(priv->drm, 0); in drm_test_managed_release_action() 43 drmm_release_action(priv->drm, drm_action, priv); in drm_test_managed_release_action() 48 drm_dev_unregister(priv->drm); in drm_test_managed_release_action() 49 drm_kunit_helper_free_device(test, priv->drm->dev); in drm_test_managed_release_action() 61 ret = drmm_add_action_or_reset(priv->drm, drm_action, priv); in drm_test_managed_run_action() 64 ret = drm_dev_register(priv->drm, 0); in drm_test_managed_run_action() 67 drm_dev_unregister(priv->drm); in drm_test_managed_run_action() [all …]
|
| /linux/drivers/gpu/drm/tve200/ |
| H A D | tve200_drv.c | 160 struct drm_device *drm; in tve200_probe() local 168 drm = drm_dev_alloc(&tve200_drm_driver, dev); in tve200_probe() 169 if (IS_ERR(drm)) in tve200_probe() 170 return PTR_ERR(drm); in tve200_probe() 171 platform_set_drvdata(pdev, drm); in tve200_probe() 172 priv->drm = drm; in tve200_probe() 173 drm->dev_private = priv; in tve200_probe() 218 ret = tve200_modeset_init(drm); in tve200_probe() 222 ret = drm_dev_register(drm, 0); in tve200_probe() 226 drm_client_setup_with_fourcc(drm, DRM_FORMAT_RGB565); in tve200_probe() [all …]
|
| /linux/drivers/gpu/drm/arm/display/komeda/ |
| H A D | komeda_kms.c | 39 struct drm_device *drm = data; in komeda_kms_irq_handler() local 40 struct komeda_dev *mdev = drm->dev_private; in komeda_kms_irq_handler() 41 struct komeda_kms_dev *kms = to_kdev(drm); in komeda_kms_irq_handler() 50 komeda_print_events(&evts, drm); in komeda_kms_irq_handler() 278 struct drm_device *drm; in komeda_kms_attach() local 286 drm = &kms->base; in komeda_kms_attach() 288 drm->dev_private = mdev; in komeda_kms_attach() 300 err = drm_vblank_init(drm, kms->n_crtcs); in komeda_kms_attach() 312 drm_mode_config_reset(drm); in komeda_kms_attach() 314 err = devm_request_irq(drm->dev, mdev->irq, in komeda_kms_attach() [all …]
|