[PATCH 0/2] Update remove method for DSS driver

This patch series aims at updating the remove method for DSS video driver.
Nikhil M Jain (2): drivers: video: tidss: tidss_drv: Change remove method drivers: video: tidss: tidss_drv: Use kconfig VIDEO_REMOVE to remove video
drivers/video/tidss/tidss_drv.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-)

Change remove method of DSS video driver to disable video port instead of performing a soft reset, as soft reset takes longer duration. Video port is disabled by setting enable bit of video port to 0.
Signed-off-by: Nikhil M Jain n-jain1@ti.com --- drivers/video/tidss/tidss_drv.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/drivers/video/tidss/tidss_drv.c b/drivers/video/tidss/tidss_drv.c index 078e3e82e3..623bf4cf31 100644 --- a/drivers/video/tidss/tidss_drv.c +++ b/drivers/video/tidss/tidss_drv.c @@ -901,19 +901,9 @@ static int tidss_drv_probe(struct udevice *dev)
static int tidss_drv_remove(struct udevice *dev) { - u32 val; - int ret; struct tidss_drv_priv *priv = dev_get_priv(dev);
- priv->base_common = dev_remap_addr_index(dev, 0); - REG_FLD_MOD(priv, DSS_SYSCONFIG, 1, 1, 1); - /* Wait for reset to complete */ - ret = readl_poll_timeout(priv->base_common + DSS_SYSSTATUS, - val, val & 1, 5000); - if (ret) { - dev_warn(priv->dev, "failed to reset priv\n"); - return ret; - } + VP_REG_FLD_MOD(priv, 0, DSS_VP_CONTROL, 0, 0, 0); return 0; }

On 27/07/23 12:01, Jain, Nikhil wrote:
Change remove method of DSS video driver to disable video port instead of performing a soft reset, as soft reset takes longer duration. Video port is disabled by setting enable bit of video port to 0.
Signed-off-by: Nikhil M Jain n-jain1@ti.com
Reviewed-by: Devarsh Thakkar devarsht@ti.com
drivers/video/tidss/tidss_drv.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/drivers/video/tidss/tidss_drv.c b/drivers/video/tidss/tidss_drv.c index 078e3e82e3..623bf4cf31 100644 --- a/drivers/video/tidss/tidss_drv.c +++ b/drivers/video/tidss/tidss_drv.c @@ -901,19 +901,9 @@ static int tidss_drv_probe(struct udevice *dev)
static int tidss_drv_remove(struct udevice *dev) {
u32 val;
int ret; struct tidss_drv_priv *priv = dev_get_priv(dev);
priv->base_common = dev_remap_addr_index(dev, 0);
REG_FLD_MOD(priv, DSS_SYSCONFIG, 1, 1, 1);
/* Wait for reset to complete */
ret = readl_poll_timeout(priv->base_common + DSS_SYSSTATUS,
val, val & 1, 5000);
if (ret) {
dev_warn(priv->dev, "failed to reset priv\n");
return ret;
}
- VP_REG_FLD_MOD(priv, 0, DSS_VP_CONTROL, 0, 0, 0); return 0;
}

On Thu, 27 Jul 2023 12:01:25 +0530 Nikhil M Jain n-jain1@ti.com wrote:
Change remove method of DSS video driver to disable video port instead of performing a soft reset, as soft reset takes longer duration. Video port is disabled by setting enable bit of video port to 0.
Signed-off-by: Nikhil M Jain n-jain1@ti.com
drivers/video/tidss/tidss_drv.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-)
applied to u-boot-video/master, thanks!
-- Anatolij

Perform removal of DSS if kconfigs VIDEO_REMOVE or SPL_VIDEO_REMOVE is set by user. Otherwise if above Kconfigs are not selected, it is assumed that user wants splash screen to be displayed until linux kernel boots up. In such scenario, leave the power domain of DSS as "on" so that splash screen stays intact until kernel boots up.
Signed-off-by: Nikhil M Jain n-jain1@ti.com --- drivers/video/tidss/tidss_drv.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/video/tidss/tidss_drv.c b/drivers/video/tidss/tidss_drv.c index 623bf4cf31..e285f255d7 100644 --- a/drivers/video/tidss/tidss_drv.c +++ b/drivers/video/tidss/tidss_drv.c @@ -901,9 +901,11 @@ static int tidss_drv_probe(struct udevice *dev)
static int tidss_drv_remove(struct udevice *dev) { - struct tidss_drv_priv *priv = dev_get_priv(dev); + if (CONFIG_IS_ENABLED(VIDEO_REMOVE)) { + struct tidss_drv_priv *priv = dev_get_priv(dev);
- VP_REG_FLD_MOD(priv, 0, DSS_VP_CONTROL, 0, 0, 0); + VP_REG_FLD_MOD(priv, 0, DSS_VP_CONTROL, 0, 0, 0); + } return 0; }
@@ -929,5 +931,9 @@ U_BOOT_DRIVER(tidss_drv) = { .probe = tidss_drv_probe, .remove = tidss_drv_remove, .priv_auto = sizeof(struct tidss_drv_priv), +#if CONFIG_IS_ENABLED(VIDEO_REMOVE) .flags = DM_FLAG_OS_PREPARE, +#else + .flags = DM_FLAG_OS_PREPARE | DM_FLAG_LEAVE_PD_ON, +#endif };

On 27/07/23 12:01, Jain, Nikhil wrote:
Perform removal of DSS if kconfigs VIDEO_REMOVE or SPL_VIDEO_REMOVE is set by user. Otherwise if above Kconfigs are not selected, it is assumed that user wants splash screen to be displayed until linux kernel boots up. In such scenario, leave the power domain of DSS as "on" so that splash screen stays intact until kernel boots up.
Signed-off-by: Nikhil M Jain n-jain1@ti.com
Reviewed-by: Devarsh Thakkar devarsht@ti.com
drivers/video/tidss/tidss_drv.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/video/tidss/tidss_drv.c b/drivers/video/tidss/tidss_drv.c index 623bf4cf31..e285f255d7 100644 --- a/drivers/video/tidss/tidss_drv.c +++ b/drivers/video/tidss/tidss_drv.c @@ -901,9 +901,11 @@ static int tidss_drv_probe(struct udevice *dev)
static int tidss_drv_remove(struct udevice *dev) {
- struct tidss_drv_priv *priv = dev_get_priv(dev);
- if (CONFIG_IS_ENABLED(VIDEO_REMOVE)) {
struct tidss_drv_priv *priv = dev_get_priv(dev);
- VP_REG_FLD_MOD(priv, 0, DSS_VP_CONTROL, 0, 0, 0);
VP_REG_FLD_MOD(priv, 0, DSS_VP_CONTROL, 0, 0, 0);
- } return 0;
}
@@ -929,5 +931,9 @@ U_BOOT_DRIVER(tidss_drv) = { .probe = tidss_drv_probe, .remove = tidss_drv_remove, .priv_auto = sizeof(struct tidss_drv_priv), +#if CONFIG_IS_ENABLED(VIDEO_REMOVE) .flags = DM_FLAG_OS_PREPARE, +#else
- .flags = DM_FLAG_OS_PREPARE | DM_FLAG_LEAVE_PD_ON,
+#endif };

On Thu, 27 Jul 2023 12:01:26 +0530 Nikhil M Jain n-jain1@ti.com wrote:
Perform removal of DSS if kconfigs VIDEO_REMOVE or SPL_VIDEO_REMOVE is set by user. Otherwise if above Kconfigs are not selected, it is assumed that user wants splash screen to be displayed until linux kernel boots up. In such scenario, leave the power domain of DSS as "on" so that splash screen stays intact until kernel boots up.
Signed-off-by: Nikhil M Jain n-jain1@ti.com
drivers/video/tidss/tidss_drv.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
applied to u-boot-video/master, thanks!
-- Anatolij
participants (3)
-
Anatolij Gustschin
-
Devarsh Thakkar
-
Nikhil M Jain