Lines Matching refs:sdev

36 static int shmob_drm_init_interface(struct shmob_drm_device *sdev)
60 if (sdev->pdata->iface.interface >= ARRAY_SIZE(ldmt1r)) {
61 dev_err(sdev->dev, "invalid interface type %u\n",
62 sdev->pdata->iface.interface);
66 sdev->ldmt1r = ldmt1r[sdev->pdata->iface.interface];
70 static int shmob_drm_setup_clocks(struct shmob_drm_device *sdev,
79 sdev->lddckr = LDDCKR_ICKSEL_BUS;
83 sdev->lddckr = LDDCKR_ICKSEL_MIPI;
87 sdev->lddckr = LDDCKR_ICKSEL_HDMI;
93 clk = devm_clk_get(sdev->dev, clkname);
95 dev_err(sdev->dev, "cannot get dot clock %s\n", clkname);
99 sdev->clock = clk;
123 struct shmob_drm_device *sdev;
133 sdev = devm_kzalloc(&pdev->dev, sizeof(*sdev), GFP_KERNEL);
134 if (sdev == NULL) {
139 sdev->dev = &pdev->dev;
140 sdev->pdata = pdata;
141 spin_lock_init(&sdev->irq_lock);
143 sdev->ddev = dev;
144 dev->dev_private = sdev;
153 sdev->mmio = devm_ioremap_nocache(&pdev->dev, res->start,
155 if (sdev->mmio == NULL) {
160 ret = shmob_drm_setup_clocks(sdev, pdata->clk_source);
164 ret = shmob_drm_init_interface(sdev);
168 ret = shmob_drm_modeset_init(sdev);
175 ret = shmob_drm_plane_create(sdev, i);
194 platform_set_drvdata(pdev, sdev);
205 struct shmob_drm_device *sdev = dev->dev_private;
207 shmob_drm_crtc_cancel_page_flip(&sdev->crtc, file);
213 struct shmob_drm_device *sdev = dev->dev_private;
221 spin_lock_irqsave(&sdev->irq_lock, flags);
222 status = lcdc_read(sdev, LDINTR);
223 lcdc_write(sdev, LDINTR, status ^ LDINTR_STATUS_MASK);
224 spin_unlock_irqrestore(&sdev->irq_lock, flags);
228 shmob_drm_crtc_finish_page_flip(&sdev->crtc);
236 struct shmob_drm_device *sdev = dev->dev_private;
238 shmob_drm_crtc_enable_vblank(sdev, true);
245 struct shmob_drm_device *sdev = dev->dev_private;
247 shmob_drm_crtc_enable_vblank(sdev, false);
304 struct shmob_drm_device *sdev = dev_get_drvdata(dev);
306 drm_kms_helper_poll_disable(sdev->ddev);
307 shmob_drm_crtc_suspend(&sdev->crtc);
314 struct shmob_drm_device *sdev = dev_get_drvdata(dev);
316 drm_modeset_lock_all(sdev->ddev);
317 shmob_drm_crtc_resume(&sdev->crtc);
318 drm_modeset_unlock_all(sdev->ddev);
320 drm_kms_helper_poll_enable(sdev->ddev);
340 struct shmob_drm_device *sdev = platform_get_drvdata(pdev);
342 drm_put_dev(sdev->ddev);