From: Maxime Ripard <[email protected]>

The COEF_RDY bit isn't found in all the SoCs featuring some variant of the
frontend.

Add it to our quirks structure.

Signed-off-by: Maxime Ripard <[email protected]>
Signed-off-by: Paul Kocialkowski <[email protected]>
---
 drivers/gpu/drm/sun4i/sun4i_frontend.c | 9 +++++----
 drivers/gpu/drm/sun4i/sun4i_frontend.h | 1 +
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_frontend.c 
b/drivers/gpu/drm/sun4i/sun4i_frontend.c
index 4d58d00255ae..da1bb82d534e 100644
--- a/drivers/gpu/drm/sun4i/sun4i_frontend.c
+++ b/drivers/gpu/drm/sun4i/sun4i_frontend.c
@@ -95,10 +95,11 @@ static void sun4i_frontend_scaler_init(struct 
sun4i_frontend *frontend)
                             sun4i_frontend_vert_coef[i]);
        }
 
-       regmap_write_bits(frontend->regs,
-                         SUN4I_FRONTEND_FRM_CTRL_REG,
-                         SUN4I_FRONTEND_FRM_CTRL_COEF_RDY,
-                         SUN4I_FRONTEND_FRM_CTRL_COEF_RDY);
+       if (frontend->data->has_coef_rdy)
+               regmap_write_bits(frontend->regs,
+                                 SUN4I_FRONTEND_FRM_CTRL_REG,
+                                 SUN4I_FRONTEND_FRM_CTRL_COEF_RDY,
+                                 SUN4I_FRONTEND_FRM_CTRL_COEF_RDY);
 }
 
 int sun4i_frontend_init(struct sun4i_frontend *frontend)
diff --git a/drivers/gpu/drm/sun4i/sun4i_frontend.h 
b/drivers/gpu/drm/sun4i/sun4i_frontend.h
index 22b8afa3795e..458a5e69f56f 100644
--- a/drivers/gpu/drm/sun4i/sun4i_frontend.h
+++ b/drivers/gpu/drm/sun4i/sun4i_frontend.h
@@ -103,6 +103,7 @@ struct reset_control;
 
 struct sun4i_frontend_data {
        bool    has_coef_access_ctrl;
+       bool    has_coef_rdy;
 };
 
 struct sun4i_frontend {
-- 
2.19.2

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to