/linux-5.10/drivers/gpu/drm/nouveau/nvkm/engine/disp/ |
D | conn.c | 35 struct nvkm_conn *conn = container_of(notify, typeof(*conn), hpd); in nvkm_conn_hpd() 42 CONN_DBG(conn, "HPD: %d", line->mask); in nvkm_conn_hpd() 44 if (!nvkm_gpio_get(gpio, 0, DCB_GPIO_UNUSED, conn->hpd.index)) in nvkm_conn_hpd() 50 nvkm_event_send(&disp->hpd, rep.mask, index, &rep, sizeof(rep)); in nvkm_conn_hpd() 57 nvkm_notify_put(&conn->hpd); in nvkm_conn_fini() 63 nvkm_notify_get(&conn->hpd); in nvkm_conn_init() 71 nvkm_notify_fini(&conn->hpd); in nvkm_conn_del() 81 static const u8 hpd[] = { 0x07, 0x08, 0x51, 0x52, 0x5e, 0x5f, 0x60 }; in nvkm_conn_ctor() local 90 CONN_DBG(conn, "type %02x loc %d hpd %02x dp %x di %x sr %x lcdid %x", in nvkm_conn_ctor() 91 info->type, info->location, info->hpd, info->dp, in nvkm_conn_ctor() [all …]
|
/linux-5.10/drivers/gpu/drm/mediatek/ |
D | mtk_cec.c | 53 bool hpd; member 54 void (*hpd_event)(bool hpd, struct device *dev); 91 void (*hpd_event)(bool hpd, struct device *dev), in mtk_cec_set_hpd_event() argument 148 static void mtk_cec_hpd_event(struct mtk_cec *cec, bool hpd) in mtk_cec_hpd_event() argument 150 void (*hpd_event)(bool hpd, struct device *dev); in mtk_cec_hpd_event() 160 hpd_event(hpd, hdmi_dev); in mtk_cec_hpd_event() 167 bool hpd; in mtk_cec_htplg_isr_thread() local 170 hpd = mtk_cec_hpd_high(dev); in mtk_cec_htplg_isr_thread() 172 if (cec->hpd != hpd) { in mtk_cec_htplg_isr_thread() 173 dev_dbg(dev, "hotplug event! cur hpd = %d, hpd = %d\n", in mtk_cec_htplg_isr_thread() [all …]
|
/linux-5.10/drivers/gpu/drm/radeon/ |
D | radeon_combios.c | 636 i2c.hpd = RADEON_HPD_NONE; in combios_setup_i2c_bus() 1459 struct radeon_hpd hpd; in radeon_get_legacy_connector_info_from_table() local 1546 hpd.hpd = RADEON_HPD_NONE; in radeon_get_legacy_connector_info_from_table() 1557 &hpd); in radeon_get_legacy_connector_info_from_table() 1561 hpd.hpd = RADEON_HPD_NONE; in radeon_get_legacy_connector_info_from_table() 1572 &hpd); in radeon_get_legacy_connector_info_from_table() 1576 hpd.hpd = RADEON_HPD_NONE; in radeon_get_legacy_connector_info_from_table() 1587 &hpd); in radeon_get_legacy_connector_info_from_table() 1591 hpd.hpd = RADEON_HPD_1; in radeon_get_legacy_connector_info_from_table() 1608 &hpd); in radeon_get_legacy_connector_info_from_table() [all …]
|
D | radeon_connectors.c | 67 /* bail if the connector does not have hpd pin, e.g., in radeon_connector_hotplug() 70 if (radeon_connector->hpd.hpd == RADEON_HPD_NONE) in radeon_connector_hotplug() 73 radeon_hpd_set_polarity(rdev, radeon_connector->hpd.hpd); in radeon_connector_hotplug() 95 radeon_hpd_sense(rdev, radeon_connector->hpd.hpd) && in radeon_connector_hotplug() 1217 /* We only trust HPD on R600 and newer ASICS. */ in radeon_check_hpd_status_unchanged() 1219 && radeon_connector->hpd.hpd != RADEON_HPD_NONE) { in radeon_check_hpd_status_unchanged() 1220 if (radeon_hpd_sense(rdev, radeon_connector->hpd.hpd)) in radeon_check_hpd_status_unchanged() 1277 * for HPD do. If the DDC probe fails even though we had an HPD in radeon_dvi_detect() 1281 DRM_DEBUG_KMS("hpd detected without ddc, retrying in 1 second\n"); in radeon_dvi_detect() 1338 /* hpd is our only option in this case */ in radeon_dvi_detect() [all …]
|
/linux-5.10/drivers/gpu/drm/amd/display/dc/gpio/ |
D | hw_hpd.c | 40 hpd->shifts->field_name, hpd->masks->field_name 43 hpd->base.base.ctx 45 (hpd->regs->reg) 58 struct hw_hpd *hpd = HW_HPD_FROM_BASE(*ptr); in dal_hw_hpd_destroy() local 60 dal_hw_hpd_destruct(hpd); in dal_hw_hpd_destroy() 62 kfree(hpd); in dal_hw_hpd_destroy() 71 struct hw_hpd *hpd = HW_HPD_FROM_BASE(ptr); in get_value() local 94 struct hw_hpd *hpd = HW_HPD_FROM_BASE(ptr); in set_config() local 100 DC_HPD_CONNECT_INT_DELAY, config_data->config.hpd.delay_on_connect / 10, in set_config() 101 DC_HPD_DISCONNECT_INT_DELAY, config_data->config.hpd.delay_on_disconnect / 10); in set_config()
|
/linux-5.10/Documentation/devicetree/bindings/media/ |
D | cec-gpio.txt | 4 is hooked up to a pull-up GPIO line and - optionally - the HPD line is 7 Please note: the maximum voltage for the CEC line is 3.63V, for the HPD and 22 the following property is optional and can be used for debugging HPD changes: 24 - hpd-gpios: gpio that the HPD line is connected to. 31 pin 26 aka BCM7 aka CE1 on the GPIO pin header, the HPD line is 33 15 aka BCM22 (some level shifter is needed for the HPD and 5V lines!): 40 hpd-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
|
D | cec.txt | 5 - needs-hpd: if present the CEC support is only available when the HPD 6 is high. Some boards only let the CEC pin through if the HPD is high, 7 for example if there is a level converter that uses the HPD to power
|
/linux-5.10/drivers/gpu/drm/i915/display/ |
D | intel_hotplug.c | 41 * handlers gather the hotplug detect (HPD) information from relevant registers 70 * callback is handled by i915_digport_work_func reenabling of hpd is not 80 * @port: the hpd port to get associated pin 111 * intel_hpd_irq_storm_detect - gather stats and detect HPD IRQ storm on a pin 114 * @long_hpd: whether the HPD IRQ was long or short 116 * Gather stats about HPD IRQs from the specified @pin, and detect IRQ 134 * The HPD threshold can be controlled through i915_hpd_storm_ctl in debugfs, 142 struct i915_hotplug *hpd = &dev_priv->hotplug; in intel_hpd_irq_storm_detect() local 143 unsigned long start = hpd->stats[pin].last_jiffies; in intel_hpd_irq_storm_detect() 146 const int threshold = hpd->hpd_storm_threshold; in intel_hpd_irq_storm_detect() [all …]
|
/linux-5.10/arch/powerpc/include/asm/book3s/64/ |
D | hugetlb.h | 68 static inline pte_t *hugepd_page(hugepd_t hpd) in hugepd_page() argument 70 BUG_ON(!hugepd_ok(hpd)); in hugepd_page() 75 return __va(hpd_val(hpd) & HUGEPD_ADDR_MASK); in hugepd_page() 78 static inline unsigned int hugepd_mmu_psize(hugepd_t hpd) in hugepd_mmu_psize() argument 80 return (hpd_val(hpd) & HUGEPD_SHIFT_MASK) >> 2; in hugepd_mmu_psize() 83 static inline unsigned int hugepd_shift(hugepd_t hpd) in hugepd_shift() argument 85 return mmu_psize_to_shift(hugepd_mmu_psize(hpd)); in hugepd_shift() 94 static inline pte_t *hugepte_offset(hugepd_t hpd, unsigned long addr, in hugepte_offset() argument 97 unsigned long idx = (addr & ((1UL << pdshift) - 1)) >> hugepd_shift(hpd); in hugepte_offset() 99 return hugepd_page(hpd) + idx; in hugepte_offset()
|
D | pgtable-4k.h | 44 static inline int hugepd_ok(hugepd_t hpd) in hugepd_ok() argument 48 return hash__hugepd_ok(hpd); in hugepd_ok() 50 #define is_hugepd(hpd) (hugepd_ok(hpd)) argument
|
/linux-5.10/arch/powerpc/include/asm/nohash/ |
D | hugetlb-book3e.h | 5 static inline pte_t *hugepd_page(hugepd_t hpd) in hugepd_page() argument 7 if (WARN_ON(!hugepd_ok(hpd))) in hugepd_page() 10 return (pte_t *)((hpd_val(hpd) & ~HUGEPD_SHIFT_MASK) | PD_HUGE); in hugepd_page() 13 static inline unsigned int hugepd_shift(hugepd_t hpd) in hugepd_shift() argument 15 return hpd_val(hpd) & HUGEPD_SHIFT_MASK; in hugepd_shift() 18 static inline pte_t *hugepte_offset(hugepd_t hpd, unsigned long addr, in hugepte_offset() argument 26 return hugepd_page(hpd); in hugepte_offset()
|
/linux-5.10/arch/powerpc/include/asm/nohash/32/ |
D | hugetlb-8xx.h | 7 static inline pte_t *hugepd_page(hugepd_t hpd) in hugepd_page() argument 9 BUG_ON(!hugepd_ok(hpd)); in hugepd_page() 11 return (pte_t *)__va(hpd_val(hpd) & ~HUGEPD_SHIFT_MASK); in hugepd_page() 14 static inline unsigned int hugepd_shift(hugepd_t hpd) in hugepd_shift() argument 19 static inline pte_t *hugepte_offset(hugepd_t hpd, unsigned long addr, in hugepte_offset() argument 24 return hugepd_page(hpd) + idx; in hugepte_offset()
|
/linux-5.10/Documentation/devicetree/bindings/display/bridge/ |
D | analogix_dp.txt | 24 -force-hpd: 25 Indicate driver need force hpd when hpd detect failed, this 26 is used for some eDP screen which don't have hpd signal. 27 -hpd-gpios:
|
/linux-5.10/Documentation/devicetree/bindings/display/ti/ |
D | ti,tpd12s015.txt | 8 - gpios: CT CP HPD, LS OE and HPD gpios 20 gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */ 22 <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */
|
/linux-5.10/drivers/gpu/drm/msm/hdmi/ |
D | hdmi_connector.c | 132 "failed to enable hpd clk: %s (%d)\n", in enable_hpd_clocks() 155 DRM_DEV_ERROR(dev, "failed to enable hpd regulator: %s (%d)\n", in msm_hdmi_hpd_enable() 182 /* enable HPD events: */ in msm_hdmi_hpd_enable() 192 /* Toggle HPD circuit to trigger HPD sense */ in msm_hdmi_hpd_enable() 212 /* Disable HPD interrupt */ in hdp_disable() 231 dev_warn(dev, "failed to disable hpd regulator: %s (%d)\n", in hdp_disable() 251 /* Process HPD: */ in msm_hdmi_connector_irq() 259 /* ack & disable (temporarily) HPD events: */ in msm_hdmi_connector_irq() 313 * some platforms may not have hpd gpio. Rely only on the status in hdmi_connector_detect() 335 DBG("hpd gpio tells us: %d", stat_gpio); in hdmi_connector_detect()
|
/linux-5.10/drivers/gpu/drm/ |
D | drm_bridge_connector.c | 142 struct drm_bridge *hpd = bridge_connector->bridge_hpd; in drm_bridge_connector_enable_hpd() local 144 if (hpd) in drm_bridge_connector_enable_hpd() 145 drm_bridge_hpd_enable(hpd, drm_bridge_connector_hpd_cb, in drm_bridge_connector_enable_hpd() 162 struct drm_bridge *hpd = bridge_connector->bridge_hpd; in drm_bridge_connector_disable_hpd() local 164 if (hpd) in drm_bridge_connector_disable_hpd() 165 drm_bridge_hpd_disable(hpd); in drm_bridge_connector_disable_hpd() 208 struct drm_bridge *hpd = bridge_connector->bridge_hpd; in drm_bridge_connector_destroy() local 210 drm_bridge_hpd_disable(hpd); in drm_bridge_connector_destroy() 337 * bridges in the pipeline that support HPD and output detection. Then in drm_bridge_connector_init() 338 * initialise the connector polling mode, using HPD if available and in drm_bridge_connector_init() [all …]
|
D | drm_dp_cec.c | 61 * When the EDID is unset because the HPD went low, then the CEC DPCD registers 63 * powered by the HPD). However, some displays toggle the HPD off and on for a 68 * actually unregistered. Only if the HPD does not return within that time will 75 * soon as the HPD disappears. 77 * The default is one second to prevent short HPD glitches from unregistering 81 * registers remain available even if the HPD goes low since it is not powered 82 * by the HPD. In that case the CEC adapter will never be unregistered during 280 * Called if the HPD was low for more than drm_dp_cec_unregister_delay 381 * The EDID disappeared (likely because of the HPD going down). 406 * seconds. This to debounce short HPD off-and-on cycles from in drm_dp_cec_unset_edid()
|
/linux-5.10/drivers/gpu/drm/amd/amdgpu/ |
D | dce_v10_0.c | 88 uint32_t hpd; member 94 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK 99 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK 104 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK 109 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK 114 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK 119 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK 273 * dce_v10_0_hpd_sense - hpd sense callback. 276 * @hpd: hpd (hotplug detect) pin 282 enum amdgpu_hpd_id hpd) in dce_v10_0_hpd_sense() argument [all …]
|
D | dce_v11_0.c | 90 uint32_t hpd; member 96 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK 101 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK 106 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK 111 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK 116 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK 121 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK 291 * dce_v11_0_hpd_sense - hpd sense callback. 294 * @hpd: hpd (hotplug detect) pin 300 enum amdgpu_hpd_id hpd) in dce_v11_0_hpd_sense() argument [all …]
|
/linux-5.10/Documentation/devicetree/bindings/display/msm/ |
D | edp.txt | 23 to HPD receiving chip 25 - panel-hpd-gpios: GPIO pin used for eDP hpd. 55 panel-hpd-gpios = <&tlmm 103 0>;
|
/linux-5.10/drivers/gpu/drm/msm/dp/ |
D | dp_hpd.c | 27 int dp_hpd_connect(struct dp_usbpd *dp_usbpd, bool hpd) in dp_hpd_connect() argument 35 dp_usbpd->hpd_high = hpd; in dp_hpd_connect() 39 pr_err("hpd dp_cb not initialized\n"); in dp_hpd_connect() 42 if (hpd) in dp_hpd_connect()
|
D | dp_hpd.h | 47 int (*connect)(struct dp_usbpd *dp_usbpd, bool hpd); 66 * dp_hpd_get() - setup hpd module 72 * module. The module will communicate with HPD module. 78 int dp_hpd_connect(struct dp_usbpd *dp_usbpd, bool hpd);
|
/linux-5.10/Documentation/userspace-api/media/cec/ |
D | cec-ioc-dqevent.rst | 167 * .. _`CEC-EVENT-PIN-HPD-LOW`: 171 - Generated if the HPD pin goes from a high voltage to a low voltage. 173 capability set. When open() is called, the HPD pin can be read and 174 if the HPD is low, then an initial event will be generated for that 176 * .. _`CEC-EVENT-PIN-HPD-HIGH`: 180 - Generated if the HPD pin goes from a low voltage to a high voltage. 182 capability set. When open() is called, the HPD pin can be read and 183 if the HPD is high, then an initial event will be generated for that
|
/linux-5.10/drivers/gpu/drm/amd/display/dc/gpio/dce120/ |
D | hw_factory_dce120.c | 42 #define block HPD 156 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local 158 hpd->regs = &hpd_regs[en]; in define_hpd_registers() 159 hpd->shifts = &hpd_shift; in define_hpd_registers() 160 hpd->masks = &hpd_mask; in define_hpd_registers() 161 hpd->base.regs = &hpd_regs[en].gpio; in define_hpd_registers()
|
/linux-5.10/Documentation/devicetree/bindings/display/exynos/ |
D | exynos_dp.txt | 43 -samsung,hpd-gpio: 56 -hpd-gpios (optional) 57 force-hpd (optional) 69 -samsung,hpd-gpio: deprecated name for hpd-gpios.
|