/Linux-v5.4/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-v5.4/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) 66 struct hw_hpd *hpd) in destruct() argument 68 dal_hw_hpd_destruct(hpd); in destruct() 74 struct hw_hpd *hpd = HW_HPD_FROM_BASE(*ptr); in destroy() local 76 destruct(hpd); in destroy() 78 kfree(hpd); in destroy() 87 struct hw_hpd *hpd = HW_HPD_FROM_BASE(ptr); in get_value() local 110 struct hw_hpd *hpd = HW_HPD_FROM_BASE(ptr); in set_config() local [all …]
|
/Linux-v5.4/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-v5.4/drivers/gpu/drm/omapdrm/ |
D | omap_connector.c | 23 struct omap_dss_device *hpd; member 71 struct omap_dss_device *hpd = omap_connector->hpd; in omap_connector_enable_hpd() local 73 if (hpd) in omap_connector_enable_hpd() 74 hpd->ops->register_hpd_cb(hpd, omap_connector_hpd_cb, in omap_connector_enable_hpd() 81 struct omap_dss_device *hpd = omap_connector->hpd; in omap_connector_disable_hpd() local 83 if (hpd) in omap_connector_disable_hpd() 84 hpd->ops->unregister_hpd_cb(hpd); in omap_connector_disable_hpd() 149 if (omap_connector->hpd) { in omap_connector_destroy() 150 struct omap_dss_device *hpd = omap_connector->hpd; in omap_connector_destroy() local 152 hpd->ops->unregister_hpd_cb(hpd); in omap_connector_destroy() [all …]
|
/Linux-v5.4/drivers/gpu/drm/radeon/ |
D | radeon_combios.c | 635 i2c.hpd = RADEON_HPD_NONE; in combios_setup_i2c_bus() 1458 struct radeon_hpd hpd; in radeon_get_legacy_connector_info_from_table() local 1545 hpd.hpd = RADEON_HPD_NONE; in radeon_get_legacy_connector_info_from_table() 1556 &hpd); in radeon_get_legacy_connector_info_from_table() 1560 hpd.hpd = RADEON_HPD_NONE; in radeon_get_legacy_connector_info_from_table() 1571 &hpd); in radeon_get_legacy_connector_info_from_table() 1575 hpd.hpd = RADEON_HPD_NONE; in radeon_get_legacy_connector_info_from_table() 1586 &hpd); in radeon_get_legacy_connector_info_from_table() 1590 hpd.hpd = RADEON_HPD_1; in radeon_get_legacy_connector_info_from_table() 1607 &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() 1215 /* We only trust HPD on R600 and newer ASICS. */ in radeon_check_hpd_status_unchanged() 1217 && radeon_connector->hpd.hpd != RADEON_HPD_NONE) { in radeon_check_hpd_status_unchanged() 1218 if (radeon_hpd_sense(rdev, radeon_connector->hpd.hpd)) in radeon_check_hpd_status_unchanged() 1273 * for HPD do. If the DDC probe fails even though we had an HPD in radeon_dvi_detect() 1277 DRM_DEBUG_KMS("hpd detected without ddc, retrying in 1 second\n"); in radeon_dvi_detect() 1334 /* hpd is our only option in this case */ in radeon_dvi_detect() [all …]
|
/Linux-v5.4/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-v5.4/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 16 return ((hpd_val(hpd) & _PMD_PAGE_MASK) >> 1) + 17; in hugepd_shift() 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-v5.4/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-v5.4/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-v5.4/drivers/gpu/drm/i915/display/ |
D | intel_hotplug.c | 43 * handlers gather the hotplug detect (HPD) information from relevant registers 72 * callback is handled by i915_digport_work_func reenabling of hpd is not 82 * @port: the hpd port to get associated pin 124 * intel_hpd_irq_storm_detect - gather stats and detect HPD IRQ storm on a pin 127 * @long_hpd: whether the HPD IRQ was long or short 129 * Gather stats about HPD IRQs from the specified @pin, and detect IRQ 147 * The HPD threshold can be controlled through i915_hpd_storm_ctl in debugfs, 155 struct i915_hotplug *hpd = &dev_priv->hotplug; in intel_hpd_irq_storm_detect() local 156 unsigned long start = hpd->stats[pin].last_jiffies; in intel_hpd_irq_storm_detect() 159 const int threshold = hpd->hpd_storm_threshold; in intel_hpd_irq_storm_detect() [all …]
|
/Linux-v5.4/drivers/gpu/drm/bridge/ |
D | ti-tfp410.c | 30 struct gpio_desc *hpd; member 94 if (dvi->hpd) { in tfp410_connector_detect() 95 if (gpiod_get_value_cansleep(dvi->hpd)) in tfp410_connector_detect() 287 dvi->hpd = fwnode_get_named_gpiod(&connector_node->fwnode, in tfp410_get_connector_properties() 288 "hpd-gpios", 0, GPIOD_IN, "hpd"); in tfp410_get_connector_properties() 289 if (IS_ERR(dvi->hpd)) { in tfp410_get_connector_properties() 290 ret = PTR_ERR(dvi->hpd); in tfp410_get_connector_properties() 291 dvi->hpd = NULL; in tfp410_get_connector_properties() 350 if (dvi->hpd) in tfp410_init() 351 dvi->hpd_irq = gpiod_to_irq(dvi->hpd); in tfp410_init() [all …]
|
/Linux-v5.4/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-v5.4/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-v5.4/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-v5.4/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-v5.4/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-v5.4/Documentation/media/uapi/cec/ |
D | cec-ioc-dqevent.rst | 171 * .. _`CEC-EVENT-PIN-HPD-LOW`: 175 - Generated if the HPD pin goes from a high voltage to a low voltage. 177 capability set. When open() is called, the HPD pin can be read and 178 if the HPD is low, then an initial event will be generated for that 180 * .. _`CEC-EVENT-PIN-HPD-HIGH`: 184 - Generated if the HPD pin goes from a low voltage to a high voltage. 186 capability set. When open() is called, the HPD pin can be read and 187 if the HPD is high, then an initial event will be generated for that
|
/Linux-v5.4/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-v5.4/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.
|
/Linux-v5.4/drivers/gpu/drm/ |
D | drm_dp_cec.c | 57 * When the EDID is unset because the HPD went low, then the CEC DPCD registers 59 * powered by the HPD). However, some displays toggle the HPD off and on for a 64 * actually unregistered. Only if the HPD does not return within that time will 71 * soon as the HPD disappears. 73 * The default is one second to prevent short HPD glitches from unregistering 77 * registers remain available even if the HPD goes low since it is not powered 78 * by the HPD. In that case the CEC adapter will never be unregistered during 276 * Called if the HPD was low for more than drm_dp_cec_unregister_delay 370 * The EDID disappeared (likely because of the HPD going down). 395 * seconds. This to debounce short HPD off-and-on cycles from in drm_dp_cec_unset_edid()
|
/Linux-v5.4/drivers/gpu/drm/amd/display/dc/gpio/dcn10/ |
D | hw_factory_dcn10.c | 43 #define block HPD 188 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local 190 hpd->regs = &hpd_regs[en]; in define_hpd_registers() 191 hpd->shifts = &hpd_shift; in define_hpd_registers() 192 hpd->masks = &hpd_mask; in define_hpd_registers() 193 hpd->base.regs = &hpd_regs[en].gpio; in define_hpd_registers()
|