Lines Matching refs:dev
94 struct drm_device *dev = connector->dev;
127 drm_for_each_crtc(crtc, dev) {
170 mode = drm_mode_create_from_cmdline_mode(connector->dev,
225 static void drm_kms_helper_disable_hpd(struct drm_device *dev)
230 drm_connector_list_iter_begin(dev, &conn_iter);
241 static bool drm_kms_helper_enable_hpd(struct drm_device *dev)
247 drm_connector_list_iter_begin(dev, &conn_iter);
265 static void reschedule_output_poll_work(struct drm_device *dev)
269 if (dev->mode_config.delayed_event)
282 schedule_delayed_work(&dev->mode_config.output_poll_work, delay);
287 * @dev: drm_device
300 void drm_kms_helper_poll_enable(struct drm_device *dev)
302 if (!dev->mode_config.poll_enabled || !drm_kms_helper_poll ||
303 dev->mode_config.poll_running)
306 if (drm_kms_helper_enable_hpd(dev) ||
307 dev->mode_config.delayed_event)
308 reschedule_output_poll_work(dev);
310 dev->mode_config.poll_running = true;
316 * @dev: drm_device
330 void drm_kms_helper_poll_reschedule(struct drm_device *dev)
332 if (dev->mode_config.poll_running)
333 reschedule_output_poll_work(dev);
347 ret = drm_modeset_lock(&connector->dev->mode_config.connection_mutex, &ctx);
390 struct drm_device *dev = connector->dev;
396 ret = drm_modeset_lock(&dev->mode_config.connection_mutex, ctx);
436 struct drm_device *dev = connector->dev;
454 mode->status = drm_mode_validate_driver(dev, mode);
469 drm_dbg_kms(dev,
473 if (drm_WARN_ON_ONCE(dev, ret != -EDEADLK))
549 struct drm_device *dev = connector->dev;
555 WARN_ON(!mutex_is_locked(&dev->mode_config.mutex));
563 ret = drm_modeset_lock(&dev->mode_config.connection_mutex, &ctx);
615 dev->mode_config.delayed_event = true;
616 if (dev->mode_config.poll_enabled)
618 &dev->mode_config.output_poll_work,
623 drm_kms_helper_poll_enable(dev);
629 drm_mode_prune_invalid(dev, &connector->modes, false);
656 drm_mode_prune_invalid(dev, &connector->modes, true);
673 drm_mode_prune_invalid(dev, &connector->modes, true);
698 * @dev: drm_device whose connector state changed
715 void drm_kms_helper_hotplug_event(struct drm_device *dev)
718 drm_sysfs_hotplug_event(dev);
719 if (dev->mode_config.funcs->output_poll_changed)
720 dev->mode_config.funcs->output_poll_changed(dev);
722 drm_client_dev_hotplug(dev);
735 struct drm_device *dev = connector->dev;
739 if (dev->mode_config.funcs->output_poll_changed)
740 dev->mode_config.funcs->output_poll_changed(dev);
742 drm_client_dev_hotplug(dev);
749 struct drm_device *dev = container_of(delayed_work, struct drm_device, mode_config.output_poll_work);
756 if (!dev->mode_config.poll_enabled)
760 changed = dev->mode_config.delayed_event;
761 dev->mode_config.delayed_event = false;
763 if (!drm_kms_helper_poll && dev->mode_config.poll_running) {
764 drm_kms_helper_disable_hpd(dev);
765 dev->mode_config.poll_running = false;
769 if (!mutex_trylock(&dev->mode_config.mutex)) {
774 drm_connector_list_iter_begin(dev, &conn_iter);
834 mutex_unlock(&dev->mode_config.mutex);
838 drm_kms_helper_hotplug_event(dev);
866 * @dev: drm_device
878 void drm_kms_helper_poll_disable(struct drm_device *dev)
880 if (dev->mode_config.poll_running)
881 drm_kms_helper_disable_hpd(dev);
883 cancel_delayed_work_sync(&dev->mode_config.output_poll_work);
885 dev->mode_config.poll_running = false;
891 * @dev: drm_device
894 * @dev. Drivers which do not have reliable hotplug support in hardware can use
908 void drm_kms_helper_poll_init(struct drm_device *dev)
910 INIT_DELAYED_WORK(&dev->mode_config.output_poll_work, output_poll_execute);
911 dev->mode_config.poll_enabled = true;
913 drm_kms_helper_poll_enable(dev);
919 * @dev: drm_device
921 void drm_kms_helper_poll_fini(struct drm_device *dev)
923 if (!dev->mode_config.poll_enabled)
926 drm_kms_helper_poll_disable(dev);
928 dev->mode_config.poll_enabled = false;
934 struct drm_device *dev = connector->dev;
939 drm_WARN_ON(dev, !(connector->polled & DRM_CONNECTOR_POLL_HPD));
941 drm_WARN_ON(dev, !mutex_is_locked(&dev->mode_config.mutex));
948 drm_dbg_kms(dev, "[CONNECTOR:%d:%s] Same epoch counter %llu\n",
956 drm_dbg_kms(dev, "[CONNECTOR:%d:%s] status updated from %s to %s\n",
962 drm_dbg_kms(dev, "[CONNECTOR:%d:%s] Changed epoch counter %llu => %llu\n",
994 struct drm_device *dev = connector->dev;
997 mutex_lock(&dev->mode_config.mutex);
999 mutex_unlock(&dev->mode_config.mutex);
1003 drm_dbg_kms(dev, "[CONNECTOR:%d:%s] Sent hotplug event\n",
1014 * @dev: drm_device
1039 bool drm_helper_hpd_irq_event(struct drm_device *dev)
1045 if (!dev->mode_config.poll_enabled)
1048 mutex_lock(&dev->mode_config.mutex);
1049 drm_connector_list_iter_begin(dev, &conn_iter);
1065 mutex_unlock(&dev->mode_config.mutex);
1070 drm_kms_helper_hotplug_event(dev);
1154 struct drm_device *dev = connector->dev;
1157 mode = drm_mode_duplicate(dev, fixed_mode);
1159 drm_err(dev, "Failed to duplicate mode " DRM_MODE_FMT "\n",
1230 struct drm_device *dev = connector->dev;
1232 dev->mode_config.tv_mode_property;
1281 mode = drm_mode_analog_ntsc_480i(dev);
1283 mode = drm_mode_analog_pal_576i(dev);