| /linux/Documentation/devicetree/bindings/display/bridge/ |
| H A D | analogix,dp.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Rob Herring <robh@kernel.org> 21 clock-names: true 25 phy-names: 28 force-hpd: 31 Indicate driver need force hpd when hpd detect failed, this 32 is used for some eDP screen which don not have a hpd signal. 34 hpd-gpios: [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/ |
| H A D | dc.h | 2 * Copyright 2012-2023 Advanced Micro Devices, Inc. 61 * MAX_SURFACES - representative of the upper bound of surfaces that can be piped to a single CRTC 65 * MAX_PLANES - representative of the upper bound of planes that are supported by the HW 118 // for example, 1080p -> 8K is 4.0, or 4000 raw value 126 // for example, 8K -> 1080p is 0.25, or 250 raw value 138 * DOC: color-management-caps 143 * abstracted HW. DCE 5-12 had almost no important changes, but starting with 150 * struct rom_curve_caps - predefined transfer function caps for degamma and regamma 166 * struct dpp_color_caps - color pipeline capabilities for display pipe and 171 * just plain 256-entry lookup [all …]
|
| /linux/drivers/extcon/ |
| H A D | extcon-usbc-cros-ec.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include <linux/extcon-provider.h> 49 * cros_ec_pd_command() - Send a command to the EC. 73 return -ENOMEM; in cros_ec_pd_command() 75 msg->version = version; in cros_ec_pd_command() 76 msg->command = command; in cros_ec_pd_command() 77 msg->outsize = outsize; in cros_ec_pd_command() 78 msg->insize = insize; in cros_ec_pd_command() 81 memcpy(msg->data, outdata, outsize); in cros_ec_pd_command() 83 ret = cros_ec_cmd_xfer_status(info->ec, msg); in cros_ec_pd_command() [all …]
|
| /linux/drivers/gpu/drm/bridge/analogix/ |
| H A D | analogix_dp_core.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 71 * Some edp screen do not have hpd signal, so we can't just in analogix_dp_detect_hpd() 72 * return failed when hpd plug in detect failed, DT property in analogix_dp_detect_hpd() 73 * "force-hpd" would indicate whether driver need this. in analogix_dp_detect_hpd() 75 if (!dp->force_hpd) in analogix_dp_detect_hpd() 76 return -ETIMEDOUT; in analogix_dp_detect_hpd() 80 * will not work, so we need to give a force hpd action to in analogix_dp_detect_hpd() 83 dev_dbg(dp->dev, "failed to get hpd plug status, try to force hpd\n"); in analogix_dp_detect_hpd() 88 dev_err(dp->dev, "failed to get hpd plug in status\n"); in analogix_dp_detect_hpd() 89 return -EINVAL; in analogix_dp_detect_hpd() [all …]
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | dce_v8_0.c | 82 (0x13830 - 0x7030) >> 2, 89 uint32_t hpd; member 95 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK 100 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK 105 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK 110 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK 115 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK 120 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK 129 spin_lock_irqsave(&adev->audio_endpt_idx_lock, flags); in dce_v8_0_audio_endpt_rreg() 132 spin_unlock_irqrestore(&adev->audio_endpt_idx_lock, flags); in dce_v8_0_audio_endpt_rreg() [all …]
|
| H A D | dce_v10_0.c | 55 static void dce_v10_0_hpd_int_ack(struct amdgpu_device *adev, int hpd); 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 150 switch (adev->asic_type) { in dce_v10_0_init_golden_registers() 178 spin_lock_irqsave(&adev->audio_endpt_idx_lock, flags); in dce_v10_0_audio_endpt_rreg() [all …]
|
| H A D | dce_v6_0.c | 94 (0x13830 - 0x7030) >> 2, 101 uint32_t hpd; member 107 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK 112 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK 117 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK 122 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK 127 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK 132 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK 141 spin_lock_irqsave(&adev->audio_endpt_idx_lock, flags); in dce_v6_0_audio_endpt_rreg() 144 spin_unlock_irqrestore(&adev->audio_endpt_idx_lock, flags); in dce_v6_0_audio_endpt_rreg() [all …]
|
| H A D | amdgpu_display.c | 2 * Copyright 2007-8 Advanced Micro Devices, Inc. 52 * amdgpu_display_hotplug_work_func - work handler for display hotplug event 72 struct drm_mode_config *mode_config = &dev->mode_config; in amdgpu_display_hotplug_work_func() 76 mutex_lock(&mode_config->mutex); in amdgpu_display_hotplug_work_func() 81 mutex_unlock(&mode_config->mutex); in amdgpu_display_hotplug_work_func() 98 schedule_work(&work->flip_work.work); in amdgpu_display_flip_callback() 111 if (!dma_fence_add_callback(fence, &work->cb, in amdgpu_display_flip_handle_fence() 125 struct amdgpu_device *adev = work->adev; in amdgpu_display_flip_work_func() 126 struct amdgpu_crtc *amdgpu_crtc = adev->mode_info.crtcs[work->crtc_id]; in amdgpu_display_flip_work_func() 128 struct drm_crtc *crtc = &amdgpu_crtc->base; in amdgpu_display_flip_work_func() [all …]
|
| /linux/drivers/platform/x86/ |
| H A D | meegopad_anx7428.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Driver to power on the Analogix ANX7428 USB Type-C crosspoint switch 4 * on MeeGoPad top-set boxes. 6 * The MeeGoPad T8 and T9 are Cherry Trail top-set boxes which 7 * use an ANX7428 to provide a Type-C port with USB3.1 Gen 1 and 8 * DisplayPort over Type-C alternate mode support. 12 * to send the right signal to the 4 highspeed pairs of the Type-C 13 * connector. It also takes care of HPD and AUX channel routing for 16 * IOW the ANX7428 operates fully autonomous and to the x5-Z8350 SoC 17 * things look like there simply is a USB-3 Type-A connector and a [all …]
|
| H A D | apple-gmux.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * Copyright (C) 2010-2012 Andreas Heider <andreas@meetr.de> 19 #include <linux/apple-gmux.h> 32 * A `Lattice XP2`_ on pre-retinas, a `Renesas R4F2113`_ on pre-T2 retinas. 41 * dual GPUs but no built-in display.) 45 * to access a pre-retina gmux are infixed ``_pio_``, those for a pre-T2 54 * https://www.nxp.com/docs/en/data-sheet/PCAL6524.pdf 112 return inb(gmux_data->iostart + port); in gmux_pio_read8() 118 outb(val, gmux_data->iostart + port); in gmux_pio_write8() 123 return inl(gmux_data->iostart + port); in gmux_pio_read32() [all …]
|
| /linux/drivers/gpu/drm/radeon/ |
| H A D | radeon_irq_kms.c | 47 * radeon_driver_irq_handler_kms - irq handler for KMS 50 * radeon_irq_process is a macro that points to the per-asic 56 struct radeon_device *rdev = dev->dev_private; in radeon_driver_irq_handler_kms() 61 pm_runtime_mark_last_busy(dev->dev); in radeon_driver_irq_handler_kms() 69 * radeon_hotplug_work_func - display hotplug work handler 84 struct drm_mode_config *mode_config = &dev->mode_config; in radeon_hotplug_work_func() 89 if (!rdev->mode_info.mode_config_initialized) in radeon_hotplug_work_func() 92 mutex_lock(&mode_config->mutex); in radeon_hotplug_work_func() 93 list_for_each_entry(connector, &mode_config->connector_list, head) in radeon_hotplug_work_func() 95 mutex_unlock(&mode_config->mutex); in radeon_hotplug_work_func() [all …]
|
| H A D | evergreen.c | 62 spin_lock_irqsave(&rdev->cg_idx_lock, flags); in eg_cg_rreg() 65 spin_unlock_irqrestore(&rdev->cg_idx_lock, flags); in eg_cg_rreg() 73 spin_lock_irqsave(&rdev->cg_idx_lock, flags); in eg_cg_wreg() 76 spin_unlock_irqrestore(&rdev->cg_idx_lock, flags); in eg_cg_wreg() 84 spin_lock_irqsave(&rdev->pif_idx_lock, flags); in eg_pif_phy0_rreg() 87 spin_unlock_irqrestore(&rdev->pif_idx_lock, flags); in eg_pif_phy0_rreg() 95 spin_lock_irqsave(&rdev->pif_idx_lock, flags); in eg_pif_phy0_wreg() 98 spin_unlock_irqrestore(&rdev->pif_idx_lock, flags); in eg_pif_phy0_wreg() 106 spin_lock_irqsave(&rdev->pif_idx_lock, flags); in eg_pif_phy1_rreg() 109 spin_unlock_irqrestore(&rdev->pif_idx_lock, flags); in eg_pif_phy1_rreg() [all …]
|
| H A D | r600.c | 105 AVIVO_D2CRTC_H_TOTAL - AVIVO_D1CRTC_H_TOTAL 125 spin_lock_irqsave(&rdev->rcu_idx_lock, flags); in r600_rcu_rreg() 128 spin_unlock_irqrestore(&rdev->rcu_idx_lock, flags); in r600_rcu_rreg() 136 spin_lock_irqsave(&rdev->rcu_idx_lock, flags); in r600_rcu_wreg() 139 spin_unlock_irqrestore(&rdev->rcu_idx_lock, flags); in r600_rcu_wreg() 147 spin_lock_irqsave(&rdev->uvd_idx_lock, flags); in r600_uvd_ctx_rreg() 150 spin_unlock_irqrestore(&rdev->uvd_idx_lock, flags); in r600_uvd_ctx_rreg() 158 spin_lock_irqsave(&rdev->uvd_idx_lock, flags); in r600_uvd_ctx_wreg() 161 spin_unlock_irqrestore(&rdev->uvd_idx_lock, flags); in r600_uvd_ctx_wreg() 165 * r600_get_allowed_info_register - fetch the register for the info ioctl [all …]
|
| /linux/drivers/gpu/drm/amd/display/amdgpu_dm/ |
| H A D | amdgpu_dm_debugfs.c | 1 // SPDX-License-Identifier: MIT 29 #include <media/cec-notifier.h> 68 /* parse_write_buffer_into_params - Helper function to parse debugfs write buffer into an array 95 return -EFAULT; in parse_write_buffer_into_params() 109 /* skip non-space*/ in parse_write_buffer_into_params() 158 * debugfs is located at /sys/kernel/debug/dri/0/DP-x/link_settings 160 * --- to get dp configuration 162 * cat /sys/kernel/debug/dri/0/DP-x/link_settings 165 * current -- for current video mode 166 * verified --- maximum configuration which pass link training [all …]
|
| H A D | amdgpu_dm.c | 1 // SPDX-License-Identifier: MIT 99 #include <media/cec-notifier.h> 181 switch (link->dpcd_caps.dongle_type) { in get_subconnector_type() 200 struct dc_link *link = aconnector->dc_link; in update_subconnector_property() 201 struct drm_connector *connector = &aconnector->base; in update_subconnector_property() 204 if (connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort) in update_subconnector_property() 207 if (aconnector->dc_sink) in update_subconnector_property() 210 drm_object_property_set_value(&connector->base, in update_subconnector_property() 211 connector->dev->mode_config.dp_subconnector_property, in update_subconnector_property() 259 * struct amdgpu_device *adev - [in] desired amdgpu device [all …]
|
| /linux/arch/arm64/boot/dts/rockchip/ |
| H A D | rk3588-coolpi-cm5-genbook.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 7 /dts-v1/; 9 #include <dt-bindings/leds/common.h> 10 #include <dt-bindings/soc/rockchip,vop2.h> 11 #include "rk3588-coolpi-cm5.dtsi" 15 compatible = "coolpi,pi-cm5-genbook", "coolpi,pi-cm5", "rockchip,rk3588"; 18 compatible = "pwm-backlight"; 19 enable-gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>; 20 pinctrl-names = "default"; 21 pinctrl-0 = <&bl_en>; [all …]
|
| H A D | rk3399-evb.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 /dts-v1/; 7 #include <dt-bindings/pwm/pwm.h> 8 #include "rk3399-base.dtsi" 12 compatible = "rockchip,rk3399-evb", "rockchip,rk3399"; 20 compatible = "pwm-backlight"; 21 brightness-levels = < 54 default-brightness-level = <200>; 58 edp_panel: edp-panel { 59 compatible = "lg,lp079qx1-sp0v"; [all …]
|
| /linux/drivers/gpu/drm/tegra/ |
| H A D | output.c | 1 // SPDX-License-Identifier: GPL-2.0-only 19 #include <media/cec-notifier.h> 31 if (output->panel) { in tegra_output_connector_get_modes() 32 err = drm_panel_get_modes(output->panel, connector); in tegra_output_connector_get_modes() 37 if (output->drm_edid) in tegra_output_connector_get_modes() 38 drm_edid = drm_edid_dup(output->drm_edid); in tegra_output_connector_get_modes() 39 else if (output->ddc) in tegra_output_connector_get_modes() 40 drm_edid = drm_edid_read_ddc(connector, output->ddc); in tegra_output_connector_get_modes() 43 cec_notifier_set_phys_addr(output->cec, in tegra_output_connector_get_modes() 44 connector->display_info.source_physical_address); in tegra_output_connector_get_modes() [all …]
|
| /linux/arch/arm/boot/dts/rockchip/ |
| H A D | rk3288-veyron-speedy.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 8 /dts-v1/; 9 #include "rk3288-veyron-chromebook.dtsi" 10 #include "rk3288-veyron-broadcom-bluetooth.dtsi" 11 #include "../cros-ec-sbs.dtsi" 15 compatible = "google,veyron-speedy-rev9", "google,veyron-speedy-rev8", 16 "google,veyron-speedy-rev7", "google,veyron-speedy-rev6", 17 "google,veyron-speedy-rev5", "google,veyron-speedy-rev4", 18 "google,veyron-speedy-rev3", "google,veyron-speedy-rev2", 19 "google,veyron-speedy", "google,veyron", "rockchip,rk3288"; [all …]
|
| /linux/drivers/gpu/drm/bridge/synopsys/ |
| H A D | dw-hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * DesignWare High-Definition Multimedia Interface (HDMI) driver 5 * Copyright (C) 2013-2015 Mentor Graphics Inc. 6 * Copyright (C) 2011-2013 Freescale Semiconductor, Inc. 21 #include <linux/dma-mapping.h> 24 #include <media/cec-notifier.h> 26 #include <linux/media-bus-format.h> 40 #include "dw-hdmi-audio.h" 41 #include "dw-hdmi-cec.h" 42 #include "dw-hdmi.h" [all …]
|
| /linux/arch/arm64/kvm/ |
| H A D | at.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2017 - Linaro Ltd 15 wr->fst = fst; in fail_s1_walk() 16 wr->ptw = s1ptw; in fail_s1_walk() 17 wr->s2 = s1ptw; in fail_s1_walk() 18 wr->failed = true; in fail_s1_walk() 21 #define S1_MMU_DISABLED (-127) 25 return 64 - wi->txsz; in get_ia_size() 31 if (wi->pa52bit) in check_output_size() 32 return wi->max_oa_bits < 52 && (ipa & GENMASK_ULL(51, wi->max_oa_bits)); in check_output_size() [all …]
|
| /linux/drivers/gpu/drm/bridge/ |
| H A D | tc358767.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * TC358767/TC358867/TC9595 DSI/DPI-to-DPI/(e)DP bridge driver 6 * All modes are supported -- DPI->(e)DP / DSI->DPI / DSI->(e)DP . 27 #include <linux/media-bus-format.h> 44 /* DSI D-PHY Layer registers */ 77 #define DSI_STARTDSI 0x0204 /* START control bit of DSI-TX */ 110 #define SUB_CFG_TYPE_CONFIG3 (2 << 2) /* LSB aligned 8-bit */ 184 #define VID_MN_GEN BIT(6) /* Auto-generate M/N values */ 190 #define DP0_VIDMNGEN0 0x0610 /* DP0 Video Force M Value Register */ 191 #define DP0_VIDMNGEN1 0x0614 /* DP0 Video Force N Value Register */ [all …]
|
| H A D | megachips-stdpxxxx-ge-b850v3-fw.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Driver for MegaChips STDP4028 with GE B850v3 firmware (LVDS-DP) 4 * Driver for MegaChips STDP2690 with GE B850v3 firmware (DP-DP++) 15 * only needed to read EDID from the STDP2690 and to handle HPD events from the 19 * Host -> LVDS|--(STDP4028)--|DP -> DP|--(STDP2690)--|DP++ -> Video output 71 struct i2c_adapter *adapter = client->adapter; in stdp2690_read_block() 76 .addr = client->addr, in stdp2690_read_block() 81 .addr = client->addr, in stdp2690_read_block() 89 return -1; in stdp2690_read_block() 99 client = ge_b850v3_lvds_ptr->stdp2690_i2c; in ge_b850v3_lvds_edid_read() [all …]
|
| /linux/include/drm/bridge/ |
| H A D | dw_hdmi.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 9 #include <sound/hdmi-codec.h> 24 * +----------------------+----------------------------------+------------------------------+ 26 * +----------------------+----------------------------------+------------------------------+ 28 * +----------------------+----------------------------------+------------------------------+ 30 * +----------------------+----------------------------------+------------------------------+ 32 * +----------------------+----------------------------------+------------------------------+ 34 * +----------------------+----------------------------------+------------------------------+ 39 * +----------------------+----------------------------------+------------------------------+ 44 * +----------------------+----------------------------------+------------------------------+ [all …]
|
| /linux/drivers/gpu/drm/ast/ |
| H A D | ast_dp.c | 1 // SPDX-License-Identifier: GPL-2.0 62 while (entry->hdisplay && entry->vdisplay) { in ast_astdp_get_mode_index() 63 if (entry->hdisplay == hdisplay && entry->vdisplay == vdisplay) in ast_astdp_get_mode_index() 64 return entry->mode_index; in ast_astdp_get_mode_index() 68 return -EINVAL; in ast_astdp_get_mode_index() 76 * HPD might be set even if no monitor is connected, so also check that in ast_astdp_is_connected() 92 return -EIO; /* extension headers not supported */ in ast_astdp_read_edid_block() 96 * by acquiring the I/O-register lock. in ast_astdp_read_edid_block() 98 mutex_lock(&ast->modeset_lock); in ast_astdp_read_edid_block() 111 ret = -EIO; in ast_astdp_read_edid_block() [all …]
|