Messages in this thread | | | From | "Rafael J. Wysocki" <> | Date | Fri, 18 Nov 2022 18:54:36 +0100 | Subject | Re: [PATCH RESEND 1/2] thermal: intel: Prevent accidental clearing of HFI status |
| |
On Wed, Nov 16, 2022 at 3:54 AM Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> wrote: > > When there is a package thermal interrupt with PROCHOT log, it will be > processed and cleared. It is possible that there is an active HFI event > status, which is about to get processed or getting processed. While > clearing PROCHOT log bit, it will also clear HFI status bit. This means > that hardware is free to update HFI memory. > > When clearing a package thermal interrupt, some processors will generate > a "general protection fault" when any of the read only bit is set to 1. > The driver maintains a mask of all read-write bits which can be set. > This mask doesn't include HFI status bit. This bit will also be cleared, > as it will be assumed read-only bit. So, add HFI status bit 26 to the > mask. > > Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> > Reviewed-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Is a Fixes tag missing here?
Also, do you want it in 6.1-rc7 or would 6.2 suffice?
> --- > Email address was wrong, so sending again. > > drivers/thermal/intel/therm_throt.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/thermal/intel/therm_throt.c b/drivers/thermal/intel/therm_throt.c > index 8352083b87c7..9e8ab31d756e 100644 > --- a/drivers/thermal/intel/therm_throt.c > +++ b/drivers/thermal/intel/therm_throt.c > @@ -197,7 +197,7 @@ static const struct attribute_group thermal_attr_group = { > #define THERM_STATUS_PROCHOT_LOG BIT(1) > > #define THERM_STATUS_CLEAR_CORE_MASK (BIT(1) | BIT(3) | BIT(5) | BIT(7) | BIT(9) | BIT(11) | BIT(13) | BIT(15)) > -#define THERM_STATUS_CLEAR_PKG_MASK (BIT(1) | BIT(3) | BIT(5) | BIT(7) | BIT(9) | BIT(11)) > +#define THERM_STATUS_CLEAR_PKG_MASK (BIT(1) | BIT(3) | BIT(5) | BIT(7) | BIT(9) | BIT(11) | BIT(26)) > > static void clear_therm_status_log(int level) > { > -- > 2.31.1 >
| |