/linux-4.1.27/drivers/gpu/drm/msm/mdp/mdp5/ |
D | mdp5_kms.c | 30 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 …]
|
D | mdp5_irq.c | 36 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 …]
|
D | mdp5_plane.c | 48 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 …]
|
D | mdp5_cmd_encoder.c | 27 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 …]
|
D | mdp5_encoder.c | 33 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 …]
|
D | mdp5_kms.h | 29 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);
|
D | mdp5_crtc.c | 71 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 …]
|
D | mdp5_smp.c | 81 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 …]
|
D | mdp5_ctl.c | 83 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 …]
|
D | mdp5_cfg.h | 95 struct mdp5_kms; 106 struct mdp5_cfg_handler *mdp5_cfg_init(struct mdp5_kms *mdp5_kms,
|
D | mdp5_cfg.c | 236 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()
|
D | mdp5_smp.h | 29 struct mdp5_kms;
|
/linux-4.1.27/drivers/gpu/drm/msm/ |
D | Makefile | 36 mdp/mdp5/mdp5_kms.o \
|