Lines Matching refs:dev_priv

72 static const struct gmbus_pin *get_gmbus_pin(struct drm_i915_private *dev_priv,  in get_gmbus_pin()  argument
75 if (IS_BROXTON(dev_priv)) in get_gmbus_pin()
77 else if (IS_SKYLAKE(dev_priv)) in get_gmbus_pin()
79 else if (IS_BROADWELL(dev_priv)) in get_gmbus_pin()
85 bool intel_gmbus_is_valid_pin(struct drm_i915_private *dev_priv, in intel_gmbus_is_valid_pin() argument
90 if (IS_BROXTON(dev_priv)) in intel_gmbus_is_valid_pin()
92 else if (IS_SKYLAKE(dev_priv)) in intel_gmbus_is_valid_pin()
94 else if (IS_BROADWELL(dev_priv)) in intel_gmbus_is_valid_pin()
99 return pin < size && get_gmbus_pin(dev_priv, pin)->reg; in intel_gmbus_is_valid_pin()
115 struct drm_i915_private *dev_priv = dev->dev_private; in intel_i2c_reset() local
121 static void intel_i2c_quirk_set(struct drm_i915_private *dev_priv, bool enable) in intel_i2c_quirk_set() argument
126 if (!IS_PINEVIEW(dev_priv->dev)) in intel_i2c_quirk_set()
139 struct drm_i915_private *dev_priv = bus->dev_priv; in get_reserved() local
140 struct drm_device *dev = dev_priv->dev; in get_reserved()
155 struct drm_i915_private *dev_priv = bus->dev_priv; in get_clock() local
165 struct drm_i915_private *dev_priv = bus->dev_priv; in get_data() local
175 struct drm_i915_private *dev_priv = bus->dev_priv; in set_clock() local
192 struct drm_i915_private *dev_priv = bus->dev_priv; in set_data() local
212 struct drm_i915_private *dev_priv = bus->dev_priv; in intel_gpio_pre_xfer() local
214 intel_i2c_reset(dev_priv->dev); in intel_gpio_pre_xfer()
215 intel_i2c_quirk_set(dev_priv, true); in intel_gpio_pre_xfer()
228 struct drm_i915_private *dev_priv = bus->dev_priv; in intel_gpio_post_xfer() local
232 intel_i2c_quirk_set(dev_priv, false); in intel_gpio_post_xfer()
238 struct drm_i915_private *dev_priv = bus->dev_priv; in intel_gpio_setup() local
243 bus->gpio_reg = dev_priv->gpio_mmio_base + in intel_gpio_setup()
244 get_gmbus_pin(dev_priv, pin)->reg; in intel_gpio_setup()
259 gmbus_wait_hw_status(struct drm_i915_private *dev_priv, in gmbus_wait_hw_status() argument
267 if (!HAS_GMBUS_IRQ(dev_priv->dev)) in gmbus_wait_hw_status()
276 prepare_to_wait(&dev_priv->gmbus_wait_queue, &wait, in gmbus_wait_hw_status()
285 finish_wait(&dev_priv->gmbus_wait_queue, &wait); in gmbus_wait_hw_status()
297 gmbus_wait_idle(struct drm_i915_private *dev_priv) in gmbus_wait_idle() argument
303 if (!HAS_GMBUS_IRQ(dev_priv->dev)) in gmbus_wait_idle()
309 ret = wait_event_timeout(dev_priv->gmbus_wait_queue, C, in gmbus_wait_idle()
322 gmbus_xfer_read_chunk(struct drm_i915_private *dev_priv, in gmbus_xfer_read_chunk() argument
336 ret = gmbus_wait_hw_status(dev_priv, GMBUS_HW_RDY, in gmbus_xfer_read_chunk()
352 gmbus_xfer_read(struct drm_i915_private *dev_priv, struct i2c_msg *msg, in gmbus_xfer_read() argument
363 ret = gmbus_xfer_read_chunk(dev_priv, msg->addr, in gmbus_xfer_read()
376 gmbus_xfer_write_chunk(struct drm_i915_private *dev_priv, in gmbus_xfer_write_chunk() argument
404 ret = gmbus_wait_hw_status(dev_priv, GMBUS_HW_RDY, in gmbus_xfer_write_chunk()
414 gmbus_xfer_write(struct drm_i915_private *dev_priv, struct i2c_msg *msg) in gmbus_xfer_write() argument
424 ret = gmbus_xfer_write_chunk(dev_priv, msg->addr, buf, len); in gmbus_xfer_write()
448 gmbus_xfer_index_read(struct drm_i915_private *dev_priv, struct i2c_msg *msgs) in gmbus_xfer_index_read() argument
465 ret = gmbus_xfer_read(dev_priv, &msgs[1], gmbus1_index); in gmbus_xfer_index_read()
482 struct drm_i915_private *dev_priv = bus->dev_priv; in gmbus_xfer() local
486 intel_display_power_get(dev_priv, POWER_DOMAIN_GMBUS); in gmbus_xfer()
487 mutex_lock(&dev_priv->gmbus_mutex); in gmbus_xfer()
500 ret = gmbus_xfer_index_read(dev_priv, &msgs[i]); in gmbus_xfer()
503 ret = gmbus_xfer_read(dev_priv, &msgs[i], 0); in gmbus_xfer()
505 ret = gmbus_xfer_write(dev_priv, &msgs[i]); in gmbus_xfer()
513 ret = gmbus_wait_hw_status(dev_priv, GMBUS_HW_WAIT_PHASE, in gmbus_xfer()
531 if (gmbus_wait_idle(dev_priv)) { in gmbus_xfer()
555 if (gmbus_wait_idle(dev_priv)) { in gmbus_xfer()
597 mutex_unlock(&dev_priv->gmbus_mutex); in gmbus_xfer()
599 intel_display_power_put(dev_priv, POWER_DOMAIN_GMBUS); in gmbus_xfer()
624 struct drm_i915_private *dev_priv = dev->dev_private; in intel_setup_gmbus() local
632 dev_priv->gpio_mmio_base = PCH_GPIOA - GPIOA; in intel_setup_gmbus()
634 dev_priv->gpio_mmio_base = VLV_DISPLAY_BASE; in intel_setup_gmbus()
636 dev_priv->gpio_mmio_base = 0; in intel_setup_gmbus()
638 mutex_init(&dev_priv->gmbus_mutex); in intel_setup_gmbus()
639 init_waitqueue_head(&dev_priv->gmbus_wait_queue); in intel_setup_gmbus()
641 for (pin = 0; pin < ARRAY_SIZE(dev_priv->gmbus); pin++) { in intel_setup_gmbus()
642 if (!intel_gmbus_is_valid_pin(dev_priv, pin)) in intel_setup_gmbus()
645 bus = &dev_priv->gmbus[pin]; in intel_setup_gmbus()
652 get_gmbus_pin(dev_priv, pin)->name); in intel_setup_gmbus()
655 bus->dev_priv = dev_priv; in intel_setup_gmbus()
673 intel_i2c_reset(dev_priv->dev); in intel_setup_gmbus()
679 if (!intel_gmbus_is_valid_pin(dev_priv, pin)) in intel_setup_gmbus()
682 bus = &dev_priv->gmbus[pin]; in intel_setup_gmbus()
688 struct i2c_adapter *intel_gmbus_get_adapter(struct drm_i915_private *dev_priv, in intel_gmbus_get_adapter() argument
691 if (WARN_ON(!intel_gmbus_is_valid_pin(dev_priv, pin))) in intel_gmbus_get_adapter()
694 return &dev_priv->gmbus[pin].adapter; in intel_gmbus_get_adapter()
716 struct drm_i915_private *dev_priv = dev->dev_private; in intel_teardown_gmbus() local
720 for (pin = 0; pin < ARRAY_SIZE(dev_priv->gmbus); pin++) { in intel_teardown_gmbus()
721 if (!intel_gmbus_is_valid_pin(dev_priv, pin)) in intel_teardown_gmbus()
724 bus = &dev_priv->gmbus[pin]; in intel_teardown_gmbus()