lkml.org 
[lkml]   [2021]   [Dec]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v2 3/4] dt-bindings: watchdog: da9062: add watchdog timeout mode
    From
    Date


    On 1. 12. 21 08:01, Guenter Roeck wrote:
    > On 11/30/21 10:42 PM, Andrej Picej wrote:
    >>
    >> On 30. 11. 21 18:46, Adam Thomson wrote:
    >>> On 30 November 2021 16:40, Guenter Roeck wrote:
    >>>
    >>>>>> Why does it need a value ? Why not just bool ?
    >>>>>
    >>>>> One argument might be that if the property isn't provided then the OTP
    >>>>> configured value can persist without needing a FW change around
    >>>>> this DT
    >>>> binding.
    >>>>>
    >>>>> My belief though is that the majority of users would have this
    >>>>> property set to 0
    >>>>> by default in OTP, so a boolean would be OK I think here to enable
    >>>>> watchdog
    >>>>> shutdown.
    >>>>>
    >>>>
    >>>> Sorry, you lost me.
    >>>>     dlg,wdt-sd = <0>;
    >>>> is the current situation, and identical to not having the property in
    >>>> the first place.
    >>>>     dlg,wdt-sd = <1>;
    >>>> is new. I don't see the difference to
    >>>>     dlg,wdt-sd;
    >>>> vs. not having the property at all (which is, again, the current
    >>>> situation).
    >>>> Since it has to be backward compatible,
    >>>>     dlg,wdt-sd = <0>;
    >>>> will always be identical to not having the property at all.
    >>>> I can not find a situation where an integer would have any benefits
    >>>> over a
    >>>> boolean.
    >>>
    >>> So if you have a binary DT binding, it's either there or it isn't
    >>> which implies
    >>> the bit to be set to 0/1 in this case. If you have a binding which
    >>> has a value,
    >>> there can be 3 outcomes in this discussion:
    >>>
    >>>   1) Binding = 0, bit is set to 0
    >>>   2) Binding = 1, bit is set to 1
    >>>   3) Binding NOT present in DT, OTP default value in HW remains
    >>> untouched
    >>>
    >>> Say a platform updates to a later kernel version, but sticks with
    >>> existing DT
    >>> FW (i.e. the new boolean binding isn't present in FW), then the
    >>> following could
    >>> happen:
    >>>
    >>>   1) OTP for DA9061/2 has this bit set to 1, system expectation is
    >>> that watchdog
    >>>      triggers SHUTDOWN.
    >>>   2) New driver checks existance of 'dlg,wdt-sd' but it's obviously
    >>> not there so
    >>>      assumes the bit should be set to 0 and does so
    >>>   3) When the watchdog fires, it will no longer trigger SHUTDOWN but
    >>> instead
    >>>      POWER-DOWN due to binary handling of new boolean binding.
    >>>
    >>
    >> This was my thinking exactly. I also first thought about boolean
    >> value, but I then moved to the integer value of 0 or 1 after checking
    >> the OTP default for this bit. The da9062 I'm working with has the bit
    >> set to 1 by default.
    >
    > That needs to be be documented.
    >
    > Guenter

    Ok, I will add a note about the default value and how it is defined by
    OTP. Will submit a v3.

    Thanks for review.

    BR,
    Andrej

    \
     
     \ /
      Last update: 2021-12-01 08:06    [W:3.170 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site