Home
last modified time | relevance | path

Searched full:crtc (Results 1 – 25 of 682) sorted by relevance

12345678910>>...28

/Linux-v5.10/drivers/gpu/drm/
Ddrm_crtc.c6 * DRM core CRTC related functions
55 * A CRTC represents the overall display pipeline. It receives pixel data from
57 * to the CRTC, specifying display timings. On the output side the data is fed
61 * To create a CRTC, a KMS drivers allocates and zeroes an instances of
65 * The CRTC is also the entry point for legacy modeset operations, see
74 * drm_crtc_from_index - find the registered CRTC at an index
76 * @idx: index of registered CRTC to find for
78 * Given a CRTC index, return the registered CRTC from DRM device's
86 struct drm_crtc *crtc; in drm_crtc_from_index() local
88 drm_for_each_crtc(crtc, dev) in drm_crtc_from_index()
[all …]
Ddrm_crtc_helper.c5 * DRM core CRTC related functions
56 * The CRTC modeset helper library provides a default set_config implementation
69 * to the CRTC state. For easier transition this library provides functions to
70 * implement the old semantics required by the CRTC helpers using the new plane
126 * drm_helper_crtc_in_use - check if a given CRTC is in a mode_config
127 * @crtc: CRTC to check
129 * Checks whether @crtc is with the current mode setting output configuration
134 * True if @crtc is used, false otherwise.
136 bool drm_helper_crtc_in_use(struct drm_crtc *crtc) in drm_helper_crtc_in_use() argument
139 struct drm_device *dev = crtc->dev; in drm_helper_crtc_in_use()
[all …]
Ddrm_atomic_helper.c51 * top of the CRTC modeset helper callbacks and the plane helper callbacks. It
82 if (old_plane_state->crtc) { in drm_atomic_helper_plane_changed()
84 old_plane_state->crtc); in drm_atomic_helper_plane_changed()
92 if (plane_state->crtc) { in drm_atomic_helper_plane_changed()
93 crtc_state = drm_atomic_get_new_crtc_state(state, plane_state->crtc); in drm_atomic_helper_plane_changed()
121 if (!new_conn_state->crtc) in handle_conflicting_encoders()
154 * If the flag is set conflicting connectors are removed from the CRTC in handle_conflicting_encoders()
155 * and the CRTC is disabled if no encoder is left. This preserves in handle_conflicting_encoders()
170 DRM_DEBUG_ATOMIC("[ENCODER:%d:%s] in use on [CRTC:%d:%s] by [CONNECTOR:%d:%s]\n", in handle_conflicting_encoders()
172 connector->state->crtc->base.id, in handle_conflicting_encoders()
[all …]
/Linux-v5.10/drivers/gpu/drm/tidss/
Dtidss_crtc.c26 struct drm_device *ddev = tcrtc->crtc.dev; in tidss_crtc_finish_page_flip()
54 drm_crtc_send_vblank_event(&tcrtc->crtc, event); in tidss_crtc_finish_page_flip()
58 drm_crtc_vblank_put(&tcrtc->crtc); in tidss_crtc_finish_page_flip()
61 void tidss_crtc_vblank_irq(struct drm_crtc *crtc) in tidss_crtc_vblank_irq() argument
63 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_vblank_irq()
65 drm_crtc_handle_vblank(crtc); in tidss_crtc_vblank_irq()
70 void tidss_crtc_framedone_irq(struct drm_crtc *crtc) in tidss_crtc_framedone_irq() argument
72 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_framedone_irq()
77 void tidss_crtc_error_irq(struct drm_crtc *crtc, u64 irqstatus) in tidss_crtc_error_irq() argument
79 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_error_irq()
[all …]
/Linux-v5.10/drivers/gpu/drm/sun4i/
Dsun4i_crtc.c36 static struct drm_encoder *sun4i_crtc_get_encoder(struct drm_crtc *crtc) in sun4i_crtc_get_encoder() argument
40 drm_for_each_encoder(encoder, crtc->dev) in sun4i_crtc_get_encoder()
41 if (encoder->crtc == crtc) in sun4i_crtc_get_encoder()
47 static int sun4i_crtc_atomic_check(struct drm_crtc *crtc, in sun4i_crtc_atomic_check() argument
50 struct sun4i_crtc *scrtc = drm_crtc_to_sun4i_crtc(crtc); in sun4i_crtc_atomic_check()
60 static void sun4i_crtc_atomic_begin(struct drm_crtc *crtc, in sun4i_crtc_atomic_begin() argument
63 struct sun4i_crtc *scrtc = drm_crtc_to_sun4i_crtc(crtc); in sun4i_crtc_atomic_begin()
64 struct drm_device *dev = crtc->dev; in sun4i_crtc_atomic_begin()
68 if (crtc->state->event) { in sun4i_crtc_atomic_begin()
69 WARN_ON(drm_crtc_vblank_get(crtc) != 0); in sun4i_crtc_atomic_begin()
[all …]
/Linux-v5.10/drivers/gpu/drm/msm/disp/dpu1/
Ddpu_crtc.c48 static struct dpu_kms *_dpu_crtc_get_kms(struct drm_crtc *crtc) in _dpu_crtc_get_kms() argument
50 struct msm_drm_private *priv = crtc->dev->dev_private; in _dpu_crtc_get_kms()
55 static void dpu_crtc_destroy(struct drm_crtc *crtc) in dpu_crtc_destroy() argument
57 struct dpu_crtc *dpu_crtc = to_dpu_crtc(crtc); in dpu_crtc_destroy()
61 if (!crtc) in dpu_crtc_destroy()
64 drm_crtc_cleanup(crtc); in dpu_crtc_destroy()
94 static void _dpu_crtc_program_lm_output_roi(struct drm_crtc *crtc) in _dpu_crtc_program_lm_output_roi() argument
99 crtc_state = to_dpu_crtc_state(crtc->state); in _dpu_crtc_program_lm_output_roi()
118 static void _dpu_crtc_blend_setup_mixer(struct drm_crtc *crtc, in _dpu_crtc_blend_setup_mixer() argument
124 struct dpu_crtc_state *cstate = to_dpu_crtc_state(crtc->state); in _dpu_crtc_blend_setup_mixer()
[all …]
Ddpu_crtc.h23 * enum dpu_crtc_client_type: crtc client type
73 * struct dpu_crtc_mixer: stores the map for each virtual pipeline in the CRTC
89 * struct dpu_crtc_frame_event: stores crtc frame event for crtc processing
91 * @crtc: Pointer to crtc handling this event
98 struct drm_crtc *crtc; member
110 * struct dpu_crtc - virtualized CRTC data structure
111 * @base : Base drm crtc structure
112 * @name : ASCII description of this crtc
122 * @play_count : frame count between crtc enable and disable
124 * @enabled : whether the DPU CRTC is currently enabled. updated in the
[all …]
Ddpu_core_perf.c34 * @_dpu_core_perf_calc_bw() - to calculate BW per crtc
36 * @crtc - pointer to a crtc
37 * Return: returns aggregated BW for all planes in crtc.
40 struct drm_crtc *crtc) in _dpu_core_perf_calc_bw() argument
47 drm_atomic_crtc_for_each_plane(plane, crtc) { in _dpu_core_perf_calc_bw()
65 * _dpu_core_perf_calc_clk() - to calculate clock per crtc
67 * @crtc - pointer to a crtc
68 * @state - pointer to a crtc state
69 * Return: returns max clk for all planes in crtc.
72 struct drm_crtc *crtc, struct drm_crtc_state *state) in _dpu_core_perf_calc_clk() argument
[all …]
/Linux-v5.10/drivers/gpu/drm/exynos/
Dexynos_drm_crtc.c21 static void exynos_drm_crtc_atomic_enable(struct drm_crtc *crtc, in exynos_drm_crtc_atomic_enable() argument
24 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_atomic_enable()
29 drm_crtc_vblank_on(crtc); in exynos_drm_crtc_atomic_enable()
32 static void exynos_drm_crtc_atomic_disable(struct drm_crtc *crtc, in exynos_drm_crtc_atomic_disable() argument
35 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_atomic_disable()
37 drm_crtc_vblank_off(crtc); in exynos_drm_crtc_atomic_disable()
42 if (crtc->state->event && !crtc->state->active) { in exynos_drm_crtc_atomic_disable()
43 spin_lock_irq(&crtc->dev->event_lock); in exynos_drm_crtc_atomic_disable()
44 drm_crtc_send_vblank_event(crtc, crtc->state->event); in exynos_drm_crtc_atomic_disable()
45 spin_unlock_irq(&crtc->dev->event_lock); in exynos_drm_crtc_atomic_disable()
[all …]
/Linux-v5.10/drivers/gpu/drm/omapdrm/
Domap_crtc.c56 struct videomode *omap_crtc_timings(struct drm_crtc *crtc) in omap_crtc_timings() argument
58 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_timings()
62 enum omap_channel omap_crtc_channel(struct drm_crtc *crtc) in omap_crtc_channel() argument
64 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_channel()
68 static bool omap_crtc_is_pending(struct drm_crtc *crtc) in omap_crtc_is_pending() argument
70 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_is_pending()
74 spin_lock_irqsave(&crtc->dev->event_lock, flags); in omap_crtc_is_pending()
76 spin_unlock_irqrestore(&crtc->dev->event_lock, flags); in omap_crtc_is_pending()
81 int omap_crtc_wait_pending(struct drm_crtc *crtc) in omap_crtc_wait_pending() argument
83 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_wait_pending()
[all …]
/Linux-v5.10/drivers/gpu/drm/imx/dcss/
Ddcss-crtc.c14 static int dcss_enable_vblank(struct drm_crtc *crtc) in dcss_enable_vblank() argument
16 struct dcss_crtc *dcss_crtc = container_of(crtc, struct dcss_crtc, in dcss_enable_vblank()
18 struct dcss_dev *dcss = crtc->dev->dev_private; in dcss_enable_vblank()
29 static void dcss_disable_vblank(struct drm_crtc *crtc) in dcss_disable_vblank() argument
31 struct dcss_crtc *dcss_crtc = container_of(crtc, struct dcss_crtc, in dcss_disable_vblank()
54 static void dcss_crtc_atomic_begin(struct drm_crtc *crtc, in dcss_crtc_atomic_begin() argument
57 drm_crtc_vblank_on(crtc); in dcss_crtc_atomic_begin()
60 static void dcss_crtc_atomic_flush(struct drm_crtc *crtc, in dcss_crtc_atomic_flush() argument
63 struct dcss_crtc *dcss_crtc = container_of(crtc, struct dcss_crtc, in dcss_crtc_atomic_flush()
67 spin_lock_irq(&crtc->dev->event_lock); in dcss_crtc_atomic_flush()
[all …]
/Linux-v5.10/drivers/rtc/
Drtc-cadence.c87 static void cdns_rtc_set_enabled(struct cdns_rtc *crtc, bool enabled) in cdns_rtc_set_enabled() argument
91 writel(reg, crtc->regs + CDNS_RTC_CTLR); in cdns_rtc_set_enabled()
94 static bool cdns_rtc_get_enabled(struct cdns_rtc *crtc) in cdns_rtc_get_enabled() argument
96 return !(readl(crtc->regs + CDNS_RTC_CTLR) & CDNS_RTC_CTLR_TIME_CAL); in cdns_rtc_get_enabled()
102 struct cdns_rtc *crtc = dev_get_drvdata(dev); in cdns_rtc_irq_handler() local
105 if (!(readl(crtc->regs + CDNS_RTC_EFLR) & CDNS_RTC_AEI_ALRM)) in cdns_rtc_irq_handler()
108 rtc_update_irq(crtc->rtc_dev, 1, RTC_IRQF | RTC_AF); in cdns_rtc_irq_handler()
128 struct cdns_rtc *crtc = dev_get_drvdata(dev); in cdns_rtc_read_time() local
132 if (!cdns_rtc_get_enabled(crtc)) in cdns_rtc_read_time()
135 cdns_rtc_set_enabled(crtc, false); in cdns_rtc_read_time()
[all …]
/Linux-v5.10/drivers/gpu/drm/sti/
Dsti_crtc.c25 static void sti_crtc_atomic_enable(struct drm_crtc *crtc, in sti_crtc_atomic_enable() argument
28 struct sti_mixer *mixer = to_sti_mixer(crtc); in sti_crtc_atomic_enable()
34 drm_crtc_vblank_on(crtc); in sti_crtc_atomic_enable()
37 static void sti_crtc_atomic_disable(struct drm_crtc *crtc, in sti_crtc_atomic_disable() argument
40 struct sti_mixer *mixer = to_sti_mixer(crtc); in sti_crtc_atomic_disable()
46 drm_crtc_wait_one_vblank(crtc); in sti_crtc_atomic_disable()
50 sti_crtc_mode_set(struct drm_crtc *crtc, struct drm_display_mode *mode) in sti_crtc_mode_set() argument
52 struct sti_mixer *mixer = to_sti_mixer(crtc); in sti_crtc_mode_set()
58 DRM_DEBUG_KMS("CRTC:%d (%s) mode: (%s)\n", in sti_crtc_mode_set()
59 crtc->base.id, sti_mixer_to_str(mixer), mode->name); in sti_crtc_mode_set()
[all …]
/Linux-v5.10/drivers/gpu/drm/vkms/
Dvkms_crtc.c14 struct drm_crtc *crtc = &output->crtc; in vkms_vblank_simulate() local
24 ret = drm_crtc_handle_vblank(crtc); in vkms_vblank_simulate()
32 u64 frame = drm_crtc_accurate_vblank_count(crtc); in vkms_vblank_simulate()
55 static int vkms_enable_vblank(struct drm_crtc *crtc) in vkms_enable_vblank() argument
57 struct drm_device *dev = crtc->dev; in vkms_enable_vblank()
58 unsigned int pipe = drm_crtc_index(crtc); in vkms_enable_vblank()
60 struct vkms_output *out = drm_crtc_to_vkms_output(crtc); in vkms_enable_vblank()
62 drm_calc_timestamping_constants(crtc, &crtc->mode); in vkms_enable_vblank()
72 static void vkms_disable_vblank(struct drm_crtc *crtc) in vkms_disable_vblank() argument
74 struct vkms_output *out = drm_crtc_to_vkms_output(crtc); in vkms_disable_vblank()
[all …]
/Linux-v5.10/drivers/gpu/drm/nouveau/dispnv04/
Dcrtc.c53 nv04_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y,
57 crtc_wr_cio_state(struct drm_crtc *crtc, struct nv04_crtc_reg *crtcstate, int index) in crtc_wr_cio_state() argument
59 NVWriteVgaCrtc(crtc->dev, nouveau_crtc(crtc)->index, index, in crtc_wr_cio_state()
60 crtcstate->CRTC[index]); in crtc_wr_cio_state()
63 static void nv_crtc_set_digital_vibrance(struct drm_crtc *crtc, int level) in nv_crtc_set_digital_vibrance() argument
65 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv_crtc_set_digital_vibrance()
66 struct drm_device *dev = crtc->dev; in nv_crtc_set_digital_vibrance()
69 regp->CRTC[NV_CIO_CRE_CSB] = nv_crtc->saturation = level; in nv_crtc_set_digital_vibrance()
70 if (nv_crtc->saturation && nv_gf4_disp_arch(crtc->dev)) { in nv_crtc_set_digital_vibrance()
71 regp->CRTC[NV_CIO_CRE_CSB] = 0x80; in nv_crtc_set_digital_vibrance()
[all …]
/Linux-v5.10/drivers/gpu/drm/msm/disp/mdp5/
Dmdp5_crtc.c65 static void mdp5_crtc_restore_cursor(struct drm_crtc *crtc);
67 static struct mdp5_kms *get_kms(struct drm_crtc *crtc) in get_kms() argument
69 struct msm_drm_private *priv = crtc->dev->dev_private; in get_kms()
73 static void request_pending(struct drm_crtc *crtc, uint32_t pending) in request_pending() argument
75 struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); in request_pending()
78 mdp_irq_register(&get_kms(crtc)->base, &mdp5_crtc->vblank); in request_pending()
81 static void request_pp_done_pending(struct drm_crtc *crtc) in request_pp_done_pending() argument
83 struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); in request_pp_done_pending()
87 static u32 crtc_flush(struct drm_crtc *crtc, u32 flush_mask) in crtc_flush() argument
89 struct mdp5_crtc_state *mdp5_cstate = to_mdp5_crtc_state(crtc->state); in crtc_flush()
[all …]
/Linux-v5.10/drivers/gpu/drm/msm/disp/mdp4/
Dmdp4_crtc.c61 static struct mdp4_kms *get_kms(struct drm_crtc *crtc) in get_kms() argument
63 struct msm_drm_private *priv = crtc->dev->dev_private; in get_kms()
67 static void request_pending(struct drm_crtc *crtc, uint32_t pending) in request_pending() argument
69 struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc); in request_pending()
72 mdp_irq_register(&get_kms(crtc)->base, &mdp4_crtc->vblank); in request_pending()
75 static void crtc_flush(struct drm_crtc *crtc) in crtc_flush() argument
77 struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc); in crtc_flush()
78 struct mdp4_kms *mdp4_kms = get_kms(crtc); in crtc_flush()
82 drm_atomic_crtc_for_each_plane(plane, crtc) { in crtc_flush()
97 static void complete_flip(struct drm_crtc *crtc, struct drm_file *file) in complete_flip() argument
[all …]
/Linux-v5.10/drivers/gpu/drm/arm/display/komeda/
Dkomeda_crtc.c30 if (conn_st->crtc != crtc_st->crtc) in komeda_crtc_get_color_config()
65 * @crtc: DRM crtc
66 * @state: the crtc state object
76 komeda_crtc_atomic_check(struct drm_crtc *crtc, in komeda_crtc_atomic_check() argument
79 struct komeda_crtc *kcrtc = to_kcrtc(crtc); in komeda_crtc_atomic_check()
104 /* For active a crtc, mainly need two parts of preparation
200 struct drm_crtc *crtc = &kcrtc->base; in komeda_crtc_handle_event() local
204 drm_crtc_handle_vblank(crtc); in komeda_crtc_handle_event()
212 DRM_WARN("CRTC[%d]: EOW happen but no wb_connector.\n", in komeda_crtc_handle_event()
223 spin_lock_irqsave(&crtc->dev->event_lock, flags); in komeda_crtc_handle_event()
[all …]
/Linux-v5.10/drivers/gpu/drm/tilcdc/
Dtilcdc_crtc.c62 static void set_scanout(struct drm_crtc *crtc, struct drm_framebuffer *fb) in set_scanout() argument
64 struct drm_device *dev = crtc->dev; in set_scanout()
73 crtc->y * fb->pitches[0] + in set_scanout()
74 crtc->x * fb->format->cpp[0]; in set_scanout()
76 end = start + (crtc->mode.vdisplay * fb->pitches[0]); in set_scanout()
96 static void tilcdc_crtc_load_palette(struct drm_crtc *crtc) in tilcdc_crtc_load_palette() argument
98 struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc); in tilcdc_crtc_load_palette()
99 struct drm_device *dev = crtc->dev; in tilcdc_crtc_load_palette()
179 static void reset(struct drm_crtc *crtc) in reset() argument
181 struct drm_device *dev = crtc->dev; in reset()
[all …]
/Linux-v5.10/drivers/gpu/drm/atmel-hlcdc/
Datmel_hlcdc_crtc.c28 * Atmel HLCDC CRTC state structure
30 * @base: base CRTC state
45 * Atmel HLCDC CRTC structure
47 * @base: base DRM CRTC structure
50 * @id: CRTC id (returned by drm_crtc_index)
60 drm_crtc_to_atmel_hlcdc_crtc(struct drm_crtc *crtc) in drm_crtc_to_atmel_hlcdc_crtc() argument
62 return container_of(crtc, struct atmel_hlcdc_crtc, base); in drm_crtc_to_atmel_hlcdc_crtc()
67 struct atmel_hlcdc_crtc *crtc = drm_crtc_to_atmel_hlcdc_crtc(c); in atmel_hlcdc_crtc_mode_set_nofb() local
68 struct regmap *regmap = crtc->dc->hlcdc->regmap; in atmel_hlcdc_crtc_mode_set_nofb()
78 ret = clk_prepare_enable(crtc->dc->hlcdc->sys_clk); in atmel_hlcdc_crtc_mode_set_nofb()
[all …]
/Linux-v5.10/drivers/gpu/drm/radeon/
Dradeon_cursor.c32 static void radeon_lock_cursor(struct drm_crtc *crtc, bool lock) in radeon_lock_cursor() argument
34 struct radeon_device *rdev = crtc->dev->dev_private; in radeon_lock_cursor()
35 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_lock_cursor()
62 static void radeon_hide_cursor(struct drm_crtc *crtc) in radeon_hide_cursor() argument
64 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_hide_cursor()
65 struct radeon_device *rdev = crtc->dev->dev_private; in radeon_hide_cursor()
90 static void radeon_show_cursor(struct drm_crtc *crtc) in radeon_show_cursor() argument
92 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_show_cursor()
93 struct radeon_device *rdev = crtc->dev->dev_private; in radeon_show_cursor()
144 static int radeon_cursor_move_locked(struct drm_crtc *crtc, int x, int y) in radeon_cursor_move_locked() argument
[all …]
/Linux-v5.10/drivers/gpu/drm/imx/
Dipuv3-crtc.c44 static inline struct ipu_crtc *to_ipu_crtc(struct drm_crtc *crtc) in to_ipu_crtc() argument
46 return container_of(crtc, struct ipu_crtc, base); in to_ipu_crtc()
49 static void ipu_crtc_atomic_enable(struct drm_crtc *crtc, in ipu_crtc_atomic_enable() argument
52 struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc); in ipu_crtc_atomic_enable()
81 static void ipu_crtc_atomic_disable(struct drm_crtc *crtc, in ipu_crtc_atomic_disable() argument
84 struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc); in ipu_crtc_atomic_disable()
98 drm_crtc_vblank_off(crtc); in ipu_crtc_atomic_disable()
100 spin_lock_irq(&crtc->dev->event_lock); in ipu_crtc_atomic_disable()
101 if (crtc->state->event && !crtc->state->active) { in ipu_crtc_atomic_disable()
102 drm_crtc_send_vblank_event(crtc, crtc->state->event); in ipu_crtc_atomic_disable()
[all …]
/Linux-v5.10/drivers/gpu/drm/amd/display/amdgpu_dm/
Damdgpu_dm_crc.c35 "crtc",
36 "crtc dither",
46 if (!strcmp(source, "auto") || !strcmp(source, "crtc")) in dm_parse_crc_source()
50 if (!strcmp(source, "crtc dither")) in dm_parse_crc_source()
77 const char *const *amdgpu_dm_crtc_get_crc_sources(struct drm_crtc *crtc, in amdgpu_dm_crtc_get_crc_sources() argument
85 amdgpu_dm_crtc_verify_crc_source(struct drm_crtc *crtc, const char *src_name, in amdgpu_dm_crtc_verify_crc_source() argument
91 DRM_DEBUG_DRIVER("Unknown CRC source %s for CRTC%d\n", in amdgpu_dm_crtc_verify_crc_source()
92 src_name, crtc->index); in amdgpu_dm_crtc_verify_crc_source()
100 int amdgpu_dm_crtc_configure_crc_source(struct drm_crtc *crtc, in amdgpu_dm_crtc_configure_crc_source() argument
104 struct amdgpu_device *adev = drm_to_adev(crtc->dev); in amdgpu_dm_crtc_configure_crc_source()
[all …]
/Linux-v5.10/drivers/gpu/drm/mediatek/
Dmtk_drm_crtc.c27 * struct mtk_drm_crtc - MediaTek specific crtc structure.
28 * @base: crtc object.
35 * @ddp_comp: array of pointers the mtk_ddp_comp structures used by this crtc
84 struct drm_crtc *crtc = &mtk_crtc->base; in mtk_drm_crtc_finish_page_flip() local
87 spin_lock_irqsave(&crtc->dev->event_lock, flags); in mtk_drm_crtc_finish_page_flip()
88 drm_crtc_send_vblank_event(crtc, mtk_crtc->event); in mtk_drm_crtc_finish_page_flip()
89 drm_crtc_vblank_put(crtc); in mtk_drm_crtc_finish_page_flip()
91 spin_unlock_irqrestore(&crtc->dev->event_lock, flags); in mtk_drm_crtc_finish_page_flip()
103 static void mtk_drm_crtc_destroy(struct drm_crtc *crtc) in mtk_drm_crtc_destroy() argument
105 struct mtk_drm_crtc *mtk_crtc = to_mtk_crtc(crtc); in mtk_drm_crtc_destroy()
[all …]
/Linux-v5.10/drivers/gpu/drm/vc4/
Dvc4_crtc.c7 * DOC: VC4 CRTC module
10 * DRM's concept of a CRTC. The PV generates video timings from the
14 * However, the DRM CRTC also collects the configuration of all the
15 * DRM planes attached to it. As a result, the CRTC is also
17 * the CRTC will use.
82 static bool vc4_crtc_get_scanout_position(struct drm_crtc *crtc, in vc4_crtc_get_scanout_position() argument
88 struct drm_device *dev = crtc->dev; in vc4_crtc_get_scanout_position()
90 struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc); in vc4_crtc_get_scanout_position()
91 struct vc4_crtc_state *vc4_crtc_state = to_vc4_crtc_state(crtc->state); in vc4_crtc_get_scanout_position()
204 void vc4_crtc_destroy(struct drm_crtc *crtc) in vc4_crtc_destroy() argument
[all …]

12345678910>>...28