Hi, On Fri, Nov 19, 2021 at 7:53 AM Mårten Lindahl <marten.lindahl@xxxxxxxx> wrote: > > The TMOUT register is always set with a full value for every transfer, > which (with a 200MHz clock) will give a full DRTO of ~84 milliseconds. > This is normally good enough to complete the request, but setting a full > value makes it impossible to test shorter timeouts, when for example > testing data read times on different SD cards. > > Add a function to set any value smaller than the maximum of 0xFFFFFF. > > Signed-off-by: Mårten Lindahl <marten.lindahl@xxxxxxxx> > --- > > v2: > - Calculate new value before checking boundaries > - Include CLKDIV register to get proper value > > v3: > - Use 'if-else' instead of 'goto' > - Don't touch response field when maximize data field > > v4: > - Prevent 32bit divider overflow by splitting the operation > - Changed %06x to %#08x as suggested by Doug > - Rephrased commit msg as suggested by Doug > > v5: > - Use u32 type for CPU reg access > - Make tmp 64bit to handle INT_MAX parameters > > v6: > - Use u64 type for tmp > > drivers/mmc/host/dw_mmc.c | 29 ++++++++++++++++++++++++++++- > 1 file changed, 28 insertions(+), 1 deletion(-) Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>