| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/display/panel/ |
| D | panel-edp.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/panel/panel-edp.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Douglas Anderson <dianders@chromium.org> 14 to a Embedded DisplayPort AUX bus (see display/dp-aux-bus.yaml) without 17 board, either for second-sourcing purposes or to support multiple SKUs 51 :<T1>:<T2>: :<--T10-->:<T11>:<T12>: 52 : +-----------------------+---------+---------+ 53 eDP -----------+ Black video | Src vid | Blk vid + [all …]
|
| D | panel-common.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/display/panel/panel-common.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 24 width-mm: 29 height-mm: 41 If no such name exists, and unless the property is mandatory according to 43 non-descriptive information. For instance an LCD panel in a system that [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/engine/disp/ |
| D | conn.c | 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 35 struct nvkm_conn *conn = container_of(notify, typeof(*conn), hpd); in nvkm_conn_hpd() 36 struct nvkm_disp *disp = conn->disp; in nvkm_conn_hpd() 37 struct nvkm_gpio *gpio = disp->engine.subdev.device->gpio; in nvkm_conn_hpd() 38 const struct nvkm_gpio_ntfy_rep *line = notify->data; in nvkm_conn_hpd() 40 int index = conn->index; 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() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvkm/engine/disp/ |
| D | conn.c | 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 56 static const u8 hpd[] = { 0x07, 0x08, 0x51, 0x52, 0x5e, 0x5f, 0x60 }; in nvkm_conn_ctor() local 57 struct nvkm_gpio *gpio = disp->engine.subdev.device->gpio; in nvkm_conn_ctor() 61 conn->disp = disp; in nvkm_conn_ctor() 62 conn->index = index; in nvkm_conn_ctor() 63 conn->info = *info; in nvkm_conn_ctor() 64 conn->info.hpd = DCB_GPIO_UNUSED; in nvkm_conn_ctor() 66 CONN_DBG(conn, "type %02x loc %d hpd %02x dp %x di %x sr %x lcdid %x", in nvkm_conn_ctor() 67 info->type, info->location, info->hpd, info->dp, in nvkm_conn_ctor() 68 info->di, info->sr, info->lcdid); in nvkm_conn_ctor() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/link/protocols/ |
| D | link_hpd.c | 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 28 * This file implements functions that manage basic HPD components such as gpio. 29 * It also provides wrapper functions to execute HPD related programming. This 30 * file only manages basic HPD functionality. It doesn't manage detection or 31 * feature or signal specific HPD behaviors. 40 dal_gpio_lock_pin(link->hpd_gpio); in link_get_hpd_state() 41 dal_gpio_get_value(link->hpd_gpio, &state); in link_get_hpd_state() 42 dal_gpio_unlock_pin(link->hpd_gpio); in link_get_hpd_state() 49 struct link_encoder *encoder = link->link_enc; in link_enable_hpd() 51 if (encoder != NULL && encoder->funcs->enable_hpd != NULL) in link_enable_hpd() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/gpio/ |
| D | hw_hpd.c | 2 * Copyright 2012-15 Advanced Micro Devices, Inc. 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 38 hpd->shifts->field_name, hpd->masks->field_name 41 hpd->base.base.ctx 43 (hpd->regs->reg) 50 dal_hw_gpio_destruct(&pin->base); in dal_hw_hpd_destruct() 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 [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/gpio/ |
| D | hw_hpd.c | 2 * Copyright 2012-15 Advanced Micro Devices, Inc. 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 40 hpd->shifts->field_name, hpd->masks->field_name 43 hpd->base.base.ctx 45 (hpd->regs->reg) 52 dal_hw_gpio_destruct(&pin->base); in dal_hw_hpd_destruct() 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 [all …]
|
| /kernel/linux/linux-5.10/Documentation/userspace-api/media/cec/ |
| D | cec-ioc-dqevent.rst | 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 13 CEC_DQEVENT - Dequeue a CEC event 35 non-blocking mode and no event is pending, then it will return -1 and 38 The internal event queues are per-filehandle and per-event type. If 39 there is no more room in a queue then the last event is overwritten with 43 two :ref:`CEC_EVENT_STATE_CHANGE <CEC-EVENT-STATE-CHANGE>` events with 51 .. flat-table:: struct cec_event_state_change 52 :header-rows: 0 53 :stub-columns: 0 56 * - __u16 [all …]
|
| /kernel/linux/linux-6.6/Documentation/userspace-api/media/cec/ |
| D | cec-ioc-dqevent.rst | 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 13 CEC_DQEVENT - Dequeue a CEC event 35 non-blocking mode and no event is pending, then it will return -1 and 38 The internal event queues are per-filehandle and per-event type. If 39 there is no more room in a queue then the last event is overwritten with 43 two :ref:`CEC_EVENT_STATE_CHANGE <CEC-EVENT-STATE-CHANGE>` events with 51 .. flat-table:: struct cec_event_state_change 52 :header-rows: 0 53 :stub-columns: 0 56 * - __u16 [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/display/ |
| D | drm_dp_cec.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * DisplayPort CEC-Tunneling-over-AUX support 19 * Unfortunately it turns out that we have a chicken-and-egg situation 20 * here. Quite a few active (mini-)DP-to-HDMI or USB-C-to-HDMI adapters 21 * have a converter chip that supports CEC-Tunneling-over-AUX (usually the 23 * useless. Note that MegaChips 2900-based adapters appear to have good 27 * Sadly there is no way for this driver to know this. What happens is 33 * was never supported by any OS. So there was no easy way of testing it, 34 * and no incentive to correctly wire up the CEC pin. 41 * https://hverkuil.home.xs4all.nl/cec-status.txt [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/ |
| D | drm_dp_cec.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * DisplayPort CEC-Tunneling-over-AUX support 19 * Unfortunately it turns out that we have a chicken-and-egg situation 20 * here. Quite a few active (mini-)DP-to-HDMI or USB-C-to-HDMI adapters 21 * have a converter chip that supports CEC-Tunneling-over-AUX (usually the 23 * useless. Note that MegaChips 2900-based adapters appear to have good 27 * Sadly there is no way for this driver to know this. What happens is 33 * was never supported by any OS. So there was no easy way of testing it, 34 * and no incentive to correctly wire up the CEC pin. 41 * https://hverkuil.home.xs4all.nl/cec-status.txt [all …]
|
| D | drm_bridge_connector.c | 1 // SPDX-License-Identifier: GPL-2.0+ 31 * with the DRM device. At that point the connector becomes fully usable, no 40 * operation flags (&drm_bridge->ops) and bridge output type 41 * (&drm_bridge->type), as well as the DRM_BRIDGE_ATTACH_NO_CONNECTOR attach 46 * struct drm_bridge_connector - A connector backed by a chain of bridges 70 * hot-plug detection notification, if any (see &DRM_BRIDGE_OP_HPD). 92 /* ----------------------------------------------------------------------------- 93 * Bridge Connector Hot-Plug Handling 104 drm_for_each_bridge_in_chain(bridge_connector->encoder, bridge) { in drm_bridge_connector_hpd_notify() 105 if (bridge->funcs->hpd_notify) in drm_bridge_connector_hpd_notify() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/bridge/ |
| D | display-connector.c | 1 // SPDX-License-Identifier: GPL-2.0 34 return flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR ? 0 : -EINVAL; in display_connector_attach() 42 if (conn->hpd_gpio) { in display_connector_detect() 43 if (gpiod_get_value_cansleep(conn->hpd_gpio)) in display_connector_detect() 49 if (conn->bridge.ddc && drm_probe_ddc(conn->bridge.ddc)) in display_connector_detect() 52 switch (conn->bridge.type) { in display_connector_detect() 60 * that no cable is connected. in display_connector_detect() 69 * Composite and S-Video connectors have no other detection in display_connector_detect() 70 * mean than the HPD GPIO. For VGA connectors, even if we have in display_connector_detect() 84 return drm_get_edid(connector, conn->bridge.ddc); in display_connector_get_edid() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/ |
| D | dc.h | 2 * Copyright 2012-2023 Advanced Micro Devices, Inc. 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 99 // for example, 1080p -> 8K is 4.0, or 4000 raw value 107 // for example, 8K -> 1080p is 0.25, or 250 raw value 119 * DOC: color-management-caps 124 * abstracted HW. DCE 5-12 had almost no important changes, but starting with 131 * struct rom_curve_caps - predefined transfer function caps for degamma and regamma 147 * struct dpp_color_caps - color pipeline capabilities for display pipe and 152 * just plain 256-entry lookup 161 * @dgam_rom_for_yuv: pre-defined degamma LUT for YUV planes [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/panel/ |
| D | panel-samsung-atna33xc20.c | 1 // SPDX-License-Identifier: GPL-2.0 6 * by the DRM_PANEL_SIMPLE driver because its power sequencing is non-standard. 22 /* T3 VCC to HPD high is max 200 ms */ 72 if (p->el3_was_on) in atana33xc20_suspend() 73 atana33xc20_wait(p->el_on3_off_time, 150); in atana33xc20_suspend() 75 ret = regulator_disable(p->supply); in atana33xc20_suspend() 78 p->powered_off_time = ktime_get_boottime(); in atana33xc20_suspend() 79 p->el3_was_on = false; in atana33xc20_suspend() 91 atana33xc20_wait(p->powered_off_time, 500); in atana33xc20_resume() 93 ret = regulator_enable(p->supply); in atana33xc20_resume() [all …]
|
| /kernel/linux/linux-6.6/Documentation/admin-guide/media/ |
| D | cec.rst | 1 .. SPDX-License-Identifier: GPL-2.0 12 - Exynos4 13 - Exynos5 14 - STIH4xx HDMI CEC 15 - V4L2 adv7511 (same HW, but a different driver from the drm adv7511) 16 - stm32 17 - Allwinner A10 (sun4i) 18 - Raspberry Pi 19 - dw-hdmi (Synopsis IP) 20 - amlogic (meson ao-cec and ao-cec-g12a) [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/radeon/ |
| D | radeon_combios.c | 3 * Copyright 2007-8 Advanced Micro Devices, Inc. 18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 132 struct radeon_device *rdev = dev->dev_private; in combios_get_table_offset() 136 if (!rdev->bios) in combios_get_table_offset() 361 size = RBIOS8(rdev->bios_header_start + 0x6); in combios_get_table_offset() 364 offset = RBIOS16(rdev->bios_header_start + check_offset); in combios_get_table_offset() 374 edid_info = combios_get_table_offset(rdev->ddev, COMBIOS_HARDCODED_EDID_TABLE); in radeon_combios_check_hardcoded_edid() 378 raw = rdev->bios + edid_info; in radeon_combios_check_hardcoded_edid() 391 rdev->mode_info.bios_hardcoded_edid = edid; in radeon_combios_check_hardcoded_edid() 392 rdev->mode_info.bios_hardcoded_edid_size = size; in radeon_combios_check_hardcoded_edid() [all …]
|
| D | radeon_connectors.c | 2 * Copyright 2007-8 Advanced Micro Devices, Inc. 17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 42 struct drm_device *dev = connector->dev; in radeon_connector_hotplug() 43 struct radeon_device *rdev = dev->dev_private; in radeon_connector_hotplug() 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() 56 if (connector->dpms != DRM_MODE_DPMS_ON) in radeon_connector_hotplug() 60 if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) { in radeon_connector_hotplug() 62 radeon_connector->con_priv; in radeon_connector_hotplug() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/radeon/ |
| D | radeon_combios.c | 3 * Copyright 2007-8 Advanced Micro Devices, Inc. 18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 136 struct radeon_device *rdev = dev->dev_private; in combios_get_table_offset() 140 if (!rdev->bios) in combios_get_table_offset() 365 size = RBIOS8(rdev->bios_header_start + 0x6); in combios_get_table_offset() 368 offset = RBIOS16(rdev->bios_header_start + check_offset); in combios_get_table_offset() 378 edid_info = combios_get_table_offset(rdev->ddev, COMBIOS_HARDCODED_EDID_TABLE); in radeon_combios_check_hardcoded_edid() 382 raw = rdev->bios + edid_info; in radeon_combios_check_hardcoded_edid() 395 rdev->mode_info.bios_hardcoded_edid = edid; in radeon_combios_check_hardcoded_edid() 396 rdev->mode_info.bios_hardcoded_edid_size = size; in radeon_combios_check_hardcoded_edid() [all …]
|
| D | radeon_connectors.c | 2 * Copyright 2007-8 Advanced Micro Devices, Inc. 17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 46 if (ret == -EINVAL) in radeon_dp_handle_hpd() 52 struct drm_device *dev = connector->dev; in radeon_connector_hotplug() 53 struct radeon_device *rdev = dev->dev_private; in radeon_connector_hotplug() 56 if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) { in radeon_connector_hotplug() 58 radeon_connector->con_priv; in radeon_connector_hotplug() 60 if (radeon_connector->is_mst_connector) in radeon_connector_hotplug() 62 if (dig_connector->is_mst) { in radeon_connector_hotplug() 67 /* bail if the connector does not have hpd pin, e.g., in radeon_connector_hotplug() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/i915/display/ |
| D | intel_hotplug.c | 17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 41 * handlers gather the hotplug detect (HPD) information from relevant registers 51 * pulses, with failures and non-MST long pulses triggering regular hotplug 64 * while before being re-enabled. The intention is to mitigate issues raising 70 * callback is handled by i915_digport_work_func reenabling of hpd is not 78 * intel_hpd_pin_default - return default pin associated with certain port. 80 * @port: the hpd port to get associated pin 89 return HPD_PORT_A + port - PORT_A; in intel_hpd_pin_default() 107 return encoder ? encoder->hpd_pin : HPD_NONE; in intel_connector_hpd_pin() 111 * intel_hpd_irq_storm_detect - gather stats and detect HPD IRQ storm on a pin [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/i915/display/ |
| D | intel_hotplug.c | 17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 43 * handlers gather the hotplug detect (HPD) information from relevant registers 53 * pulses, with failures and non-MST long pulses triggering regular hotplug 66 * while before being re-enabled. The intention is to mitigate issues raising 72 * callback is handled by i915_digport_work_func reenabling of hpd is not 80 * intel_hpd_pin_default - return default pin associated with certain port. 82 * @port: the hpd port to get associated pin 91 return HPD_PORT_A + port - PORT_A; in intel_hpd_pin_default() 112 return encoder ? encoder->hpd_pin : HPD_NONE; in intel_connector_hpd_pin() 116 * intel_hpd_irq_storm_detect - gather stats and detect HPD IRQ storm on a pin [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/ |
| D | nouveau_dp.c | 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 34 MODULE_PARM_DESC(mst, "Enable DisplayPort multi-stream (default: enabled)"); 42 return drm_dp_read_sink_count_cap(connector, outp->dp.dpcd, &outp->dp.desc); in nouveau_dp_has_sink_count() 49 struct drm_connector *connector = &nv_connector->base; in nouveau_dp_probe_dpcd() 50 struct drm_dp_aux *aux = &nv_connector->aux; in nouveau_dp_probe_dpcd() 54 u8 *dpcd = outp->dp.dpcd; in nouveau_dp_probe_dpcd() 60 ret = drm_dp_read_desc(aux, &outp->dp.desc, drm_dp_is_branch(dpcd)); in nouveau_dp_probe_dpcd() 65 mstm = outp->dp.mstm; in nouveau_dp_probe_dpcd() 67 mstm->can_mst = drm_dp_read_mst_cap(aux, dpcd); in nouveau_dp_probe_dpcd() 75 outp->dp.sink_count = ret; in nouveau_dp_probe_dpcd() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/ |
| D | drm_bridge_connector.c | 1 // SPDX-License-Identifier: GPL-2.0+ 31 * with the DRM device. At that point the connector becomes fully usable, no 40 * operation flags (&drm_bridge->ops) and bridge output type 41 * (&drm_bridge->type), as well as the DRM_BRIDGE_ATTACH_NO_CONNECTOR attach 46 * struct drm_bridge_connector - A connector backed by a chain of bridges 70 * hot-plug detection notification, if any (see &DRM_BRIDGE_OP_HPD). 92 /* ----------------------------------------------------------------------------- 93 * Bridge Connector Hot-Plug Handling 104 drm_for_each_bridge_in_chain(bridge_connector->encoder, bridge) { in drm_bridge_connector_hpd_notify() 105 if (bridge->funcs->hpd_notify) in drm_bridge_connector_hpd_notify() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/gpio/dcn32/ |
| D | hw_factory_dcn32.c | 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 49 #define block HPD 111 // add a dummy entry for cases no such port 132 // add a dummy entry for cases no such port 196 generic->regs = &generic_regs[en]; in define_generic_registers() 197 generic->shifts = &generic_shift[en]; in define_generic_registers() 198 generic->masks = &generic_mask[en]; in define_generic_registers() 199 generic->base.regs = &generic_regs[en].gpio; in define_generic_registers() 208 switch (pin->id) { in define_ddc_registers() 210 ddc->regs = &ddc_data_regs_dcn[en]; in define_ddc_registers() [all …]
|