Home
last modified time | relevance | path

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

/drivers/gpu/drm/msm/mdp/mdp5/
Dmdp5_kms.c31 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_hw_init() local
32 struct platform_device *pdev = mdp5_kms->pdev; in mdp5_hw_init()
36 mdp5_enable(mdp5_kms); in mdp5_hw_init()
62 spin_lock_irqsave(&mdp5_kms->resource_lock, flags); in mdp5_hw_init()
63 mdp5_write(mdp5_kms, REG_MDP5_DISP_INTF_SEL, 0); in mdp5_hw_init()
64 spin_unlock_irqrestore(&mdp5_kms->resource_lock, flags); in mdp5_hw_init()
66 mdp5_ctlm_hw_reset(mdp5_kms->ctlm); in mdp5_hw_init()
68 mdp5_disable(mdp5_kms); in mdp5_hw_init()
76 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_prepare_commit() local
77 mdp5_enable(mdp5_kms); in mdp5_prepare_commit()
[all …]
Dmdp5_irq.c38 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_irq_preinstall() local
39 mdp5_enable(mdp5_kms); in mdp5_irq_preinstall()
40 mdp5_write(mdp5_kms, REG_MDP5_INTR_CLEAR, 0xffffffff); in mdp5_irq_preinstall()
41 mdp5_write(mdp5_kms, REG_MDP5_INTR_EN, 0x00000000); in mdp5_irq_preinstall()
42 mdp5_disable(mdp5_kms); in mdp5_irq_preinstall()
48 struct mdp5_kms *mdp5_kms = to_mdp5_kms(mdp_kms); in mdp5_irq_postinstall() local
49 struct mdp_irq *error_handler = &mdp5_kms->error_handler; in mdp5_irq_postinstall()
57 mdp5_enable(mdp5_kms); in mdp5_irq_postinstall()
59 mdp5_disable(mdp5_kms); in mdp5_irq_postinstall()
66 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_irq_uninstall() local
[all …]
Dmdp5_encoder.c35 static struct mdp5_kms *get_kms(struct drm_encoder *encoder) in get_kms()
120 struct mdp5_kms *mdp5_kms = get_kms(encoder); in mdp5_encoder_mode_set() local
196 mdp5_write(mdp5_kms, REG_MDP5_INTF_HSYNC_CTL(intf), in mdp5_encoder_mode_set()
199 mdp5_write(mdp5_kms, REG_MDP5_INTF_VSYNC_PERIOD_F0(intf), vsync_period); in mdp5_encoder_mode_set()
200 mdp5_write(mdp5_kms, REG_MDP5_INTF_VSYNC_LEN_F0(intf), vsync_len); in mdp5_encoder_mode_set()
201 mdp5_write(mdp5_kms, REG_MDP5_INTF_DISPLAY_HCTL(intf), in mdp5_encoder_mode_set()
204 mdp5_write(mdp5_kms, REG_MDP5_INTF_DISPLAY_VSTART_F0(intf), display_v_start); in mdp5_encoder_mode_set()
205 mdp5_write(mdp5_kms, REG_MDP5_INTF_DISPLAY_VEND_F0(intf), display_v_end); in mdp5_encoder_mode_set()
206 mdp5_write(mdp5_kms, REG_MDP5_INTF_BORDER_COLOR(intf), 0); in mdp5_encoder_mode_set()
207 mdp5_write(mdp5_kms, REG_MDP5_INTF_UNDERFLOW_COLOR(intf), 0xff); in mdp5_encoder_mode_set()
[all …]
Dmdp5_plane.c48 static struct mdp5_kms *get_kms(struct drm_plane *plane) in get_kms()
257 struct mdp5_kms *mdp5_kms = get_kms(plane); in mdp5_plane_prepare_fb() local
264 return msm_framebuffer_prepare(fb, mdp5_kms->id); in mdp5_plane_prepare_fb()
271 struct mdp5_kms *mdp5_kms = get_kms(plane); in mdp5_plane_cleanup_fb() local
278 msm_framebuffer_cleanup(fb, mdp5_kms->id); in mdp5_plane_cleanup_fb()
389 struct mdp5_kms *mdp5_kms = get_kms(plane); in set_scanout_locked() local
392 mdp5_write(mdp5_kms, REG_MDP5_PIPE_SRC_STRIDE_A(pipe), in set_scanout_locked()
396 mdp5_write(mdp5_kms, REG_MDP5_PIPE_SRC_STRIDE_B(pipe), in set_scanout_locked()
400 mdp5_write(mdp5_kms, REG_MDP5_PIPE_SRC0_ADDR(pipe), in set_scanout_locked()
401 msm_framebuffer_iova(fb, mdp5_kms->id, 0)); in set_scanout_locked()
[all …]
Dmdp5_cmd_encoder.c29 static struct mdp5_kms *get_kms(struct drm_encoder *encoder) in get_kms()
101 struct mdp5_kms *mdp5_kms = get_kms(encoder); in pingpong_tearcheck_setup() local
107 if (IS_ERR_OR_NULL(mdp5_kms->vsync_clk)) { in pingpong_tearcheck_setup()
119 vsync_clk_speed = clk_round_rate(mdp5_kms->vsync_clk, VSYNC_CLK_RATE); in pingpong_tearcheck_setup()
131 mdp5_write(mdp5_kms, REG_MDP5_PP_SYNC_CONFIG_VSYNC(pp_id), cfg); in pingpong_tearcheck_setup()
132 mdp5_write(mdp5_kms, in pingpong_tearcheck_setup()
134 mdp5_write(mdp5_kms, in pingpong_tearcheck_setup()
136 mdp5_write(mdp5_kms, REG_MDP5_PP_RD_PTR_IRQ(pp_id), mode->vdisplay + 1); in pingpong_tearcheck_setup()
137 mdp5_write(mdp5_kms, REG_MDP5_PP_START_POS(pp_id), mode->vdisplay); in pingpong_tearcheck_setup()
138 mdp5_write(mdp5_kms, REG_MDP5_PP_SYNC_THRESH(pp_id), in pingpong_tearcheck_setup()
[all …]
Dmdp5_kms.h29 struct mdp5_kms { struct
66 #define to_mdp5_kms(x) container_of(x, struct mdp5_kms, base) argument
107 static inline void mdp5_write(struct mdp5_kms *mdp5_kms, u32 reg, u32 data) in mdp5_write() argument
109 msm_writel(data, mdp5_kms->mmio + reg); in mdp5_write()
112 static inline u32 mdp5_read(struct mdp5_kms *mdp5_kms, u32 reg) in mdp5_read() argument
114 return msm_readl(mdp5_kms->mmio + reg); in mdp5_read()
184 int mdp5_disable(struct mdp5_kms *mdp5_kms);
185 int mdp5_enable(struct mdp5_kms *mdp5_kms);
195 int mdp5_irq_domain_init(struct mdp5_kms *mdp5_kms);
196 void mdp5_irq_domain_fini(struct mdp5_kms *mdp5_kms);
Dmdp5_crtc.c81 static struct mdp5_kms *get_kms(struct drm_crtc *crtc) in get_kms()
172 struct mdp5_kms *mdp5_kms = get_kms(&mdp5_crtc->base); in unref_cursor_worker() local
174 msm_gem_put_iova(val, mdp5_kms->id); in unref_cursor_worker()
198 struct mdp5_kms *mdp5_kms = get_kms(crtc); in blend_setup() local
210 hw_cfg = mdp5_cfg_get_hw_config(mdp5_kms->cfg); in blend_setup()
271 mdp5_write(mdp5_kms, REG_MDP5_LM_BLEND_OP_MODE(lm, in blend_setup()
273 mdp5_write(mdp5_kms, REG_MDP5_LM_BLEND_FG_ALPHA(lm, in blend_setup()
275 mdp5_write(mdp5_kms, REG_MDP5_LM_BLEND_BG_ALPHA(lm, in blend_setup()
288 struct mdp5_kms *mdp5_kms = get_kms(crtc); in mdp5_crtc_mode_set_nofb() local
307 mdp5_write(mdp5_kms, REG_MDP5_LM_OUT_SIZE(mdp5_crtc->lm), in mdp5_crtc_mode_set_nofb()
[all …]
Dmdp5_smp.c108 struct mdp5_kms *get_kms(struct mdp5_smp *smp) in get_kms()
141 struct mdp5_kms *mdp5_kms = get_kms(smp); in smp_request_block() local
158 dev_err(mdp5_kms->dev->dev, "out of blks (req=%d > avail=%d)\n", in smp_request_block()
194 struct mdp5_kms *mdp5_kms = get_kms(smp); in set_fifo_thresholds() local
201 mdp5_write(mdp5_kms, REG_MDP5_PIPE_REQPRIO_FIFO_WM_0(pipe), val * 1); in set_fifo_thresholds()
202 mdp5_write(mdp5_kms, REG_MDP5_PIPE_REQPRIO_FIFO_WM_1(pipe), val * 2); in set_fifo_thresholds()
203 mdp5_write(mdp5_kms, REG_MDP5_PIPE_REQPRIO_FIFO_WM_2(pipe), val * 3); in set_fifo_thresholds()
215 struct mdp5_kms *mdp5_kms = get_kms(smp); in mdp5_smp_request() local
216 struct drm_device *dev = mdp5_kms->dev; in mdp5_smp_request()
217 int rev = mdp5_cfg_get_hw_rev(mdp5_kms->cfg); in mdp5_smp_request()
[all …]
Dmdp5_ctl.c89 struct mdp5_kms *get_kms(struct mdp5_ctl_manager *ctl_mgr) in get_kms()
99 struct mdp5_kms *mdp5_kms = get_kms(ctl->ctlm); in ctl_write() local
102 mdp5_write(mdp5_kms, reg, data); in ctl_write()
108 struct mdp5_kms *mdp5_kms = get_kms(ctl->ctlm); in ctl_read() local
111 return mdp5_read(mdp5_kms, reg); in ctl_read()
114 static void set_display_intf(struct mdp5_kms *mdp5_kms, in set_display_intf() argument
120 spin_lock_irqsave(&mdp5_kms->resource_lock, flags); in set_display_intf()
121 intf_sel = mdp5_read(mdp5_kms, REG_MDP5_DISP_INTF_SEL); in set_display_intf()
145 mdp5_write(mdp5_kms, REG_MDP5_DISP_INTF_SEL, intf_sel); in set_display_intf()
146 spin_unlock_irqrestore(&mdp5_kms->resource_lock, flags); in set_display_intf()
[all …]
Dmdp5_cfg.h109 struct mdp5_kms;
120 struct mdp5_cfg_handler *mdp5_cfg_init(struct mdp5_kms *mdp5_kms,
Dmdp5_cfg.c494 struct mdp5_cfg_handler *mdp5_cfg_init(struct mdp5_kms *mdp5_kms, in mdp5_cfg_init() argument
497 struct drm_device *dev = mdp5_kms->dev; in mdp5_cfg_init()
Dmdp5_smp.h30 struct mdp5_kms;
/drivers/gpu/drm/msm/
DMakefile39 mdp/mdp5/mdp5_kms.o \