Home
last modified time | relevance | path

Searched refs:mdp5_kms (Results 1 – 13 of 13) sorted by relevance

/linux-4.1.27/drivers/gpu/drm/msm/mdp/mdp5/
Dmdp5_kms.c30 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_hw_init() local
31 struct drm_device *dev = mdp5_kms->dev; in mdp5_hw_init()
60 spin_lock_irqsave(&mdp5_kms->resource_lock, flags); in mdp5_hw_init()
61 mdp5_write(mdp5_kms, REG_MDP5_MDP_DISP_INTF_SEL(0), 0); in mdp5_hw_init()
62 spin_unlock_irqrestore(&mdp5_kms->resource_lock, flags); in mdp5_hw_init()
64 mdp5_ctlm_hw_reset(mdp5_kms->ctlm); in mdp5_hw_init()
73 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_prepare_commit() local
74 mdp5_enable(mdp5_kms); in mdp5_prepare_commit()
79 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_complete_commit() local
80 mdp5_disable(mdp5_kms); in mdp5_complete_commit()
[all …]
Dmdp5_irq.c36 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_irq_preinstall() local
37 mdp5_enable(mdp5_kms); in mdp5_irq_preinstall()
38 mdp5_write(mdp5_kms, REG_MDP5_MDP_INTR_CLEAR(0), 0xffffffff); in mdp5_irq_preinstall()
39 mdp5_write(mdp5_kms, REG_MDP5_MDP_INTR_EN(0), 0x00000000); in mdp5_irq_preinstall()
40 mdp5_disable(mdp5_kms); in mdp5_irq_preinstall()
46 struct mdp5_kms *mdp5_kms = to_mdp5_kms(mdp_kms); in mdp5_irq_postinstall() local
47 struct mdp_irq *error_handler = &mdp5_kms->error_handler; in mdp5_irq_postinstall()
62 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_irq_uninstall() local
63 mdp5_enable(mdp5_kms); in mdp5_irq_uninstall()
64 mdp5_write(mdp5_kms, REG_MDP5_MDP_INTR_EN(0), 0x00000000); in mdp5_irq_uninstall()
[all …]
Dmdp5_plane.c48 static struct mdp5_kms *get_kms(struct drm_plane *plane) in get_kms()
62 struct mdp5_kms *mdp5_kms = get_kms(plane); in mdp5_plane_disable() local
67 if (mdp5_kms) { in mdp5_plane_disable()
69 mdp5_smp_release(mdp5_kms->smp, pipe); in mdp5_plane_disable()
163 struct mdp5_kms *mdp5_kms = get_kms(plane); in mdp5_plane_prepare_fb() local
166 return msm_framebuffer_prepare(fb, mdp5_kms->id); in mdp5_plane_prepare_fb()
174 struct mdp5_kms *mdp5_kms = get_kms(plane); in mdp5_plane_cleanup_fb() local
177 msm_framebuffer_cleanup(fb, mdp5_kms->id); in mdp5_plane_cleanup_fb()
258 struct mdp5_kms *mdp5_kms = get_kms(plane); in set_scanout_locked() local
261 mdp5_write(mdp5_kms, REG_MDP5_PIPE_SRC_STRIDE_A(pipe), in set_scanout_locked()
[all …]
Dmdp5_cmd_encoder.c27 static struct mdp5_kms *get_kms(struct drm_encoder *encoder) in get_kms()
99 struct mdp5_kms *mdp5_kms = get_kms(encoder); in pingpong_tearcheck_setup() local
105 if (IS_ERR_OR_NULL(mdp5_kms->vsync_clk)) { in pingpong_tearcheck_setup()
117 vsync_clk_speed = clk_round_rate(mdp5_kms->vsync_clk, VSYNC_CLK_RATE); in pingpong_tearcheck_setup()
129 mdp5_write(mdp5_kms, REG_MDP5_PP_SYNC_CONFIG_VSYNC(pp_id), cfg); in pingpong_tearcheck_setup()
130 mdp5_write(mdp5_kms, in pingpong_tearcheck_setup()
132 mdp5_write(mdp5_kms, in pingpong_tearcheck_setup()
134 mdp5_write(mdp5_kms, REG_MDP5_PP_RD_PTR_IRQ(pp_id), mode->vdisplay + 1); in pingpong_tearcheck_setup()
135 mdp5_write(mdp5_kms, REG_MDP5_PP_START_POS(pp_id), mode->vdisplay); in pingpong_tearcheck_setup()
136 mdp5_write(mdp5_kms, REG_MDP5_PP_SYNC_THRESH(pp_id), in pingpong_tearcheck_setup()
[all …]
Dmdp5_encoder.c33 static struct mdp5_kms *get_kms(struct drm_encoder *encoder) in get_kms()
125 struct mdp5_kms *mdp5_kms = get_kms(encoder); in mdp5_encoder_mode_set() local
197 mdp5_write(mdp5_kms, REG_MDP5_INTF_HSYNC_CTL(intf), in mdp5_encoder_mode_set()
200 mdp5_write(mdp5_kms, REG_MDP5_INTF_VSYNC_PERIOD_F0(intf), vsync_period); in mdp5_encoder_mode_set()
201 mdp5_write(mdp5_kms, REG_MDP5_INTF_VSYNC_LEN_F0(intf), vsync_len); in mdp5_encoder_mode_set()
202 mdp5_write(mdp5_kms, REG_MDP5_INTF_DISPLAY_HCTL(intf), in mdp5_encoder_mode_set()
205 mdp5_write(mdp5_kms, REG_MDP5_INTF_DISPLAY_VSTART_F0(intf), display_v_start); in mdp5_encoder_mode_set()
206 mdp5_write(mdp5_kms, REG_MDP5_INTF_DISPLAY_VEND_F0(intf), display_v_end); in mdp5_encoder_mode_set()
207 mdp5_write(mdp5_kms, REG_MDP5_INTF_BORDER_COLOR(intf), 0); in mdp5_encoder_mode_set()
208 mdp5_write(mdp5_kms, REG_MDP5_INTF_UNDERFLOW_COLOR(intf), 0xff); in mdp5_encoder_mode_set()
[all …]
Dmdp5_kms.h29 struct mdp5_kms { struct
68 #define to_mdp5_kms(x) container_of(x, struct mdp5_kms, base) argument
115 static inline void mdp5_write(struct mdp5_kms *mdp5_kms, u32 reg, u32 data) in mdp5_write() argument
117 msm_writel(data, mdp5_kms->mmio + reg); in mdp5_write()
120 static inline u32 mdp5_read(struct mdp5_kms *mdp5_kms, u32 reg) in mdp5_read() argument
122 return msm_readl(mdp5_kms->mmio + reg); in mdp5_read()
192 int mdp5_disable(struct mdp5_kms *mdp5_kms);
193 int mdp5_enable(struct mdp5_kms *mdp5_kms);
202 int mdp5_irq_domain_init(struct mdp5_kms *mdp5_kms);
203 void mdp5_irq_domain_fini(struct mdp5_kms *mdp5_kms);
Dmdp5_crtc.c71 static struct mdp5_kms *get_kms(struct drm_crtc *crtc) in get_kms()
155 struct mdp5_kms *mdp5_kms = get_kms(&mdp5_crtc->base); in unref_cursor_worker() local
157 msm_gem_put_iova(val, mdp5_kms->id); in unref_cursor_worker()
192 struct mdp5_kms *mdp5_kms = get_kms(crtc); in blend_setup() local
199 hw_cfg = mdp5_cfg_get_hw_config(mdp5_kms->cfg); in blend_setup()
218 mdp5_write(mdp5_kms, in blend_setup()
222 mdp5_write(mdp5_kms, REG_MDP5_LM_BLEND_FG_ALPHA(lm, in blend_setup()
224 mdp5_write(mdp5_kms, REG_MDP5_LM_BLEND_BG_ALPHA(lm, in blend_setup()
242 struct mdp5_kms *mdp5_kms = get_kms(crtc); in mdp5_crtc_mode_set_nofb() local
261 mdp5_write(mdp5_kms, REG_MDP5_LM_OUT_SIZE(mdp5_crtc->lm), in mdp5_crtc_mode_set_nofb()
[all …]
Dmdp5_smp.c81 struct mdp5_kms *get_kms(struct mdp5_smp *smp) in get_kms()
114 struct mdp5_kms *mdp5_kms = get_kms(smp); in smp_request_block() local
121 hw_cfg = mdp5_cfg_get_hw_config(mdp5_kms->cfg); in smp_request_block()
133 dev_err(mdp5_kms->dev->dev, "out of blks (req=%d > avail=%d)\n", in smp_request_block()
164 struct mdp5_kms *mdp5_kms = get_kms(smp); in set_fifo_thresholds() local
171 mdp5_write(mdp5_kms, REG_MDP5_PIPE_REQPRIO_FIFO_WM_0(pipe), val * 1); in set_fifo_thresholds()
172 mdp5_write(mdp5_kms, REG_MDP5_PIPE_REQPRIO_FIFO_WM_1(pipe), val * 2); in set_fifo_thresholds()
173 mdp5_write(mdp5_kms, REG_MDP5_PIPE_REQPRIO_FIFO_WM_2(pipe), val * 3); in set_fifo_thresholds()
184 struct mdp5_kms *mdp5_kms = get_kms(smp); in mdp5_smp_request() local
185 struct drm_device *dev = mdp5_kms->dev; in mdp5_smp_request()
[all …]
Dmdp5_ctl.c83 struct mdp5_kms *get_kms(struct mdp5_ctl_manager *ctl_mgr) in get_kms()
93 struct mdp5_kms *mdp5_kms = get_kms(ctl->ctlm); in ctl_write() local
96 mdp5_write(mdp5_kms, reg, data); in ctl_write()
102 struct mdp5_kms *mdp5_kms = get_kms(ctl->ctlm); in ctl_read() local
105 return mdp5_read(mdp5_kms, reg); in ctl_read()
108 static void set_display_intf(struct mdp5_kms *mdp5_kms, in set_display_intf() argument
114 spin_lock_irqsave(&mdp5_kms->resource_lock, flags); in set_display_intf()
115 intf_sel = mdp5_read(mdp5_kms, REG_MDP5_MDP_DISP_INTF_SEL(0)); in set_display_intf()
139 mdp5_write(mdp5_kms, REG_MDP5_MDP_DISP_INTF_SEL(0), intf_sel); in set_display_intf()
140 spin_unlock_irqrestore(&mdp5_kms->resource_lock, flags); in set_display_intf()
[all …]
Dmdp5_cfg.h95 struct mdp5_kms;
106 struct mdp5_cfg_handler *mdp5_cfg_init(struct mdp5_kms *mdp5_kms,
Dmdp5_cfg.c236 struct mdp5_cfg_handler *mdp5_cfg_init(struct mdp5_kms *mdp5_kms, in mdp5_cfg_init() argument
239 struct drm_device *dev = mdp5_kms->dev; in mdp5_cfg_init()
Dmdp5_smp.h29 struct mdp5_kms;
/linux-4.1.27/drivers/gpu/drm/msm/
DMakefile36 mdp/mdp5/mdp5_kms.o \