lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 733/846] media: rcar-csi2: Optimize the selection PHTW register
    Date
    From: Suresh Udipi <sudipi@jp.adit-jv.com>

    commit 549cc89cd09a85aaa16dc07ef3db811d5cf9bcb1 upstream.

    PHTW register is selected based on default bit rate from Table[1].
    for the bit rates less than or equal to 250. Currently first
    value of default bit rate which is greater than or equal to
    the caculated mbps is selected. This selection can be further
    improved by selecting the default bit rate which is nearest to
    the calculated value.

    [1] specs r19uh0105ej0200-r-car-3rd-generation.pdf [Table 25.12]

    Fixes: 769afd212b16 ("media: rcar-csi2: add Renesas R-Car MIPI CSI-2 receiver driver")
    Signed-off-by: Suresh Udipi <sudipi@jp.adit-jv.com>
    Signed-off-by: Michael Rodin <mrodin@de.adit-jv.com>
    Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/media/platform/rcar-vin/rcar-csi2.c | 9 ++++++++-
    1 file changed, 8 insertions(+), 1 deletion(-)

    --- a/drivers/media/platform/rcar-vin/rcar-csi2.c
    +++ b/drivers/media/platform/rcar-vin/rcar-csi2.c
    @@ -989,10 +989,17 @@ static int rcsi2_phtw_write_mbps(struct
    const struct rcsi2_mbps_reg *values, u16 code)
    {
    const struct rcsi2_mbps_reg *value;
    + const struct rcsi2_mbps_reg *prev_value = NULL;

    - for (value = values; value->mbps; value++)
    + for (value = values; value->mbps; value++) {
    if (value->mbps >= mbps)
    break;
    + prev_value = value;
    + }
    +
    + if (prev_value &&
    + ((mbps - prev_value->mbps) <= (value->mbps - mbps)))
    + value = prev_value;

    if (!value->mbps) {
    dev_err(priv->dev, "Unsupported PHY speed (%u Mbps)", mbps);

    \
     
     \ /
      Last update: 2022-01-24 22:41    [W:2.112 / U:2.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site