| /OK3568_Linux_fs/kernel/drivers/gpu/drm/nouveau/nvkm/engine/disp/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/radeon/ |
| H A 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 …]
|
| H A 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() 1221 /* We only trust HPD on R600 and newer ASICS. */ in radeon_check_hpd_status_unchanged() 1223 && radeon_connector->hpd.hpd != RADEON_HPD_NONE) { in radeon_check_hpd_status_unchanged() 1224 if (radeon_hpd_sense(rdev, radeon_connector->hpd.hpd)) in radeon_check_hpd_status_unchanged() 1281 * for HPD do. If the DDC probe fails even though we had an HPD in radeon_dvi_detect() 1285 DRM_DEBUG_KMS("hpd detected without ddc, retrying in 1 second\n"); in radeon_dvi_detect() 1342 /* hpd is our only option in this case */ in radeon_dvi_detect() [all …]
|
| H A D | rs600.c | 352 /* hpd for digital panel detect/disconnect */ 353 bool rs600_hpd_sense(struct radeon_device *rdev, enum radeon_hpd_id hpd) in rs600_hpd_sense() argument 358 switch (hpd) { in rs600_hpd_sense() 376 enum radeon_hpd_id hpd) in rs600_hpd_set_polarity() argument 379 bool connected = rs600_hpd_sense(rdev, hpd); in rs600_hpd_set_polarity() 381 switch (hpd) { in rs600_hpd_set_polarity() 411 switch (radeon_connector->hpd.hpd) { in rs600_hpd_init() 423 if (radeon_connector->hpd.hpd != RADEON_HPD_NONE) in rs600_hpd_init() 424 enable |= 1 << radeon_connector->hpd.hpd; in rs600_hpd_init() 425 radeon_hpd_set_polarity(rdev, radeon_connector->hpd.hpd); in rs600_hpd_init() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/mediatek/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/i915/display/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/amd/display/dc/gpio/ |
| H A 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()
|
| /OK3568_Linux_fs/kernel/arch/powerpc/include/asm/book3s/64/ |
| H A 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()
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/media/ |
| H A 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>;
|
| H A 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
|
| /OK3568_Linux_fs/kernel/arch/powerpc/include/asm/nohash/ |
| H A 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()
|
| /OK3568_Linux_fs/kernel/arch/powerpc/include/asm/nohash/32/ |
| H A 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()
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/amd/amdgpu/ |
| H A 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 …]
|
| H A 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 …]
|
| H A D | dce_v8_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 218 * dce_v8_0_hpd_sense - hpd sense callback. 221 * @hpd: hpd (hotplug detect) pin 227 enum amdgpu_hpd_id hpd) in dce_v8_0_hpd_sense() argument [all …]
|
| H A D | dce_v6_0.c | 91 uint32_t hpd; member 97 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK 102 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK 107 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK 112 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK 117 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK 122 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK 225 * dce_v6_0_hpd_sense - hpd sense callback. 228 * @hpd: hpd (hotplug detect) pin 234 enum amdgpu_hpd_id hpd) in dce_v6_0_hpd_sense() argument [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/msm/hdmi/ |
| H A 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()
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/ |
| H A 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 …]
|
| H A 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()
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/display/bridge/ |
| H A D | analogix_dp.txt | 26 -force-hpd: 27 Indicate driver need force hpd when hpd detect failed, this 28 is used for some eDP screen which don't have hpd signal. 29 -hpd-gpios:
|
| /OK3568_Linux_fs/u-boot/doc/ |
| H A D | README.video | 54 - hpd=[0|1] - Enable use of the hdmi HotPlug Detect feature 57 Defaults to hpd=1. 59 - hpd_delay=<int> - How long to wait for the hdmi HPD signal in milliseconds 61 time for the monitor to assert the HPD signal. This configures how long to 62 wait for the HPD signal before assuming no cable is connected. 78 use: "setenv video-mode sunxi:1024x768-24@60,monitor=dvi,hpd=0,edid=1".
|
| /OK3568_Linux_fs/kernel/Documentation/userspace-api/media/cec/ |
| H A 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
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/display/ti/ |
| H A 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 */
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/amd/display/dc/gpio/dce120/ |
| H A 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()
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/msm/dp/ |
| H A 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()
|