lkml.org 
[lkml]   [2020]   [May]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 067/105] drm/vc4: crtc: Remove the feed_txp tests
    Date
    Now that the code in vc4_crtc accessing registers is only meant for the
    pixelvalve, it doesn't make sense anymore to test whether we're accessing
    the TXP or not and we can safely remove those checks.

    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    ---
    drivers/gpu/drm/vc4/vc4_crtc.c | 31 ++++++++-----------------------
    1 file changed, 8 insertions(+), 23 deletions(-)

    diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c
    index d6eca130644d..e15dc1553df9 100644
    --- a/drivers/gpu/drm/vc4/vc4_crtc.c
    +++ b/drivers/gpu/drm/vc4/vc4_crtc.c
    @@ -405,19 +405,16 @@ static void require_hvs_enabled(struct drm_device *dev)

    static int vc4_crtc_disable(struct drm_crtc *crtc, unsigned int channel)
    {
    - struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(crtc->state);
    struct drm_encoder *encoder = vc4_get_crtc_encoder(crtc);
    struct vc4_encoder *vc4_encoder = to_vc4_encoder(encoder);
    struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc);
    struct drm_device *dev = crtc->dev;
    int ret;

    - if (!vc4_state->feed_txp) {
    - CRTC_WRITE(PV_V_CONTROL,
    - CRTC_READ(PV_V_CONTROL) & ~PV_VCONTROL_VIDEN);
    - ret = wait_for(!(CRTC_READ(PV_V_CONTROL) & PV_VCONTROL_VIDEN), 1);
    - WARN_ONCE(ret, "Timeout waiting for !PV_VCONTROL_VIDEN\n");
    - }
    + CRTC_WRITE(PV_V_CONTROL,
    + CRTC_READ(PV_V_CONTROL) & ~PV_VCONTROL_VIDEN);
    + ret = wait_for(!(CRTC_READ(PV_V_CONTROL) & PV_VCONTROL_VIDEN), 1);
    + WARN_ONCE(ret, "Timeout waiting for !PV_VCONTROL_VIDEN\n");

    mdelay(20);

    @@ -488,7 +485,6 @@ static void vc4_crtc_atomic_enable(struct drm_crtc *crtc,
    {
    struct drm_device *dev = crtc->dev;
    struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc);
    - struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(crtc->state);
    struct drm_encoder *encoder = vc4_get_crtc_encoder(crtc);
    struct vc4_encoder *vc4_encoder = to_vc4_encoder(encoder);

    @@ -504,10 +500,8 @@ static void vc4_crtc_atomic_enable(struct drm_crtc *crtc,
    if (vc4_encoder->pre_crtc_configure)
    vc4_encoder->pre_crtc_configure(encoder);

    - if (!vc4_state->feed_txp) {
    - vc4_crtc_config_pv(crtc);
    - CRTC_WRITE(PV_CONTROL, CRTC_READ(PV_CONTROL) | PV_CONTROL_EN);
    - }
    + vc4_crtc_config_pv(crtc);
    + CRTC_WRITE(PV_CONTROL, CRTC_READ(PV_CONTROL) | PV_CONTROL_EN);

    if (vc4_encoder->pre_crtc_enable)
    vc4_encoder->pre_crtc_enable(encoder);
    @@ -515,9 +509,8 @@ static void vc4_crtc_atomic_enable(struct drm_crtc *crtc,
    /* When feeding the transposer block the pixelvalve is unneeded and
    * should not be enabled.
    */
    - if (!vc4_state->feed_txp)
    - CRTC_WRITE(PV_V_CONTROL,
    - CRTC_READ(PV_V_CONTROL) | PV_VCONTROL_VIDEN);
    + CRTC_WRITE(PV_V_CONTROL,
    + CRTC_READ(PV_V_CONTROL) | PV_VCONTROL_VIDEN);

    if (vc4_encoder->post_crtc_enable)
    vc4_encoder->post_crtc_enable(encoder);
    @@ -596,10 +589,6 @@ static int vc4_crtc_atomic_check(struct drm_crtc *crtc,
    static int vc4_enable_vblank(struct drm_crtc *crtc)
    {
    struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc);
    - struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(crtc->state);
    -
    - if (vc4_state->feed_txp)
    - return 0;

    CRTC_WRITE(PV_INTEN, PV_INT_VFP_START);

    @@ -609,10 +598,6 @@ static int vc4_enable_vblank(struct drm_crtc *crtc)
    static void vc4_disable_vblank(struct drm_crtc *crtc)
    {
    struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc);
    - struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(crtc->state);
    -
    - if (vc4_state->feed_txp)
    - return;

    CRTC_WRITE(PV_INTEN, 0);
    }
    --
    git-series 0.9.1
    \
     
     \ /
      Last update: 2020-05-27 17:56    [W:4.892 / U:0.516 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site