• Niklas Söderlund's avatar
    thermal: rcar_gen3_thermal: enable hardware interrupts for trip points · 7d4b2697
    Niklas Söderlund authored
    Enable hardware trip points by implementing the set_trips callback. The
    thermal core will take care of setting the initial trip point window and
    to update it once the driver reports a TSC has moved outside it.
    
    The interrupt structure for this device is a bit odd. There is not a
    dedicated IRQ for each TSC, instead the interrupts are shared between
    all TSCs. IRQn is fired if the temp monitored in IRQTEMPn is reached in
    any of the TSCs, example IRQ3 is fired if temperature in IRQTEMP3 is
    reached in either TSC0, TSC1 or TSC2.
    
    For this reason the usage of interrupts in this driver is an all-on or
    all-off design. When an interrupt happens all TSCs are checked and all
    thermal zones are updated. This could be refined to be more fine grained
    but the thermal core takes care of only updating the thermal zones that
    have left their trip point window.
    Signed-off-by: default avatarNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
    Reviewed-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
    Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
    7d4b2697
rcar_gen3_thermal.c 12 KB