lkml.org 
[lkml]   [2021]   [Nov]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 115/279] net: ipa: disable HOLB drop when updating timer
    Date
    From: Alex Elder <elder@linaro.org>

    [ Upstream commit 816316cacad2b5abd5b41423cf04e4845239abd4 ]

    The head-of-line blocking timer should only be modified when
    head-of-line drop is disabled.

    One of the steps in recovering from a modem crash is to enable
    dropping of packets with timeout of 0 (immediate). We don't know
    how the modem configured its endpoints, so before we program the
    timer, we need to ensure HOL_BLOCK is disabled.

    Fixes: 84f9bd12d46db ("soc: qcom: ipa: IPA endpoints")
    Signed-off-by: Alex Elder <elder@linaro.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ipa/ipa_endpoint.c | 2 ++
    1 file changed, 2 insertions(+)

    diff --git a/drivers/net/ipa/ipa_endpoint.c b/drivers/net/ipa/ipa_endpoint.c
    index 006da4642a0ba..ef790fd0ab56a 100644
    --- a/drivers/net/ipa/ipa_endpoint.c
    +++ b/drivers/net/ipa/ipa_endpoint.c
    @@ -853,6 +853,7 @@ static void ipa_endpoint_init_hol_block_timer(struct ipa_endpoint *endpoint,
    u32 offset;
    u32 val;

    + /* This should only be changed when HOL_BLOCK_EN is disabled */
    offset = IPA_REG_ENDP_INIT_HOL_BLOCK_TIMER_N_OFFSET(endpoint_id);
    val = hol_block_timer_val(ipa, microseconds);
    iowrite32(val, ipa->reg_virt + offset);
    @@ -883,6 +884,7 @@ void ipa_endpoint_modem_hol_block_clear_all(struct ipa *ipa)
    if (endpoint->toward_ipa || endpoint->ee_id != GSI_EE_MODEM)
    continue;

    + ipa_endpoint_init_hol_block_enable(endpoint, false);
    ipa_endpoint_init_hol_block_timer(endpoint, 0);
    ipa_endpoint_init_hol_block_enable(endpoint, true);
    }
    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-24 14:52    [W:4.033 / U:0.080 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site