| /Linux-v6.1/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 89 conn->info.hpd = DCB_GPIO_UNUSED; in nvkm_conn_ctor() 91 CONN_DBG(conn, "type %02x loc %d hpd %02x dp %x di %x sr %x lcdid %x", in nvkm_conn_ctor() [all …]
|
| /Linux-v6.1/Documentation/devicetree/bindings/display/panel/ |
| D | panel-edp.yaml | 56 HPD :<T3>| : : | 91 hpd-reliable-delay-ms: 94 panel's power-supply before the HPD signal is a reliable way to know 96 the HPD at the start of power-on. This value is not needed if HPD is 99 hpd-absent-delay-ms: 101 The panel specifies that HPD will be asserted this many milliseconds 103 measure HPD then a fixed delay of this many milliseconds can be used. 104 This can also be used as a timeout when waiting for HPD. Does not 105 include the hpd-reliable-delay, so if hpd-reliable-delay was 80 ms 106 and hpd-absent-delay was 200 ms then we'd do a fixed 80 ms delay and [all …]
|
| /Linux-v6.1/drivers/gpu/drm/mediatek/ |
| D | mtk_cec.c | 54 bool hpd; member 55 void (*hpd_event)(bool hpd, struct device *dev); 92 void (*hpd_event)(bool hpd, struct device *dev), in mtk_cec_set_hpd_event() argument 149 static void mtk_cec_hpd_event(struct mtk_cec *cec, bool hpd) in mtk_cec_hpd_event() argument 151 void (*hpd_event)(bool hpd, struct device *dev); in mtk_cec_hpd_event() 161 hpd_event(hpd, hdmi_dev); in mtk_cec_hpd_event() 168 bool hpd; in mtk_cec_htplg_isr_thread() local 171 hpd = mtk_cec_hpd_high(dev); in mtk_cec_htplg_isr_thread() 173 if (cec->hpd != hpd) { in mtk_cec_htplg_isr_thread() 174 dev_dbg(dev, "hotplug event! cur hpd = %d, hpd = %d\n", in mtk_cec_htplg_isr_thread() [all …]
|
| /Linux-v6.1/drivers/gpu/drm/radeon/ |
| D | radeon_combios.c | 632 i2c.hpd = RADEON_HPD_NONE; in combios_setup_i2c_bus() 1455 struct radeon_hpd hpd; in radeon_get_legacy_connector_info_from_table() local 1542 hpd.hpd = RADEON_HPD_NONE; in radeon_get_legacy_connector_info_from_table() 1553 &hpd); in radeon_get_legacy_connector_info_from_table() 1557 hpd.hpd = RADEON_HPD_NONE; in radeon_get_legacy_connector_info_from_table() 1568 &hpd); in radeon_get_legacy_connector_info_from_table() 1572 hpd.hpd = RADEON_HPD_NONE; in radeon_get_legacy_connector_info_from_table() 1583 &hpd); in radeon_get_legacy_connector_info_from_table() 1587 hpd.hpd = RADEON_HPD_1; in radeon_get_legacy_connector_info_from_table() 1604 &hpd); in radeon_get_legacy_connector_info_from_table() [all …]
|
| D | radeon_connectors.c | 46 /* bail if the connector does not have hpd pin, e.g., in radeon_connector_hotplug() 49 if (radeon_connector->hpd.hpd == RADEON_HPD_NONE) in radeon_connector_hotplug() 52 radeon_hpd_set_polarity(rdev, radeon_connector->hpd.hpd); in radeon_connector_hotplug() 74 radeon_hpd_sense(rdev, radeon_connector->hpd.hpd) && in radeon_connector_hotplug() 1200 /* We only trust HPD on R600 and newer ASICS. */ in radeon_check_hpd_status_unchanged() 1202 && radeon_connector->hpd.hpd != RADEON_HPD_NONE) { in radeon_check_hpd_status_unchanged() 1203 if (radeon_hpd_sense(rdev, radeon_connector->hpd.hpd)) in radeon_check_hpd_status_unchanged() 1260 * for HPD do. If the DDC probe fails even though we had an HPD in radeon_dvi_detect() 1264 DRM_DEBUG_KMS("hpd detected without ddc, retrying in 1 second\n"); in radeon_dvi_detect() 1321 /* hpd is our only option in this case */ in radeon_dvi_detect() [all …]
|
| /Linux-v6.1/drivers/gpu/drm/i915/display/ |
| D | intel_hotplug.c | 42 * handlers gather the hotplug detect (HPD) information from relevant registers 71 * callback is handled by i915_digport_work_func reenabling of hpd is not 81 * @port: the hpd port to get associated pin 112 * intel_hpd_irq_storm_detect - gather stats and detect HPD IRQ storm on a pin 115 * @long_hpd: whether the HPD IRQ was long or short 117 * Gather stats about HPD IRQs from the specified @pin, and detect IRQ 135 * The HPD threshold can be controlled through i915_hpd_storm_ctl in debugfs, 143 struct intel_hotplug *hpd = &dev_priv->display.hotplug; in intel_hpd_irq_storm_detect() local 144 unsigned long start = hpd->stats[pin].last_jiffies; in intel_hpd_irq_storm_detect() 147 const int threshold = hpd->hpd_storm_threshold; in intel_hpd_irq_storm_detect() [all …]
|
| /Linux-v6.1/drivers/gpu/drm/amd/display/dc/gpio/ |
| D | hw_hpd.c | 38 hpd->shifts->field_name, hpd->masks->field_name 41 hpd->base.base.ctx 43 (hpd->regs->reg) 56 struct hw_hpd *hpd = HW_HPD_FROM_BASE(*ptr); in dal_hw_hpd_destroy() local 58 dal_hw_hpd_destruct(hpd); in dal_hw_hpd_destroy() 60 kfree(hpd); in dal_hw_hpd_destroy() 69 struct hw_hpd *hpd = HW_HPD_FROM_BASE(ptr); in get_value() local 92 struct hw_hpd *hpd = HW_HPD_FROM_BASE(ptr); in set_config() local 98 DC_HPD_CONNECT_INT_DELAY, config_data->config.hpd.delay_on_connect / 10, in set_config() 99 DC_HPD_DISCONNECT_INT_DELAY, config_data->config.hpd.delay_on_disconnect / 10); in set_config()
|
| /Linux-v6.1/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-v6.1/arch/powerpc/include/asm/book3s/64/ |
| D | hugetlb.h | 67 static inline pte_t *hugepd_page(hugepd_t hpd) in hugepd_page() argument 69 BUG_ON(!hugepd_ok(hpd)); in hugepd_page() 74 return __va(hpd_val(hpd) & HUGEPD_ADDR_MASK); in hugepd_page() 77 static inline unsigned int hugepd_mmu_psize(hugepd_t hpd) in hugepd_mmu_psize() argument 79 return (hpd_val(hpd) & HUGEPD_SHIFT_MASK) >> 2; in hugepd_mmu_psize() 82 static inline unsigned int hugepd_shift(hugepd_t hpd) in hugepd_shift() argument 84 return mmu_psize_to_shift(hugepd_mmu_psize(hpd)); in hugepd_shift() 93 static inline pte_t *hugepte_offset(hugepd_t hpd, unsigned long addr, in hugepte_offset() argument 96 unsigned long idx = (addr & ((1UL << pdshift) - 1)) >> hugepd_shift(hpd); in hugepte_offset() 98 return hugepd_page(hpd) + idx; in hugepte_offset()
|
| D | pgtable-4k.h | 34 static inline int hugepd_ok(hugepd_t hpd) in hugepd_ok() argument 38 return hash__hugepd_ok(hpd); in hugepd_ok() 40 #define is_hugepd(hpd) (hugepd_ok(hpd)) argument
|
| /Linux-v6.1/arch/powerpc/include/asm/nohash/ |
| D | hugetlb-e500.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-v6.1/drivers/gpu/drm/msm/hdmi/ |
| D | hdmi_hpd.c | 83 "failed to enable hpd clk: %s (%d)\n", in enable_hpd_clocks() 105 DRM_DEV_ERROR(dev, "failed to enable hpd regulators: %d\n", ret); in msm_hdmi_hpd_enable() 127 /* enable HPD events: */ in msm_hdmi_hpd_enable() 137 /* Toggle HPD circuit to trigger HPD sense */ in msm_hdmi_hpd_enable() 157 /* Disable HPD interrupt */ in msm_hdmi_hpd_disable() 171 dev_warn(dev, "failed to disable hpd regulator: %d\n", ret); in msm_hdmi_hpd_disable() 180 /* Process HPD: */ in msm_hdmi_hpd_irq() 188 /* ack & disable (temporarily) HPD events: */ in msm_hdmi_hpd_irq() 237 * some platforms may not have hpd gpio. Rely only on the status in msm_hdmi_bridge_detect() 259 DBG("hpd gpio tells us: %d", stat_gpio); in msm_hdmi_bridge_detect()
|
| /Linux-v6.1/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-v6.1/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-v6.1/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-v6.1/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() 352 * bridges in the pipeline that support HPD and output detection. Then in drm_bridge_connector_init() 353 * initialise the connector polling mode, using HPD if available and in drm_bridge_connector_init() [all …]
|
| /Linux-v6.1/drivers/gpu/drm/amd/amdgpu/ |
| 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 292 * dce_v11_0_hpd_sense - hpd sense callback. 295 * @hpd: hpd (hotplug detect) pin 301 enum amdgpu_hpd_id hpd) in dce_v11_0_hpd_sense() argument [all …]
|
| 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 274 * dce_v10_0_hpd_sense - hpd sense callback. 277 * @hpd: hpd (hotplug detect) pin 283 enum amdgpu_hpd_id hpd) in dce_v10_0_hpd_sense() argument [all …]
|
| /Linux-v6.1/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-v6.1/Documentation/devicetree/bindings/display/samsung/ |
| D | samsung,exynos-hdmi.yaml | 40 HPD (hot plug detect) line, what causes HDMI block to stay turned off. 41 When provided, the regulator allows TV-set correctly signal HPD event. 43 hpd-gpios: 46 A GPIO line connected to HPD 96 - hpd-gpios 203 hpd-gpios = <&gpa3 0 GPIO_ACTIVE_HIGH>;
|
| /Linux-v6.1/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-v6.1/drivers/gpu/drm/display/ |
| 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-v6.1/drivers/gpu/drm/msm/dp/ |
| D | dp_hpd.h | 45 int (*connect)(struct dp_usbpd *dp_usbpd, bool hpd); 64 * dp_hpd_get() - setup hpd module 70 * module. The module will communicate with HPD module. 76 int dp_hpd_connect(struct dp_usbpd *dp_usbpd, bool hpd);
|
| /Linux-v6.1/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.
|