aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c19
-rw-r--r--drivers/gpu/drm/omapdrm/dss/omapdss.h6
-rw-r--r--drivers/gpu/drm/omapdrm/dss/venc.c41
3 files changed, 0 insertions, 66 deletions
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
index 9eabd7201a12..5fdecc12b608 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
@@ -154,22 +154,6 @@ static int tvc_check_timings(struct omap_dss_device *dssdev,
154 return in->ops.atv->check_timings(in, vm); 154 return in->ops.atv->check_timings(in, vm);
155} 155}
156 156
157static u32 tvc_get_wss(struct omap_dss_device *dssdev)
158{
159 struct panel_drv_data *ddata = to_panel_data(dssdev);
160 struct omap_dss_device *in = ddata->in;
161
162 return in->ops.atv->get_wss(in);
163}
164
165static int tvc_set_wss(struct omap_dss_device *dssdev, u32 wss)
166{
167 struct panel_drv_data *ddata = to_panel_data(dssdev);
168 struct omap_dss_device *in = ddata->in;
169
170 return in->ops.atv->set_wss(in, wss);
171}
172
173static struct omap_dss_driver tvc_driver = { 157static struct omap_dss_driver tvc_driver = {
174 .connect = tvc_connect, 158 .connect = tvc_connect,
175 .disconnect = tvc_disconnect, 159 .disconnect = tvc_disconnect,
@@ -180,9 +164,6 @@ static struct omap_dss_driver tvc_driver = {
180 .set_timings = tvc_set_timings, 164 .set_timings = tvc_set_timings,
181 .get_timings = tvc_get_timings, 165 .get_timings = tvc_get_timings,
182 .check_timings = tvc_check_timings, 166 .check_timings = tvc_check_timings,
183
184 .get_wss = tvc_get_wss,
185 .set_wss = tvc_set_wss,
186}; 167};
187 168
188static int tvc_probe(struct platform_device *pdev) 169static int tvc_probe(struct platform_device *pdev)
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 8d530057a4b9..67db0ea272f3 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -362,9 +362,6 @@ struct omapdss_atv_ops {
362 struct videomode *vm); 362 struct videomode *vm);
363 void (*get_timings)(struct omap_dss_device *dssdev, 363 void (*get_timings)(struct omap_dss_device *dssdev,
364 struct videomode *vm); 364 struct videomode *vm);
365
366 int (*set_wss)(struct omap_dss_device *dssdev, u32 wss);
367 u32 (*get_wss)(struct omap_dss_device *dssdev);
368}; 365};
369 366
370struct omapdss_hdmi_ops { 367struct omapdss_hdmi_ops {
@@ -554,9 +551,6 @@ struct omap_dss_driver {
554 void (*get_size)(struct omap_dss_device *dssdev, 551 void (*get_size)(struct omap_dss_device *dssdev,
555 unsigned int *width, unsigned int *height); 552 unsigned int *width, unsigned int *height);
556 553
557 int (*set_wss)(struct omap_dss_device *dssdev, u32 wss);
558 u32 (*get_wss)(struct omap_dss_device *dssdev);
559
560 int (*read_edid)(struct omap_dss_device *dssdev, u8 *buf, int len); 554 int (*read_edid)(struct omap_dss_device *dssdev, u8 *buf, int len);
561 bool (*detect)(struct omap_dss_device *dssdev); 555 bool (*detect)(struct omap_dss_device *dssdev);
562 556
diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c
index ac01907dcc34..c573254df766 100644
--- a/drivers/gpu/drm/omapdrm/dss/venc.c
+++ b/drivers/gpu/drm/omapdrm/dss/venc.c
@@ -626,44 +626,6 @@ static void venc_get_timings(struct omap_dss_device *dssdev,
626 mutex_unlock(&venc->venc_lock); 626 mutex_unlock(&venc->venc_lock);
627} 627}
628 628
629static u32 venc_get_wss(struct omap_dss_device *dssdev)
630{
631 struct venc_device *venc = dssdev_to_venc(dssdev);
632
633 /* Invert due to VENC_L21_WC_CTL:INV=1 */
634 return (venc->wss_data >> 8) ^ 0xfffff;
635}
636
637static int venc_set_wss(struct omap_dss_device *dssdev, u32 wss)
638{
639 struct venc_device *venc = dssdev_to_venc(dssdev);
640 const struct venc_config *config;
641 int r;
642
643 DSSDBG("venc_set_wss\n");
644
645 mutex_lock(&venc->venc_lock);
646
647 config = venc_timings_to_config(&venc->vm);
648
649 /* Invert due to VENC_L21_WC_CTL:INV=1 */
650 venc->wss_data = (wss ^ 0xfffff) << 8;
651
652 r = venc_runtime_get(venc);
653 if (r)
654 goto err;
655
656 venc_write_reg(venc, VENC_BSTAMP_WSS_DATA, config->bstamp_wss_data |
657 venc->wss_data);
658
659 venc_runtime_put(venc);
660
661err:
662 mutex_unlock(&venc->venc_lock);
663
664 return r;
665}
666
667static int venc_init_regulator(struct venc_device *venc) 629static int venc_init_regulator(struct venc_device *venc)
668{ 630{
669 struct regulator *vdda_dac; 631 struct regulator *vdda_dac;
@@ -810,9 +772,6 @@ static const struct omapdss_atv_ops venc_ops = {
810 .check_timings = venc_check_timings, 772 .check_timings = venc_check_timings,
811 .set_timings = venc_set_timings, 773 .set_timings = venc_set_timings,
812 .get_timings = venc_get_timings, 774 .get_timings = venc_get_timings,
813
814 .set_wss = venc_set_wss,
815 .get_wss = venc_get_wss,
816}; 775};
817 776
818static void venc_init_output(struct venc_device *venc) 777static void venc_init_output(struct venc_device *venc)