| /kernel/linux/linux-4.19/drivers/gpu/drm/ |
| D | drm_crtc.c | 6 * DRM core CRTC related functions 52 * A CRTC represents the overall display pipeline. It receives pixel data from 54 * to the CRTC, specifying display timings. On the output side the data is fed 58 * To create a CRTC, a KMS drivers allocates and zeroes an instances of 62 * The CRTC is also the entry point for legacy modeset operations, see 71 * drm_crtc_from_index - find the registered CRTC at an index 73 * @idx: index of registered CRTC to find for 75 * Given a CRTC index, return the registered CRTC from DRM device's 83 struct drm_crtc *crtc; in drm_crtc_from_index() local 85 drm_for_each_crtc(crtc, dev) in drm_crtc_from_index() [all …]
|
| D | drm_crtc_helper.c | 5 * DRM core CRTC related functions 50 * The CRTC modeset helper library provides a default set_config implementation 63 * to the CRTC state. For easier transition this library provides functions to 64 * implement the old semantics required by the CRTC helpers using the new plane 118 * drm_helper_crtc_in_use - check if a given CRTC is in a mode_config 119 * @crtc: CRTC to check 121 * Checks whether @crtc is with the current mode setting output configuration 126 * True if @crtc is used, false otherwise. 128 bool drm_helper_crtc_in_use(struct drm_crtc *crtc) in drm_helper_crtc_in_use() argument 131 struct drm_device *dev = crtc->dev; in drm_helper_crtc_in_use() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/ |
| D | drm_crtc.c | 6 * 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 …]
|
| D | drm_crtc_helper.c | 5 * 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 …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/tidss/ |
| D | tidss_crtc.c | 26 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 …]
|
| /kernel/linux/linux-4.19/drivers/gpu/drm/msm/disp/dpu1/ |
| D | dpu_crtc.c | 52 static inline struct dpu_kms *_dpu_crtc_get_kms(struct drm_crtc *crtc) in _dpu_crtc_get_kms() argument 56 if (!crtc || !crtc->dev || !crtc->dev->dev_private) { in _dpu_crtc_get_kms() 57 DPU_ERROR("invalid crtc\n"); in _dpu_crtc_get_kms() 60 priv = crtc->dev->dev_private; in _dpu_crtc_get_kms() 71 struct drm_crtc *crtc; in _dpu_crtc_power_enable() local 76 DPU_ERROR("invalid dpu crtc\n"); in _dpu_crtc_power_enable() 80 crtc = &dpu_crtc->base; in _dpu_crtc_power_enable() 81 if (!crtc->dev || !crtc->dev->dev_private) { in _dpu_crtc_power_enable() 86 priv = crtc->dev->dev_private; in _dpu_crtc_power_enable() 103 * _dpu_crtc_rp_to_crtc - get crtc from resource pool object [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/sun4i/ |
| D | sun4i_crtc.c | 36 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 …]
|
| /kernel/linux/linux-4.19/drivers/gpu/drm/sun4i/ |
| D | sun4i_crtc.c | 39 static struct drm_encoder *sun4i_crtc_get_encoder(struct drm_crtc *crtc) in sun4i_crtc_get_encoder() argument 43 drm_for_each_encoder(encoder, crtc->dev) in sun4i_crtc_get_encoder() 44 if (encoder->crtc == crtc) in sun4i_crtc_get_encoder() 50 static int sun4i_crtc_atomic_check(struct drm_crtc *crtc, in sun4i_crtc_atomic_check() argument 53 struct sun4i_crtc *scrtc = drm_crtc_to_sun4i_crtc(crtc); in sun4i_crtc_atomic_check() 63 static void sun4i_crtc_atomic_begin(struct drm_crtc *crtc, in sun4i_crtc_atomic_begin() argument 66 struct sun4i_crtc *scrtc = drm_crtc_to_sun4i_crtc(crtc); in sun4i_crtc_atomic_begin() 67 struct drm_device *dev = crtc->dev; in sun4i_crtc_atomic_begin() 71 if (crtc->state->event) { in sun4i_crtc_atomic_begin() 72 WARN_ON(drm_crtc_vblank_get(crtc) != 0); in sun4i_crtc_atomic_begin() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/msm/disp/dpu1/ |
| D | dpu_crtc.c | 48 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 …]
|
| D | dpu_crtc.h | 23 * 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 …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/exynos/ |
| D | exynos_drm_crtc.c | 21 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 …]
|
| /kernel/linux/linux-4.19/drivers/gpu/drm/exynos/ |
| D | exynos_drm_crtc.c | 25 static void exynos_drm_crtc_atomic_enable(struct drm_crtc *crtc, in exynos_drm_crtc_atomic_enable() argument 28 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_atomic_enable() 33 drm_crtc_vblank_on(crtc); in exynos_drm_crtc_atomic_enable() 36 static void exynos_drm_crtc_atomic_disable(struct drm_crtc *crtc, in exynos_drm_crtc_atomic_disable() argument 39 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_atomic_disable() 41 drm_crtc_vblank_off(crtc); in exynos_drm_crtc_atomic_disable() 46 if (crtc->state->event && !crtc->state->active) { in exynos_drm_crtc_atomic_disable() 47 spin_lock_irq(&crtc->dev->event_lock); in exynos_drm_crtc_atomic_disable() 48 drm_crtc_send_vblank_event(crtc, crtc->state->event); in exynos_drm_crtc_atomic_disable() 49 spin_unlock_irq(&crtc->dev->event_lock); in exynos_drm_crtc_atomic_disable() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/imx/dcss/ |
| D | dcss-crtc.c | 14 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 …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/omapdrm/ |
| D | omap_crtc.c | 56 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 …]
|
| /kernel/linux/linux-4.19/drivers/gpu/drm/nouveau/dispnv04/ |
| D | crtc.c | 48 nv04_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y, 52 crtc_wr_cio_state(struct drm_crtc *crtc, struct nv04_crtc_reg *crtcstate, int index) in crtc_wr_cio_state() argument 54 NVWriteVgaCrtc(crtc->dev, nouveau_crtc(crtc)->index, index, in crtc_wr_cio_state() 55 crtcstate->CRTC[index]); in crtc_wr_cio_state() 58 static void nv_crtc_set_digital_vibrance(struct drm_crtc *crtc, int level) in nv_crtc_set_digital_vibrance() argument 60 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv_crtc_set_digital_vibrance() 61 struct drm_device *dev = crtc->dev; in nv_crtc_set_digital_vibrance() 64 regp->CRTC[NV_CIO_CRE_CSB] = nv_crtc->saturation = level; in nv_crtc_set_digital_vibrance() 65 if (nv_crtc->saturation && nv_gf4_disp_arch(crtc->dev)) { in nv_crtc_set_digital_vibrance() 66 regp->CRTC[NV_CIO_CRE_CSB] = 0x80; in nv_crtc_set_digital_vibrance() [all …]
|
| /kernel/linux/linux-5.10/drivers/rtc/ |
| D | rtc-cadence.c | 87 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 …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/sti/ |
| D | sti_crtc.c | 25 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 …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/vkms/ |
| D | vkms_crtc.c | 14 struct drm_crtc *crtc = &output->crtc; in vkms_vblank_simulate() local 25 ret = drm_crtc_handle_vblank(crtc); in vkms_vblank_simulate() 33 u64 frame = drm_crtc_accurate_vblank_count(crtc); in vkms_vblank_simulate() 56 static int vkms_enable_vblank(struct drm_crtc *crtc) in vkms_enable_vblank() argument 58 struct drm_device *dev = crtc->dev; in vkms_enable_vblank() 59 unsigned int pipe = drm_crtc_index(crtc); in vkms_enable_vblank() 61 struct vkms_output *out = drm_crtc_to_vkms_output(crtc); in vkms_enable_vblank() 63 drm_calc_timestamping_constants(crtc, &crtc->mode); in vkms_enable_vblank() 73 static void vkms_disable_vblank(struct drm_crtc *crtc) in vkms_disable_vblank() argument 75 struct vkms_output *out = drm_crtc_to_vkms_output(crtc); in vkms_disable_vblank() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/dispnv04/ |
| D | crtc.c | 53 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 …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/msm/disp/mdp5/ |
| D | mdp5_crtc.c | 65 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 …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/msm/disp/mdp4/ |
| D | mdp4_crtc.c | 61 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 …]
|
| /kernel/linux/linux-4.19/drivers/gpu/drm/msm/disp/mdp4/ |
| D | mdp4_crtc.c | 71 static struct mdp4_kms *get_kms(struct drm_crtc *crtc) in get_kms() argument 73 struct msm_drm_private *priv = crtc->dev->dev_private; in get_kms() 77 static void request_pending(struct drm_crtc *crtc, uint32_t pending) in request_pending() argument 79 struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc); in request_pending() 82 mdp_irq_register(&get_kms(crtc)->base, &mdp4_crtc->vblank); in request_pending() 85 static void crtc_flush(struct drm_crtc *crtc) in crtc_flush() argument 87 struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc); in crtc_flush() 88 struct mdp4_kms *mdp4_kms = get_kms(crtc); in crtc_flush() 92 drm_atomic_crtc_for_each_plane(plane, crtc) { in crtc_flush() 107 static void complete_flip(struct drm_crtc *crtc, struct drm_file *file) in complete_flip() argument [all …]
|
| /kernel/linux/linux-4.19/drivers/gpu/drm/atmel-hlcdc/ |
| D | atmel_hlcdc_crtc.c | 35 * Atmel HLCDC CRTC state structure 37 * @base: base CRTC state 52 * Atmel HLCDC CRTC structure 54 * @base: base DRM CRTC structure 57 * @id: CRTC id (returned by drm_crtc_index) 67 drm_crtc_to_atmel_hlcdc_crtc(struct drm_crtc *crtc) in drm_crtc_to_atmel_hlcdc_crtc() argument 69 return container_of(crtc, struct atmel_hlcdc_crtc, base); in drm_crtc_to_atmel_hlcdc_crtc() 74 struct atmel_hlcdc_crtc *crtc = drm_crtc_to_atmel_hlcdc_crtc(c); in atmel_hlcdc_crtc_mode_set_nofb() local 75 struct regmap *regmap = crtc->dc->hlcdc->regmap; in atmel_hlcdc_crtc_mode_set_nofb() 84 ret = clk_prepare_enable(crtc->dc->hlcdc->sys_clk); in atmel_hlcdc_crtc_mode_set_nofb() [all …]
|
| /kernel/linux/linux-4.19/drivers/gpu/drm/vkms/ |
| D | vkms_crtc.c | 11 struct drm_crtc *crtc = &output->crtc; in vkms_vblank_simulate() local 15 ret = drm_crtc_handle_vblank(crtc); in vkms_vblank_simulate() 25 static int vkms_enable_vblank(struct drm_crtc *crtc) in vkms_enable_vblank() argument 27 struct drm_device *dev = crtc->dev; in vkms_enable_vblank() 28 unsigned int pipe = drm_crtc_index(crtc); in vkms_enable_vblank() 30 struct vkms_output *out = drm_crtc_to_vkms_output(crtc); in vkms_enable_vblank() 32 drm_calc_timestamping_constants(crtc, &crtc->mode); in vkms_enable_vblank() 42 static void vkms_disable_vblank(struct drm_crtc *crtc) in vkms_disable_vblank() argument 44 struct vkms_output *out = drm_crtc_to_vkms_output(crtc); in vkms_disable_vblank() 75 static void vkms_crtc_atomic_enable(struct drm_crtc *crtc, in vkms_crtc_atomic_enable() argument [all …]
|
| /kernel/linux/linux-4.19/drivers/gpu/drm/omapdrm/ |
| D | omap_crtc.c | 60 struct videomode *omap_crtc_timings(struct drm_crtc *crtc) in omap_crtc_timings() argument 62 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_timings() 66 enum omap_channel omap_crtc_channel(struct drm_crtc *crtc) in omap_crtc_channel() argument 68 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_channel() 72 static bool omap_crtc_is_pending(struct drm_crtc *crtc) in omap_crtc_is_pending() argument 74 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_is_pending() 78 spin_lock_irqsave(&crtc->dev->event_lock, flags); in omap_crtc_is_pending() 80 spin_unlock_irqrestore(&crtc->dev->event_lock, flags); in omap_crtc_is_pending() 85 int omap_crtc_wait_pending(struct drm_crtc *crtc) in omap_crtc_wait_pending() argument 87 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); in omap_crtc_wait_pending() [all …]
|