* [PATCH 01/13] drm/omap: panel-dpi: remove non-DT support
2017-05-12 10:41 [PATCH 00/13] drm/omap: legacy cleanup Tomi Valkeinen
@ 2017-05-12 10:41 ` Tomi Valkeinen
2017-05-12 12:08 ` Laurent Pinchart
2017-05-12 10:41 ` [PATCH 02/13] drm/omap: acx565akm: " Tomi Valkeinen
` (12 subsequent siblings)
13 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2017-05-12 10:41 UTC (permalink / raw)
To: dri-devel, Laurent Pinchart; +Cc: Tomi Valkeinen, Jyri Sarha
Non-DT booting is no longer supported, so remove legacy code.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
drivers/gpu/drm/omapdrm/displays/panel-dpi.c | 78 +++-------------------------
1 file changed, 6 insertions(+), 72 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
index 04ce8c5f2954..75b98bb81de2 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
@@ -18,7 +18,6 @@
#include <linux/regulator/consumer.h>
#include <linux/backlight.h>
-#include <video/omap-panel-data.h>
#include <video/of_display_timing.h>
#include "../dss/omapdss.h"
@@ -33,9 +32,6 @@ struct panel_drv_data {
struct backlight_device *backlight;
- /* used for non-DT boot, to be removed */
- int backlight_gpio;
-
struct gpio_desc *enable_gpio;
struct regulator *vcc_supply;
};
@@ -97,9 +93,6 @@ static int panel_dpi_enable(struct omap_dss_device *dssdev)
gpiod_set_value_cansleep(ddata->enable_gpio, 1);
- if (gpio_is_valid(ddata->backlight_gpio))
- gpio_set_value_cansleep(ddata->backlight_gpio, 1);
-
if (ddata->backlight) {
ddata->backlight->props.power = FB_BLANK_UNBLANK;
backlight_update_status(ddata->backlight);
@@ -118,9 +111,6 @@ static void panel_dpi_disable(struct omap_dss_device *dssdev)
if (!omapdss_device_is_enabled(dssdev))
return;
- if (gpio_is_valid(ddata->backlight_gpio))
- gpio_set_value_cansleep(ddata->backlight_gpio, 0);
-
if (ddata->backlight) {
ddata->backlight->props.power = FB_BLANK_POWERDOWN;
backlight_update_status(ddata->backlight);
@@ -177,47 +167,6 @@ static struct omap_dss_driver panel_dpi_ops = {
.get_resolution = omapdss_default_get_resolution,
};
-static int panel_dpi_probe_pdata(struct platform_device *pdev)
-{
- const struct panel_dpi_platform_data *pdata;
- struct panel_drv_data *ddata = platform_get_drvdata(pdev);
- struct omap_dss_device *dssdev, *in;
- int r;
-
- pdata = dev_get_platdata(&pdev->dev);
-
- in = omap_dss_find_output(pdata->source);
- if (in == NULL) {
- dev_err(&pdev->dev, "failed to find video source '%s'\n",
- pdata->source);
- return -EPROBE_DEFER;
- }
-
- ddata->in = in;
-
- ddata->data_lines = pdata->data_lines;
-
- videomode_from_timing(pdata->display_timing, &ddata->vm);
-
- dssdev = &ddata->dssdev;
- dssdev->name = pdata->name;
-
- r = devm_gpio_request_one(&pdev->dev, pdata->enable_gpio,
- GPIOF_OUT_INIT_LOW, "panel enable");
- if (r)
- goto err_gpio;
-
- ddata->enable_gpio = gpio_to_desc(pdata->enable_gpio);
-
- ddata->backlight_gpio = pdata->backlight_gpio;
-
- return 0;
-
-err_gpio:
- omap_dss_put_device(ddata->in);
- return r;
-}
-
static int panel_dpi_probe_of(struct platform_device *pdev)
{
struct panel_drv_data *ddata = platform_get_drvdata(pdev);
@@ -248,8 +197,6 @@ static int panel_dpi_probe_of(struct platform_device *pdev)
if (IS_ERR(ddata->vcc_supply))
return PTR_ERR(ddata->vcc_supply);
- ddata->backlight_gpio = -ENOENT;
-
bl_node = of_parse_phandle(node, "backlight", 0);
if (bl_node) {
ddata->backlight = of_find_backlight_by_node(bl_node);
@@ -291,30 +238,18 @@ static int panel_dpi_probe(struct platform_device *pdev)
struct omap_dss_device *dssdev;
int r;
+ if (!pdev->dev.of_node)
+ return -ENODEV;
+
ddata = devm_kzalloc(&pdev->dev, sizeof(*ddata), GFP_KERNEL);
if (ddata == NULL)
return -ENOMEM;
platform_set_drvdata(pdev, ddata);
- if (dev_get_platdata(&pdev->dev)) {
- r = panel_dpi_probe_pdata(pdev);
- if (r)
- return r;
- } else if (pdev->dev.of_node) {
- r = panel_dpi_probe_of(pdev);
- if (r)
- return r;
- } else {
- return -ENODEV;
- }
-
- if (gpio_is_valid(ddata->backlight_gpio)) {
- r = devm_gpio_request_one(&pdev->dev, ddata->backlight_gpio,
- GPIOF_OUT_INIT_LOW, "panel backlight");
- if (r)
- goto err_gpio;
- }
+ r = panel_dpi_probe_of(pdev);
+ if (r)
+ return r;
dssdev = &ddata->dssdev;
dssdev->dev = &pdev->dev;
@@ -333,7 +268,6 @@ static int panel_dpi_probe(struct platform_device *pdev)
return 0;
err_reg:
-err_gpio:
omap_dss_put_device(ddata->in);
return r;
}
--
2.7.4
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 30+ messages in thread* Re: [PATCH 01/13] drm/omap: panel-dpi: remove non-DT support
2017-05-12 10:41 ` [PATCH 01/13] drm/omap: panel-dpi: remove non-DT support Tomi Valkeinen
@ 2017-05-12 12:08 ` Laurent Pinchart
2017-05-12 12:29 ` Tomi Valkeinen
0 siblings, 1 reply; 30+ messages in thread
From: Laurent Pinchart @ 2017-05-12 12:08 UTC (permalink / raw)
To: Tomi Valkeinen; +Cc: Jyri Sarha, dri-devel
Hi Tomi,
Thank you for the patch.
On Friday 12 May 2017 13:41:30 Tomi Valkeinen wrote:
> Non-DT booting is no longer supported, so remove legacy code.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
> ---
> drivers/gpu/drm/omapdrm/displays/panel-dpi.c | 78 +++----------------------
> 1 file changed, 6 insertions(+), 72 deletions(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
> b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c index
> 04ce8c5f2954..75b98bb81de2 100644
> --- a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
> +++ b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
> @@ -18,7 +18,6 @@
I think you can drop linux/of_gpio.h.
> #include <linux/regulator/consumer.h>
> #include <linux/backlight.h>
>
> -#include <video/omap-panel-data.h>
> #include <video/of_display_timing.h>
>
> #include "../dss/omapdss.h"
> @@ -33,9 +32,6 @@ struct panel_drv_data {
>
> struct backlight_device *backlight;
>
> - /* used for non-DT boot, to be removed */
> - int backlight_gpio;
> -
> struct gpio_desc *enable_gpio;
> struct regulator *vcc_supply;
> };
> @@ -97,9 +93,6 @@ static int panel_dpi_enable(struct omap_dss_device
> *dssdev)
>
> gpiod_set_value_cansleep(ddata->enable_gpio, 1);
>
> - if (gpio_is_valid(ddata->backlight_gpio))
> - gpio_set_value_cansleep(ddata->backlight_gpio, 1);
> -
> if (ddata->backlight) {
> ddata->backlight->props.power = FB_BLANK_UNBLANK;
> backlight_update_status(ddata->backlight);
> @@ -118,9 +111,6 @@ static void panel_dpi_disable(struct omap_dss_device
> *dssdev) if (!omapdss_device_is_enabled(dssdev))
> return;
>
> - if (gpio_is_valid(ddata->backlight_gpio))
> - gpio_set_value_cansleep(ddata->backlight_gpio, 0);
> -
> if (ddata->backlight) {
> ddata->backlight->props.power = FB_BLANK_POWERDOWN;
> backlight_update_status(ddata->backlight);
> @@ -177,47 +167,6 @@ static struct omap_dss_driver panel_dpi_ops = {
> .get_resolution = omapdss_default_get_resolution,
> };
>
> -static int panel_dpi_probe_pdata(struct platform_device *pdev)
> -{
> - const struct panel_dpi_platform_data *pdata;
> - struct panel_drv_data *ddata = platform_get_drvdata(pdev);
> - struct omap_dss_device *dssdev, *in;
> - int r;
> -
> - pdata = dev_get_platdata(&pdev->dev);
> -
> - in = omap_dss_find_output(pdata->source);
> - if (in == NULL) {
> - dev_err(&pdev->dev, "failed to find video source '%s'\n",
> - pdata->source);
> - return -EPROBE_DEFER;
> - }
> -
> - ddata->in = in;
> -
> - ddata->data_lines = pdata->data_lines;
> -
> - videomode_from_timing(pdata->display_timing, &ddata->vm);
> -
> - dssdev = &ddata->dssdev;
> - dssdev->name = pdata->name;
> -
> - r = devm_gpio_request_one(&pdev->dev, pdata->enable_gpio,
> - GPIOF_OUT_INIT_LOW, "panel enable");
> - if (r)
> - goto err_gpio;
> -
> - ddata->enable_gpio = gpio_to_desc(pdata->enable_gpio);
> -
> - ddata->backlight_gpio = pdata->backlight_gpio;
> -
> - return 0;
> -
> -err_gpio:
> - omap_dss_put_device(ddata->in);
> - return r;
> -}
> -
> static int panel_dpi_probe_of(struct platform_device *pdev)
> {
> struct panel_drv_data *ddata = platform_get_drvdata(pdev);
> @@ -248,8 +197,6 @@ static int panel_dpi_probe_of(struct platform_device
> *pdev) if (IS_ERR(ddata->vcc_supply))
> return PTR_ERR(ddata->vcc_supply);
>
> - ddata->backlight_gpio = -ENOENT;
> -
> bl_node = of_parse_phandle(node, "backlight", 0);
> if (bl_node) {
> ddata->backlight = of_find_backlight_by_node(bl_node);
> @@ -291,30 +238,18 @@ static int panel_dpi_probe(struct platform_device
> *pdev) struct omap_dss_device *dssdev;
> int r;
>
> + if (!pdev->dev.of_node)
> + return -ENODEV;
> +
This can't happen.
> ddata = devm_kzalloc(&pdev->dev, sizeof(*ddata), GFP_KERNEL);
> if (ddata == NULL)
> return -ENOMEM;
>
> platform_set_drvdata(pdev, ddata);
>
> - if (dev_get_platdata(&pdev->dev)) {
> - r = panel_dpi_probe_pdata(pdev);
> - if (r)
> - return r;
> - } else if (pdev->dev.of_node) {
> - r = panel_dpi_probe_of(pdev);
> - if (r)
> - return r;
> - } else {
> - return -ENODEV;
> - }
> -
> - if (gpio_is_valid(ddata->backlight_gpio)) {
> - r = devm_gpio_request_one(&pdev->dev, ddata->backlight_gpio,
> - GPIOF_OUT_INIT_LOW, "panel backlight");
> - if (r)
> - goto err_gpio;
> - }
> + r = panel_dpi_probe_of(pdev);
> + if (r)
> + return r;
>
> dssdev = &ddata->dssdev;
> dssdev->dev = &pdev->dev;
> @@ -333,7 +268,6 @@ static int panel_dpi_probe(struct platform_device *pdev)
> return 0;
>
> err_reg:
> -err_gpio:
> omap_dss_put_device(ddata->in);
> return r;
> }
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 30+ messages in thread* Re: [PATCH 01/13] drm/omap: panel-dpi: remove non-DT support
2017-05-12 12:08 ` Laurent Pinchart
@ 2017-05-12 12:29 ` Tomi Valkeinen
2017-05-12 12:30 ` Laurent Pinchart
0 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2017-05-12 12:29 UTC (permalink / raw)
To: Laurent Pinchart; +Cc: Jyri Sarha, dri-devel
[-- Attachment #1.1.1: Type: text/plain, Size: 989 bytes --]
Hi,
On 12/05/17 15:08, Laurent Pinchart wrote:
> Hi Tomi,
>
> Thank you for the patch.
>
> On Friday 12 May 2017 13:41:30 Tomi Valkeinen wrote:
>> Non-DT booting is no longer supported, so remove legacy code.
>>
>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
>> ---
>> drivers/gpu/drm/omapdrm/displays/panel-dpi.c | 78 +++----------------------
>> 1 file changed, 6 insertions(+), 72 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
>> b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c index
>> 04ce8c5f2954..75b98bb81de2 100644
>> --- a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
>> +++ b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
>> @@ -18,7 +18,6 @@
>
> I think you can drop linux/of_gpio.h.
Yep.
>> + if (!pdev->dev.of_node)
>> + return -ENODEV;
>> +
>
> This can't happen.
True. I have removed that from the first three patches.
Do you want me to resend, or can I get your reviewed-by?
Tomi
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 01/13] drm/omap: panel-dpi: remove non-DT support
2017-05-12 12:29 ` Tomi Valkeinen
@ 2017-05-12 12:30 ` Laurent Pinchart
0 siblings, 0 replies; 30+ messages in thread
From: Laurent Pinchart @ 2017-05-12 12:30 UTC (permalink / raw)
To: Tomi Valkeinen; +Cc: Jyri Sarha, dri-devel
Hi Tomi,
On Friday 12 May 2017 15:29:38 Tomi Valkeinen wrote:
> On 12/05/17 15:08, Laurent Pinchart wrote:
> > On Friday 12 May 2017 13:41:30 Tomi Valkeinen wrote:
> >> Non-DT booting is no longer supported, so remove legacy code.
> >>
> >> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
> >> ---
> >>
> >> drivers/gpu/drm/omapdrm/displays/panel-dpi.c | 78 +++-------------------
> >> 1 file changed, 6 insertions(+), 72 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
> >> b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c index
> >> 04ce8c5f2954..75b98bb81de2 100644
> >> --- a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
> >> +++ b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
> >> @@ -18,7 +18,6 @@
> >
> > I think you can drop linux/of_gpio.h.
>
> Yep.
>
> >> + if (!pdev->dev.of_node)
> >> + return -ENODEV;
> >> +
> >
> > This can't happen.
>
> True. I have removed that from the first three patches.
>
> Do you want me to resend, or can I get your reviewed-by?
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 02/13] drm/omap: acx565akm: remove non-DT support
2017-05-12 10:41 [PATCH 00/13] drm/omap: legacy cleanup Tomi Valkeinen
2017-05-12 10:41 ` [PATCH 01/13] drm/omap: panel-dpi: remove non-DT support Tomi Valkeinen
@ 2017-05-12 10:41 ` Tomi Valkeinen
2017-05-12 12:10 ` Laurent Pinchart
2017-05-12 10:41 ` [PATCH 03/13] drm/omap: connector-analog-tv: " Tomi Valkeinen
` (11 subsequent siblings)
13 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2017-05-12 10:41 UTC (permalink / raw)
To: dri-devel, Laurent Pinchart; +Cc: Tomi Valkeinen, Jyri Sarha
Non-DT booting is no longer supported, so remove legacy code.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
.../drm/omapdrm/displays/panel-sony-acx565akm.c | 50 +++-------------------
1 file changed, 6 insertions(+), 44 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
index 5ab39e0060f2..be368868f77f 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
@@ -32,8 +32,6 @@
#include <linux/of.h>
#include <linux/of_gpio.h>
-#include <video/omap-panel-data.h>
-
#include "../dss/omapdss.h"
#define MIPID_CMD_READ_DISP_ID 0x04
@@ -69,7 +67,6 @@ struct panel_drv_data {
struct omap_dss_device *in;
int reset_gpio;
- int datapairs;
struct videomode vm;
@@ -547,9 +544,6 @@ static int acx565akm_panel_power_on(struct omap_dss_device *dssdev)
in->ops.sdi->set_timings(in, &ddata->vm);
- if (ddata->datapairs > 0)
- in->ops.sdi->set_datapairs(in, ddata->datapairs);
-
r = in->ops.sdi->enable(in);
if (r) {
pr_err("%s sdi enable failed\n", __func__);
@@ -701,32 +695,6 @@ static struct omap_dss_driver acx565akm_ops = {
.get_resolution = omapdss_default_get_resolution,
};
-static int acx565akm_probe_pdata(struct spi_device *spi)
-{
- const struct panel_acx565akm_platform_data *pdata;
- struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev);
- struct omap_dss_device *dssdev, *in;
-
- pdata = dev_get_platdata(&spi->dev);
-
- ddata->reset_gpio = pdata->reset_gpio;
-
- in = omap_dss_find_output(pdata->source);
- if (in == NULL) {
- dev_err(&spi->dev, "failed to find video source '%s'\n",
- pdata->source);
- return -EPROBE_DEFER;
- }
- ddata->in = in;
-
- ddata->datapairs = pdata->datapairs;
-
- dssdev = &ddata->dssdev;
- dssdev->name = pdata->name;
-
- return 0;
-}
-
static int acx565akm_probe_of(struct spi_device *spi)
{
struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev);
@@ -754,6 +722,9 @@ static int acx565akm_probe(struct spi_device *spi)
dev_dbg(&spi->dev, "%s\n", __func__);
+ if (!spi->dev.of_node)
+ return -ENODEV;
+
spi->mode = SPI_MODE_3;
ddata = devm_kzalloc(&spi->dev, sizeof(*ddata), GFP_KERNEL);
@@ -766,18 +737,9 @@ static int acx565akm_probe(struct spi_device *spi)
mutex_init(&ddata->mutex);
- if (dev_get_platdata(&spi->dev)) {
- r = acx565akm_probe_pdata(spi);
- if (r)
- return r;
- } else if (spi->dev.of_node) {
- r = acx565akm_probe_of(spi);
- if (r)
- return r;
- } else {
- dev_err(&spi->dev, "platform data missing!\n");
- return -ENODEV;
- }
+ r = acx565akm_probe_of(spi);
+ if (r)
+ return r;
if (gpio_is_valid(ddata->reset_gpio)) {
r = devm_gpio_request_one(&spi->dev, ddata->reset_gpio,
--
2.7.4
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 30+ messages in thread* Re: [PATCH 02/13] drm/omap: acx565akm: remove non-DT support
2017-05-12 10:41 ` [PATCH 02/13] drm/omap: acx565akm: " Tomi Valkeinen
@ 2017-05-12 12:10 ` Laurent Pinchart
0 siblings, 0 replies; 30+ messages in thread
From: Laurent Pinchart @ 2017-05-12 12:10 UTC (permalink / raw)
To: Tomi Valkeinen; +Cc: Jyri Sarha, dri-devel
Hi Tomi,
Thank you for the patch.
On Friday 12 May 2017 13:41:31 Tomi Valkeinen wrote:
> Non-DT booting is no longer supported, so remove legacy code.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
> ---
> .../drm/omapdrm/displays/panel-sony-acx565akm.c | 50 +++----------------
> 1 file changed, 6 insertions(+), 44 deletions(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
> b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c index
> 5ab39e0060f2..be368868f77f 100644
> --- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
> +++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
> @@ -32,8 +32,6 @@
> #include <linux/of.h>
> #include <linux/of_gpio.h>
Slightly out of scope for this patch, it would be nice to convert the driver
to gpiod.
>
> -#include <video/omap-panel-data.h>
> -
> #include "../dss/omapdss.h"
>
> #define MIPID_CMD_READ_DISP_ID 0x04
> @@ -69,7 +67,6 @@ struct panel_drv_data {
> struct omap_dss_device *in;
>
> int reset_gpio;
> - int datapairs;
>
> struct videomode vm;
>
> @@ -547,9 +544,6 @@ static int acx565akm_panel_power_on(struct
> omap_dss_device *dssdev)
>
> in->ops.sdi->set_timings(in, &ddata->vm);
>
> - if (ddata->datapairs > 0)
> - in->ops.sdi->set_datapairs(in, ddata->datapairs);
> -
> r = in->ops.sdi->enable(in);
> if (r) {
> pr_err("%s sdi enable failed\n", __func__);
> @@ -701,32 +695,6 @@ static struct omap_dss_driver acx565akm_ops = {
> .get_resolution = omapdss_default_get_resolution,
> };
>
> -static int acx565akm_probe_pdata(struct spi_device *spi)
> -{
> - const struct panel_acx565akm_platform_data *pdata;
> - struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev);
> - struct omap_dss_device *dssdev, *in;
> -
> - pdata = dev_get_platdata(&spi->dev);
> -
> - ddata->reset_gpio = pdata->reset_gpio;
> -
> - in = omap_dss_find_output(pdata->source);
> - if (in == NULL) {
> - dev_err(&spi->dev, "failed to find video source '%s'\n",
> - pdata->source);
> - return -EPROBE_DEFER;
> - }
> - ddata->in = in;
> -
> - ddata->datapairs = pdata->datapairs;
> -
> - dssdev = &ddata->dssdev;
> - dssdev->name = pdata->name;
> -
> - return 0;
> -}
> -
> static int acx565akm_probe_of(struct spi_device *spi)
> {
> struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev);
> @@ -754,6 +722,9 @@ static int acx565akm_probe(struct spi_device *spi)
>
> dev_dbg(&spi->dev, "%s\n", __func__);
>
> + if (!spi->dev.of_node)
> + return -ENODEV;
> +
This can't happen (I won't repeat the comment for the other patches in the
series, please take it into account where applicable).
> spi->mode = SPI_MODE_3;
>
> ddata = devm_kzalloc(&spi->dev, sizeof(*ddata), GFP_KERNEL);
> @@ -766,18 +737,9 @@ static int acx565akm_probe(struct spi_device *spi)
>
> mutex_init(&ddata->mutex);
>
> - if (dev_get_platdata(&spi->dev)) {
> - r = acx565akm_probe_pdata(spi);
> - if (r)
> - return r;
> - } else if (spi->dev.of_node) {
> - r = acx565akm_probe_of(spi);
> - if (r)
> - return r;
> - } else {
> - dev_err(&spi->dev, "platform data missing!\n");
> - return -ENODEV;
> - }
> + r = acx565akm_probe_of(spi);
> + if (r)
> + return r;
>
> if (gpio_is_valid(ddata->reset_gpio)) {
> r = devm_gpio_request_one(&spi->dev, ddata->reset_gpio,
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 03/13] drm/omap: connector-analog-tv: remove non-DT support
2017-05-12 10:41 [PATCH 00/13] drm/omap: legacy cleanup Tomi Valkeinen
2017-05-12 10:41 ` [PATCH 01/13] drm/omap: panel-dpi: remove non-DT support Tomi Valkeinen
2017-05-12 10:41 ` [PATCH 02/13] drm/omap: acx565akm: " Tomi Valkeinen
@ 2017-05-12 10:41 ` Tomi Valkeinen
2017-05-12 10:41 ` [PATCH 04/13] drm/omap: connector-dvi/hdmi: remove extra include Tomi Valkeinen
` (10 subsequent siblings)
13 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2017-05-12 10:41 UTC (permalink / raw)
To: dri-devel, Laurent Pinchart; +Cc: Tomi Valkeinen, Jyri Sarha
Non-DT booting is no longer supported, so remove legacy code.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
.../gpu/drm/omapdrm/displays/connector-analog-tv.c | 52 +++-------------------
1 file changed, 6 insertions(+), 46 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
index aaa8a58390f1..8453b1103abd 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
@@ -14,8 +14,6 @@
#include <linux/platform_device.h>
#include <linux/of.h>
-#include <video/omap-panel-data.h>
-
#include "../dss/omapdss.h"
struct panel_drv_data {
@@ -25,8 +23,6 @@ struct panel_drv_data {
struct device *dev;
struct videomode vm;
-
- bool invert_polarity;
};
static const struct videomode tvc_pal_vm = {
@@ -95,13 +91,6 @@ static int tvc_enable(struct omap_dss_device *dssdev)
in->ops.atv->set_timings(in, &ddata->vm);
- if (!ddata->dev->of_node) {
- in->ops.atv->set_type(in, OMAP_DSS_VENC_TYPE_COMPOSITE);
-
- in->ops.atv->invert_vid_out_polarity(in,
- ddata->invert_polarity);
- }
-
r = in->ops.atv->enable(in);
if (r)
return r;
@@ -188,30 +177,6 @@ static struct omap_dss_driver tvc_driver = {
.set_wss = tvc_set_wss,
};
-static int tvc_probe_pdata(struct platform_device *pdev)
-{
- struct panel_drv_data *ddata = platform_get_drvdata(pdev);
- struct connector_atv_platform_data *pdata;
- struct omap_dss_device *in, *dssdev;
-
- pdata = dev_get_platdata(&pdev->dev);
-
- in = omap_dss_find_output(pdata->source);
- if (in == NULL) {
- dev_err(&pdev->dev, "Failed to find video source\n");
- return -EPROBE_DEFER;
- }
-
- ddata->in = in;
-
- ddata->invert_polarity = pdata->invert_polarity;
-
- dssdev = &ddata->dssdev;
- dssdev->name = pdata->name;
-
- return 0;
-}
-
static int tvc_probe_of(struct platform_device *pdev)
{
struct panel_drv_data *ddata = platform_get_drvdata(pdev);
@@ -235,6 +200,9 @@ static int tvc_probe(struct platform_device *pdev)
struct omap_dss_device *dssdev;
int r;
+ if (!pdev->dev.of_node)
+ return -ENODEV;
+
ddata = devm_kzalloc(&pdev->dev, sizeof(*ddata), GFP_KERNEL);
if (!ddata)
return -ENOMEM;
@@ -242,17 +210,9 @@ static int tvc_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, ddata);
ddata->dev = &pdev->dev;
- if (dev_get_platdata(&pdev->dev)) {
- r = tvc_probe_pdata(pdev);
- if (r)
- return r;
- } else if (pdev->dev.of_node) {
- r = tvc_probe_of(pdev);
- if (r)
- return r;
- } else {
- return -ENODEV;
- }
+ r = tvc_probe_of(pdev);
+ if (r)
+ return r;
ddata->vm = tvc_pal_vm;
--
2.7.4
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 30+ messages in thread* [PATCH 04/13] drm/omap: connector-dvi/hdmi: remove extra include
2017-05-12 10:41 [PATCH 00/13] drm/omap: legacy cleanup Tomi Valkeinen
` (2 preceding siblings ...)
2017-05-12 10:41 ` [PATCH 03/13] drm/omap: connector-analog-tv: " Tomi Valkeinen
@ 2017-05-12 10:41 ` Tomi Valkeinen
2017-05-12 12:14 ` Laurent Pinchart
2017-05-12 10:41 ` [PATCH 05/13] drm/omap: sdi: remove legacy set_datapairs Tomi Valkeinen
` (9 subsequent siblings)
13 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2017-05-12 10:41 UTC (permalink / raw)
To: dri-devel, Laurent Pinchart; +Cc: Tomi Valkeinen, Jyri Sarha
Remove extra includes related to non-DT boot.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
drivers/gpu/drm/omapdrm/displays/connector-dvi.c | 1 -
drivers/gpu/drm/omapdrm/displays/connector-hdmi.c | 1 -
2 files changed, 2 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
index d6875d9fcefa..8720b2dcb316 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
@@ -15,7 +15,6 @@
#include <linux/slab.h>
#include <drm/drm_edid.h>
-#include <video/omap-panel-data.h>
#include "../dss/omapdss.h"
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
index 1ef130641bae..555e193c9732 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
@@ -17,7 +17,6 @@
#include <linux/of_gpio.h>
#include <drm/drm_edid.h>
-#include <video/omap-panel-data.h>
#include "../dss/omapdss.h"
--
2.7.4
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 30+ messages in thread* Re: [PATCH 04/13] drm/omap: connector-dvi/hdmi: remove extra include
2017-05-12 10:41 ` [PATCH 04/13] drm/omap: connector-dvi/hdmi: remove extra include Tomi Valkeinen
@ 2017-05-12 12:14 ` Laurent Pinchart
0 siblings, 0 replies; 30+ messages in thread
From: Laurent Pinchart @ 2017-05-12 12:14 UTC (permalink / raw)
To: Tomi Valkeinen; +Cc: Jyri Sarha, dri-devel
Hi Tomi,
Thank you for the patch.
On Friday 12 May 2017 13:41:33 Tomi Valkeinen wrote:
> Remove extra includes related to non-DT boot.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> drivers/gpu/drm/omapdrm/displays/connector-dvi.c | 1 -
> drivers/gpu/drm/omapdrm/displays/connector-hdmi.c | 1 -
> 2 files changed, 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
> b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c index
> d6875d9fcefa..8720b2dcb316 100644
> --- a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
> +++ b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
> @@ -15,7 +15,6 @@
> #include <linux/slab.h>
>
> #include <drm/drm_edid.h>
> -#include <video/omap-panel-data.h>
>
> #include "../dss/omapdss.h"
>
> diff --git a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
> b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c index
> 1ef130641bae..555e193c9732 100644
> --- a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
> +++ b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
> @@ -17,7 +17,6 @@
> #include <linux/of_gpio.h>
>
> #include <drm/drm_edid.h>
> -#include <video/omap-panel-data.h>
>
> #include "../dss/omapdss.h"
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 05/13] drm/omap: sdi: remove legacy set_datapairs
2017-05-12 10:41 [PATCH 00/13] drm/omap: legacy cleanup Tomi Valkeinen
` (3 preceding siblings ...)
2017-05-12 10:41 ` [PATCH 04/13] drm/omap: connector-dvi/hdmi: remove extra include Tomi Valkeinen
@ 2017-05-12 10:41 ` Tomi Valkeinen
2017-05-12 12:14 ` Laurent Pinchart
2017-05-12 10:41 ` [PATCH 06/13] drm/omap: venc: remove set_type & invert_vid_out_polarity Tomi Valkeinen
` (8 subsequent siblings)
13 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2017-05-12 10:41 UTC (permalink / raw)
To: dri-devel, Laurent Pinchart; +Cc: Tomi Valkeinen, Jyri Sarha
Non-DT booting is no longer supported, so remove legacy code.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
drivers/gpu/drm/omapdrm/dss/omapdss.h | 6 ------
drivers/gpu/drm/omapdrm/dss/sdi.c | 7 -------
2 files changed, 13 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 8396036e210c..1ce53b072b16 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -490,8 +490,6 @@ struct omapdss_sdi_ops {
struct videomode *vm);
void (*get_timings)(struct omap_dss_device *dssdev,
struct videomode *vm);
-
- void (*set_datapairs)(struct omap_dss_device *dssdev, int datapairs);
};
struct omapdss_dvi_ops {
@@ -642,10 +640,6 @@ struct omap_dss_device {
} rfbi;
struct {
- u8 datapairs;
- } sdi;
-
- struct {
int module;
} dsi;
diff --git a/drivers/gpu/drm/omapdrm/dss/sdi.c b/drivers/gpu/drm/omapdrm/dss/sdi.c
index f2f8aed53a7b..d18ad58c5a19 100644
--- a/drivers/gpu/drm/omapdrm/dss/sdi.c
+++ b/drivers/gpu/drm/omapdrm/dss/sdi.c
@@ -252,11 +252,6 @@ static int sdi_check_timings(struct omap_dss_device *dssdev,
return 0;
}
-static void sdi_set_datapairs(struct omap_dss_device *dssdev, int datapairs)
-{
- sdi.datapairs = datapairs;
-}
-
static int sdi_init_regulator(void)
{
struct regulator *vdds_sdi;
@@ -326,8 +321,6 @@ static const struct omapdss_sdi_ops sdi_ops = {
.check_timings = sdi_check_timings,
.set_timings = sdi_set_timings,
.get_timings = sdi_get_timings,
-
- .set_datapairs = sdi_set_datapairs,
};
static void sdi_init_output(struct platform_device *pdev)
--
2.7.4
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 30+ messages in thread* Re: [PATCH 05/13] drm/omap: sdi: remove legacy set_datapairs
2017-05-12 10:41 ` [PATCH 05/13] drm/omap: sdi: remove legacy set_datapairs Tomi Valkeinen
@ 2017-05-12 12:14 ` Laurent Pinchart
0 siblings, 0 replies; 30+ messages in thread
From: Laurent Pinchart @ 2017-05-12 12:14 UTC (permalink / raw)
To: Tomi Valkeinen; +Cc: Jyri Sarha, dri-devel
Hi Tomi,
Thank you for the patch.
On Friday 12 May 2017 13:41:34 Tomi Valkeinen wrote:
> Non-DT booting is no longer supported, so remove legacy code.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> drivers/gpu/drm/omapdrm/dss/omapdss.h | 6 ------
> drivers/gpu/drm/omapdrm/dss/sdi.c | 7 -------
> 2 files changed, 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> b/drivers/gpu/drm/omapdrm/dss/omapdss.h index 8396036e210c..1ce53b072b16
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
> @@ -490,8 +490,6 @@ struct omapdss_sdi_ops {
> struct videomode *vm);
> void (*get_timings)(struct omap_dss_device *dssdev,
> struct videomode *vm);
> -
> - void (*set_datapairs)(struct omap_dss_device *dssdev, int datapairs);
> };
>
> struct omapdss_dvi_ops {
> @@ -642,10 +640,6 @@ struct omap_dss_device {
> } rfbi;
>
> struct {
> - u8 datapairs;
> - } sdi;
> -
> - struct {
> int module;
> } dsi;
>
> diff --git a/drivers/gpu/drm/omapdrm/dss/sdi.c
> b/drivers/gpu/drm/omapdrm/dss/sdi.c index f2f8aed53a7b..d18ad58c5a19 100644
> --- a/drivers/gpu/drm/omapdrm/dss/sdi.c
> +++ b/drivers/gpu/drm/omapdrm/dss/sdi.c
> @@ -252,11 +252,6 @@ static int sdi_check_timings(struct omap_dss_device
> *dssdev, return 0;
> }
>
> -static void sdi_set_datapairs(struct omap_dss_device *dssdev, int
> datapairs) -{
> - sdi.datapairs = datapairs;
> -}
> -
> static int sdi_init_regulator(void)
> {
> struct regulator *vdds_sdi;
> @@ -326,8 +321,6 @@ static const struct omapdss_sdi_ops sdi_ops = {
> .check_timings = sdi_check_timings,
> .set_timings = sdi_set_timings,
> .get_timings = sdi_get_timings,
> -
> - .set_datapairs = sdi_set_datapairs,
> };
>
> static void sdi_init_output(struct platform_device *pdev)
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 06/13] drm/omap: venc: remove set_type & invert_vid_out_polarity
2017-05-12 10:41 [PATCH 00/13] drm/omap: legacy cleanup Tomi Valkeinen
` (4 preceding siblings ...)
2017-05-12 10:41 ` [PATCH 05/13] drm/omap: sdi: remove legacy set_datapairs Tomi Valkeinen
@ 2017-05-12 10:41 ` Tomi Valkeinen
2017-05-12 12:15 ` Laurent Pinchart
2017-05-12 10:41 ` [PATCH 07/13] drm/omap: remove recommended_bpp Tomi Valkeinen
` (7 subsequent siblings)
13 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2017-05-12 10:41 UTC (permalink / raw)
To: dri-devel, Laurent Pinchart; +Cc: Tomi Valkeinen, Jyri Sarha
Non-DT booting is no longer supported, so remove legacy code.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
drivers/gpu/drm/omapdrm/displays/encoder-opa362.c | 10 ----------
drivers/gpu/drm/omapdrm/dss/omapdss.h | 10 ----------
drivers/gpu/drm/omapdrm/dss/venc.c | 23 -----------------------
3 files changed, 43 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/displays/encoder-opa362.c b/drivers/gpu/drm/omapdrm/displays/encoder-opa362.c
index f7a5731492d0..b1f6aa09f699 100644
--- a/drivers/gpu/drm/omapdrm/displays/encoder-opa362.c
+++ b/drivers/gpu/drm/omapdrm/displays/encoder-opa362.c
@@ -157,14 +157,6 @@ static int opa362_check_timings(struct omap_dss_device *dssdev,
return in->ops.atv->check_timings(in, vm);
}
-static void opa362_set_type(struct omap_dss_device *dssdev,
- enum omap_dss_venc_type type)
-{
- /* we can only drive a COMPOSITE output */
- WARN_ON(type != OMAP_DSS_VENC_TYPE_COMPOSITE);
-
-}
-
static const struct omapdss_atv_ops opa362_atv_ops = {
.connect = opa362_connect,
.disconnect = opa362_disconnect,
@@ -175,8 +167,6 @@ static const struct omapdss_atv_ops opa362_atv_ops = {
.check_timings = opa362_check_timings,
.set_timings = opa362_set_timings,
.get_timings = opa362_get_timings,
-
- .set_type = opa362_set_type,
};
static int opa362_probe(struct platform_device *pdev)
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 1ce53b072b16..abdb332019e9 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -525,11 +525,6 @@ struct omapdss_atv_ops {
void (*get_timings)(struct omap_dss_device *dssdev,
struct videomode *vm);
- void (*set_type)(struct omap_dss_device *dssdev,
- enum omap_dss_venc_type type);
- void (*invert_vid_out_polarity)(struct omap_dss_device *dssdev,
- bool invert_polarity);
-
int (*set_wss)(struct omap_dss_device *dssdev, u32 wss);
u32 (*get_wss)(struct omap_dss_device *dssdev);
};
@@ -642,11 +637,6 @@ struct omap_dss_device {
struct {
int module;
} dsi;
-
- struct {
- enum omap_dss_venc_type type;
- bool invert_polarity;
- } venc;
} phy;
struct {
diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c
index 8e836fddc390..a6bfb3918b8d 100644
--- a/drivers/gpu/drm/omapdrm/dss/venc.c
+++ b/drivers/gpu/drm/omapdrm/dss/venc.c
@@ -616,26 +616,6 @@ static int venc_set_wss(struct omap_dss_device *dssdev, u32 wss)
return r;
}
-static void venc_set_type(struct omap_dss_device *dssdev,
- enum omap_dss_venc_type type)
-{
- mutex_lock(&venc.venc_lock);
-
- venc.type = type;
-
- mutex_unlock(&venc.venc_lock);
-}
-
-static void venc_invert_vid_out_polarity(struct omap_dss_device *dssdev,
- bool invert_polarity)
-{
- mutex_lock(&venc.venc_lock);
-
- venc.invert_polarity = invert_polarity;
-
- mutex_unlock(&venc.venc_lock);
-}
-
static int venc_init_regulator(void)
{
struct regulator *vdda_dac;
@@ -779,9 +759,6 @@ static const struct omapdss_atv_ops venc_ops = {
.set_timings = venc_set_timings,
.get_timings = venc_get_timings,
- .set_type = venc_set_type,
- .invert_vid_out_polarity = venc_invert_vid_out_polarity,
-
.set_wss = venc_set_wss,
.get_wss = venc_get_wss,
};
--
2.7.4
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 30+ messages in thread* Re: [PATCH 06/13] drm/omap: venc: remove set_type & invert_vid_out_polarity
2017-05-12 10:41 ` [PATCH 06/13] drm/omap: venc: remove set_type & invert_vid_out_polarity Tomi Valkeinen
@ 2017-05-12 12:15 ` Laurent Pinchart
0 siblings, 0 replies; 30+ messages in thread
From: Laurent Pinchart @ 2017-05-12 12:15 UTC (permalink / raw)
To: Tomi Valkeinen; +Cc: Jyri Sarha, dri-devel
Hi Tomi,
Thank you for the patch.
On Friday 12 May 2017 13:41:35 Tomi Valkeinen wrote:
> Non-DT booting is no longer supported, so remove legacy code.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> drivers/gpu/drm/omapdrm/displays/encoder-opa362.c | 10 ----------
> drivers/gpu/drm/omapdrm/dss/omapdss.h | 10 ----------
> drivers/gpu/drm/omapdrm/dss/venc.c | 23 -------------------
> 3 files changed, 43 deletions(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/displays/encoder-opa362.c
> b/drivers/gpu/drm/omapdrm/displays/encoder-opa362.c index
> f7a5731492d0..b1f6aa09f699 100644
> --- a/drivers/gpu/drm/omapdrm/displays/encoder-opa362.c
> +++ b/drivers/gpu/drm/omapdrm/displays/encoder-opa362.c
> @@ -157,14 +157,6 @@ static int opa362_check_timings(struct omap_dss_device
> *dssdev, return in->ops.atv->check_timings(in, vm);
> }
>
> -static void opa362_set_type(struct omap_dss_device *dssdev,
> - enum omap_dss_venc_type type)
> -{
> - /* we can only drive a COMPOSITE output */
> - WARN_ON(type != OMAP_DSS_VENC_TYPE_COMPOSITE);
> -
> -}
> -
> static const struct omapdss_atv_ops opa362_atv_ops = {
> .connect = opa362_connect,
> .disconnect = opa362_disconnect,
> @@ -175,8 +167,6 @@ static const struct omapdss_atv_ops opa362_atv_ops = {
> .check_timings = opa362_check_timings,
> .set_timings = opa362_set_timings,
> .get_timings = opa362_get_timings,
> -
> - .set_type = opa362_set_type,
> };
>
> static int opa362_probe(struct platform_device *pdev)
> diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> b/drivers/gpu/drm/omapdrm/dss/omapdss.h index 1ce53b072b16..abdb332019e9
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
> @@ -525,11 +525,6 @@ struct omapdss_atv_ops {
> void (*get_timings)(struct omap_dss_device *dssdev,
> struct videomode *vm);
>
> - void (*set_type)(struct omap_dss_device *dssdev,
> - enum omap_dss_venc_type type);
> - void (*invert_vid_out_polarity)(struct omap_dss_device *dssdev,
> - bool invert_polarity);
> -
> int (*set_wss)(struct omap_dss_device *dssdev, u32 wss);
> u32 (*get_wss)(struct omap_dss_device *dssdev);
> };
> @@ -642,11 +637,6 @@ struct omap_dss_device {
> struct {
> int module;
> } dsi;
> -
> - struct {
> - enum omap_dss_venc_type type;
> - bool invert_polarity;
> - } venc;
> } phy;
>
> struct {
> diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c
> b/drivers/gpu/drm/omapdrm/dss/venc.c index 8e836fddc390..a6bfb3918b8d
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/venc.c
> +++ b/drivers/gpu/drm/omapdrm/dss/venc.c
> @@ -616,26 +616,6 @@ static int venc_set_wss(struct omap_dss_device *dssdev,
> u32 wss) return r;
> }
>
> -static void venc_set_type(struct omap_dss_device *dssdev,
> - enum omap_dss_venc_type type)
> -{
> - mutex_lock(&venc.venc_lock);
> -
> - venc.type = type;
> -
> - mutex_unlock(&venc.venc_lock);
> -}
> -
> -static void venc_invert_vid_out_polarity(struct omap_dss_device *dssdev,
> - bool invert_polarity)
> -{
> - mutex_lock(&venc.venc_lock);
> -
> - venc.invert_polarity = invert_polarity;
> -
> - mutex_unlock(&venc.venc_lock);
> -}
> -
> static int venc_init_regulator(void)
> {
> struct regulator *vdda_dac;
> @@ -779,9 +759,6 @@ static const struct omapdss_atv_ops venc_ops = {
> .set_timings = venc_set_timings,
> .get_timings = venc_get_timings,
>
> - .set_type = venc_set_type,
> - .invert_vid_out_polarity = venc_invert_vid_out_polarity,
> -
> .set_wss = venc_set_wss,
> .get_wss = venc_get_wss,
> };
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 07/13] drm/omap: remove recommended_bpp
2017-05-12 10:41 [PATCH 00/13] drm/omap: legacy cleanup Tomi Valkeinen
` (5 preceding siblings ...)
2017-05-12 10:41 ` [PATCH 06/13] drm/omap: venc: remove set_type & invert_vid_out_polarity Tomi Valkeinen
@ 2017-05-12 10:41 ` Tomi Valkeinen
2017-05-12 12:16 ` Laurent Pinchart
2017-05-12 10:41 ` [PATCH 08/13] drm/omap: dpi: remove legacy data_lines Tomi Valkeinen
` (6 subsequent siblings)
13 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2017-05-12 10:41 UTC (permalink / raw)
To: dri-devel, Laurent Pinchart; +Cc: Tomi Valkeinen, Jyri Sarha
recommended_bpp hasn't been used for ages, remove the code.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 1 -
drivers/gpu/drm/omapdrm/dss/display.c | 33 -------------------------
drivers/gpu/drm/omapdrm/dss/omapdss.h | 2 --
3 files changed, 36 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
index ac5800c72cb4..1fbbe4c4bce6 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
@@ -1117,7 +1117,6 @@ static struct omap_dss_driver dsicm_ops = {
.sync = dsicm_sync,
.get_resolution = dsicm_get_resolution,
- .get_recommended_bpp = omapdss_default_get_recommended_bpp,
.enable_te = dsicm_enable_te,
.get_te = dsicm_get_te,
diff --git a/drivers/gpu/drm/omapdrm/dss/display.c b/drivers/gpu/drm/omapdrm/dss/display.c
index ac2e297e7e1b..10c36539d8ee 100644
--- a/drivers/gpu/drm/omapdrm/dss/display.c
+++ b/drivers/gpu/drm/omapdrm/dss/display.c
@@ -38,37 +38,6 @@ void omapdss_default_get_resolution(struct omap_dss_device *dssdev,
}
EXPORT_SYMBOL(omapdss_default_get_resolution);
-int omapdss_default_get_recommended_bpp(struct omap_dss_device *dssdev)
-{
- switch (dssdev->type) {
- case OMAP_DISPLAY_TYPE_DPI:
- if (dssdev->phy.dpi.data_lines == 24)
- return 24;
- else
- return 16;
-
- case OMAP_DISPLAY_TYPE_DBI:
- if (dssdev->ctrl.pixel_size == 24)
- return 24;
- else
- return 16;
- case OMAP_DISPLAY_TYPE_DSI:
- if (dssdev->panel.dsi_pix_fmt == OMAP_DSS_DSI_FMT_RGB565)
- return 16;
- else
- return 24;
- case OMAP_DISPLAY_TYPE_VENC:
- case OMAP_DISPLAY_TYPE_SDI:
- case OMAP_DISPLAY_TYPE_HDMI:
- case OMAP_DISPLAY_TYPE_DVI:
- return 24;
- default:
- BUG();
- return 0;
- }
-}
-EXPORT_SYMBOL(omapdss_default_get_recommended_bpp);
-
void omapdss_default_get_timings(struct omap_dss_device *dssdev,
struct videomode *vm)
{
@@ -104,8 +73,6 @@ int omapdss_register_display(struct omap_dss_device *dssdev)
if (drv && drv->get_resolution == NULL)
drv->get_resolution = omapdss_default_get_resolution;
- if (drv && drv->get_recommended_bpp == NULL)
- drv->get_recommended_bpp = omapdss_default_get_recommended_bpp;
if (drv && drv->get_timings == NULL)
drv->get_timings = omapdss_default_get_timings;
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index abdb332019e9..47f0205809a1 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -730,7 +730,6 @@ struct omap_dss_driver {
u16 *xres, u16 *yres);
void (*get_dimensions)(struct omap_dss_device *dssdev,
u32 *width, u32 *height);
- int (*get_recommended_bpp)(struct omap_dss_device *dssdev);
int (*check_timings)(struct omap_dss_device *dssdev,
struct videomode *vm);
@@ -792,7 +791,6 @@ struct omap_overlay_manager *omapdss_find_mgr_from_display(struct omap_dss_devic
void omapdss_default_get_resolution(struct omap_dss_device *dssdev,
u16 *xres, u16 *yres);
-int omapdss_default_get_recommended_bpp(struct omap_dss_device *dssdev);
void omapdss_default_get_timings(struct omap_dss_device *dssdev,
struct videomode *vm);
--
2.7.4
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 30+ messages in thread* Re: [PATCH 07/13] drm/omap: remove recommended_bpp
2017-05-12 10:41 ` [PATCH 07/13] drm/omap: remove recommended_bpp Tomi Valkeinen
@ 2017-05-12 12:16 ` Laurent Pinchart
0 siblings, 0 replies; 30+ messages in thread
From: Laurent Pinchart @ 2017-05-12 12:16 UTC (permalink / raw)
To: Tomi Valkeinen; +Cc: Jyri Sarha, dri-devel
Hi Tomi,
Thank you for the patch.
On Friday 12 May 2017 13:41:36 Tomi Valkeinen wrote:
> recommended_bpp hasn't been used for ages, remove the code.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 1 -
> drivers/gpu/drm/omapdrm/dss/display.c | 33 ---------------------
> drivers/gpu/drm/omapdrm/dss/omapdss.h | 2 --
> 3 files changed, 36 deletions(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
> b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c index
> ac5800c72cb4..1fbbe4c4bce6 100644
> --- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
> +++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
> @@ -1117,7 +1117,6 @@ static struct omap_dss_driver dsicm_ops = {
> .sync = dsicm_sync,
>
> .get_resolution = dsicm_get_resolution,
> - .get_recommended_bpp = omapdss_default_get_recommended_bpp,
>
> .enable_te = dsicm_enable_te,
> .get_te = dsicm_get_te,
> diff --git a/drivers/gpu/drm/omapdrm/dss/display.c
> b/drivers/gpu/drm/omapdrm/dss/display.c index ac2e297e7e1b..10c36539d8ee
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/display.c
> +++ b/drivers/gpu/drm/omapdrm/dss/display.c
> @@ -38,37 +38,6 @@ void omapdss_default_get_resolution(struct
> omap_dss_device *dssdev, }
> EXPORT_SYMBOL(omapdss_default_get_resolution);
>
> -int omapdss_default_get_recommended_bpp(struct omap_dss_device *dssdev)
> -{
> - switch (dssdev->type) {
> - case OMAP_DISPLAY_TYPE_DPI:
> - if (dssdev->phy.dpi.data_lines == 24)
> - return 24;
> - else
> - return 16;
> -
> - case OMAP_DISPLAY_TYPE_DBI:
> - if (dssdev->ctrl.pixel_size == 24)
> - return 24;
> - else
> - return 16;
> - case OMAP_DISPLAY_TYPE_DSI:
> - if (dssdev->panel.dsi_pix_fmt == OMAP_DSS_DSI_FMT_RGB565)
> - return 16;
> - else
> - return 24;
> - case OMAP_DISPLAY_TYPE_VENC:
> - case OMAP_DISPLAY_TYPE_SDI:
> - case OMAP_DISPLAY_TYPE_HDMI:
> - case OMAP_DISPLAY_TYPE_DVI:
> - return 24;
> - default:
> - BUG();
> - return 0;
> - }
> -}
> -EXPORT_SYMBOL(omapdss_default_get_recommended_bpp);
> -
> void omapdss_default_get_timings(struct omap_dss_device *dssdev,
> struct videomode *vm)
> {
> @@ -104,8 +73,6 @@ int omapdss_register_display(struct omap_dss_device
> *dssdev)
>
> if (drv && drv->get_resolution == NULL)
> drv->get_resolution = omapdss_default_get_resolution;
> - if (drv && drv->get_recommended_bpp == NULL)
> - drv->get_recommended_bpp =
omapdss_default_get_recommended_bpp;
> if (drv && drv->get_timings == NULL)
> drv->get_timings = omapdss_default_get_timings;
>
> diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> b/drivers/gpu/drm/omapdrm/dss/omapdss.h index abdb332019e9..47f0205809a1
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
> @@ -730,7 +730,6 @@ struct omap_dss_driver {
> u16 *xres, u16 *yres);
> void (*get_dimensions)(struct omap_dss_device *dssdev,
> u32 *width, u32 *height);
> - int (*get_recommended_bpp)(struct omap_dss_device *dssdev);
>
> int (*check_timings)(struct omap_dss_device *dssdev,
> struct videomode *vm);
> @@ -792,7 +791,6 @@ struct omap_overlay_manager
> *omapdss_find_mgr_from_display(struct omap_dss_devic
>
> void omapdss_default_get_resolution(struct omap_dss_device *dssdev,
> u16 *xres, u16 *yres);
> -int omapdss_default_get_recommended_bpp(struct omap_dss_device *dssdev);
> void omapdss_default_get_timings(struct omap_dss_device *dssdev,
> struct videomode *vm);
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 08/13] drm/omap: dpi: remove legacy data_lines
2017-05-12 10:41 [PATCH 00/13] drm/omap: legacy cleanup Tomi Valkeinen
` (6 preceding siblings ...)
2017-05-12 10:41 ` [PATCH 07/13] drm/omap: remove recommended_bpp Tomi Valkeinen
@ 2017-05-12 10:41 ` Tomi Valkeinen
2017-05-12 12:17 ` Laurent Pinchart
2017-05-12 10:41 ` [PATCH 09/13] drm/omap: remove rfbi Tomi Valkeinen
` (5 subsequent siblings)
13 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2017-05-12 10:41 UTC (permalink / raw)
To: dri-devel, Laurent Pinchart; +Cc: Tomi Valkeinen, Jyri Sarha
Remove DPI's legacy data_lines code.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c | 4 ----
drivers/gpu/drm/omapdrm/displays/panel-dpi.c | 5 -----
drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c | 5 -----
drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c | 4 ----
drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c | 5 -----
drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c | 5 -----
drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c | 4 ----
drivers/gpu/drm/omapdrm/dss/dpi.c | 13 -------------
drivers/gpu/drm/omapdrm/dss/omapdss.h | 6 ------
9 files changed, 51 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c b/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c
index 13e32d02c884..947295f9e30f 100644
--- a/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c
+++ b/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c
@@ -22,7 +22,6 @@ struct panel_drv_data {
struct omap_dss_device *in;
int pd_gpio;
- int data_lines;
struct videomode vm;
};
@@ -82,8 +81,6 @@ static int tfp410_enable(struct omap_dss_device *dssdev)
return 0;
in->ops.dpi->set_timings(in, &ddata->vm);
- if (ddata->data_lines)
- in->ops.dpi->set_data_lines(in, ddata->data_lines);
r = in->ops.dpi->enable(in);
if (r)
@@ -226,7 +223,6 @@ static int tfp410_probe(struct platform_device *pdev)
dssdev->type = OMAP_DISPLAY_TYPE_DPI;
dssdev->output_type = OMAP_DISPLAY_TYPE_DVI;
dssdev->owner = THIS_MODULE;
- dssdev->phy.dpi.data_lines = ddata->data_lines;
dssdev->port_num = 1;
r = omapdss_register_output(dssdev);
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
index 75b98bb81de2..cc5920b476d6 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
@@ -26,8 +26,6 @@ struct panel_drv_data {
struct omap_dss_device dssdev;
struct omap_dss_device *in;
- int data_lines;
-
struct videomode vm;
struct backlight_device *backlight;
@@ -77,8 +75,6 @@ static int panel_dpi_enable(struct omap_dss_device *dssdev)
if (omapdss_device_is_enabled(dssdev))
return 0;
- if (ddata->data_lines)
- in->ops.dpi->set_data_lines(in, ddata->data_lines);
in->ops.dpi->set_timings(in, &ddata->vm);
r = in->ops.dpi->enable(in);
@@ -257,7 +253,6 @@ static int panel_dpi_probe(struct platform_device *pdev)
dssdev->type = OMAP_DISPLAY_TYPE_DPI;
dssdev->owner = THIS_MODULE;
dssdev->panel.vm = ddata->vm;
- dssdev->phy.dpi.data_lines = ddata->data_lines;
r = omapdss_register_display(dssdev);
if (r) {
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
index 43d21edb51f5..451e1608a1db 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
@@ -49,8 +49,6 @@ struct panel_drv_data {
struct spi_device *spi;
- int data_lines;
-
struct videomode vm;
struct gpio_desc *enable_gpio;
@@ -159,8 +157,6 @@ static int lb035q02_enable(struct omap_dss_device *dssdev)
if (omapdss_device_is_enabled(dssdev))
return 0;
- if (ddata->data_lines)
- in->ops.dpi->set_data_lines(in, ddata->data_lines);
in->ops.dpi->set_timings(in, &ddata->vm);
r = in->ops.dpi->enable(in);
@@ -289,7 +285,6 @@ static int lb035q02_panel_spi_probe(struct spi_device *spi)
dssdev->type = OMAP_DISPLAY_TYPE_DPI;
dssdev->owner = THIS_MODULE;
dssdev->panel.vm = ddata->vm;
- dssdev->phy.dpi.data_lines = ddata->data_lines;
r = omapdss_register_display(dssdev);
if (r) {
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
index 2de27ba01552..95f6702a7b4f 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
@@ -25,8 +25,6 @@ struct panel_drv_data {
struct videomode vm;
- int data_lines;
-
int res_gpio;
int qvga_gpio;
@@ -153,8 +151,6 @@ static int nec_8048_enable(struct omap_dss_device *dssdev)
if (omapdss_device_is_enabled(dssdev))
return 0;
- if (ddata->data_lines)
- in->ops.dpi->set_data_lines(in, ddata->data_lines);
in->ops.dpi->set_timings(in, &ddata->vm);
r = in->ops.dpi->enable(in);
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
index 04fe235b7cac..b38c3df0532f 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
@@ -24,8 +24,6 @@ struct panel_drv_data {
struct omap_dss_device *in;
struct regulator *vcc;
- int data_lines;
-
struct videomode vm;
struct gpio_desc *resb_gpio; /* low = reset active min 20 us */
@@ -99,8 +97,6 @@ static int sharp_ls_enable(struct omap_dss_device *dssdev)
if (omapdss_device_is_enabled(dssdev))
return 0;
- if (ddata->data_lines)
- in->ops.dpi->set_data_lines(in, ddata->data_lines);
in->ops.dpi->set_timings(in, &ddata->vm);
if (ddata->vcc) {
@@ -289,7 +285,6 @@ static int sharp_ls_probe(struct platform_device *pdev)
dssdev->type = OMAP_DISPLAY_TYPE_DPI;
dssdev->owner = THIS_MODULE;
dssdev->panel.vm = ddata->vm;
- dssdev->phy.dpi.data_lines = ddata->data_lines;
r = omapdss_register_display(dssdev);
if (r) {
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
index f313dbfcbacb..cbf4c67c4933 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
@@ -35,8 +35,6 @@ struct panel_drv_data {
struct omap_dss_device dssdev;
struct omap_dss_device *in;
- int data_lines;
-
struct videomode vm;
struct spi_device *spi_dev;
@@ -207,8 +205,6 @@ static int td028ttec1_panel_enable(struct omap_dss_device *dssdev)
if (omapdss_device_is_enabled(dssdev))
return 0;
- if (ddata->data_lines)
- in->ops.dpi->set_data_lines(in, ddata->data_lines);
in->ops.dpi->set_timings(in, &ddata->vm);
r = in->ops.dpi->enable(in);
@@ -423,7 +419,6 @@ static int td028ttec1_panel_probe(struct spi_device *spi)
dssdev->type = OMAP_DISPLAY_TYPE_DPI;
dssdev->owner = THIS_MODULE;
dssdev->panel.vm = ddata->vm;
- dssdev->phy.dpi.data_lines = ddata->data_lines;
r = omapdss_register_display(dssdev);
if (r) {
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
index 0787dba44faa..da5ea2c378da 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
@@ -58,8 +58,6 @@ struct panel_drv_data {
struct videomode vm;
- int data_lines;
-
struct spi_device *spi;
struct regulator *vcc_reg;
int nreset_gpio;
@@ -378,8 +376,6 @@ static int tpo_td043_enable(struct omap_dss_device *dssdev)
if (omapdss_device_is_enabled(dssdev))
return 0;
- if (ddata->data_lines)
- in->ops.dpi->set_data_lines(in, ddata->data_lines);
in->ops.dpi->set_timings(in, &ddata->vm);
r = in->ops.dpi->enable(in);
diff --git a/drivers/gpu/drm/omapdrm/dss/dpi.c b/drivers/gpu/drm/omapdrm/dss/dpi.c
index b387c2f1f361..86dbb65a6c28 100644
--- a/drivers/gpu/drm/omapdrm/dss/dpi.c
+++ b/drivers/gpu/drm/omapdrm/dss/dpi.c
@@ -560,17 +560,6 @@ static int dpi_check_timings(struct omap_dss_device *dssdev,
return 0;
}
-static void dpi_set_data_lines(struct omap_dss_device *dssdev, int data_lines)
-{
- struct dpi_data *dpi = dpi_get_data_from_dssdev(dssdev);
-
- mutex_lock(&dpi->lock);
-
- dpi->data_lines = data_lines;
-
- mutex_unlock(&dpi->lock);
-}
-
static int dpi_verify_pll(struct dss_pll *pll)
{
int r;
@@ -725,8 +714,6 @@ static const struct omapdss_dpi_ops dpi_ops = {
.check_timings = dpi_check_timings,
.set_timings = dpi_set_timings,
.get_timings = dpi_get_timings,
-
- .set_data_lines = dpi_set_data_lines,
};
static void dpi_init_output_port(struct platform_device *pdev,
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 47f0205809a1..3cbc9e49aa5a 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -471,8 +471,6 @@ struct omapdss_dpi_ops {
struct videomode *vm);
void (*get_timings)(struct omap_dss_device *dssdev,
struct videomode *vm);
-
- void (*set_data_lines)(struct omap_dss_device *dssdev, int data_lines);
};
struct omapdss_sdi_ops {
@@ -626,10 +624,6 @@ struct omap_dss_device {
union {
struct {
- u8 data_lines;
- } dpi;
-
- struct {
u8 channel;
u8 data_lines;
} rfbi;
--
2.7.4
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 30+ messages in thread* Re: [PATCH 08/13] drm/omap: dpi: remove legacy data_lines
2017-05-12 10:41 ` [PATCH 08/13] drm/omap: dpi: remove legacy data_lines Tomi Valkeinen
@ 2017-05-12 12:17 ` Laurent Pinchart
0 siblings, 0 replies; 30+ messages in thread
From: Laurent Pinchart @ 2017-05-12 12:17 UTC (permalink / raw)
To: Tomi Valkeinen; +Cc: Jyri Sarha, dri-devel
Hi Tomi,
Thank you for the patch.
On Friday 12 May 2017 13:41:37 Tomi Valkeinen wrote:
> Remove DPI's legacy data_lines code.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c | 4 ----
> drivers/gpu/drm/omapdrm/displays/panel-dpi.c | 5 -----
> drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c | 5 -----
> drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c | 4 ----
> drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c | 5 -----
> drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c | 5 -----
> drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c | 4 ----
> drivers/gpu/drm/omapdrm/dss/dpi.c | 13 ----------
> drivers/gpu/drm/omapdrm/dss/omapdss.h | 6 ------
> 9 files changed, 51 deletions(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c
> b/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c index
> 13e32d02c884..947295f9e30f 100644
> --- a/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c
> +++ b/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c
> @@ -22,7 +22,6 @@ struct panel_drv_data {
> struct omap_dss_device *in;
>
> int pd_gpio;
> - int data_lines;
>
> struct videomode vm;
> };
> @@ -82,8 +81,6 @@ static int tfp410_enable(struct omap_dss_device *dssdev)
> return 0;
>
> in->ops.dpi->set_timings(in, &ddata->vm);
> - if (ddata->data_lines)
> - in->ops.dpi->set_data_lines(in, ddata->data_lines);
>
> r = in->ops.dpi->enable(in);
> if (r)
> @@ -226,7 +223,6 @@ static int tfp410_probe(struct platform_device *pdev)
> dssdev->type = OMAP_DISPLAY_TYPE_DPI;
> dssdev->output_type = OMAP_DISPLAY_TYPE_DVI;
> dssdev->owner = THIS_MODULE;
> - dssdev->phy.dpi.data_lines = ddata->data_lines;
> dssdev->port_num = 1;
>
> r = omapdss_register_output(dssdev);
> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
> b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c index
> 75b98bb81de2..cc5920b476d6 100644
> --- a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
> +++ b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
> @@ -26,8 +26,6 @@ struct panel_drv_data {
> struct omap_dss_device dssdev;
> struct omap_dss_device *in;
>
> - int data_lines;
> -
> struct videomode vm;
>
> struct backlight_device *backlight;
> @@ -77,8 +75,6 @@ static int panel_dpi_enable(struct omap_dss_device
> *dssdev) if (omapdss_device_is_enabled(dssdev))
> return 0;
>
> - if (ddata->data_lines)
> - in->ops.dpi->set_data_lines(in, ddata->data_lines);
> in->ops.dpi->set_timings(in, &ddata->vm);
>
> r = in->ops.dpi->enable(in);
> @@ -257,7 +253,6 @@ static int panel_dpi_probe(struct platform_device *pdev)
> dssdev->type = OMAP_DISPLAY_TYPE_DPI;
> dssdev->owner = THIS_MODULE;
> dssdev->panel.vm = ddata->vm;
> - dssdev->phy.dpi.data_lines = ddata->data_lines;
>
> r = omapdss_register_display(dssdev);
> if (r) {
> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
> b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c index
> 43d21edb51f5..451e1608a1db 100644
> --- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
> +++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
> @@ -49,8 +49,6 @@ struct panel_drv_data {
>
> struct spi_device *spi;
>
> - int data_lines;
> -
> struct videomode vm;
>
> struct gpio_desc *enable_gpio;
> @@ -159,8 +157,6 @@ static int lb035q02_enable(struct omap_dss_device
> *dssdev) if (omapdss_device_is_enabled(dssdev))
> return 0;
>
> - if (ddata->data_lines)
> - in->ops.dpi->set_data_lines(in, ddata->data_lines);
> in->ops.dpi->set_timings(in, &ddata->vm);
>
> r = in->ops.dpi->enable(in);
> @@ -289,7 +285,6 @@ static int lb035q02_panel_spi_probe(struct spi_device
> *spi) dssdev->type = OMAP_DISPLAY_TYPE_DPI;
> dssdev->owner = THIS_MODULE;
> dssdev->panel.vm = ddata->vm;
> - dssdev->phy.dpi.data_lines = ddata->data_lines;
>
> r = omapdss_register_display(dssdev);
> if (r) {
> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
> b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c index
> 2de27ba01552..95f6702a7b4f 100644
> --- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
> +++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
> @@ -25,8 +25,6 @@ struct panel_drv_data {
>
> struct videomode vm;
>
> - int data_lines;
> -
> int res_gpio;
> int qvga_gpio;
>
> @@ -153,8 +151,6 @@ static int nec_8048_enable(struct omap_dss_device
> *dssdev) if (omapdss_device_is_enabled(dssdev))
> return 0;
>
> - if (ddata->data_lines)
> - in->ops.dpi->set_data_lines(in, ddata->data_lines);
> in->ops.dpi->set_timings(in, &ddata->vm);
>
> r = in->ops.dpi->enable(in);
> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
> b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c index
> 04fe235b7cac..b38c3df0532f 100644
> --- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
> +++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
> @@ -24,8 +24,6 @@ struct panel_drv_data {
> struct omap_dss_device *in;
> struct regulator *vcc;
>
> - int data_lines;
> -
> struct videomode vm;
>
> struct gpio_desc *resb_gpio; /* low = reset active min 20 us */
> @@ -99,8 +97,6 @@ static int sharp_ls_enable(struct omap_dss_device *dssdev)
> if (omapdss_device_is_enabled(dssdev))
> return 0;
>
> - if (ddata->data_lines)
> - in->ops.dpi->set_data_lines(in, ddata->data_lines);
> in->ops.dpi->set_timings(in, &ddata->vm);
>
> if (ddata->vcc) {
> @@ -289,7 +285,6 @@ static int sharp_ls_probe(struct platform_device *pdev)
> dssdev->type = OMAP_DISPLAY_TYPE_DPI;
> dssdev->owner = THIS_MODULE;
> dssdev->panel.vm = ddata->vm;
> - dssdev->phy.dpi.data_lines = ddata->data_lines;
>
> r = omapdss_register_display(dssdev);
> if (r) {
> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
> b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c index
> f313dbfcbacb..cbf4c67c4933 100644
> --- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
> +++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
> @@ -35,8 +35,6 @@ struct panel_drv_data {
> struct omap_dss_device dssdev;
> struct omap_dss_device *in;
>
> - int data_lines;
> -
> struct videomode vm;
>
> struct spi_device *spi_dev;
> @@ -207,8 +205,6 @@ static int td028ttec1_panel_enable(struct
> omap_dss_device *dssdev) if (omapdss_device_is_enabled(dssdev))
> return 0;
>
> - if (ddata->data_lines)
> - in->ops.dpi->set_data_lines(in, ddata->data_lines);
> in->ops.dpi->set_timings(in, &ddata->vm);
>
> r = in->ops.dpi->enable(in);
> @@ -423,7 +419,6 @@ static int td028ttec1_panel_probe(struct spi_device
> *spi) dssdev->type = OMAP_DISPLAY_TYPE_DPI;
> dssdev->owner = THIS_MODULE;
> dssdev->panel.vm = ddata->vm;
> - dssdev->phy.dpi.data_lines = ddata->data_lines;
>
> r = omapdss_register_display(dssdev);
> if (r) {
> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
> b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c index
> 0787dba44faa..da5ea2c378da 100644
> --- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
> +++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
> @@ -58,8 +58,6 @@ struct panel_drv_data {
>
> struct videomode vm;
>
> - int data_lines;
> -
> struct spi_device *spi;
> struct regulator *vcc_reg;
> int nreset_gpio;
> @@ -378,8 +376,6 @@ static int tpo_td043_enable(struct omap_dss_device
> *dssdev) if (omapdss_device_is_enabled(dssdev))
> return 0;
>
> - if (ddata->data_lines)
> - in->ops.dpi->set_data_lines(in, ddata->data_lines);
> in->ops.dpi->set_timings(in, &ddata->vm);
>
> r = in->ops.dpi->enable(in);
> diff --git a/drivers/gpu/drm/omapdrm/dss/dpi.c
> b/drivers/gpu/drm/omapdrm/dss/dpi.c index b387c2f1f361..86dbb65a6c28 100644
> --- a/drivers/gpu/drm/omapdrm/dss/dpi.c
> +++ b/drivers/gpu/drm/omapdrm/dss/dpi.c
> @@ -560,17 +560,6 @@ static int dpi_check_timings(struct omap_dss_device
> *dssdev, return 0;
> }
>
> -static void dpi_set_data_lines(struct omap_dss_device *dssdev, int
> data_lines) -{
> - struct dpi_data *dpi = dpi_get_data_from_dssdev(dssdev);
> -
> - mutex_lock(&dpi->lock);
> -
> - dpi->data_lines = data_lines;
> -
> - mutex_unlock(&dpi->lock);
> -}
> -
> static int dpi_verify_pll(struct dss_pll *pll)
> {
> int r;
> @@ -725,8 +714,6 @@ static const struct omapdss_dpi_ops dpi_ops = {
> .check_timings = dpi_check_timings,
> .set_timings = dpi_set_timings,
> .get_timings = dpi_get_timings,
> -
> - .set_data_lines = dpi_set_data_lines,
> };
>
> static void dpi_init_output_port(struct platform_device *pdev,
> diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> b/drivers/gpu/drm/omapdrm/dss/omapdss.h index 47f0205809a1..3cbc9e49aa5a
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
> @@ -471,8 +471,6 @@ struct omapdss_dpi_ops {
> struct videomode *vm);
> void (*get_timings)(struct omap_dss_device *dssdev,
> struct videomode *vm);
> -
> - void (*set_data_lines)(struct omap_dss_device *dssdev, int
data_lines);
> };
>
> struct omapdss_sdi_ops {
> @@ -626,10 +624,6 @@ struct omap_dss_device {
>
> union {
> struct {
> - u8 data_lines;
> - } dpi;
> -
> - struct {
> u8 channel;
> u8 data_lines;
> } rfbi;
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 09/13] drm/omap: remove rfbi
2017-05-12 10:41 [PATCH 00/13] drm/omap: legacy cleanup Tomi Valkeinen
` (7 preceding siblings ...)
2017-05-12 10:41 ` [PATCH 08/13] drm/omap: dpi: remove legacy data_lines Tomi Valkeinen
@ 2017-05-12 10:41 ` Tomi Valkeinen
2017-05-12 12:18 ` Laurent Pinchart
2017-05-12 10:41 ` [PATCH 10/13] drm/omap: remove unused get_dimensions() Tomi Valkeinen
` (4 subsequent siblings)
13 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2017-05-12 10:41 UTC (permalink / raw)
To: dri-devel, Laurent Pinchart; +Cc: Tomi Valkeinen, Jyri Sarha
The RFBI driver has not worked nor compiled for many years. There are
very few boards out there that use RFBI, and no one has stepped up to
fix it.
So let's remove the RFBI code that doesn't even compile.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
drivers/gpu/drm/omapdrm/dss/Kconfig | 13 -
drivers/gpu/drm/omapdrm/dss/Makefile | 1 -
drivers/gpu/drm/omapdrm/dss/core.c | 6 -
drivers/gpu/drm/omapdrm/dss/dss.h | 4 -
drivers/gpu/drm/omapdrm/dss/omapdss.h | 32 -
drivers/gpu/drm/omapdrm/dss/rfbi.c | 1075 ---------------------------------
6 files changed, 1131 deletions(-)
delete mode 100644 drivers/gpu/drm/omapdrm/dss/rfbi.c
diff --git a/drivers/gpu/drm/omapdrm/dss/Kconfig b/drivers/gpu/drm/omapdrm/dss/Kconfig
index f53adb944a0d..8b87d5cf45fc 100644
--- a/drivers/gpu/drm/omapdrm/dss/Kconfig
+++ b/drivers/gpu/drm/omapdrm/dss/Kconfig
@@ -49,19 +49,6 @@ config OMAP2_DSS_DPI
help
DPI Interface. This is the Parallel Display Interface.
-config OMAP2_DSS_RFBI
- bool "RFBI support"
- depends on BROKEN
- default n
- help
- MIPI DBI support (RFBI, Remote Framebuffer Interface, in Texas
- Instrument's terminology).
-
- DBI is a bus between the host processor and a peripheral,
- such as a display or a framebuffer chip.
-
- See http://www.mipi.org/ for DBI specifications.
-
config OMAP2_DSS_VENC
bool "VENC support"
default y
diff --git a/drivers/gpu/drm/omapdrm/dss/Makefile b/drivers/gpu/drm/omapdrm/dss/Makefile
index 75ec30f231c7..688195e448c5 100644
--- a/drivers/gpu/drm/omapdrm/dss/Makefile
+++ b/drivers/gpu/drm/omapdrm/dss/Makefile
@@ -8,7 +8,6 @@ obj-$(CONFIG_OMAP2_DSS) += omapdss.o
omapdss-y := core.o dss.o dss_features.o dispc.o dispc_coefs.o \
pll.o video-pll.o
omapdss-$(CONFIG_OMAP2_DSS_DPI) += dpi.o
-omapdss-$(CONFIG_OMAP2_DSS_RFBI) += rfbi.o
omapdss-$(CONFIG_OMAP2_DSS_VENC) += venc.o
omapdss-$(CONFIG_OMAP2_DSS_SDI) += sdi.o
omapdss-$(CONFIG_OMAP2_DSS_DSI) += dsi.o
diff --git a/drivers/gpu/drm/omapdrm/dss/core.c b/drivers/gpu/drm/omapdrm/dss/core.c
index f056bffcab73..bdce4bfdf6e0 100644
--- a/drivers/gpu/drm/omapdrm/dss/core.c
+++ b/drivers/gpu/drm/omapdrm/dss/core.c
@@ -208,9 +208,6 @@ static int (*dss_output_drv_reg_funcs[])(void) __initdata = {
#ifdef CONFIG_OMAP2_DSS_DSI
dsi_init_platform_driver,
#endif
-#ifdef CONFIG_OMAP2_DSS_RFBI
- rfbi_init_platform_driver,
-#endif
#ifdef CONFIG_OMAP2_DSS_VENC
venc_init_platform_driver,
#endif
@@ -232,9 +229,6 @@ static void (*dss_output_drv_unreg_funcs[])(void) = {
#ifdef CONFIG_OMAP2_DSS_VENC
venc_uninit_platform_driver,
#endif
-#ifdef CONFIG_OMAP2_DSS_RFBI
- rfbi_uninit_platform_driver,
-#endif
#ifdef CONFIG_OMAP2_DSS_DSI
dsi_uninit_platform_driver,
#endif
diff --git a/drivers/gpu/drm/omapdrm/dss/dss.h b/drivers/gpu/drm/omapdrm/dss/dss.h
index d8bf99a97571..8dbf35f3ab23 100644
--- a/drivers/gpu/drm/omapdrm/dss/dss.h
+++ b/drivers/gpu/drm/omapdrm/dss/dss.h
@@ -382,10 +382,6 @@ void hdmi4_uninit_platform_driver(void);
int hdmi5_init_platform_driver(void) __init;
void hdmi5_uninit_platform_driver(void);
-/* RFBI */
-int rfbi_init_platform_driver(void) __init;
-void rfbi_uninit_platform_driver(void);
-
#ifdef CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS
static inline void dss_collect_irq_stats(u32 irqstatus, unsigned *irq_arr)
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 3cbc9e49aa5a..8eb8315a6c95 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -126,11 +126,6 @@ enum omap_dss_trans_key_type {
OMAP_DSS_COLOR_KEY_VID_SRC = 1,
};
-enum omap_rfbi_te_mode {
- OMAP_DSS_RFBI_TE_MODE_1 = 1,
- OMAP_DSS_RFBI_TE_MODE_2 = 2,
-};
-
enum omap_dss_signal_level {
OMAPDSS_SIG_ACTIVE_LOW,
OMAPDSS_SIG_ACTIVE_HIGH,
@@ -220,27 +215,6 @@ enum omap_dss_output_id {
OMAP_DSS_OUTPUT_HDMI = 1 << 6,
};
-/* RFBI */
-
-struct rfbi_timings {
- int cs_on_time;
- int cs_off_time;
- int we_on_time;
- int we_off_time;
- int re_on_time;
- int re_off_time;
- int we_cycle_time;
- int re_cycle_time;
- int cs_pulse_width;
- int access_time;
-
- int clk_div;
-
- u32 tim[5]; /* set by rfbi_convert_timings() */
-
- int converted;
-};
-
/* DSI */
enum omap_dss_dsi_trans_mode {
@@ -624,11 +598,6 @@ struct omap_dss_device {
union {
struct {
- u8 channel;
- u8 data_lines;
- } rfbi;
-
- struct {
int module;
} dsi;
} phy;
@@ -642,7 +611,6 @@ struct omap_dss_device {
struct {
u8 pixel_size;
- struct rfbi_timings rfbi_timings;
} ctrl;
const char *name;
diff --git a/drivers/gpu/drm/omapdrm/dss/rfbi.c b/drivers/gpu/drm/omapdrm/dss/rfbi.c
deleted file mode 100644
index bf6b96877daf..000000000000
--- a/drivers/gpu/drm/omapdrm/dss/rfbi.c
+++ /dev/null
@@ -1,1075 +0,0 @@
-/*
- * linux/drivers/video/omap2/dss/rfbi.c
- *
- * Copyright (C) 2009 Nokia Corporation
- * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
- *
- * Some code and ideas taken from drivers/video/omap/ driver
- * by Imre Deak.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by
- * the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#define DSS_SUBSYS_NAME "RFBI"
-
-#include <linux/kernel.h>
-#include <linux/dma-mapping.h>
-#include <linux/export.h>
-#include <linux/vmalloc.h>
-#include <linux/clk.h>
-#include <linux/io.h>
-#include <linux/delay.h>
-#include <linux/kfifo.h>
-#include <linux/ktime.h>
-#include <linux/hrtimer.h>
-#include <linux/seq_file.h>
-#include <linux/semaphore.h>
-#include <linux/platform_device.h>
-#include <linux/pm_runtime.h>
-#include <linux/component.h>
-
-#include "omapdss.h"
-#include "dss.h"
-
-struct rfbi_reg { u16 idx; };
-
-#define RFBI_REG(idx) ((const struct rfbi_reg) { idx })
-
-#define RFBI_REVISION RFBI_REG(0x0000)
-#define RFBI_SYSCONFIG RFBI_REG(0x0010)
-#define RFBI_SYSSTATUS RFBI_REG(0x0014)
-#define RFBI_CONTROL RFBI_REG(0x0040)
-#define RFBI_PIXEL_CNT RFBI_REG(0x0044)
-#define RFBI_LINE_NUMBER RFBI_REG(0x0048)
-#define RFBI_CMD RFBI_REG(0x004c)
-#define RFBI_PARAM RFBI_REG(0x0050)
-#define RFBI_DATA RFBI_REG(0x0054)
-#define RFBI_READ RFBI_REG(0x0058)
-#define RFBI_STATUS RFBI_REG(0x005c)
-
-#define RFBI_CONFIG(n) RFBI_REG(0x0060 + (n)*0x18)
-#define RFBI_ONOFF_TIME(n) RFBI_REG(0x0064 + (n)*0x18)
-#define RFBI_CYCLE_TIME(n) RFBI_REG(0x0068 + (n)*0x18)
-#define RFBI_DATA_CYCLE1(n) RFBI_REG(0x006c + (n)*0x18)
-#define RFBI_DATA_CYCLE2(n) RFBI_REG(0x0070 + (n)*0x18)
-#define RFBI_DATA_CYCLE3(n) RFBI_REG(0x0074 + (n)*0x18)
-
-#define RFBI_VSYNC_WIDTH RFBI_REG(0x0090)
-#define RFBI_HSYNC_WIDTH RFBI_REG(0x0094)
-
-#define REG_FLD_MOD(idx, val, start, end) \
- rfbi_write_reg(idx, FLD_MOD(rfbi_read_reg(idx), val, start, end))
-
-enum omap_rfbi_cycleformat {
- OMAP_DSS_RFBI_CYCLEFORMAT_1_1 = 0,
- OMAP_DSS_RFBI_CYCLEFORMAT_2_1 = 1,
- OMAP_DSS_RFBI_CYCLEFORMAT_3_1 = 2,
- OMAP_DSS_RFBI_CYCLEFORMAT_3_2 = 3,
-};
-
-enum omap_rfbi_datatype {
- OMAP_DSS_RFBI_DATATYPE_12 = 0,
- OMAP_DSS_RFBI_DATATYPE_16 = 1,
- OMAP_DSS_RFBI_DATATYPE_18 = 2,
- OMAP_DSS_RFBI_DATATYPE_24 = 3,
-};
-
-enum omap_rfbi_parallelmode {
- OMAP_DSS_RFBI_PARALLELMODE_8 = 0,
- OMAP_DSS_RFBI_PARALLELMODE_9 = 1,
- OMAP_DSS_RFBI_PARALLELMODE_12 = 2,
- OMAP_DSS_RFBI_PARALLELMODE_16 = 3,
-};
-
-static int rfbi_convert_timings(struct rfbi_timings *t);
-static void rfbi_get_clk_info(u32 *clk_period, u32 *max_clk_div);
-
-static struct {
- struct platform_device *pdev;
- void __iomem *base;
-
- unsigned long l4_khz;
-
- enum omap_rfbi_datatype datatype;
- enum omap_rfbi_parallelmode parallelmode;
-
- enum omap_rfbi_te_mode te_mode;
- int te_enabled;
-
- void (*framedone_callback)(void *data);
- void *framedone_callback_data;
-
- struct omap_dss_device *dssdev[2];
-
- struct semaphore bus_lock;
-
- struct videomode vm;
- int pixel_size;
- int data_lines;
- struct rfbi_timings intf_timings;
-
- struct omap_dss_device output;
-} rfbi;
-
-static inline void rfbi_write_reg(const struct rfbi_reg idx, u32 val)
-{
- __raw_writel(val, rfbi.base + idx.idx);
-}
-
-static inline u32 rfbi_read_reg(const struct rfbi_reg idx)
-{
- return __raw_readl(rfbi.base + idx.idx);
-}
-
-static int rfbi_runtime_get(void)
-{
- int r;
-
- DSSDBG("rfbi_runtime_get\n");
-
- r = pm_runtime_get_sync(&rfbi.pdev->dev);
- WARN_ON(r < 0);
- return r < 0 ? r : 0;
-}
-
-static void rfbi_runtime_put(void)
-{
- int r;
-
- DSSDBG("rfbi_runtime_put\n");
-
- r = pm_runtime_put_sync(&rfbi.pdev->dev);
- WARN_ON(r < 0 && r != -ENOSYS);
-}
-
-static void rfbi_bus_lock(void)
-{
- down(&rfbi.bus_lock);
-}
-
-static void rfbi_bus_unlock(void)
-{
- up(&rfbi.bus_lock);
-}
-
-static void rfbi_write_command(const void *buf, u32 len)
-{
- switch (rfbi.parallelmode) {
- case OMAP_DSS_RFBI_PARALLELMODE_8:
- {
- const u8 *b = buf;
- for (; len; len--)
- rfbi_write_reg(RFBI_CMD, *b++);
- break;
- }
-
- case OMAP_DSS_RFBI_PARALLELMODE_16:
- {
- const u16 *w = buf;
- BUG_ON(len & 1);
- for (; len; len -= 2)
- rfbi_write_reg(RFBI_CMD, *w++);
- break;
- }
-
- case OMAP_DSS_RFBI_PARALLELMODE_9:
- case OMAP_DSS_RFBI_PARALLELMODE_12:
- default:
- BUG();
- }
-}
-
-static void rfbi_read_data(void *buf, u32 len)
-{
- switch (rfbi.parallelmode) {
- case OMAP_DSS_RFBI_PARALLELMODE_8:
- {
- u8 *b = buf;
- for (; len; len--) {
- rfbi_write_reg(RFBI_READ, 0);
- *b++ = rfbi_read_reg(RFBI_READ);
- }
- break;
- }
-
- case OMAP_DSS_RFBI_PARALLELMODE_16:
- {
- u16 *w = buf;
- BUG_ON(len & ~1);
- for (; len; len -= 2) {
- rfbi_write_reg(RFBI_READ, 0);
- *w++ = rfbi_read_reg(RFBI_READ);
- }
- break;
- }
-
- case OMAP_DSS_RFBI_PARALLELMODE_9:
- case OMAP_DSS_RFBI_PARALLELMODE_12:
- default:
- BUG();
- }
-}
-
-static void rfbi_write_data(const void *buf, u32 len)
-{
- switch (rfbi.parallelmode) {
- case OMAP_DSS_RFBI_PARALLELMODE_8:
- {
- const u8 *b = buf;
- for (; len; len--)
- rfbi_write_reg(RFBI_PARAM, *b++);
- break;
- }
-
- case OMAP_DSS_RFBI_PARALLELMODE_16:
- {
- const u16 *w = buf;
- BUG_ON(len & 1);
- for (; len; len -= 2)
- rfbi_write_reg(RFBI_PARAM, *w++);
- break;
- }
-
- case OMAP_DSS_RFBI_PARALLELMODE_9:
- case OMAP_DSS_RFBI_PARALLELMODE_12:
- default:
- BUG();
-
- }
-}
-
-static void rfbi_write_pixels(const void __iomem *buf, int scr_width,
- u16 x, u16 y,
- u16 w, u16 h)
-{
- int start_offset = scr_width * y + x;
- int horiz_offset = scr_width - w;
- int i;
-
- if (rfbi.datatype == OMAP_DSS_RFBI_DATATYPE_16 &&
- rfbi.parallelmode == OMAP_DSS_RFBI_PARALLELMODE_8) {
- const u16 __iomem *pd = buf;
- pd += start_offset;
-
- for (; h; --h) {
- for (i = 0; i < w; ++i) {
- const u8 __iomem *b = (const u8 __iomem *)pd;
- rfbi_write_reg(RFBI_PARAM, __raw_readb(b+1));
- rfbi_write_reg(RFBI_PARAM, __raw_readb(b+0));
- ++pd;
- }
- pd += horiz_offset;
- }
- } else if (rfbi.datatype == OMAP_DSS_RFBI_DATATYPE_24 &&
- rfbi.parallelmode == OMAP_DSS_RFBI_PARALLELMODE_8) {
- const u32 __iomem *pd = buf;
- pd += start_offset;
-
- for (; h; --h) {
- for (i = 0; i < w; ++i) {
- const u8 __iomem *b = (const u8 __iomem *)pd;
- rfbi_write_reg(RFBI_PARAM, __raw_readb(b+2));
- rfbi_write_reg(RFBI_PARAM, __raw_readb(b+1));
- rfbi_write_reg(RFBI_PARAM, __raw_readb(b+0));
- ++pd;
- }
- pd += horiz_offset;
- }
- } else if (rfbi.datatype == OMAP_DSS_RFBI_DATATYPE_16 &&
- rfbi.parallelmode == OMAP_DSS_RFBI_PARALLELMODE_16) {
- const u16 __iomem *pd = buf;
- pd += start_offset;
-
- for (; h; --h) {
- for (i = 0; i < w; ++i) {
- rfbi_write_reg(RFBI_PARAM, __raw_readw(pd));
- ++pd;
- }
- pd += horiz_offset;
- }
- } else {
- BUG();
- }
-}
-
-static int rfbi_transfer_area(struct omap_dss_device *dssdev,
- void (*callback)(void *data), void *data)
-{
- u32 l;
- int r;
- struct omap_overlay_manager *mgr = rfbi.output.manager;
- u16 width = rfbi.vm.hactive;
- u16 height = rfbi.vm.vactive;
-
- /*BUG_ON(callback == 0);*/
- BUG_ON(rfbi.framedone_callback != NULL);
-
- DSSDBG("rfbi_transfer_area %dx%d\n", width, height);
-
- dss_mgr_set_timings(mgr, &rfbi.vm);
-
- r = dss_mgr_enable(mgr);
- if (r)
- return r;
-
- rfbi.framedone_callback = callback;
- rfbi.framedone_callback_data = data;
-
- rfbi_write_reg(RFBI_PIXEL_CNT, width * height);
-
- l = rfbi_read_reg(RFBI_CONTROL);
- l = FLD_MOD(l, 1, 0, 0); /* enable */
- if (!rfbi.te_enabled)
- l = FLD_MOD(l, 1, 4, 4); /* ITE */
-
- rfbi_write_reg(RFBI_CONTROL, l);
-
- return 0;
-}
-
-static void framedone_callback(void *data)
-{
- void (*callback)(void *data);
-
- DSSDBG("FRAMEDONE\n");
-
- REG_FLD_MOD(RFBI_CONTROL, 0, 0, 0);
-
- callback = rfbi.framedone_callback;
- rfbi.framedone_callback = NULL;
-
- if (callback != NULL)
- callback(rfbi.framedone_callback_data);
-}
-
-#if 1 /* VERBOSE */
-static void rfbi_print_timings(void)
-{
- u32 l;
- u32 time;
-
- l = rfbi_read_reg(RFBI_CONFIG(0));
- time = 1000000000 / rfbi.l4_khz;
- if (l & (1 << 4))
- time *= 2;
-
- DSSDBG("Tick time %u ps\n", time);
- l = rfbi_read_reg(RFBI_ONOFF_TIME(0));
- DSSDBG("CSONTIME %d, CSOFFTIME %d, WEONTIME %d, WEOFFTIME %d, "
- "REONTIME %d, REOFFTIME %d\n",
- l & 0x0f, (l >> 4) & 0x3f, (l >> 10) & 0x0f, (l >> 14) & 0x3f,
- (l >> 20) & 0x0f, (l >> 24) & 0x3f);
-
- l = rfbi_read_reg(RFBI_CYCLE_TIME(0));
- DSSDBG("WECYCLETIME %d, RECYCLETIME %d, CSPULSEWIDTH %d, "
- "ACCESSTIME %d\n",
- (l & 0x3f), (l >> 6) & 0x3f, (l >> 12) & 0x3f,
- (l >> 22) & 0x3f);
-}
-#else
-static void rfbi_print_timings(void) {}
-#endif
-
-
-
-
-static u32 extif_clk_period;
-
-static inline unsigned long round_to_extif_ticks(unsigned long ps, int div)
-{
- int bus_tick = extif_clk_period * div;
- return (ps + bus_tick - 1) / bus_tick * bus_tick;
-}
-
-static int calc_reg_timing(struct rfbi_timings *t, int div)
-{
- t->clk_div = div;
-
- t->cs_on_time = round_to_extif_ticks(t->cs_on_time, div);
-
- t->we_on_time = round_to_extif_ticks(t->we_on_time, div);
- t->we_off_time = round_to_extif_ticks(t->we_off_time, div);
- t->we_cycle_time = round_to_extif_ticks(t->we_cycle_time, div);
-
- t->re_on_time = round_to_extif_ticks(t->re_on_time, div);
- t->re_off_time = round_to_extif_ticks(t->re_off_time, div);
- t->re_cycle_time = round_to_extif_ticks(t->re_cycle_time, div);
-
- t->access_time = round_to_extif_ticks(t->access_time, div);
- t->cs_off_time = round_to_extif_ticks(t->cs_off_time, div);
- t->cs_pulse_width = round_to_extif_ticks(t->cs_pulse_width, div);
-
- DSSDBG("[reg]cson %d csoff %d reon %d reoff %d\n",
- t->cs_on_time, t->cs_off_time, t->re_on_time, t->re_off_time);
- DSSDBG("[reg]weon %d weoff %d recyc %d wecyc %d\n",
- t->we_on_time, t->we_off_time, t->re_cycle_time,
- t->we_cycle_time);
- DSSDBG("[reg]rdaccess %d cspulse %d\n",
- t->access_time, t->cs_pulse_width);
-
- return rfbi_convert_timings(t);
-}
-
-static int calc_extif_timings(struct rfbi_timings *t)
-{
- u32 max_clk_div;
- int div;
-
- rfbi_get_clk_info(&extif_clk_period, &max_clk_div);
- for (div = 1; div <= max_clk_div; div++) {
- if (calc_reg_timing(t, div) == 0)
- break;
- }
-
- if (div <= max_clk_div)
- return 0;
-
- DSSERR("can't setup timings\n");
- return -1;
-}
-
-
-static void rfbi_set_timings(int rfbi_module, struct rfbi_timings *t)
-{
- int r;
-
- if (!t->converted) {
- r = calc_extif_timings(t);
- if (r < 0)
- DSSERR("Failed to calc timings\n");
- }
-
- BUG_ON(!t->converted);
-
- rfbi_write_reg(RFBI_ONOFF_TIME(rfbi_module), t->tim[0]);
- rfbi_write_reg(RFBI_CYCLE_TIME(rfbi_module), t->tim[1]);
-
- /* TIMEGRANULARITY */
- REG_FLD_MOD(RFBI_CONFIG(rfbi_module),
- (t->tim[2] ? 1 : 0), 4, 4);
-
- rfbi_print_timings();
-}
-
-static int ps_to_rfbi_ticks(int time, int div)
-{
- unsigned long tick_ps;
- int ret;
-
- /* Calculate in picosecs to yield more exact results */
- tick_ps = 1000000000 / (rfbi.l4_khz) * div;
-
- ret = (time + tick_ps - 1) / tick_ps;
-
- return ret;
-}
-
-static void rfbi_get_clk_info(u32 *clk_period, u32 *max_clk_div)
-{
- *clk_period = 1000000000 / rfbi.l4_khz;
- *max_clk_div = 2;
-}
-
-static int rfbi_convert_timings(struct rfbi_timings *t)
-{
- u32 l;
- int reon, reoff, weon, weoff, cson, csoff, cs_pulse;
- int actim, recyc, wecyc;
- int div = t->clk_div;
-
- if (div <= 0 || div > 2)
- return -1;
-
- /* Make sure that after conversion it still holds that:
- * weoff > weon, reoff > reon, recyc >= reoff, wecyc >= weoff,
- * csoff > cson, csoff >= max(weoff, reoff), actim > reon
- */
- weon = ps_to_rfbi_ticks(t->we_on_time, div);
- weoff = ps_to_rfbi_ticks(t->we_off_time, div);
- if (weoff <= weon)
- weoff = weon + 1;
- if (weon > 0x0f)
- return -1;
- if (weoff > 0x3f)
- return -1;
-
- reon = ps_to_rfbi_ticks(t->re_on_time, div);
- reoff = ps_to_rfbi_ticks(t->re_off_time, div);
- if (reoff <= reon)
- reoff = reon + 1;
- if (reon > 0x0f)
- return -1;
- if (reoff > 0x3f)
- return -1;
-
- cson = ps_to_rfbi_ticks(t->cs_on_time, div);
- csoff = ps_to_rfbi_ticks(t->cs_off_time, div);
- if (csoff <= cson)
- csoff = cson + 1;
- if (csoff < max(weoff, reoff))
- csoff = max(weoff, reoff);
- if (cson > 0x0f)
- return -1;
- if (csoff > 0x3f)
- return -1;
-
- l = cson;
- l |= csoff << 4;
- l |= weon << 10;
- l |= weoff << 14;
- l |= reon << 20;
- l |= reoff << 24;
-
- t->tim[0] = l;
-
- actim = ps_to_rfbi_ticks(t->access_time, div);
- if (actim <= reon)
- actim = reon + 1;
- if (actim > 0x3f)
- return -1;
-
- wecyc = ps_to_rfbi_ticks(t->we_cycle_time, div);
- if (wecyc < weoff)
- wecyc = weoff;
- if (wecyc > 0x3f)
- return -1;
-
- recyc = ps_to_rfbi_ticks(t->re_cycle_time, div);
- if (recyc < reoff)
- recyc = reoff;
- if (recyc > 0x3f)
- return -1;
-
- cs_pulse = ps_to_rfbi_ticks(t->cs_pulse_width, div);
- if (cs_pulse > 0x3f)
- return -1;
-
- l = wecyc;
- l |= recyc << 6;
- l |= cs_pulse << 12;
- l |= actim << 22;
-
- t->tim[1] = l;
-
- t->tim[2] = div - 1;
-
- t->converted = 1;
-
- return 0;
-}
-
-/* xxx FIX module selection missing */
-static int rfbi_setup_te(enum omap_rfbi_te_mode mode,
- unsigned hs_pulse_time, unsigned vs_pulse_time,
- int hs_pol_inv, int vs_pol_inv, int extif_div)
-{
- int hs, vs;
- int min;
- u32 l;
-
- hs = ps_to_rfbi_ticks(hs_pulse_time, 1);
- vs = ps_to_rfbi_ticks(vs_pulse_time, 1);
- if (hs < 2)
- return -EDOM;
- if (mode == OMAP_DSS_RFBI_TE_MODE_2)
- min = 2;
- else /* OMAP_DSS_RFBI_TE_MODE_1 */
- min = 4;
- if (vs < min)
- return -EDOM;
- if (vs == hs)
- return -EINVAL;
- rfbi.te_mode = mode;
- DSSDBG("setup_te: mode %d hs %d vs %d hs_inv %d vs_inv %d\n",
- mode, hs, vs, hs_pol_inv, vs_pol_inv);
-
- rfbi_write_reg(RFBI_HSYNC_WIDTH, hs);
- rfbi_write_reg(RFBI_VSYNC_WIDTH, vs);
-
- l = rfbi_read_reg(RFBI_CONFIG(0));
- if (hs_pol_inv)
- l &= ~(1 << 21);
- else
- l |= 1 << 21;
- if (vs_pol_inv)
- l &= ~(1 << 20);
- else
- l |= 1 << 20;
-
- return 0;
-}
-
-/* xxx FIX module selection missing */
-static int rfbi_enable_te(bool enable, unsigned line)
-{
- u32 l;
-
- DSSDBG("te %d line %d mode %d\n", enable, line, rfbi.te_mode);
- if (line > (1 << 11) - 1)
- return -EINVAL;
-
- l = rfbi_read_reg(RFBI_CONFIG(0));
- l &= ~(0x3 << 2);
- if (enable) {
- rfbi.te_enabled = 1;
- l |= rfbi.te_mode << 2;
- } else
- rfbi.te_enabled = 0;
- rfbi_write_reg(RFBI_CONFIG(0), l);
- rfbi_write_reg(RFBI_LINE_NUMBER, line);
-
- return 0;
-}
-
-static int rfbi_configure_bus(int rfbi_module, int bpp, int lines)
-{
- u32 l;
- int cycle1 = 0, cycle2 = 0, cycle3 = 0;
- enum omap_rfbi_cycleformat cycleformat;
- enum omap_rfbi_datatype datatype;
- enum omap_rfbi_parallelmode parallelmode;
-
- switch (bpp) {
- case 12:
- datatype = OMAP_DSS_RFBI_DATATYPE_12;
- break;
- case 16:
- datatype = OMAP_DSS_RFBI_DATATYPE_16;
- break;
- case 18:
- datatype = OMAP_DSS_RFBI_DATATYPE_18;
- break;
- case 24:
- datatype = OMAP_DSS_RFBI_DATATYPE_24;
- break;
- default:
- BUG();
- return 1;
- }
- rfbi.datatype = datatype;
-
- switch (lines) {
- case 8:
- parallelmode = OMAP_DSS_RFBI_PARALLELMODE_8;
- break;
- case 9:
- parallelmode = OMAP_DSS_RFBI_PARALLELMODE_9;
- break;
- case 12:
- parallelmode = OMAP_DSS_RFBI_PARALLELMODE_12;
- break;
- case 16:
- parallelmode = OMAP_DSS_RFBI_PARALLELMODE_16;
- break;
- default:
- BUG();
- return 1;
- }
- rfbi.parallelmode = parallelmode;
-
- if ((bpp % lines) == 0) {
- switch (bpp / lines) {
- case 1:
- cycleformat = OMAP_DSS_RFBI_CYCLEFORMAT_1_1;
- break;
- case 2:
- cycleformat = OMAP_DSS_RFBI_CYCLEFORMAT_2_1;
- break;
- case 3:
- cycleformat = OMAP_DSS_RFBI_CYCLEFORMAT_3_1;
- break;
- default:
- BUG();
- return 1;
- }
- } else if ((2 * bpp % lines) == 0) {
- if ((2 * bpp / lines) == 3)
- cycleformat = OMAP_DSS_RFBI_CYCLEFORMAT_3_2;
- else {
- BUG();
- return 1;
- }
- } else {
- BUG();
- return 1;
- }
-
- switch (cycleformat) {
- case OMAP_DSS_RFBI_CYCLEFORMAT_1_1:
- cycle1 = lines;
- break;
-
- case OMAP_DSS_RFBI_CYCLEFORMAT_2_1:
- cycle1 = lines;
- cycle2 = lines;
- break;
-
- case OMAP_DSS_RFBI_CYCLEFORMAT_3_1:
- cycle1 = lines;
- cycle2 = lines;
- cycle3 = lines;
- break;
-
- case OMAP_DSS_RFBI_CYCLEFORMAT_3_2:
- cycle1 = lines;
- cycle2 = (lines / 2) | ((lines / 2) << 16);
- cycle3 = (lines << 16);
- break;
- }
-
- REG_FLD_MOD(RFBI_CONTROL, 0, 3, 2); /* clear CS */
-
- l = 0;
- l |= FLD_VAL(parallelmode, 1, 0);
- l |= FLD_VAL(0, 3, 2); /* TRIGGERMODE: ITE */
- l |= FLD_VAL(0, 4, 4); /* TIMEGRANULARITY */
- l |= FLD_VAL(datatype, 6, 5);
- /* l |= FLD_VAL(2, 8, 7); */ /* L4FORMAT, 2pix/L4 */
- l |= FLD_VAL(0, 8, 7); /* L4FORMAT, 1pix/L4 */
- l |= FLD_VAL(cycleformat, 10, 9);
- l |= FLD_VAL(0, 12, 11); /* UNUSEDBITS */
- l |= FLD_VAL(0, 16, 16); /* A0POLARITY */
- l |= FLD_VAL(0, 17, 17); /* REPOLARITY */
- l |= FLD_VAL(0, 18, 18); /* WEPOLARITY */
- l |= FLD_VAL(0, 19, 19); /* CSPOLARITY */
- l |= FLD_VAL(1, 20, 20); /* TE_VSYNC_POLARITY */
- l |= FLD_VAL(1, 21, 21); /* HSYNCPOLARITY */
- rfbi_write_reg(RFBI_CONFIG(rfbi_module), l);
-
- rfbi_write_reg(RFBI_DATA_CYCLE1(rfbi_module), cycle1);
- rfbi_write_reg(RFBI_DATA_CYCLE2(rfbi_module), cycle2);
- rfbi_write_reg(RFBI_DATA_CYCLE3(rfbi_module), cycle3);
-
-
- l = rfbi_read_reg(RFBI_CONTROL);
- l = FLD_MOD(l, rfbi_module+1, 3, 2); /* Select CSx */
- l = FLD_MOD(l, 0, 1, 1); /* clear bypass */
- rfbi_write_reg(RFBI_CONTROL, l);
-
-
- DSSDBG("RFBI config: bpp %d, lines %d, cycles: 0x%x 0x%x 0x%x\n",
- bpp, lines, cycle1, cycle2, cycle3);
-
- return 0;
-}
-
-static int rfbi_configure(struct omap_dss_device *dssdev)
-{
- return rfbi_configure_bus(dssdev->phy.rfbi.channel, rfbi.pixel_size,
- rfbi.data_lines);
-}
-
-static int rfbi_update(struct omap_dss_device *dssdev, void (*callback)(void *),
- void *data)
-{
- return rfbi_transfer_area(dssdev, callback, data);
-}
-
-static void rfbi_set_size(struct omap_dss_device *dssdev, u16 w, u16 h)
-{
- rfbi.vm.hactive = w;
- rfbi.vm.vactive = h;
-}
-
-static void rfbi_set_pixel_size(struct omap_dss_device *dssdev, int pixel_size)
-{
- rfbi.pixel_size = pixel_size;
-}
-
-static void rfbi_set_data_lines(struct omap_dss_device *dssdev, int data_lines)
-{
- rfbi.data_lines = data_lines;
-}
-
-static void rfbi_set_interface_timings(struct omap_dss_device *dssdev,
- struct rfbi_timings *timings)
-{
- rfbi.intf_timings = *timings;
-}
-
-static void rfbi_dump_regs(struct seq_file *s)
-{
-#define DUMPREG(r) seq_printf(s, "%-35s %08x\n", #r, rfbi_read_reg(r))
-
- if (rfbi_runtime_get())
- return;
-
- DUMPREG(RFBI_REVISION);
- DUMPREG(RFBI_SYSCONFIG);
- DUMPREG(RFBI_SYSSTATUS);
- DUMPREG(RFBI_CONTROL);
- DUMPREG(RFBI_PIXEL_CNT);
- DUMPREG(RFBI_LINE_NUMBER);
- DUMPREG(RFBI_CMD);
- DUMPREG(RFBI_PARAM);
- DUMPREG(RFBI_DATA);
- DUMPREG(RFBI_READ);
- DUMPREG(RFBI_STATUS);
-
- DUMPREG(RFBI_CONFIG(0));
- DUMPREG(RFBI_ONOFF_TIME(0));
- DUMPREG(RFBI_CYCLE_TIME(0));
- DUMPREG(RFBI_DATA_CYCLE1(0));
- DUMPREG(RFBI_DATA_CYCLE2(0));
- DUMPREG(RFBI_DATA_CYCLE3(0));
-
- DUMPREG(RFBI_CONFIG(1));
- DUMPREG(RFBI_ONOFF_TIME(1));
- DUMPREG(RFBI_CYCLE_TIME(1));
- DUMPREG(RFBI_DATA_CYCLE1(1));
- DUMPREG(RFBI_DATA_CYCLE2(1));
- DUMPREG(RFBI_DATA_CYCLE3(1));
-
- DUMPREG(RFBI_VSYNC_WIDTH);
- DUMPREG(RFBI_HSYNC_WIDTH);
-
- rfbi_runtime_put();
-#undef DUMPREG
-}
-
-static void rfbi_config_lcd_manager(struct omap_dss_device *dssdev)
-{
- struct omap_overlay_manager *mgr = rfbi.output.manager;
- struct dss_lcd_mgr_config mgr_config;
-
- mgr_config.io_pad_mode = DSS_IO_PAD_MODE_RFBI;
-
- mgr_config.stallmode = true;
- /* Do we need fifohandcheck for RFBI? */
- mgr_config.fifohandcheck = false;
-
- mgr_config.video_port_width = rfbi.pixel_size;
- mgr_config.lcden_sig_polarity = 0;
-
- dss_mgr_set_lcd_config(mgr, &mgr_config);
-
- /*
- * Set rfbi.timings with default values, the hactive and vactive fields
- * are expected to be already configured by the panel driver via
- * omapdss_rfbi_set_size()
- */
- rfbi.vm.hsync_len = 1;
- rfbi.vm.hfront_porch = 1;
- rfbi.vm.hback_porch = 1;
- rfbi.vm.vsync_len = 1;
- rfbi.vm.vfront_porch = 0;
- rfbi.vm.vback_porch = 0;
-
- rfbi.vm.flags &= ~DISPLAY_FLAGS_INTERLACED;
- rfbi.vm.flags &= ~DISPLAY_FLAGS_HSYNC_LOW;
- rfbi.vm.flags |= DISPLAY_FLAGS_HSYNC_HIGH;
- rfbi.vm.flags &= ~DISPLAY_FLAGS_VSYNC_LOW;
- rfbi.vm.flags |= DISPLAY_FLAGS_VSYNC_HIGH;
- rfbi.vm.flags &= ~DISPLAY_FLAGS_PIXDATA_NEGEDGE;
- rfbi.vm.flags |= DISPLAY_FLAGS_PIXDATA_POSEDGE;
- rfbi.vm.flags &= ~DISPLAY_FLAGS_DE_LOW;
- rfbi.vm.flags |= DISPLAY_FLAGS_DE_HIGH;
- rfbi.vm.flags &= ~DISPLAY_FLAGS_SYNC_POSEDGE;
- rfbi.vm.flags |= DISPLAY_FLAGS_SYNC_NEGEDGE;
-
- dss_mgr_set_timings(mgr, &rfbi.vm);
-}
-
-static int rfbi_display_enable(struct omap_dss_device *dssdev)
-{
- struct omap_dss_device *out = &rfbi.output;
- int r;
-
- if (!out->dispc_channel_connected) {
- DSSERR("failed to enable display: no output/manager\n");
- return -ENODEV;
- }
-
- r = rfbi_runtime_get();
- if (r)
- return r;
-
- r = dss_mgr_register_framedone_handler(out->manager,
- framedone_callback, NULL);
- if (r) {
- DSSERR("can't get FRAMEDONE irq\n");
- goto err1;
- }
-
- rfbi_config_lcd_manager(dssdev);
-
- rfbi_configure_bus(dssdev->phy.rfbi.channel, rfbi.pixel_size,
- rfbi.data_lines);
-
- rfbi_set_timings(dssdev->phy.rfbi.channel, &rfbi.intf_timings);
-
- return 0;
-err1:
- rfbi_runtime_put();
- return r;
-}
-
-static void rfbi_display_disable(struct omap_dss_device *dssdev)
-{
- struct omap_dss_device *out = &rfbi.output;
-
- dss_mgr_unregister_framedone_handler(out->manager,
- framedone_callback, NULL);
-
- rfbi_runtime_put();
-}
-
-static int rfbi_init_display(struct omap_dss_device *dssdev)
-{
- rfbi.dssdev[dssdev->phy.rfbi.channel] = dssdev;
- return 0;
-}
-
-static void rfbi_init_output(struct platform_device *pdev)
-{
- struct omap_dss_device *out = &rfbi.output;
-
- out->dev = &pdev->dev;
- out->id = OMAP_DSS_OUTPUT_DBI;
- out->output_type = OMAP_DISPLAY_TYPE_DBI;
- out->name = "rfbi.0";
- out->dispc_channel = OMAP_DSS_CHANNEL_LCD;
- out->owner = THIS_MODULE;
-
- omapdss_register_output(out);
-}
-
-static void rfbi_uninit_output(struct platform_device *pdev)
-{
- struct omap_dss_device *out = &rfbi.output;
-
- omapdss_unregister_output(out);
-}
-
-/* RFBI HW IP initialisation */
-static int rfbi_bind(struct device *dev, struct device *master, void *data)
-{
- struct platform_device *pdev = to_platform_device(dev);
- u32 rev;
- struct resource *rfbi_mem;
- struct clk *clk;
- int r;
-
- rfbi.pdev = pdev;
-
- sema_init(&rfbi.bus_lock, 1);
-
- rfbi_mem = platform_get_resource(rfbi.pdev, IORESOURCE_MEM, 0);
- rfbi.base = devm_ioremap_resource(&pdev->dev, rfbi_mem);
- if (IS_ERR(rfbi.base))
- return PTR_ERR(rfbi.base);
-
- clk = clk_get(&pdev->dev, "ick");
- if (IS_ERR(clk)) {
- DSSERR("can't get ick\n");
- return PTR_ERR(clk);
- }
-
- rfbi.l4_khz = clk_get_rate(clk) / 1000;
-
- clk_put(clk);
-
- pm_runtime_enable(&pdev->dev);
-
- r = rfbi_runtime_get();
- if (r)
- goto err_runtime_get;
-
- msleep(10);
-
- rev = rfbi_read_reg(RFBI_REVISION);
- dev_dbg(&pdev->dev, "OMAP RFBI rev %d.%d\n",
- FLD_GET(rev, 7, 4), FLD_GET(rev, 3, 0));
-
- rfbi_runtime_put();
-
- dss_debugfs_create_file("rfbi", rfbi_dump_regs);
-
- rfbi_init_output(pdev);
-
- return 0;
-
-err_runtime_get:
- pm_runtime_disable(&pdev->dev);
- return r;
-}
-
-static void rfbi_unbind(struct device *dev, struct device *master, void *data)
-{
- struct platform_device *pdev = to_platform_device(dev);
-
- rfbi_uninit_output(pdev);
-
- pm_runtime_disable(&pdev->dev);
-
- return 0;
-}
-
-static const struct component_ops rfbi_component_ops = {
- .bind = rfbi_bind,
- .unbind = rfbi_unbind,
-};
-
-static int rfbi_probe(struct platform_device *pdev)
-{
- return component_add(&pdev->dev, &rfbi_component_ops);
-}
-
-static int rfbi_remove(struct platform_device *pdev)
-{
- component_del(&pdev->dev, &rfbi_component_ops);
- return 0;
-}
-
-static int rfbi_runtime_suspend(struct device *dev)
-{
- dispc_runtime_put();
-
- return 0;
-}
-
-static int rfbi_runtime_resume(struct device *dev)
-{
- int r;
-
- r = dispc_runtime_get();
- if (r < 0)
- return r;
-
- return 0;
-}
-
-static const struct dev_pm_ops rfbi_pm_ops = {
- .runtime_suspend = rfbi_runtime_suspend,
- .runtime_resume = rfbi_runtime_resume,
-};
-
-static struct platform_driver omap_rfbihw_driver = {
- .probe = rfbi_probe,
- .remove = rfbi_remove,
- .driver = {
- .name = "omapdss_rfbi",
- .pm = &rfbi_pm_ops,
- .suppress_bind_attrs = true,
- },
-};
-
-int __init rfbi_init_platform_driver(void)
-{
- return platform_driver_register(&omap_rfbihw_driver);
-}
-
-void rfbi_uninit_platform_driver(void)
-{
- platform_driver_unregister(&omap_rfbihw_driver);
-}
--
2.7.4
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 30+ messages in thread* Re: [PATCH 09/13] drm/omap: remove rfbi
2017-05-12 10:41 ` [PATCH 09/13] drm/omap: remove rfbi Tomi Valkeinen
@ 2017-05-12 12:18 ` Laurent Pinchart
0 siblings, 0 replies; 30+ messages in thread
From: Laurent Pinchart @ 2017-05-12 12:18 UTC (permalink / raw)
To: Tomi Valkeinen; +Cc: Jyri Sarha, dri-devel
Hi Tomi,
Thank you for the patch.
On Friday 12 May 2017 13:41:38 Tomi Valkeinen wrote:
> The RFBI driver has not worked nor compiled for many years. There are
> very few boards out there that use RFBI, and no one has stepped up to
> fix it.
>
> So let's remove the RFBI code that doesn't even compile.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> drivers/gpu/drm/omapdrm/dss/Kconfig | 13 -
> drivers/gpu/drm/omapdrm/dss/Makefile | 1 -
> drivers/gpu/drm/omapdrm/dss/core.c | 6 -
> drivers/gpu/drm/omapdrm/dss/dss.h | 4 -
> drivers/gpu/drm/omapdrm/dss/omapdss.h | 32 -
> drivers/gpu/drm/omapdrm/dss/rfbi.c | 1075 ------------------------------
> 6 files changed, 1131 deletions(-)
> delete mode 100644 drivers/gpu/drm/omapdrm/dss/rfbi.c
>
> diff --git a/drivers/gpu/drm/omapdrm/dss/Kconfig
> b/drivers/gpu/drm/omapdrm/dss/Kconfig index f53adb944a0d..8b87d5cf45fc
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/Kconfig
> +++ b/drivers/gpu/drm/omapdrm/dss/Kconfig
> @@ -49,19 +49,6 @@ config OMAP2_DSS_DPI
> help
> DPI Interface. This is the Parallel Display Interface.
>
> -config OMAP2_DSS_RFBI
> - bool "RFBI support"
> - depends on BROKEN
> - default n
> - help
> - MIPI DBI support (RFBI, Remote Framebuffer Interface, in Texas
> - Instrument's terminology).
> -
> - DBI is a bus between the host processor and a peripheral,
> - such as a display or a framebuffer chip.
> -
> - See http://www.mipi.org/ for DBI specifications.
> -
> config OMAP2_DSS_VENC
> bool "VENC support"
> default y
> diff --git a/drivers/gpu/drm/omapdrm/dss/Makefile
> b/drivers/gpu/drm/omapdrm/dss/Makefile index 75ec30f231c7..688195e448c5
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/Makefile
> +++ b/drivers/gpu/drm/omapdrm/dss/Makefile
> @@ -8,7 +8,6 @@ obj-$(CONFIG_OMAP2_DSS) += omapdss.o
> omapdss-y := core.o dss.o dss_features.o dispc.o dispc_coefs.o \
> pll.o video-pll.o
> omapdss-$(CONFIG_OMAP2_DSS_DPI) += dpi.o
> -omapdss-$(CONFIG_OMAP2_DSS_RFBI) += rfbi.o
> omapdss-$(CONFIG_OMAP2_DSS_VENC) += venc.o
> omapdss-$(CONFIG_OMAP2_DSS_SDI) += sdi.o
> omapdss-$(CONFIG_OMAP2_DSS_DSI) += dsi.o
> diff --git a/drivers/gpu/drm/omapdrm/dss/core.c
> b/drivers/gpu/drm/omapdrm/dss/core.c index f056bffcab73..bdce4bfdf6e0
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/core.c
> +++ b/drivers/gpu/drm/omapdrm/dss/core.c
> @@ -208,9 +208,6 @@ static int (*dss_output_drv_reg_funcs[])(void)
> __initdata = { #ifdef CONFIG_OMAP2_DSS_DSI
> dsi_init_platform_driver,
> #endif
> -#ifdef CONFIG_OMAP2_DSS_RFBI
> - rfbi_init_platform_driver,
> -#endif
> #ifdef CONFIG_OMAP2_DSS_VENC
> venc_init_platform_driver,
> #endif
> @@ -232,9 +229,6 @@ static void (*dss_output_drv_unreg_funcs[])(void) = {
> #ifdef CONFIG_OMAP2_DSS_VENC
> venc_uninit_platform_driver,
> #endif
> -#ifdef CONFIG_OMAP2_DSS_RFBI
> - rfbi_uninit_platform_driver,
> -#endif
> #ifdef CONFIG_OMAP2_DSS_DSI
> dsi_uninit_platform_driver,
> #endif
> diff --git a/drivers/gpu/drm/omapdrm/dss/dss.h
> b/drivers/gpu/drm/omapdrm/dss/dss.h index d8bf99a97571..8dbf35f3ab23 100644
> --- a/drivers/gpu/drm/omapdrm/dss/dss.h
> +++ b/drivers/gpu/drm/omapdrm/dss/dss.h
> @@ -382,10 +382,6 @@ void hdmi4_uninit_platform_driver(void);
> int hdmi5_init_platform_driver(void) __init;
> void hdmi5_uninit_platform_driver(void);
>
> -/* RFBI */
> -int rfbi_init_platform_driver(void) __init;
> -void rfbi_uninit_platform_driver(void);
> -
>
> #ifdef CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS
> static inline void dss_collect_irq_stats(u32 irqstatus, unsigned *irq_arr)
> diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> b/drivers/gpu/drm/omapdrm/dss/omapdss.h index 3cbc9e49aa5a..8eb8315a6c95
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
> @@ -126,11 +126,6 @@ enum omap_dss_trans_key_type {
> OMAP_DSS_COLOR_KEY_VID_SRC = 1,
> };
>
> -enum omap_rfbi_te_mode {
> - OMAP_DSS_RFBI_TE_MODE_1 = 1,
> - OMAP_DSS_RFBI_TE_MODE_2 = 2,
> -};
> -
> enum omap_dss_signal_level {
> OMAPDSS_SIG_ACTIVE_LOW,
> OMAPDSS_SIG_ACTIVE_HIGH,
> @@ -220,27 +215,6 @@ enum omap_dss_output_id {
> OMAP_DSS_OUTPUT_HDMI = 1 << 6,
> };
>
> -/* RFBI */
> -
> -struct rfbi_timings {
> - int cs_on_time;
> - int cs_off_time;
> - int we_on_time;
> - int we_off_time;
> - int re_on_time;
> - int re_off_time;
> - int we_cycle_time;
> - int re_cycle_time;
> - int cs_pulse_width;
> - int access_time;
> -
> - int clk_div;
> -
> - u32 tim[5]; /* set by rfbi_convert_timings() */
> -
> - int converted;
> -};
> -
> /* DSI */
>
> enum omap_dss_dsi_trans_mode {
> @@ -624,11 +598,6 @@ struct omap_dss_device {
>
> union {
> struct {
> - u8 channel;
> - u8 data_lines;
> - } rfbi;
> -
> - struct {
> int module;
> } dsi;
> } phy;
> @@ -642,7 +611,6 @@ struct omap_dss_device {
>
> struct {
> u8 pixel_size;
> - struct rfbi_timings rfbi_timings;
> } ctrl;
>
> const char *name;
> diff --git a/drivers/gpu/drm/omapdrm/dss/rfbi.c
> b/drivers/gpu/drm/omapdrm/dss/rfbi.c deleted file mode 100644
> index bf6b96877daf..000000000000
> --- a/drivers/gpu/drm/omapdrm/dss/rfbi.c
> +++ /dev/null
> @@ -1,1075 +0,0 @@
> -/*
> - * linux/drivers/video/omap2/dss/rfbi.c
> - *
> - * Copyright (C) 2009 Nokia Corporation
> - * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
> - *
> - * Some code and ideas taken from drivers/video/omap/ driver
> - * by Imre Deak.
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms of the GNU General Public License version 2 as published
> by - * the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful, but
> WITHOUT - * ANY WARRANTY; without even the implied warranty of
> MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> General Public License for - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along
> with - * this program. If not, see <http://www.gnu.org/licenses/>.
> - */
> -
> -#define DSS_SUBSYS_NAME "RFBI"
> -
> -#include <linux/kernel.h>
> -#include <linux/dma-mapping.h>
> -#include <linux/export.h>
> -#include <linux/vmalloc.h>
> -#include <linux/clk.h>
> -#include <linux/io.h>
> -#include <linux/delay.h>
> -#include <linux/kfifo.h>
> -#include <linux/ktime.h>
> -#include <linux/hrtimer.h>
> -#include <linux/seq_file.h>
> -#include <linux/semaphore.h>
> -#include <linux/platform_device.h>
> -#include <linux/pm_runtime.h>
> -#include <linux/component.h>
> -
> -#include "omapdss.h"
> -#include "dss.h"
> -
> -struct rfbi_reg { u16 idx; };
> -
> -#define RFBI_REG(idx) ((const struct rfbi_reg) { idx })
> -
> -#define RFBI_REVISION RFBI_REG(0x0000)
> -#define RFBI_SYSCONFIG RFBI_REG(0x0010)
> -#define RFBI_SYSSTATUS RFBI_REG(0x0014)
> -#define RFBI_CONTROL RFBI_REG(0x0040)
> -#define RFBI_PIXEL_CNT RFBI_REG(0x0044)
> -#define RFBI_LINE_NUMBER RFBI_REG(0x0048)
> -#define RFBI_CMD RFBI_REG(0x004c)
> -#define RFBI_PARAM RFBI_REG(0x0050)
> -#define RFBI_DATA RFBI_REG(0x0054)
> -#define RFBI_READ RFBI_REG(0x0058)
> -#define RFBI_STATUS RFBI_REG(0x005c)
> -
> -#define RFBI_CONFIG(n) RFBI_REG(0x0060 + (n)*0x18)
> -#define RFBI_ONOFF_TIME(n) RFBI_REG(0x0064 + (n)*0x18)
> -#define RFBI_CYCLE_TIME(n) RFBI_REG(0x0068 + (n)*0x18)
> -#define RFBI_DATA_CYCLE1(n) RFBI_REG(0x006c + (n)*0x18)
> -#define RFBI_DATA_CYCLE2(n) RFBI_REG(0x0070 + (n)*0x18)
> -#define RFBI_DATA_CYCLE3(n) RFBI_REG(0x0074 + (n)*0x18)
> -
> -#define RFBI_VSYNC_WIDTH RFBI_REG(0x0090)
> -#define RFBI_HSYNC_WIDTH RFBI_REG(0x0094)
> -
> -#define REG_FLD_MOD(idx, val, start, end) \
> - rfbi_write_reg(idx, FLD_MOD(rfbi_read_reg(idx), val, start, end))
> -
> -enum omap_rfbi_cycleformat {
> - OMAP_DSS_RFBI_CYCLEFORMAT_1_1 = 0,
> - OMAP_DSS_RFBI_CYCLEFORMAT_2_1 = 1,
> - OMAP_DSS_RFBI_CYCLEFORMAT_3_1 = 2,
> - OMAP_DSS_RFBI_CYCLEFORMAT_3_2 = 3,
> -};
> -
> -enum omap_rfbi_datatype {
> - OMAP_DSS_RFBI_DATATYPE_12 = 0,
> - OMAP_DSS_RFBI_DATATYPE_16 = 1,
> - OMAP_DSS_RFBI_DATATYPE_18 = 2,
> - OMAP_DSS_RFBI_DATATYPE_24 = 3,
> -};
> -
> -enum omap_rfbi_parallelmode {
> - OMAP_DSS_RFBI_PARALLELMODE_8 = 0,
> - OMAP_DSS_RFBI_PARALLELMODE_9 = 1,
> - OMAP_DSS_RFBI_PARALLELMODE_12 = 2,
> - OMAP_DSS_RFBI_PARALLELMODE_16 = 3,
> -};
> -
> -static int rfbi_convert_timings(struct rfbi_timings *t);
> -static void rfbi_get_clk_info(u32 *clk_period, u32 *max_clk_div);
> -
> -static struct {
> - struct platform_device *pdev;
> - void __iomem *base;
> -
> - unsigned long l4_khz;
> -
> - enum omap_rfbi_datatype datatype;
> - enum omap_rfbi_parallelmode parallelmode;
> -
> - enum omap_rfbi_te_mode te_mode;
> - int te_enabled;
> -
> - void (*framedone_callback)(void *data);
> - void *framedone_callback_data;
> -
> - struct omap_dss_device *dssdev[2];
> -
> - struct semaphore bus_lock;
> -
> - struct videomode vm;
> - int pixel_size;
> - int data_lines;
> - struct rfbi_timings intf_timings;
> -
> - struct omap_dss_device output;
> -} rfbi;
> -
> -static inline void rfbi_write_reg(const struct rfbi_reg idx, u32 val)
> -{
> - __raw_writel(val, rfbi.base + idx.idx);
> -}
> -
> -static inline u32 rfbi_read_reg(const struct rfbi_reg idx)
> -{
> - return __raw_readl(rfbi.base + idx.idx);
> -}
> -
> -static int rfbi_runtime_get(void)
> -{
> - int r;
> -
> - DSSDBG("rfbi_runtime_get\n");
> -
> - r = pm_runtime_get_sync(&rfbi.pdev->dev);
> - WARN_ON(r < 0);
> - return r < 0 ? r : 0;
> -}
> -
> -static void rfbi_runtime_put(void)
> -{
> - int r;
> -
> - DSSDBG("rfbi_runtime_put\n");
> -
> - r = pm_runtime_put_sync(&rfbi.pdev->dev);
> - WARN_ON(r < 0 && r != -ENOSYS);
> -}
> -
> -static void rfbi_bus_lock(void)
> -{
> - down(&rfbi.bus_lock);
> -}
> -
> -static void rfbi_bus_unlock(void)
> -{
> - up(&rfbi.bus_lock);
> -}
> -
> -static void rfbi_write_command(const void *buf, u32 len)
> -{
> - switch (rfbi.parallelmode) {
> - case OMAP_DSS_RFBI_PARALLELMODE_8:
> - {
> - const u8 *b = buf;
> - for (; len; len--)
> - rfbi_write_reg(RFBI_CMD, *b++);
> - break;
> - }
> -
> - case OMAP_DSS_RFBI_PARALLELMODE_16:
> - {
> - const u16 *w = buf;
> - BUG_ON(len & 1);
> - for (; len; len -= 2)
> - rfbi_write_reg(RFBI_CMD, *w++);
> - break;
> - }
> -
> - case OMAP_DSS_RFBI_PARALLELMODE_9:
> - case OMAP_DSS_RFBI_PARALLELMODE_12:
> - default:
> - BUG();
> - }
> -}
> -
> -static void rfbi_read_data(void *buf, u32 len)
> -{
> - switch (rfbi.parallelmode) {
> - case OMAP_DSS_RFBI_PARALLELMODE_8:
> - {
> - u8 *b = buf;
> - for (; len; len--) {
> - rfbi_write_reg(RFBI_READ, 0);
> - *b++ = rfbi_read_reg(RFBI_READ);
> - }
> - break;
> - }
> -
> - case OMAP_DSS_RFBI_PARALLELMODE_16:
> - {
> - u16 *w = buf;
> - BUG_ON(len & ~1);
> - for (; len; len -= 2) {
> - rfbi_write_reg(RFBI_READ, 0);
> - *w++ = rfbi_read_reg(RFBI_READ);
> - }
> - break;
> - }
> -
> - case OMAP_DSS_RFBI_PARALLELMODE_9:
> - case OMAP_DSS_RFBI_PARALLELMODE_12:
> - default:
> - BUG();
> - }
> -}
> -
> -static void rfbi_write_data(const void *buf, u32 len)
> -{
> - switch (rfbi.parallelmode) {
> - case OMAP_DSS_RFBI_PARALLELMODE_8:
> - {
> - const u8 *b = buf;
> - for (; len; len--)
> - rfbi_write_reg(RFBI_PARAM, *b++);
> - break;
> - }
> -
> - case OMAP_DSS_RFBI_PARALLELMODE_16:
> - {
> - const u16 *w = buf;
> - BUG_ON(len & 1);
> - for (; len; len -= 2)
> - rfbi_write_reg(RFBI_PARAM, *w++);
> - break;
> - }
> -
> - case OMAP_DSS_RFBI_PARALLELMODE_9:
> - case OMAP_DSS_RFBI_PARALLELMODE_12:
> - default:
> - BUG();
> -
> - }
> -}
> -
> -static void rfbi_write_pixels(const void __iomem *buf, int scr_width,
> - u16 x, u16 y,
> - u16 w, u16 h)
> -{
> - int start_offset = scr_width * y + x;
> - int horiz_offset = scr_width - w;
> - int i;
> -
> - if (rfbi.datatype == OMAP_DSS_RFBI_DATATYPE_16 &&
> - rfbi.parallelmode == OMAP_DSS_RFBI_PARALLELMODE_8) {
> - const u16 __iomem *pd = buf;
> - pd += start_offset;
> -
> - for (; h; --h) {
> - for (i = 0; i < w; ++i) {
> - const u8 __iomem *b = (const u8 __iomem *)pd;
> - rfbi_write_reg(RFBI_PARAM, __raw_readb(b+1));
> - rfbi_write_reg(RFBI_PARAM, __raw_readb(b+0));
> - ++pd;
> - }
> - pd += horiz_offset;
> - }
> - } else if (rfbi.datatype == OMAP_DSS_RFBI_DATATYPE_24 &&
> - rfbi.parallelmode == OMAP_DSS_RFBI_PARALLELMODE_8) {
> - const u32 __iomem *pd = buf;
> - pd += start_offset;
> -
> - for (; h; --h) {
> - for (i = 0; i < w; ++i) {
> - const u8 __iomem *b = (const u8 __iomem *)pd;
> - rfbi_write_reg(RFBI_PARAM, __raw_readb(b+2));
> - rfbi_write_reg(RFBI_PARAM, __raw_readb(b+1));
> - rfbi_write_reg(RFBI_PARAM, __raw_readb(b+0));
> - ++pd;
> - }
> - pd += horiz_offset;
> - }
> - } else if (rfbi.datatype == OMAP_DSS_RFBI_DATATYPE_16 &&
> - rfbi.parallelmode == OMAP_DSS_RFBI_PARALLELMODE_16) {
> - const u16 __iomem *pd = buf;
> - pd += start_offset;
> -
> - for (; h; --h) {
> - for (i = 0; i < w; ++i) {
> - rfbi_write_reg(RFBI_PARAM, __raw_readw(pd));
> - ++pd;
> - }
> - pd += horiz_offset;
> - }
> - } else {
> - BUG();
> - }
> -}
> -
> -static int rfbi_transfer_area(struct omap_dss_device *dssdev,
> - void (*callback)(void *data), void *data)
> -{
> - u32 l;
> - int r;
> - struct omap_overlay_manager *mgr = rfbi.output.manager;
> - u16 width = rfbi.vm.hactive;
> - u16 height = rfbi.vm.vactive;
> -
> - /*BUG_ON(callback == 0);*/
> - BUG_ON(rfbi.framedone_callback != NULL);
> -
> - DSSDBG("rfbi_transfer_area %dx%d\n", width, height);
> -
> - dss_mgr_set_timings(mgr, &rfbi.vm);
> -
> - r = dss_mgr_enable(mgr);
> - if (r)
> - return r;
> -
> - rfbi.framedone_callback = callback;
> - rfbi.framedone_callback_data = data;
> -
> - rfbi_write_reg(RFBI_PIXEL_CNT, width * height);
> -
> - l = rfbi_read_reg(RFBI_CONTROL);
> - l = FLD_MOD(l, 1, 0, 0); /* enable */
> - if (!rfbi.te_enabled)
> - l = FLD_MOD(l, 1, 4, 4); /* ITE */
> -
> - rfbi_write_reg(RFBI_CONTROL, l);
> -
> - return 0;
> -}
> -
> -static void framedone_callback(void *data)
> -{
> - void (*callback)(void *data);
> -
> - DSSDBG("FRAMEDONE\n");
> -
> - REG_FLD_MOD(RFBI_CONTROL, 0, 0, 0);
> -
> - callback = rfbi.framedone_callback;
> - rfbi.framedone_callback = NULL;
> -
> - if (callback != NULL)
> - callback(rfbi.framedone_callback_data);
> -}
> -
> -#if 1 /* VERBOSE */
> -static void rfbi_print_timings(void)
> -{
> - u32 l;
> - u32 time;
> -
> - l = rfbi_read_reg(RFBI_CONFIG(0));
> - time = 1000000000 / rfbi.l4_khz;
> - if (l & (1 << 4))
> - time *= 2;
> -
> - DSSDBG("Tick time %u ps\n", time);
> - l = rfbi_read_reg(RFBI_ONOFF_TIME(0));
> - DSSDBG("CSONTIME %d, CSOFFTIME %d, WEONTIME %d, WEOFFTIME %d, "
> - "REONTIME %d, REOFFTIME %d\n",
> - l & 0x0f, (l >> 4) & 0x3f, (l >> 10) & 0x0f, (l >> 14) & 0x3f,
> - (l >> 20) & 0x0f, (l >> 24) & 0x3f);
> -
> - l = rfbi_read_reg(RFBI_CYCLE_TIME(0));
> - DSSDBG("WECYCLETIME %d, RECYCLETIME %d, CSPULSEWIDTH %d, "
> - "ACCESSTIME %d\n",
> - (l & 0x3f), (l >> 6) & 0x3f, (l >> 12) & 0x3f,
> - (l >> 22) & 0x3f);
> -}
> -#else
> -static void rfbi_print_timings(void) {}
> -#endif
> -
> -
> -
> -
> -static u32 extif_clk_period;
> -
> -static inline unsigned long round_to_extif_ticks(unsigned long ps, int div)
> -{
> - int bus_tick = extif_clk_period * div;
> - return (ps + bus_tick - 1) / bus_tick * bus_tick;
> -}
> -
> -static int calc_reg_timing(struct rfbi_timings *t, int div)
> -{
> - t->clk_div = div;
> -
> - t->cs_on_time = round_to_extif_ticks(t->cs_on_time, div);
> -
> - t->we_on_time = round_to_extif_ticks(t->we_on_time, div);
> - t->we_off_time = round_to_extif_ticks(t->we_off_time, div);
> - t->we_cycle_time = round_to_extif_ticks(t->we_cycle_time, div);
> -
> - t->re_on_time = round_to_extif_ticks(t->re_on_time, div);
> - t->re_off_time = round_to_extif_ticks(t->re_off_time, div);
> - t->re_cycle_time = round_to_extif_ticks(t->re_cycle_time, div);
> -
> - t->access_time = round_to_extif_ticks(t->access_time, div);
> - t->cs_off_time = round_to_extif_ticks(t->cs_off_time, div);
> - t->cs_pulse_width = round_to_extif_ticks(t->cs_pulse_width, div);
> -
> - DSSDBG("[reg]cson %d csoff %d reon %d reoff %d\n",
> - t->cs_on_time, t->cs_off_time, t->re_on_time, t->re_off_time);
> - DSSDBG("[reg]weon %d weoff %d recyc %d wecyc %d\n",
> - t->we_on_time, t->we_off_time, t->re_cycle_time,
> - t->we_cycle_time);
> - DSSDBG("[reg]rdaccess %d cspulse %d\n",
> - t->access_time, t->cs_pulse_width);
> -
> - return rfbi_convert_timings(t);
> -}
> -
> -static int calc_extif_timings(struct rfbi_timings *t)
> -{
> - u32 max_clk_div;
> - int div;
> -
> - rfbi_get_clk_info(&extif_clk_period, &max_clk_div);
> - for (div = 1; div <= max_clk_div; div++) {
> - if (calc_reg_timing(t, div) == 0)
> - break;
> - }
> -
> - if (div <= max_clk_div)
> - return 0;
> -
> - DSSERR("can't setup timings\n");
> - return -1;
> -}
> -
> -
> -static void rfbi_set_timings(int rfbi_module, struct rfbi_timings *t)
> -{
> - int r;
> -
> - if (!t->converted) {
> - r = calc_extif_timings(t);
> - if (r < 0)
> - DSSERR("Failed to calc timings\n");
> - }
> -
> - BUG_ON(!t->converted);
> -
> - rfbi_write_reg(RFBI_ONOFF_TIME(rfbi_module), t->tim[0]);
> - rfbi_write_reg(RFBI_CYCLE_TIME(rfbi_module), t->tim[1]);
> -
> - /* TIMEGRANULARITY */
> - REG_FLD_MOD(RFBI_CONFIG(rfbi_module),
> - (t->tim[2] ? 1 : 0), 4, 4);
> -
> - rfbi_print_timings();
> -}
> -
> -static int ps_to_rfbi_ticks(int time, int div)
> -{
> - unsigned long tick_ps;
> - int ret;
> -
> - /* Calculate in picosecs to yield more exact results */
> - tick_ps = 1000000000 / (rfbi.l4_khz) * div;
> -
> - ret = (time + tick_ps - 1) / tick_ps;
> -
> - return ret;
> -}
> -
> -static void rfbi_get_clk_info(u32 *clk_period, u32 *max_clk_div)
> -{
> - *clk_period = 1000000000 / rfbi.l4_khz;
> - *max_clk_div = 2;
> -}
> -
> -static int rfbi_convert_timings(struct rfbi_timings *t)
> -{
> - u32 l;
> - int reon, reoff, weon, weoff, cson, csoff, cs_pulse;
> - int actim, recyc, wecyc;
> - int div = t->clk_div;
> -
> - if (div <= 0 || div > 2)
> - return -1;
> -
> - /* Make sure that after conversion it still holds that:
> - * weoff > weon, reoff > reon, recyc >= reoff, wecyc >= weoff,
> - * csoff > cson, csoff >= max(weoff, reoff), actim > reon
> - */
> - weon = ps_to_rfbi_ticks(t->we_on_time, div);
> - weoff = ps_to_rfbi_ticks(t->we_off_time, div);
> - if (weoff <= weon)
> - weoff = weon + 1;
> - if (weon > 0x0f)
> - return -1;
> - if (weoff > 0x3f)
> - return -1;
> -
> - reon = ps_to_rfbi_ticks(t->re_on_time, div);
> - reoff = ps_to_rfbi_ticks(t->re_off_time, div);
> - if (reoff <= reon)
> - reoff = reon + 1;
> - if (reon > 0x0f)
> - return -1;
> - if (reoff > 0x3f)
> - return -1;
> -
> - cson = ps_to_rfbi_ticks(t->cs_on_time, div);
> - csoff = ps_to_rfbi_ticks(t->cs_off_time, div);
> - if (csoff <= cson)
> - csoff = cson + 1;
> - if (csoff < max(weoff, reoff))
> - csoff = max(weoff, reoff);
> - if (cson > 0x0f)
> - return -1;
> - if (csoff > 0x3f)
> - return -1;
> -
> - l = cson;
> - l |= csoff << 4;
> - l |= weon << 10;
> - l |= weoff << 14;
> - l |= reon << 20;
> - l |= reoff << 24;
> -
> - t->tim[0] = l;
> -
> - actim = ps_to_rfbi_ticks(t->access_time, div);
> - if (actim <= reon)
> - actim = reon + 1;
> - if (actim > 0x3f)
> - return -1;
> -
> - wecyc = ps_to_rfbi_ticks(t->we_cycle_time, div);
> - if (wecyc < weoff)
> - wecyc = weoff;
> - if (wecyc > 0x3f)
> - return -1;
> -
> - recyc = ps_to_rfbi_ticks(t->re_cycle_time, div);
> - if (recyc < reoff)
> - recyc = reoff;
> - if (recyc > 0x3f)
> - return -1;
> -
> - cs_pulse = ps_to_rfbi_ticks(t->cs_pulse_width, div);
> - if (cs_pulse > 0x3f)
> - return -1;
> -
> - l = wecyc;
> - l |= recyc << 6;
> - l |= cs_pulse << 12;
> - l |= actim << 22;
> -
> - t->tim[1] = l;
> -
> - t->tim[2] = div - 1;
> -
> - t->converted = 1;
> -
> - return 0;
> -}
> -
> -/* xxx FIX module selection missing */
> -static int rfbi_setup_te(enum omap_rfbi_te_mode mode,
> - unsigned hs_pulse_time, unsigned vs_pulse_time,
> - int hs_pol_inv, int vs_pol_inv, int extif_div)
> -{
> - int hs, vs;
> - int min;
> - u32 l;
> -
> - hs = ps_to_rfbi_ticks(hs_pulse_time, 1);
> - vs = ps_to_rfbi_ticks(vs_pulse_time, 1);
> - if (hs < 2)
> - return -EDOM;
> - if (mode == OMAP_DSS_RFBI_TE_MODE_2)
> - min = 2;
> - else /* OMAP_DSS_RFBI_TE_MODE_1 */
> - min = 4;
> - if (vs < min)
> - return -EDOM;
> - if (vs == hs)
> - return -EINVAL;
> - rfbi.te_mode = mode;
> - DSSDBG("setup_te: mode %d hs %d vs %d hs_inv %d vs_inv %d\n",
> - mode, hs, vs, hs_pol_inv, vs_pol_inv);
> -
> - rfbi_write_reg(RFBI_HSYNC_WIDTH, hs);
> - rfbi_write_reg(RFBI_VSYNC_WIDTH, vs);
> -
> - l = rfbi_read_reg(RFBI_CONFIG(0));
> - if (hs_pol_inv)
> - l &= ~(1 << 21);
> - else
> - l |= 1 << 21;
> - if (vs_pol_inv)
> - l &= ~(1 << 20);
> - else
> - l |= 1 << 20;
> -
> - return 0;
> -}
> -
> -/* xxx FIX module selection missing */
> -static int rfbi_enable_te(bool enable, unsigned line)
> -{
> - u32 l;
> -
> - DSSDBG("te %d line %d mode %d\n", enable, line, rfbi.te_mode);
> - if (line > (1 << 11) - 1)
> - return -EINVAL;
> -
> - l = rfbi_read_reg(RFBI_CONFIG(0));
> - l &= ~(0x3 << 2);
> - if (enable) {
> - rfbi.te_enabled = 1;
> - l |= rfbi.te_mode << 2;
> - } else
> - rfbi.te_enabled = 0;
> - rfbi_write_reg(RFBI_CONFIG(0), l);
> - rfbi_write_reg(RFBI_LINE_NUMBER, line);
> -
> - return 0;
> -}
> -
> -static int rfbi_configure_bus(int rfbi_module, int bpp, int lines)
> -{
> - u32 l;
> - int cycle1 = 0, cycle2 = 0, cycle3 = 0;
> - enum omap_rfbi_cycleformat cycleformat;
> - enum omap_rfbi_datatype datatype;
> - enum omap_rfbi_parallelmode parallelmode;
> -
> - switch (bpp) {
> - case 12:
> - datatype = OMAP_DSS_RFBI_DATATYPE_12;
> - break;
> - case 16:
> - datatype = OMAP_DSS_RFBI_DATATYPE_16;
> - break;
> - case 18:
> - datatype = OMAP_DSS_RFBI_DATATYPE_18;
> - break;
> - case 24:
> - datatype = OMAP_DSS_RFBI_DATATYPE_24;
> - break;
> - default:
> - BUG();
> - return 1;
> - }
> - rfbi.datatype = datatype;
> -
> - switch (lines) {
> - case 8:
> - parallelmode = OMAP_DSS_RFBI_PARALLELMODE_8;
> - break;
> - case 9:
> - parallelmode = OMAP_DSS_RFBI_PARALLELMODE_9;
> - break;
> - case 12:
> - parallelmode = OMAP_DSS_RFBI_PARALLELMODE_12;
> - break;
> - case 16:
> - parallelmode = OMAP_DSS_RFBI_PARALLELMODE_16;
> - break;
> - default:
> - BUG();
> - return 1;
> - }
> - rfbi.parallelmode = parallelmode;
> -
> - if ((bpp % lines) == 0) {
> - switch (bpp / lines) {
> - case 1:
> - cycleformat = OMAP_DSS_RFBI_CYCLEFORMAT_1_1;
> - break;
> - case 2:
> - cycleformat = OMAP_DSS_RFBI_CYCLEFORMAT_2_1;
> - break;
> - case 3:
> - cycleformat = OMAP_DSS_RFBI_CYCLEFORMAT_3_1;
> - break;
> - default:
> - BUG();
> - return 1;
> - }
> - } else if ((2 * bpp % lines) == 0) {
> - if ((2 * bpp / lines) == 3)
> - cycleformat = OMAP_DSS_RFBI_CYCLEFORMAT_3_2;
> - else {
> - BUG();
> - return 1;
> - }
> - } else {
> - BUG();
> - return 1;
> - }
> -
> - switch (cycleformat) {
> - case OMAP_DSS_RFBI_CYCLEFORMAT_1_1:
> - cycle1 = lines;
> - break;
> -
> - case OMAP_DSS_RFBI_CYCLEFORMAT_2_1:
> - cycle1 = lines;
> - cycle2 = lines;
> - break;
> -
> - case OMAP_DSS_RFBI_CYCLEFORMAT_3_1:
> - cycle1 = lines;
> - cycle2 = lines;
> - cycle3 = lines;
> - break;
> -
> - case OMAP_DSS_RFBI_CYCLEFORMAT_3_2:
> - cycle1 = lines;
> - cycle2 = (lines / 2) | ((lines / 2) << 16);
> - cycle3 = (lines << 16);
> - break;
> - }
> -
> - REG_FLD_MOD(RFBI_CONTROL, 0, 3, 2); /* clear CS */
> -
> - l = 0;
> - l |= FLD_VAL(parallelmode, 1, 0);
> - l |= FLD_VAL(0, 3, 2); /* TRIGGERMODE: ITE */
> - l |= FLD_VAL(0, 4, 4); /* TIMEGRANULARITY */
> - l |= FLD_VAL(datatype, 6, 5);
> - /* l |= FLD_VAL(2, 8, 7); */ /* L4FORMAT, 2pix/L4 */
> - l |= FLD_VAL(0, 8, 7); /* L4FORMAT, 1pix/L4 */
> - l |= FLD_VAL(cycleformat, 10, 9);
> - l |= FLD_VAL(0, 12, 11); /* UNUSEDBITS */
> - l |= FLD_VAL(0, 16, 16); /* A0POLARITY */
> - l |= FLD_VAL(0, 17, 17); /* REPOLARITY */
> - l |= FLD_VAL(0, 18, 18); /* WEPOLARITY */
> - l |= FLD_VAL(0, 19, 19); /* CSPOLARITY */
> - l |= FLD_VAL(1, 20, 20); /* TE_VSYNC_POLARITY */
> - l |= FLD_VAL(1, 21, 21); /* HSYNCPOLARITY */
> - rfbi_write_reg(RFBI_CONFIG(rfbi_module), l);
> -
> - rfbi_write_reg(RFBI_DATA_CYCLE1(rfbi_module), cycle1);
> - rfbi_write_reg(RFBI_DATA_CYCLE2(rfbi_module), cycle2);
> - rfbi_write_reg(RFBI_DATA_CYCLE3(rfbi_module), cycle3);
> -
> -
> - l = rfbi_read_reg(RFBI_CONTROL);
> - l = FLD_MOD(l, rfbi_module+1, 3, 2); /* Select CSx */
> - l = FLD_MOD(l, 0, 1, 1); /* clear bypass */
> - rfbi_write_reg(RFBI_CONTROL, l);
> -
> -
> - DSSDBG("RFBI config: bpp %d, lines %d, cycles: 0x%x 0x%x 0x%x\n",
> - bpp, lines, cycle1, cycle2, cycle3);
> -
> - return 0;
> -}
> -
> -static int rfbi_configure(struct omap_dss_device *dssdev)
> -{
> - return rfbi_configure_bus(dssdev->phy.rfbi.channel, rfbi.pixel_size,
> - rfbi.data_lines);
> -}
> -
> -static int rfbi_update(struct omap_dss_device *dssdev, void
> (*callback)(void *), - void *data)
> -{
> - return rfbi_transfer_area(dssdev, callback, data);
> -}
> -
> -static void rfbi_set_size(struct omap_dss_device *dssdev, u16 w, u16 h)
> -{
> - rfbi.vm.hactive = w;
> - rfbi.vm.vactive = h;
> -}
> -
> -static void rfbi_set_pixel_size(struct omap_dss_device *dssdev, int
> pixel_size) -{
> - rfbi.pixel_size = pixel_size;
> -}
> -
> -static void rfbi_set_data_lines(struct omap_dss_device *dssdev, int
> data_lines) -{
> - rfbi.data_lines = data_lines;
> -}
> -
> -static void rfbi_set_interface_timings(struct omap_dss_device *dssdev,
> - struct rfbi_timings *timings)
> -{
> - rfbi.intf_timings = *timings;
> -}
> -
> -static void rfbi_dump_regs(struct seq_file *s)
> -{
> -#define DUMPREG(r) seq_printf(s, "%-35s %08x\n", #r, rfbi_read_reg(r))
> -
> - if (rfbi_runtime_get())
> - return;
> -
> - DUMPREG(RFBI_REVISION);
> - DUMPREG(RFBI_SYSCONFIG);
> - DUMPREG(RFBI_SYSSTATUS);
> - DUMPREG(RFBI_CONTROL);
> - DUMPREG(RFBI_PIXEL_CNT);
> - DUMPREG(RFBI_LINE_NUMBER);
> - DUMPREG(RFBI_CMD);
> - DUMPREG(RFBI_PARAM);
> - DUMPREG(RFBI_DATA);
> - DUMPREG(RFBI_READ);
> - DUMPREG(RFBI_STATUS);
> -
> - DUMPREG(RFBI_CONFIG(0));
> - DUMPREG(RFBI_ONOFF_TIME(0));
> - DUMPREG(RFBI_CYCLE_TIME(0));
> - DUMPREG(RFBI_DATA_CYCLE1(0));
> - DUMPREG(RFBI_DATA_CYCLE2(0));
> - DUMPREG(RFBI_DATA_CYCLE3(0));
> -
> - DUMPREG(RFBI_CONFIG(1));
> - DUMPREG(RFBI_ONOFF_TIME(1));
> - DUMPREG(RFBI_CYCLE_TIME(1));
> - DUMPREG(RFBI_DATA_CYCLE1(1));
> - DUMPREG(RFBI_DATA_CYCLE2(1));
> - DUMPREG(RFBI_DATA_CYCLE3(1));
> -
> - DUMPREG(RFBI_VSYNC_WIDTH);
> - DUMPREG(RFBI_HSYNC_WIDTH);
> -
> - rfbi_runtime_put();
> -#undef DUMPREG
> -}
> -
> -static void rfbi_config_lcd_manager(struct omap_dss_device *dssdev)
> -{
> - struct omap_overlay_manager *mgr = rfbi.output.manager;
> - struct dss_lcd_mgr_config mgr_config;
> -
> - mgr_config.io_pad_mode = DSS_IO_PAD_MODE_RFBI;
> -
> - mgr_config.stallmode = true;
> - /* Do we need fifohandcheck for RFBI? */
> - mgr_config.fifohandcheck = false;
> -
> - mgr_config.video_port_width = rfbi.pixel_size;
> - mgr_config.lcden_sig_polarity = 0;
> -
> - dss_mgr_set_lcd_config(mgr, &mgr_config);
> -
> - /*
> - * Set rfbi.timings with default values, the hactive and vactive
fields
> - * are expected to be already configured by the panel driver via
> - * omapdss_rfbi_set_size()
> - */
> - rfbi.vm.hsync_len = 1;
> - rfbi.vm.hfront_porch = 1;
> - rfbi.vm.hback_porch = 1;
> - rfbi.vm.vsync_len = 1;
> - rfbi.vm.vfront_porch = 0;
> - rfbi.vm.vback_porch = 0;
> -
> - rfbi.vm.flags &= ~DISPLAY_FLAGS_INTERLACED;
> - rfbi.vm.flags &= ~DISPLAY_FLAGS_HSYNC_LOW;
> - rfbi.vm.flags |= DISPLAY_FLAGS_HSYNC_HIGH;
> - rfbi.vm.flags &= ~DISPLAY_FLAGS_VSYNC_LOW;
> - rfbi.vm.flags |= DISPLAY_FLAGS_VSYNC_HIGH;
> - rfbi.vm.flags &= ~DISPLAY_FLAGS_PIXDATA_NEGEDGE;
> - rfbi.vm.flags |= DISPLAY_FLAGS_PIXDATA_POSEDGE;
> - rfbi.vm.flags &= ~DISPLAY_FLAGS_DE_LOW;
> - rfbi.vm.flags |= DISPLAY_FLAGS_DE_HIGH;
> - rfbi.vm.flags &= ~DISPLAY_FLAGS_SYNC_POSEDGE;
> - rfbi.vm.flags |= DISPLAY_FLAGS_SYNC_NEGEDGE;
> -
> - dss_mgr_set_timings(mgr, &rfbi.vm);
> -}
> -
> -static int rfbi_display_enable(struct omap_dss_device *dssdev)
> -{
> - struct omap_dss_device *out = &rfbi.output;
> - int r;
> -
> - if (!out->dispc_channel_connected) {
> - DSSERR("failed to enable display: no output/manager\n");
> - return -ENODEV;
> - }
> -
> - r = rfbi_runtime_get();
> - if (r)
> - return r;
> -
> - r = dss_mgr_register_framedone_handler(out->manager,
> - framedone_callback, NULL);
> - if (r) {
> - DSSERR("can't get FRAMEDONE irq\n");
> - goto err1;
> - }
> -
> - rfbi_config_lcd_manager(dssdev);
> -
> - rfbi_configure_bus(dssdev->phy.rfbi.channel, rfbi.pixel_size,
> - rfbi.data_lines);
> -
> - rfbi_set_timings(dssdev->phy.rfbi.channel, &rfbi.intf_timings);
> -
> - return 0;
> -err1:
> - rfbi_runtime_put();
> - return r;
> -}
> -
> -static void rfbi_display_disable(struct omap_dss_device *dssdev)
> -{
> - struct omap_dss_device *out = &rfbi.output;
> -
> - dss_mgr_unregister_framedone_handler(out->manager,
> - framedone_callback, NULL);
> -
> - rfbi_runtime_put();
> -}
> -
> -static int rfbi_init_display(struct omap_dss_device *dssdev)
> -{
> - rfbi.dssdev[dssdev->phy.rfbi.channel] = dssdev;
> - return 0;
> -}
> -
> -static void rfbi_init_output(struct platform_device *pdev)
> -{
> - struct omap_dss_device *out = &rfbi.output;
> -
> - out->dev = &pdev->dev;
> - out->id = OMAP_DSS_OUTPUT_DBI;
> - out->output_type = OMAP_DISPLAY_TYPE_DBI;
> - out->name = "rfbi.0";
> - out->dispc_channel = OMAP_DSS_CHANNEL_LCD;
> - out->owner = THIS_MODULE;
> -
> - omapdss_register_output(out);
> -}
> -
> -static void rfbi_uninit_output(struct platform_device *pdev)
> -{
> - struct omap_dss_device *out = &rfbi.output;
> -
> - omapdss_unregister_output(out);
> -}
> -
> -/* RFBI HW IP initialisation */
> -static int rfbi_bind(struct device *dev, struct device *master, void *data)
> -{
> - struct platform_device *pdev = to_platform_device(dev);
> - u32 rev;
> - struct resource *rfbi_mem;
> - struct clk *clk;
> - int r;
> -
> - rfbi.pdev = pdev;
> -
> - sema_init(&rfbi.bus_lock, 1);
> -
> - rfbi_mem = platform_get_resource(rfbi.pdev, IORESOURCE_MEM, 0);
> - rfbi.base = devm_ioremap_resource(&pdev->dev, rfbi_mem);
> - if (IS_ERR(rfbi.base))
> - return PTR_ERR(rfbi.base);
> -
> - clk = clk_get(&pdev->dev, "ick");
> - if (IS_ERR(clk)) {
> - DSSERR("can't get ick\n");
> - return PTR_ERR(clk);
> - }
> -
> - rfbi.l4_khz = clk_get_rate(clk) / 1000;
> -
> - clk_put(clk);
> -
> - pm_runtime_enable(&pdev->dev);
> -
> - r = rfbi_runtime_get();
> - if (r)
> - goto err_runtime_get;
> -
> - msleep(10);
> -
> - rev = rfbi_read_reg(RFBI_REVISION);
> - dev_dbg(&pdev->dev, "OMAP RFBI rev %d.%d\n",
> - FLD_GET(rev, 7, 4), FLD_GET(rev, 3, 0));
> -
> - rfbi_runtime_put();
> -
> - dss_debugfs_create_file("rfbi", rfbi_dump_regs);
> -
> - rfbi_init_output(pdev);
> -
> - return 0;
> -
> -err_runtime_get:
> - pm_runtime_disable(&pdev->dev);
> - return r;
> -}
> -
> -static void rfbi_unbind(struct device *dev, struct device *master, void
> *data) -{
> - struct platform_device *pdev = to_platform_device(dev);
> -
> - rfbi_uninit_output(pdev);
> -
> - pm_runtime_disable(&pdev->dev);
> -
> - return 0;
> -}
> -
> -static const struct component_ops rfbi_component_ops = {
> - .bind = rfbi_bind,
> - .unbind = rfbi_unbind,
> -};
> -
> -static int rfbi_probe(struct platform_device *pdev)
> -{
> - return component_add(&pdev->dev, &rfbi_component_ops);
> -}
> -
> -static int rfbi_remove(struct platform_device *pdev)
> -{
> - component_del(&pdev->dev, &rfbi_component_ops);
> - return 0;
> -}
> -
> -static int rfbi_runtime_suspend(struct device *dev)
> -{
> - dispc_runtime_put();
> -
> - return 0;
> -}
> -
> -static int rfbi_runtime_resume(struct device *dev)
> -{
> - int r;
> -
> - r = dispc_runtime_get();
> - if (r < 0)
> - return r;
> -
> - return 0;
> -}
> -
> -static const struct dev_pm_ops rfbi_pm_ops = {
> - .runtime_suspend = rfbi_runtime_suspend,
> - .runtime_resume = rfbi_runtime_resume,
> -};
> -
> -static struct platform_driver omap_rfbihw_driver = {
> - .probe = rfbi_probe,
> - .remove = rfbi_remove,
> - .driver = {
> - .name = "omapdss_rfbi",
> - .pm = &rfbi_pm_ops,
> - .suppress_bind_attrs = true,
> - },
> -};
> -
> -int __init rfbi_init_platform_driver(void)
> -{
> - return platform_driver_register(&omap_rfbihw_driver);
> -}
> -
> -void rfbi_uninit_platform_driver(void)
> -{
> - platform_driver_unregister(&omap_rfbihw_driver);
> -}
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 10/13] drm/omap: remove unused get_dimensions()
2017-05-12 10:41 [PATCH 00/13] drm/omap: legacy cleanup Tomi Valkeinen
` (8 preceding siblings ...)
2017-05-12 10:41 ` [PATCH 09/13] drm/omap: remove rfbi Tomi Valkeinen
@ 2017-05-12 10:41 ` Tomi Valkeinen
2017-05-12 12:19 ` Laurent Pinchart
2017-05-12 10:41 ` [PATCH 11/13] drm/omap: remove legacy get_resolution Tomi Valkeinen
` (3 subsequent siblings)
13 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2017-05-12 10:41 UTC (permalink / raw)
To: dri-devel, Laurent Pinchart; +Cc: Tomi Valkeinen, Jyri Sarha
get_dimensions function pointer is not used, remove it.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
drivers/gpu/drm/omapdrm/dss/omapdss.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 8eb8315a6c95..4909ea11cb71 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -690,8 +690,6 @@ struct omap_dss_driver {
void (*get_resolution)(struct omap_dss_device *dssdev,
u16 *xres, u16 *yres);
- void (*get_dimensions)(struct omap_dss_device *dssdev,
- u32 *width, u32 *height);
int (*check_timings)(struct omap_dss_device *dssdev,
struct videomode *vm);
--
2.7.4
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 30+ messages in thread* Re: [PATCH 10/13] drm/omap: remove unused get_dimensions()
2017-05-12 10:41 ` [PATCH 10/13] drm/omap: remove unused get_dimensions() Tomi Valkeinen
@ 2017-05-12 12:19 ` Laurent Pinchart
0 siblings, 0 replies; 30+ messages in thread
From: Laurent Pinchart @ 2017-05-12 12:19 UTC (permalink / raw)
To: Tomi Valkeinen; +Cc: Jyri Sarha, dri-devel
Hi Tomi,
Thank you for the patch.
On Friday 12 May 2017 13:41:39 Tomi Valkeinen wrote:
> get_dimensions function pointer is not used, remove it.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> drivers/gpu/drm/omapdrm/dss/omapdss.h | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> b/drivers/gpu/drm/omapdrm/dss/omapdss.h index 8eb8315a6c95..4909ea11cb71
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
> @@ -690,8 +690,6 @@ struct omap_dss_driver {
>
> void (*get_resolution)(struct omap_dss_device *dssdev,
> u16 *xres, u16 *yres);
> - void (*get_dimensions)(struct omap_dss_device *dssdev,
> - u32 *width, u32 *height);
>
> int (*check_timings)(struct omap_dss_device *dssdev,
> struct videomode *vm);
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 11/13] drm/omap: remove legacy get_resolution
2017-05-12 10:41 [PATCH 00/13] drm/omap: legacy cleanup Tomi Valkeinen
` (9 preceding siblings ...)
2017-05-12 10:41 ` [PATCH 10/13] drm/omap: remove unused get_dimensions() Tomi Valkeinen
@ 2017-05-12 10:41 ` Tomi Valkeinen
2017-05-12 12:20 ` Laurent Pinchart
2017-05-12 10:41 ` [PATCH 12/13] drm/omap: remove unused fields Tomi Valkeinen
` (2 subsequent siblings)
13 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2017-05-12 10:41 UTC (permalink / raw)
To: dri-devel, Laurent Pinchart; +Cc: Tomi Valkeinen, Jyri Sarha
get_resolution is not used, remove it.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c | 2 --
drivers/gpu/drm/omapdrm/displays/connector-dvi.c | 2 --
drivers/gpu/drm/omapdrm/displays/connector-hdmi.c | 2 --
drivers/gpu/drm/omapdrm/displays/panel-dpi.c | 2 --
drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 9 ---------
drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c | 2 --
drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c | 2 --
drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c | 2 --
drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c | 2 --
drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c | 2 --
drivers/gpu/drm/omapdrm/dss/display.c | 10 ----------
drivers/gpu/drm/omapdrm/dss/omapdss.h | 5 -----
12 files changed, 42 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
index 8453b1103abd..542a76503fbd 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
@@ -171,8 +171,6 @@ static struct omap_dss_driver tvc_driver = {
.get_timings = tvc_get_timings,
.check_timings = tvc_check_timings,
- .get_resolution = omapdss_default_get_resolution,
-
.get_wss = tvc_get_wss,
.set_wss = tvc_set_wss,
};
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
index 8720b2dcb316..05fa24a518c8 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
@@ -227,8 +227,6 @@ static struct omap_dss_driver dvic_driver = {
.get_timings = dvic_get_timings,
.check_timings = dvic_check_timings,
- .get_resolution = omapdss_default_get_resolution,
-
.read_edid = dvic_read_edid,
.detect = dvic_detect,
};
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
index 555e193c9732..79cb69f1acf5 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
@@ -195,8 +195,6 @@ static struct omap_dss_driver hdmic_driver = {
.get_timings = hdmic_get_timings,
.check_timings = hdmic_check_timings,
- .get_resolution = omapdss_default_get_resolution,
-
.read_edid = hdmic_read_edid,
.detect = hdmic_detect,
.set_hdmi_mode = hdmic_set_hdmi_mode,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
index cc5920b476d6..49ceed7f1d11 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
@@ -159,8 +159,6 @@ static struct omap_dss_driver panel_dpi_ops = {
.set_timings = panel_dpi_set_timings,
.get_timings = panel_dpi_get_timings,
.check_timings = panel_dpi_check_timings,
-
- .get_resolution = omapdss_default_get_resolution,
};
static int panel_dpi_probe_of(struct platform_device *pdev)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
index 1fbbe4c4bce6..76787a75a4dc 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
@@ -379,13 +379,6 @@ static const struct backlight_ops dsicm_bl_ops = {
.update_status = dsicm_bl_update_status,
};
-static void dsicm_get_resolution(struct omap_dss_device *dssdev,
- u16 *xres, u16 *yres)
-{
- *xres = dssdev->panel.vm.hactive;
- *yres = dssdev->panel.vm.vactive;
-}
-
static ssize_t dsicm_num_errors_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
@@ -1116,8 +1109,6 @@ static struct omap_dss_driver dsicm_ops = {
.update = dsicm_update,
.sync = dsicm_sync,
- .get_resolution = dsicm_get_resolution,
-
.enable_te = dsicm_enable_te,
.get_te = dsicm_get_te,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
index 451e1608a1db..c90474afaebd 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
@@ -226,8 +226,6 @@ static struct omap_dss_driver lb035q02_ops = {
.set_timings = lb035q02_set_timings,
.get_timings = lb035q02_get_timings,
.check_timings = lb035q02_check_timings,
-
- .get_resolution = omapdss_default_get_resolution,
};
static int lb035q02_probe_of(struct spi_device *spi)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
index 95f6702a7b4f..df8132d3b9c6 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
@@ -220,8 +220,6 @@ static struct omap_dss_driver nec_8048_ops = {
.set_timings = nec_8048_set_timings,
.get_timings = nec_8048_get_timings,
.check_timings = nec_8048_check_timings,
-
- .get_resolution = omapdss_default_get_resolution,
};
static int nec_8048_probe_of(struct spi_device *spi)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
index b38c3df0532f..98d170aecaba 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
@@ -190,8 +190,6 @@ static struct omap_dss_driver sharp_ls_ops = {
.set_timings = sharp_ls_set_timings,
.get_timings = sharp_ls_get_timings,
.check_timings = sharp_ls_check_timings,
-
- .get_resolution = omapdss_default_get_resolution,
};
static int sharp_ls_get_gpio_of(struct device *dev, int index, int val,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
index be368868f77f..a4214a6a95fa 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
@@ -691,8 +691,6 @@ static struct omap_dss_driver acx565akm_ops = {
.set_timings = acx565akm_set_timings,
.get_timings = acx565akm_get_timings,
.check_timings = acx565akm_check_timings,
-
- .get_resolution = omapdss_default_get_resolution,
};
static int acx565akm_probe_of(struct spi_device *spi)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
index da5ea2c378da..20c6d8fe215a 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
@@ -457,8 +457,6 @@ static struct omap_dss_driver tpo_td043_ops = {
.set_mirror = tpo_td043_set_hmirror,
.get_mirror = tpo_td043_get_hmirror,
-
- .get_resolution = omapdss_default_get_resolution,
};
static int tpo_td043_probe_of(struct spi_device *spi)
diff --git a/drivers/gpu/drm/omapdrm/dss/display.c b/drivers/gpu/drm/omapdrm/dss/display.c
index 10c36539d8ee..42279933790e 100644
--- a/drivers/gpu/drm/omapdrm/dss/display.c
+++ b/drivers/gpu/drm/omapdrm/dss/display.c
@@ -30,14 +30,6 @@
#include "omapdss.h"
-void omapdss_default_get_resolution(struct omap_dss_device *dssdev,
- u16 *xres, u16 *yres)
-{
- *xres = dssdev->panel.vm.hactive;
- *yres = dssdev->panel.vm.vactive;
-}
-EXPORT_SYMBOL(omapdss_default_get_resolution);
-
void omapdss_default_get_timings(struct omap_dss_device *dssdev,
struct videomode *vm)
{
@@ -71,8 +63,6 @@ int omapdss_register_display(struct omap_dss_device *dssdev)
if (dssdev->name == NULL)
dssdev->name = dssdev->alias;
- if (drv && drv->get_resolution == NULL)
- drv->get_resolution = omapdss_default_get_resolution;
if (drv && drv->get_timings == NULL)
drv->get_timings = omapdss_default_get_timings;
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 4909ea11cb71..74408b0ece26 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -688,9 +688,6 @@ struct omap_dss_driver {
void *buf, size_t size,
u16 x, u16 y, u16 w, u16 h);
- void (*get_resolution)(struct omap_dss_device *dssdev,
- u16 *xres, u16 *yres);
-
int (*check_timings)(struct omap_dss_device *dssdev,
struct videomode *vm);
void (*set_timings)(struct omap_dss_device *dssdev,
@@ -749,8 +746,6 @@ int omapdss_output_unset_device(struct omap_dss_device *out);
struct omap_dss_device *omapdss_find_output_from_display(struct omap_dss_device *dssdev);
struct omap_overlay_manager *omapdss_find_mgr_from_display(struct omap_dss_device *dssdev);
-void omapdss_default_get_resolution(struct omap_dss_device *dssdev,
- u16 *xres, u16 *yres);
void omapdss_default_get_timings(struct omap_dss_device *dssdev,
struct videomode *vm);
--
2.7.4
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 30+ messages in thread* Re: [PATCH 11/13] drm/omap: remove legacy get_resolution
2017-05-12 10:41 ` [PATCH 11/13] drm/omap: remove legacy get_resolution Tomi Valkeinen
@ 2017-05-12 12:20 ` Laurent Pinchart
0 siblings, 0 replies; 30+ messages in thread
From: Laurent Pinchart @ 2017-05-12 12:20 UTC (permalink / raw)
To: Tomi Valkeinen; +Cc: Jyri Sarha, dri-devel
Hi Tomi,
Thank you for the patch.
On Friday 12 May 2017 13:41:40 Tomi Valkeinen wrote:
> get_resolution is not used, remove it.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c | 2 --
> drivers/gpu/drm/omapdrm/displays/connector-dvi.c | 2 --
> drivers/gpu/drm/omapdrm/displays/connector-hdmi.c | 2 --
> drivers/gpu/drm/omapdrm/displays/panel-dpi.c | 2 --
> drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 9 ---------
> drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c | 2 --
> drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c | 2 --
> drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c | 2 --
> drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c | 2 --
> drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c | 2 --
> drivers/gpu/drm/omapdrm/dss/display.c | 10 ----------
> drivers/gpu/drm/omapdrm/dss/omapdss.h | 5 ----- 12
> files changed, 42 deletions(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
> b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c index
> 8453b1103abd..542a76503fbd 100644
> --- a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
> +++ b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
> @@ -171,8 +171,6 @@ static struct omap_dss_driver tvc_driver = {
> .get_timings = tvc_get_timings,
> .check_timings = tvc_check_timings,
>
> - .get_resolution = omapdss_default_get_resolution,
> -
> .get_wss = tvc_get_wss,
> .set_wss = tvc_set_wss,
> };
> diff --git a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
> b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c index
> 8720b2dcb316..05fa24a518c8 100644
> --- a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
> +++ b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
> @@ -227,8 +227,6 @@ static struct omap_dss_driver dvic_driver = {
> .get_timings = dvic_get_timings,
> .check_timings = dvic_check_timings,
>
> - .get_resolution = omapdss_default_get_resolution,
> -
> .read_edid = dvic_read_edid,
> .detect = dvic_detect,
> };
> diff --git a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
> b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c index
> 555e193c9732..79cb69f1acf5 100644
> --- a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
> +++ b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
> @@ -195,8 +195,6 @@ static struct omap_dss_driver hdmic_driver = {
> .get_timings = hdmic_get_timings,
> .check_timings = hdmic_check_timings,
>
> - .get_resolution = omapdss_default_get_resolution,
> -
> .read_edid = hdmic_read_edid,
> .detect = hdmic_detect,
> .set_hdmi_mode = hdmic_set_hdmi_mode,
> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
> b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c index
> cc5920b476d6..49ceed7f1d11 100644
> --- a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
> +++ b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
> @@ -159,8 +159,6 @@ static struct omap_dss_driver panel_dpi_ops = {
> .set_timings = panel_dpi_set_timings,
> .get_timings = panel_dpi_get_timings,
> .check_timings = panel_dpi_check_timings,
> -
> - .get_resolution = omapdss_default_get_resolution,
> };
>
> static int panel_dpi_probe_of(struct platform_device *pdev)
> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
> b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c index
> 1fbbe4c4bce6..76787a75a4dc 100644
> --- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
> +++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
> @@ -379,13 +379,6 @@ static const struct backlight_ops dsicm_bl_ops = {
> .update_status = dsicm_bl_update_status,
> };
>
> -static void dsicm_get_resolution(struct omap_dss_device *dssdev,
> - u16 *xres, u16 *yres)
> -{
> - *xres = dssdev->panel.vm.hactive;
> - *yres = dssdev->panel.vm.vactive;
> -}
> -
> static ssize_t dsicm_num_errors_show(struct device *dev,
> struct device_attribute *attr, char *buf)
> {
> @@ -1116,8 +1109,6 @@ static struct omap_dss_driver dsicm_ops = {
> .update = dsicm_update,
> .sync = dsicm_sync,
>
> - .get_resolution = dsicm_get_resolution,
> -
> .enable_te = dsicm_enable_te,
> .get_te = dsicm_get_te,
>
> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
> b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c index
> 451e1608a1db..c90474afaebd 100644
> --- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
> +++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
> @@ -226,8 +226,6 @@ static struct omap_dss_driver lb035q02_ops = {
> .set_timings = lb035q02_set_timings,
> .get_timings = lb035q02_get_timings,
> .check_timings = lb035q02_check_timings,
> -
> - .get_resolution = omapdss_default_get_resolution,
> };
>
> static int lb035q02_probe_of(struct spi_device *spi)
> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
> b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c index
> 95f6702a7b4f..df8132d3b9c6 100644
> --- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
> +++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
> @@ -220,8 +220,6 @@ static struct omap_dss_driver nec_8048_ops = {
> .set_timings = nec_8048_set_timings,
> .get_timings = nec_8048_get_timings,
> .check_timings = nec_8048_check_timings,
> -
> - .get_resolution = omapdss_default_get_resolution,
> };
>
> static int nec_8048_probe_of(struct spi_device *spi)
> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
> b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c index
> b38c3df0532f..98d170aecaba 100644
> --- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
> +++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
> @@ -190,8 +190,6 @@ static struct omap_dss_driver sharp_ls_ops = {
> .set_timings = sharp_ls_set_timings,
> .get_timings = sharp_ls_get_timings,
> .check_timings = sharp_ls_check_timings,
> -
> - .get_resolution = omapdss_default_get_resolution,
> };
>
> static int sharp_ls_get_gpio_of(struct device *dev, int index, int val,
> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
> b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c index
> be368868f77f..a4214a6a95fa 100644
> --- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
> +++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
> @@ -691,8 +691,6 @@ static struct omap_dss_driver acx565akm_ops = {
> .set_timings = acx565akm_set_timings,
> .get_timings = acx565akm_get_timings,
> .check_timings = acx565akm_check_timings,
> -
> - .get_resolution = omapdss_default_get_resolution,
> };
>
> static int acx565akm_probe_of(struct spi_device *spi)
> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
> b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c index
> da5ea2c378da..20c6d8fe215a 100644
> --- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
> +++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
> @@ -457,8 +457,6 @@ static struct omap_dss_driver tpo_td043_ops = {
>
> .set_mirror = tpo_td043_set_hmirror,
> .get_mirror = tpo_td043_get_hmirror,
> -
> - .get_resolution = omapdss_default_get_resolution,
> };
>
> static int tpo_td043_probe_of(struct spi_device *spi)
> diff --git a/drivers/gpu/drm/omapdrm/dss/display.c
> b/drivers/gpu/drm/omapdrm/dss/display.c index 10c36539d8ee..42279933790e
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/display.c
> +++ b/drivers/gpu/drm/omapdrm/dss/display.c
> @@ -30,14 +30,6 @@
>
> #include "omapdss.h"
>
> -void omapdss_default_get_resolution(struct omap_dss_device *dssdev,
> - u16 *xres, u16 *yres)
> -{
> - *xres = dssdev->panel.vm.hactive;
> - *yres = dssdev->panel.vm.vactive;
> -}
> -EXPORT_SYMBOL(omapdss_default_get_resolution);
> -
> void omapdss_default_get_timings(struct omap_dss_device *dssdev,
> struct videomode *vm)
> {
> @@ -71,8 +63,6 @@ int omapdss_register_display(struct omap_dss_device
> *dssdev) if (dssdev->name == NULL)
> dssdev->name = dssdev->alias;
>
> - if (drv && drv->get_resolution == NULL)
> - drv->get_resolution = omapdss_default_get_resolution;
> if (drv && drv->get_timings == NULL)
> drv->get_timings = omapdss_default_get_timings;
>
> diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> b/drivers/gpu/drm/omapdrm/dss/omapdss.h index 4909ea11cb71..74408b0ece26
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
> @@ -688,9 +688,6 @@ struct omap_dss_driver {
> void *buf, size_t size,
> u16 x, u16 y, u16 w, u16 h);
>
> - void (*get_resolution)(struct omap_dss_device *dssdev,
> - u16 *xres, u16 *yres);
> -
> int (*check_timings)(struct omap_dss_device *dssdev,
> struct videomode *vm);
> void (*set_timings)(struct omap_dss_device *dssdev,
> @@ -749,8 +746,6 @@ int omapdss_output_unset_device(struct omap_dss_device
> *out); struct omap_dss_device *omapdss_find_output_from_display(struct
> omap_dss_device *dssdev); struct omap_overlay_manager
> *omapdss_find_mgr_from_display(struct omap_dss_device *dssdev);
>
> -void omapdss_default_get_resolution(struct omap_dss_device *dssdev,
> - u16 *xres, u16 *yres);
> void omapdss_default_get_timings(struct omap_dss_device *dssdev,
> struct videomode *vm);
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 12/13] drm/omap: remove unused fields
2017-05-12 10:41 [PATCH 00/13] drm/omap: legacy cleanup Tomi Valkeinen
` (10 preceding siblings ...)
2017-05-12 10:41 ` [PATCH 11/13] drm/omap: remove legacy get_resolution Tomi Valkeinen
@ 2017-05-12 10:41 ` Tomi Valkeinen
2017-05-12 12:21 ` Laurent Pinchart
2017-05-12 10:41 ` [PATCH 13/13] drm/omap: remove omap_overlay & omap_overlay_manager Tomi Valkeinen
2017-05-12 12:33 ` [PATCH 14/13] drm: omapdrm: Remove unused omap_dss_find_output() function Laurent Pinchart
13 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2017-05-12 10:41 UTC (permalink / raw)
To: dri-devel, Laurent Pinchart; +Cc: Tomi Valkeinen, Jyri Sarha
Remove unused fields in struct omap_dss_device.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
drivers/gpu/drm/omapdrm/dss/omapdss.h | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 74408b0ece26..3cf42e5ddf3e 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -596,12 +596,6 @@ struct omap_dss_device {
enum omap_display_type type;
enum omap_display_type output_type;
- union {
- struct {
- int module;
- } dsi;
- } phy;
-
struct {
struct videomode vm;
@@ -609,17 +603,8 @@ struct omap_dss_device {
enum omap_dss_dsi_mode dsi_mode;
} panel;
- struct {
- u8 pixel_size;
- } ctrl;
-
const char *name;
- /* used to match device to driver */
- const char *driver_name;
-
- void *data;
-
struct omap_dss_driver *driver;
union {
@@ -655,8 +640,6 @@ struct omap_dss_device {
int port_num;
/* dynamic fields */
- struct omap_overlay_manager *manager;
-
struct omap_dss_device *dst;
};
--
2.7.4
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 30+ messages in thread* Re: [PATCH 12/13] drm/omap: remove unused fields
2017-05-12 10:41 ` [PATCH 12/13] drm/omap: remove unused fields Tomi Valkeinen
@ 2017-05-12 12:21 ` Laurent Pinchart
0 siblings, 0 replies; 30+ messages in thread
From: Laurent Pinchart @ 2017-05-12 12:21 UTC (permalink / raw)
To: Tomi Valkeinen; +Cc: Jyri Sarha, dri-devel
Hi Tomi,
Thank you for the patch.
On Friday 12 May 2017 13:41:41 Tomi Valkeinen wrote:
> Remove unused fields in struct omap_dss_device.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> drivers/gpu/drm/omapdrm/dss/omapdss.h | 17 -----------------
> 1 file changed, 17 deletions(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> b/drivers/gpu/drm/omapdrm/dss/omapdss.h index 74408b0ece26..3cf42e5ddf3e
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
> @@ -596,12 +596,6 @@ struct omap_dss_device {
> enum omap_display_type type;
> enum omap_display_type output_type;
>
> - union {
> - struct {
> - int module;
> - } dsi;
> - } phy;
> -
> struct {
> struct videomode vm;
>
> @@ -609,17 +603,8 @@ struct omap_dss_device {
> enum omap_dss_dsi_mode dsi_mode;
> } panel;
>
> - struct {
> - u8 pixel_size;
> - } ctrl;
> -
> const char *name;
>
> - /* used to match device to driver */
> - const char *driver_name;
> -
> - void *data;
> -
> struct omap_dss_driver *driver;
>
> union {
> @@ -655,8 +640,6 @@ struct omap_dss_device {
> int port_num;
>
> /* dynamic fields */
> - struct omap_overlay_manager *manager;
> -
> struct omap_dss_device *dst;
> };
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 13/13] drm/omap: remove omap_overlay & omap_overlay_manager
2017-05-12 10:41 [PATCH 00/13] drm/omap: legacy cleanup Tomi Valkeinen
` (11 preceding siblings ...)
2017-05-12 10:41 ` [PATCH 12/13] drm/omap: remove unused fields Tomi Valkeinen
@ 2017-05-12 10:41 ` Tomi Valkeinen
2017-05-12 12:25 ` Laurent Pinchart
2017-05-12 12:33 ` [PATCH 14/13] drm: omapdrm: Remove unused omap_dss_find_output() function Laurent Pinchart
13 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2017-05-12 10:41 UTC (permalink / raw)
To: dri-devel, Laurent Pinchart; +Cc: Tomi Valkeinen, Jyri Sarha
Structs omap_overlay and omap_overlay_manager are not used, remove them.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
drivers/gpu/drm/omapdrm/dss/omapdss.h | 87 -----------------------------------
1 file changed, 87 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 3cf42e5ddf3e..41a58c7e38cd 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -59,7 +59,6 @@
#define DISPC_IRQ_FRAMEDONE3 (1 << 30)
struct omap_dss_device;
-struct omap_overlay_manager;
struct dss_lcd_mgr_config;
struct snd_aes_iec958;
struct snd_cea_861_aud_if;
@@ -306,48 +305,6 @@ struct omap_overlay_info {
u8 zorder;
};
-struct omap_overlay {
- struct kobject kobj;
- struct list_head list;
-
- /* static fields */
- const char *name;
- enum omap_plane_id id;
- enum omap_color_mode supported_modes;
- enum omap_overlay_caps caps;
-
- /* dynamic fields */
- struct omap_overlay_manager *manager;
-
- /*
- * The following functions do not block:
- *
- * is_enabled
- * set_overlay_info
- * get_overlay_info
- *
- * The rest of the functions may block and cannot be called from
- * interrupt context
- */
-
- int (*enable)(struct omap_overlay *ovl);
- int (*disable)(struct omap_overlay *ovl);
- bool (*is_enabled)(struct omap_overlay *ovl);
-
- int (*set_manager)(struct omap_overlay *ovl,
- struct omap_overlay_manager *mgr);
- int (*unset_manager)(struct omap_overlay *ovl);
-
- int (*set_overlay_info)(struct omap_overlay *ovl,
- struct omap_overlay_info *info);
- void (*get_overlay_info)(struct omap_overlay *ovl,
- struct omap_overlay_info *info);
-
- int (*wait_for_go)(struct omap_overlay *ovl);
-
- struct omap_dss_device *(*get_device)(struct omap_overlay *ovl);
-};
-
struct omap_overlay_manager_info {
u32 default_color;
@@ -361,47 +318,6 @@ struct omap_overlay_manager_info {
struct omap_dss_cpr_coefs cpr_coefs;
};
-struct omap_overlay_manager {
- struct kobject kobj;
-
- /* static fields */
- const char *name;
- enum omap_channel id;
- enum omap_overlay_manager_caps caps;
- struct list_head overlays;
- enum omap_display_type supported_displays;
- enum omap_dss_output_id supported_outputs;
-
- /* dynamic fields */
- struct omap_dss_device *output;
-
- /*
- * The following functions do not block:
- *
- * set_manager_info
- * get_manager_info
- * apply
- *
- * The rest of the functions may block and cannot be called from
- * interrupt context
- */
-
- int (*set_output)(struct omap_overlay_manager *mgr,
- struct omap_dss_device *output);
- int (*unset_output)(struct omap_overlay_manager *mgr);
-
- int (*set_manager_info)(struct omap_overlay_manager *mgr,
- struct omap_overlay_manager_info *info);
- void (*get_manager_info)(struct omap_overlay_manager *mgr,
- struct omap_overlay_manager_info *info);
-
- int (*apply)(struct omap_overlay_manager *mgr);
- int (*wait_for_go)(struct omap_overlay_manager *mgr);
- int (*wait_for_vsync)(struct omap_overlay_manager *mgr);
-
- struct omap_dss_device *(*get_device)(struct omap_overlay_manager *mgr);
-};
-
/* 22 pins means 1 clk lane and 10 data lanes */
#define OMAP_DSS_MAX_DSI_PINS 22
@@ -712,10 +628,8 @@ enum omap_color_mode dss_feat_get_supported_color_modes(enum omap_plane_id plane
int omap_dss_get_num_overlay_managers(void);
-struct omap_overlay_manager *omap_dss_get_overlay_manager(int num);
int omap_dss_get_num_overlays(void);
-struct omap_overlay *omap_dss_get_overlay(int num);
int omapdss_register_output(struct omap_dss_device *output);
void omapdss_unregister_output(struct omap_dss_device *output);
@@ -727,7 +641,6 @@ int omapdss_output_set_device(struct omap_dss_device *out,
int omapdss_output_unset_device(struct omap_dss_device *out);
struct omap_dss_device *omapdss_find_output_from_display(struct omap_dss_device *dssdev);
-struct omap_overlay_manager *omapdss_find_mgr_from_display(struct omap_dss_device *dssdev);
void omapdss_default_get_timings(struct omap_dss_device *dssdev,
struct videomode *vm);
--
2.7.4
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 30+ messages in thread* Re: [PATCH 13/13] drm/omap: remove omap_overlay & omap_overlay_manager
2017-05-12 10:41 ` [PATCH 13/13] drm/omap: remove omap_overlay & omap_overlay_manager Tomi Valkeinen
@ 2017-05-12 12:25 ` Laurent Pinchart
0 siblings, 0 replies; 30+ messages in thread
From: Laurent Pinchart @ 2017-05-12 12:25 UTC (permalink / raw)
To: Tomi Valkeinen; +Cc: Jyri Sarha, dri-devel
Hi Tomi,
Thank you for the patch.
On Friday 12 May 2017 13:41:42 Tomi Valkeinen wrote:
> Structs omap_overlay and omap_overlay_manager are not used, remove them.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
You can also remove enum omap_overlay_manager_caps in the same patch. With
that fixed,
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> drivers/gpu/drm/omapdrm/dss/omapdss.h | 87 --------------------------------
> 1 file changed, 87 deletions(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> b/drivers/gpu/drm/omapdrm/dss/omapdss.h index 3cf42e5ddf3e..41a58c7e38cd
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
> @@ -59,7 +59,6 @@
> #define DISPC_IRQ_FRAMEDONE3 (1 << 30)
>
> struct omap_dss_device;
> -struct omap_overlay_manager;
> struct dss_lcd_mgr_config;
> struct snd_aes_iec958;
> struct snd_cea_861_aud_if;
> @@ -306,48 +305,6 @@ struct omap_overlay_info {
> u8 zorder;
> };
>
> -struct omap_overlay {
> - struct kobject kobj;
> - struct list_head list;
> -
> - /* static fields */
> - const char *name;
> - enum omap_plane_id id;
> - enum omap_color_mode supported_modes;
> - enum omap_overlay_caps caps;
> -
> - /* dynamic fields */
> - struct omap_overlay_manager *manager;
> -
> - /*
> - * The following functions do not block:
> - *
> - * is_enabled
> - * set_overlay_info
> - * get_overlay_info
> - *
> - * The rest of the functions may block and cannot be called from
> - * interrupt context
> - */
> -
> - int (*enable)(struct omap_overlay *ovl);
> - int (*disable)(struct omap_overlay *ovl);
> - bool (*is_enabled)(struct omap_overlay *ovl);
> -
> - int (*set_manager)(struct omap_overlay *ovl,
> - struct omap_overlay_manager *mgr);
> - int (*unset_manager)(struct omap_overlay *ovl);
> -
> - int (*set_overlay_info)(struct omap_overlay *ovl,
> - struct omap_overlay_info *info);
> - void (*get_overlay_info)(struct omap_overlay *ovl,
> - struct omap_overlay_info *info);
> -
> - int (*wait_for_go)(struct omap_overlay *ovl);
> -
> - struct omap_dss_device *(*get_device)(struct omap_overlay *ovl);
> -};
> -
> struct omap_overlay_manager_info {
> u32 default_color;
>
> @@ -361,47 +318,6 @@ struct omap_overlay_manager_info {
> struct omap_dss_cpr_coefs cpr_coefs;
> };
>
> -struct omap_overlay_manager {
> - struct kobject kobj;
> -
> - /* static fields */
> - const char *name;
> - enum omap_channel id;
> - enum omap_overlay_manager_caps caps;
> - struct list_head overlays;
> - enum omap_display_type supported_displays;
> - enum omap_dss_output_id supported_outputs;
> -
> - /* dynamic fields */
> - struct omap_dss_device *output;
> -
> - /*
> - * The following functions do not block:
> - *
> - * set_manager_info
> - * get_manager_info
> - * apply
> - *
> - * The rest of the functions may block and cannot be called from
> - * interrupt context
> - */
> -
> - int (*set_output)(struct omap_overlay_manager *mgr,
> - struct omap_dss_device *output);
> - int (*unset_output)(struct omap_overlay_manager *mgr);
> -
> - int (*set_manager_info)(struct omap_overlay_manager *mgr,
> - struct omap_overlay_manager_info *info);
> - void (*get_manager_info)(struct omap_overlay_manager *mgr,
> - struct omap_overlay_manager_info *info);
> -
> - int (*apply)(struct omap_overlay_manager *mgr);
> - int (*wait_for_go)(struct omap_overlay_manager *mgr);
> - int (*wait_for_vsync)(struct omap_overlay_manager *mgr);
> -
> - struct omap_dss_device *(*get_device)(struct omap_overlay_manager
*mgr);
> -};
> -
> /* 22 pins means 1 clk lane and 10 data lanes */
> #define OMAP_DSS_MAX_DSI_PINS 22
>
> @@ -712,10 +628,8 @@ enum omap_color_mode
> dss_feat_get_supported_color_modes(enum omap_plane_id plane
>
>
> int omap_dss_get_num_overlay_managers(void);
> -struct omap_overlay_manager *omap_dss_get_overlay_manager(int num);
>
> int omap_dss_get_num_overlays(void);
> -struct omap_overlay *omap_dss_get_overlay(int num);
>
> int omapdss_register_output(struct omap_dss_device *output);
> void omapdss_unregister_output(struct omap_dss_device *output);
> @@ -727,7 +641,6 @@ int omapdss_output_set_device(struct omap_dss_device
> *out, int omapdss_output_unset_device(struct omap_dss_device *out);
>
> struct omap_dss_device *omapdss_find_output_from_display(struct
> omap_dss_device *dssdev); -struct omap_overlay_manager
> *omapdss_find_mgr_from_display(struct omap_dss_device *dssdev);
>
> void omapdss_default_get_timings(struct omap_dss_device *dssdev,
> struct videomode *vm);
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 14/13] drm: omapdrm: Remove unused omap_dss_find_output() function
2017-05-12 10:41 [PATCH 00/13] drm/omap: legacy cleanup Tomi Valkeinen
` (12 preceding siblings ...)
2017-05-12 10:41 ` [PATCH 13/13] drm/omap: remove omap_overlay & omap_overlay_manager Tomi Valkeinen
@ 2017-05-12 12:33 ` Laurent Pinchart
2017-05-12 12:40 ` Tomi Valkeinen
13 siblings, 1 reply; 30+ messages in thread
From: Laurent Pinchart @ 2017-05-12 12:33 UTC (permalink / raw)
To: dri-devel; +Cc: Tomi Valkeinen
The omap_dss_find_output() function is unused, remove it.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
drivers/gpu/drm/omapdrm/dss/omapdss.h | 1 -
drivers/gpu/drm/omapdrm/dss/output.c | 13 -------------
2 files changed, 14 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 41a58c7e38cd..90ce754fba4e 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -634,7 +634,6 @@ int omap_dss_get_num_overlays(void);
int omapdss_register_output(struct omap_dss_device *output);
void omapdss_unregister_output(struct omap_dss_device *output);
struct omap_dss_device *omap_dss_get_output(enum omap_dss_output_id id);
-struct omap_dss_device *omap_dss_find_output(const char *name);
struct omap_dss_device *omap_dss_find_output_by_port_node(struct device_node *port);
int omapdss_output_set_device(struct omap_dss_device *out,
struct omap_dss_device *dssdev);
diff --git a/drivers/gpu/drm/omapdrm/dss/output.c b/drivers/gpu/drm/omapdrm/dss/output.c
index 655c5d73eac9..3c572b699ed3 100644
--- a/drivers/gpu/drm/omapdrm/dss/output.c
+++ b/drivers/gpu/drm/omapdrm/dss/output.c
@@ -133,19 +133,6 @@ struct omap_dss_device *omap_dss_get_output(enum omap_dss_output_id id)
}
EXPORT_SYMBOL(omap_dss_get_output);
-struct omap_dss_device *omap_dss_find_output(const char *name)
-{
- struct omap_dss_device *out;
-
- list_for_each_entry(out, &output_list, list) {
- if (strcmp(out->name, name) == 0)
- return omap_dss_get_device(out);
- }
-
- return NULL;
-}
-EXPORT_SYMBOL(omap_dss_find_output);
-
struct omap_dss_device *omap_dss_find_output_by_port_node(struct device_node *port)
{
struct device_node *src_node;
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 30+ messages in thread